TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

API Unix Gerenciamento De Arquivos E PIPES

Pesquisas Acadêmicas: API Unix Gerenciamento De Arquivos E PIPES. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  6/10/2014  •  4.242 Palavras (17 Páginas)  •  311 Visualizações

Página 1 de 17

Gerenciamento de Arquivos em UNIX

Prof. Claudio Vincenzi

Sistemas Operacionais - UNICEP

2014

Existem algumas chamadas principais na API Unix da área de gerenciamento de arquivos, a saber:

Acesso e Criação

int fd = open(char *arquivo, int flags); // inicia acesso ao arquivo

int fd = open(char *arquivo, int flags, int modos); // abre ou cria arquivo com modos de

// permissão de acesso

int fd = creat(char *arquivo, int modos); // cria arquivo com modos de permissões

int st = close(int fd); // encerra o acesso a um arquivo aberto

Onde:

arquivo: string contendo o nome do arquivo ou caminho (path) + nome do arquivo. O caminho (path) pode ser absoluto ou relativo. Exemplos:

“calendario.txt” // arquivo no diretório corrente do programa

“/home/joao/calendario.txt” // indicação de caminho absoluto (/home/joao)

“../calendario.txt” // indicação de caminho relativo (up-dir ou ..)

“dados/calendario.txt” // caminho relativo a partir do diretório corrente

Obs: a sintaxe de arquivos depende da plataforma onde o código estiver rodando. O mesmo código acima, se rodando em plataforma Windows, poderia conter strings tais como:

“C:\\Users\\Joao\\calendario.txt” // indicação de caminho absoluto

“..\\calendario.txt” // indicação de caminho relativo (up-dir ou ..)

flags: conjunto de valores simbólicos que indicam que tipo de ação deve ser realizada.

O parâmetro flags deve incluir um dos seguintes modos de acesso:

 O_WRONLY

 O_RDONLY

 O_RDWR

Estes valores de flag solicitam abrir o arquivo somente para gravação (Write-Only, O_WRONLY), somente leitura (Read-Only, O_RDONLY) ou leitura/gravação (Read-Write, O_RDWR), respectivamente.

Exemplos de uso:

int fd_in, fd_out;

fd_in = open("/usr/aluno/dados/cadastro.dat", O_RDONLY ); // abrir arquivo cadastro.dat

// com acesso Read-Only

fd_out = open("/usr/aluno/dados/relator.txt", O_WRONLY ); // abrir arquivo relator.txt

// com acesso Write-Only

Esses valores podem ser conjugados usando a operação OR. Alguns dos mais usados são os seguintes:

 O_APPEND: o arquivo é aberto em modo de adição de dados e posicionado no final.

 O_TRUNC: o arquivo é aberto em modo truncagem. Todo seu conteúdo é deletado.

 O_CREAT: caso o arquivo ainda não existir, este será criado.

 O_EXCL: usado com O_CREAT. Caso o arquivo já existir, ocorrerá um ERRO (será uma operação CREATE-EXCLUSIVE).

Exemplos de uso:

// abrir arquivo relator.txt com acesso Write-Only

// caso arquivo não existir, será criado (O_CREAT)

fd_out = open("/usr/aluno/dados/relator.txt", O_WRONLY||O_CREAT );

modos: conjunto de valores simbólicos que indicam que tipo de proteção deve ser atribuída ao arquivo sendo criado (caso do uso de O_CREAT). Determinam o nível de acesso do usuário, do grupo do usuário e dos demais usuários do ssitema. Esses valores podem ser conjugados usando a operação OR.

São os seguintes:

Valores possíveis para mode:

S_IRWXU

00700 usuário (proprietário do arquivo) terá permissão de ler, escrever, executar

S_IRUSR

00400 usuário terá permissão de leitura

S_IWUSR

00200 usuário terá permissão de escrita

S_IXUSR

00100 usuário terá permissão de executar

S_IRWXG

00070 grupo do usuário terá permissão de ler, escrever, executar

S_IRGRP

00040 grupo do usuário terá permissão de leitura

S_IWGRP

00020 grupo do usuário terá permissão de escrita

S_IXGRP

00010 grupo do usuário terá permissão de executar

S_IRWXO

00007 demais usuários terão permissão de ler, escrever, executar

S_IROTH

00004 demais usuários terão permissão de leitura

S_IWOTH

00002 demais usuários terão permissão de escrita

S_IXOTH

00001 demais usuários terão permissão de executar

fd: variável inteira que recebe o número do descritor de arquivo. Esse número será usado para operações posteriores no arquivo acessado ou criado. Cada arquivo abertou ou criado por um programa é referenciado um descritor de arquivo.

st: status de retorno da operação. Em geral, valor zero indica sucesso e valores negativos indicam ERRO.

Um arquivo recém-aberto poderá ter sua posição de deslocamento (offset) igual a zero (padrão) ou igual à posição do último byte do arquivo (se o flag de status O_APPEND for incluido nos flags de abertura).

Operações com Arquivos

Leitura

// Solicita leitura do arquivo indicado pelo descritor fd (aberto)

//

...

Baixar como (para membros premium)  txt (29.4 Kb)  
Continuar por mais 16 páginas »
Disponível apenas no TrabalhosGratuitos.com