SISTEMAS DE ARQUIVOS
INTRODUÇÃO
Todo aplicativo de computador precisa armazenar e recuperar informações. Enquanto um processo está executando, ele pode armazenar uma quantidade limitada de informações dentro de seu próprio espaço de endereços. Entretanto, a capacidade de armazenamento é limitada ao tamanho de espaço de endereço virtual. Para alguns aplicativos, esse tamanho é adequado, mas para outros, como reservas de linha aérea, sistemas bancários ou registro geral de grandes corporações é, de longe, muito pequeno.
Um segundo problema como manter as informações dentro do espaço de endereços de um processo, é que quando o processo termina, as informações são perdidas. Para muitos aplicativos (p. ex., para bancos de dados), as informações devem ser mantidas durante semanas, meses ou mesmo eternamente. É inaceitável que elas desapareçam quando o processo que as utiliza termina. Além disso, elas não devem desaparecer quando uma falha do computador “mata” o processo.
Um terceiro problema: frequentemente é necessário que múltiplos processos acessem as informações ou partes das informações ao mesmo tempo. Se tivermos uma lista de telefones on-line armazenada no espaço de endereços de um único processo, somente aquele processo pode acessá-la. A maneira de resolver esse problema é tomar as próprias informações independentes de qualquer processo.
Assim, temos três exigências essenciais para armazenamento de informações ao longo prazo:
1. Deve ser possível armazenar uma grande quantidade de informações.
2. A informação deve sobreviver à finalização do processo que a utiliza.
3. Múltiplos processos devem ser capazes de acessar as informações concorrentemente.
A solução normal para todos esses problemas é armazenar as informações em discos e em outras mídias externas, em unidades chamadas arquivos. Os processos, então, podem lê-los e gravar novas informações se necessário. As informações armazenadas em arquivos devem ser persistentes, isto é, não devem ser afetadas pela