sistema de arquivos
O sistema de arquivos é a parte do sistema operacional mais visível para os usuários. Durante o tempo todo, usuários manipulam arquivos contendo textos, planilhas, desenhos, figuras, jogos, etc. Os arquivos são normalmente implementados a partir de discos magnéticos. Como um acesso a disco demora cerca de 10000 vezes mais tempo do que um acesso à memória principal, são necessárias estruturas de dados e algoritmos que otimizem os acessos ao disco. É importante observar que os sistemas de arquivos implementam um recurso em software que não existe no hardware. O hardware oferece simplesmente espaço em disco, na forma de setores que podem ser acessados (gravados e lidos) individualmente, em ordem aleatória. O conceito de arquivo, muito mais útil que o simples espaço em disco, é uma abstração criada pelo SO.
8.1 O Conceito de Arquivo
Um arquivo pode ser genericamente definido como uma coleção de dados relacionados entre si. Normalmente, arquivos contém programas (tanto fonte como objeto) ou dados. Arquivos são referenciados através de nomes. Além de um nome, cada arquivo possui também outros atributos, tais como: tipo, momento da criação, identificação do criador, tamanho, etc.
Tipos de arquivos
Diferentes tipos de informação podem ser armazenados em um arquivo: programas fonte, programas objeto, texto, dados numéricos, registros de funcionários, som, imagem, etc. Cada arquivo possui uma estrutura interna, conforme sua aplicação. Por exemplo, um arquivo texto é uma seqüência de caracteres organizados em linhas e parágrafos; um programa executável é uma seqüência de bytes representando instruções em código de máquina; um programa fonte é uma seqüência de caracteres que representam comandos de uma linguagem de programação (normalmente estes arquivos são do tipo “somente texto”, não admitindo qualquer tipo de formatação especial). Uma questão importante é até que ponto o SO deve conhecer a estrutura interna dos arquivos. Para ter