Вы находитесь на странице: 1из 3

5.

3 Gerenciamento de arquivos
Usualmente, a parte mais visvel de um sistema operacional o seu sistema de arquivo. Atravs de chamadas de sistema, programas aplicativos utilizam o sistema de arquivo para criar, ler, gravar e remover arquivos. A convenincia e facilidade de uso de um sistema operacional do tipo desktop ou estao de trabalho (workstation) fortemente determinada pela interface, estrutura e confiabilidade de seu sistema de arquivos. Do ponto de vista do usurio, o aspecto mais importante do sistema de arquivo como ele se apresenta, isto , o que constitui um arquivo, como os arquivos so identificados e protegidos, que operaes so permitidas sobre os arquivos, e assim por diante. J no sistema operacional do tipo servidor, o aspecto mais importante se relaciona disponibilidade, rapidez e segurana dos arquivos. Para o projetista do sistema, por outro lado, a preocupao como organizar e gerenciar arquivos de forma a garantir boa ocupao do espao em disco e bom desempenho nas operaes sobre arquivos. 5.3.1 Interface do sistema de arquivo A maior parte dos sistemas operacionais traz a seguinte proposta para armazenagem de informao: permitir aos usurios definir objetos chamados arquivos, que podem armazenar programas, dados, ou qualquer outra informao. Estes arquivos no so parte enderevel de nenhum processo, e o sistema operacional suporta chamadas de sistema para criar, excluir, ler, atualizar e proteger os arquivos. Todos os sistemas operacionais visam a uma independncia dos dispositivos de armazenagem, permitindo acessar um arquivo sem especificar em qual dispositivo o mesmo se encontra fisicamente armazenado. Um programa que l um arquivo de entrada e escreve um arquivo de sada deve ser capaz de operar com arquivos armazenados em quaisquer dispositivos, sem necessidade de um cdigo especial para explicitar o tipo de perifrico (por exemplo, disquete, CD, HD, etc.). Alguns sistemas operacionais suportam maior independncia dos dispositivos de armazenagem que outros. No Unix, por exemplo, um sistema de arquivo pode ser montado em qualquer dispositivo de armazenagem, permitindo que qualquer arquivo seja acessado pelo seu nome (pathname) sem considerar o dispositivo fsico. No DOS, o usurio deve especificar em qual dispositivo (unidade de disco) cada arquivo se encontra. A maior parte dos sistemas operacionais suporta vrios tipos de arquivos. Por exemplo, arquivos regulares (ou ordinrios), diretrios e arquivos especiais. Arquivos regulares contm dados e programas do usurio. Diretrios so meras estruturas organizacionais e arquivos especiais so usados para especificar perifricos tais como terminais, impressoras e unidades de fita. Em muitos sistemas, arquivos regulares so subdivididos em diferentes tipos em funo de sua utilizao. Os tipos so identificados pelos nomes com que os arquivos regulares terminam. Por exemplo, "arquivo.c" denota um programa fonte em C e "arquivo.obj" para um arquivo objeto. Em alguns sistemas, como o caso dos membros da famlia Unix, as extenses so simples conveno, representando apenas uma facilidade para

o usurio identificar o tipo de contedo no arquivo. Em outros, o sistema operacional tem regras rgidas em relao aos nomes, por exemplo exigir que o executvel tenha a extenso ".EXE". Diretrios, os quais em muitos casos so tambm arquivos, permitem organizar os arquivos de um sistema. Um diretrio contm tipicamente um registro por arquivo. Sistemas primitivos admitiam um nico diretrio compartilhado por todos os usurios ou um nico diretrio por usurio, j os sistemas operacionais modernos permitem um nmero arbitrrio de diretrios por usurio, em geral numa estrutura hierrquica. Quando o sistema de arquivo organizado como uma rvore de diretrios, algum meio se faz necessrio para especificar nomes de arquivos, nesse caso dois mtodos so muito empregados. No primeiro, cada arquivo identificado pela seqncia de diretrios desde o diretrio raiz at o arquivo (caminho absoluto). Nomes absolutos para caminhos sempre comeam na raiz e so nicos. Uma outra forma de especificar nomes de arquivos atravs de seu caminho relativo, que usado em conjunto com o conceito de diretrio de trabalho (ou diretrio corrente). Um usurio pode designar um diretrio como diretrio corrente, e nesse caso todos os caminhos so referenciados a partir do diretrio corrente. 5.3.2 Gerncia de espao em disco Arquivos so normalmente armazenados em disco, sendo portanto a gerncia do espao em disco de maior importncia no sistema operacional. Duas estratgias so possveis para armazenagem em um arquivo com n bytes: n bytes consecutivos do disco so alocados ou ento o arquivo dividido em um nmero de blocos no necessariamente contguos. Quando blocos de tamanho fixo so adotados, necessrio definir qual o tamanho do bloco. Uma unidade de alocao grande, tal como uma trilha, implica em que muitos arquivos, at mesmo arquivos de 1 byte, devero ocupar a trilha inteira. Por outro lado, usar uma unidade de alocao pequena significa que cada arquivo ter muitos blocos, o que pode prejudicar o desempenho de acesso. compromisso usual escolher um bloco de tamanho entre 512 e 8K bytes. Se um bloco de tamanho 1K for escolhido em um disco com setor de 512 bytes, ento o sistema de arquivo sempre ir ler ou escrever em dois setores contguos, e tratlos como uma unidade indivisvel. A escolha da estratgia de alocao de um arquivo no disco traz impactos no desempenho e flexibilidade de acesso aos dados armazenados. 5.3.3 Estrutura de diretrio Antes de um arquivo ser manipulado, ele deve ser aberto. Quando um arquivo aberto, o sistema operacional usa o nome do arquivo para buscar as informaes necessrias para prosseguir com as operaes de acesso ao arquivo. Estas informaes adicionais so mantidas nos arquivos diretrios. A estratgia de organizao de arquivos em diretrios mais simples manter um diretrio nico. Assim, a localizao de um arquivo reduzse procura neste nico diretrio. Encontrado o registro do arquivo, tem se o nmero de blocos do disco, posto que estes so armazenados no prprio

registro. Se o arquivo utiliza mais blocos de disco que o permitido no registro, o arquivo ter registros adicionais no diretrio. Informaes usualmente mantidos so nome, tipo, usurio (durante a busca apenas os registros pertencentes ao usurio corrente so considerados), tamanho e contador de bloco (indica qual bloco est em uso). Campos adicionais contm os nmeros dos blocos de disco que compem o arquivo. Outra estratgia a organizao de sistemas de diretrio em rvore (hierrquicos). Neste caso, todo diretrio (exceto o raiz) um arquivo. Quando um arquivo aberto, o sistema de arquivo recebe o nome de arquivo fornecido e localiza seus blocos no disco. Para nomes absolutos, primeiro o sistema de arquivo localiza o diretrio raiz, que mantido em um lugar fixo no disco e depois procura pelo arquivo (diretrio) que o primeiro componente do caminho, e neste diretrio procura pelo prximo componente, at encontrar a entrada para o arquivo que est sendo aberto. Nomes de caminhos relativos so pesquisados de forma idntica, apenas partindo do diretrio de trabalho em vez de partir do diretrio raiz. Todos os diretrios tm registros para "." e "..", criados juntamente com o diretrio, para indicar respectivamente o diretrio corrente e o diretrio pai. Nenhum mecanismo especial necessrio para manipular estes nomes. No raro, conveniente que um mesmo arquivo (ou diretrio) pertena simultaneamente a outros diretrios. A associao entre um diretrio e um arquivo pertencente a outro diretrio chamada de conexo ou link (no Windows dito atalho), nesse caso o sistema de arquivo passa a ser organizado como um grafo, e no mais como uma rvore. Uma possibilidade de suportar o compartilhamento de arquivos manter um link simblico. Por exemplo, digamos que um arquivo X em um diretrio D1 deve tambm ser visto por um diretrio D2, ento o link simblico ser uma entrada no diretrio D2 com o nome X, mas marcada como sendo um tipo especial de arquivo (link) e cuja informao associada o nome absoluto do arquivo compartilhado original (/D1/X). Outra possibilidade depende da utilizao de ns ndice para a organizao de arquivos no disco. Neste caso, a entrada do diretrio armazena apenas o apontador para o n ndice do arquivo compartilhado, e o n ndice deve manter um contador de quantas referncias so feitas ao arquivo, de modo a garantir consistncia aps operaes de remoo.

Вам также может понравиться