Buscar

Aula12_Sistemas de Arquivos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 58 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 58 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 58 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas Operacionais com Java 
Silberschatz, Galvin e Gagne (c) 2003 
Aula 12 
Capítulo 11 – Interface do Sistema de 
Arquivos 
 
• 11.1 Conceito de Arquivo 
• 11.2 Métodos de Acesso 
• 11.3 Estrutura de Diretório 
• 11.6 Proteção 
Sistemas Operacionais com Java 
Introdução 
Silberschatz, Galvin e Gagne (c) 2003 
• O sistemas de arquivos é o componente mais visível 
de um SO. 
• O sistema de arquivos é constituído de duas partes 
distintas: uma coleção de arquivos, que armazenam 
dados, e uma estrutura de diretórios, que organiza e 
fornece informações sobre os arquivos do sistema. 
Sistemas Operacionais com Java 
11.1 Conceito de arquivo 
• Os computadores podem armazenar informações em 
vários meios de armazenamento diferentes: discos 
magnéticos, fitas magnéticas e discos óticos. 
• O SO fornece uma visão lógica uniforme do 
armazenamento de informações. 
• O SO abstrai das propriedades físicas de seus 
dispositivos de armazenamento para definir uma 
unidade de armazenamento lógica – o arquivo. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.1 Conceito de arquivo 
• Os arquivos são mapeados, pelo SO, em dispositivos 
físicos. Esses dispositivos são, normalmente, não-
voláteis (seu conteúdo persiste nos casos de falta de 
energia ou reinicialização do sistema ). 
• Arquivo – coleção de informações correlatas que 
recebe um nome e é gravado no armazenamento 
secundário. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.1 Conceito de arquivo 
• Na visão do usuário, um arquivos é a menor unidade 
alocável de armazenamento secundário lógico. 
• O arquivo pode armazenar vários tipos de dados: 
programas-fonte, programas-objeto, programas-
executáveis, dados numéricos, textos, registros de 
pagamento, imagens gráficas, registros de sons, e 
muitos outros mais. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.1.1 Atributos de arquivo 
• Um arquivo tem determinado atributos, que variam de 
um SO para outro, mas em geral consistem em: 
– Nome – nome simbólico, legível pelo homem. 
– Tipo – determinar qual o tipo do arquivo. 
– Posição – é um ponteiro para um dispositivo e a 
posição do arquivo no dispositivo. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.1.1 Atributos de arquivo 
• Um arquivo tem determinado atributos, que variam de 
um SO para outro, mas em geral consistem em: 
– Tamanho – tamanho atual do arquivo(em bytes, 
palavras ou blocos). 
– Proteção – controle de acesso, quem pode realizar 
operações de leitura, escrita, execução. 
– Hora, data e identificação de usuário – são definidas 
por (1) criação, (2) última modificação e (3) último uso. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.1.2 Operações com arquivos 
• Um arquivo é um tipo abstrato de dados. Por isso é 
necessário considerar as operações que podem ser 
realizadas sobre ele. 
• O SO fornece chamadas ao sistema para criar, 
escrever, ler, reposicionar, excluir e truncar arquivos. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.1.2 Operações com arquivos 
• Vamos considerar o que o SO deve fazer para cada 
uma das seis operações básicas: 
– Para criar um arquivo: 
• 1º) deve haver espaço no sistema de arquivo. 
• 2º) a entrada deve ser feita no diretório, onde registra o 
nome do arquivo e sua localização. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.1.2 Operações com arquivos 
• Vamos considerar o que o SO deve fazer para cada 
uma das seis operações básicas: 
– Para escrever em um arquivo: 
• 1º) faz-se uma chamada ao sistema especificando o nome 
do arquivo e as informações a serem escritas. 
• 2º) o sistema posiciona o ponteiro de escrita onde 
ocorrerá a escrita e atualiza o ponteiro. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.1.2 Operações com arquivos 
• Vamos considerar o que o SO deve fazer para cada 
uma das seis operações básicas: 
– Para ler um arquivo: 
• 1º) faz-se uma chamada ao sistema especificando o nome 
do arquivo e onde (na memória) o próximo bloco do 
arquivo deverá ser colocado. 
• 2º) o sistema mantém um ponteiro de leitura para a 
posição no arquivo na qual a próxima leitura deverá 
ocorrer. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.1.2 Operações com arquivos 
• Vamos considerar o que o SO deve fazer para cada 
uma das seis operações básicas: 
– Para reposicionar dentro do arquivo: 
• 1º) o diretório é pesquisado buscando a entrada 
apropriada. 
• 2º) a posição do arquivo atual é ajustada para um 
determinado valor, essa operação é chamada de busca 
no arquivo. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.1.2 Operações com arquivos 
• Vamos considerar o que o SO deve fazer para cada 
uma das seis operações básicas: 
– Para excluir um arquivo: 
• 1º) pesquisa-se no diretório o arquivo é identificado pelo 
nome. 
• 2º) libera-se todo o espaço de arquivo e apaga-se a 
entrada do diretório. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.1.2 Operações com arquivos 
• Vamos considerar o que o SO deve fazer para cada 
uma das seis operações básicas: 
– Para truncar um arquivo: 
• Existem momento em que o usuário deseja apagar o 
conteúdo do arquivo, mas quer manter os atributos. 
Em vez dele excluir e depois recriá-lo, essa função 
permite que todos os atributos permaneçam 
inalterados, exceto o tamanho, pois será reajustado 
para o tamanho zero. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.1.3 Tipos de arquivos 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.2 Métodos de acesso 
• Método de acesso diz respeito à forma como o 
conteúdo de um arquivo é acessado. 
• Existem várias formas das informações no arquivo 
serem acessadas. 
• Alguns sistemas fornecem apenas um método de 
acesso aos arquivos. 
• Em outros sistemas, muitos métodos de acesso são 
aceitos, mas escolher o método correto é um 
problema importante de projeto. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.2.1 Acesso sequencial 
• O método de acesso mais simples. 
• As informações no arquivo são processadas em 
ordem, um registro após o outro. 
• Esse modo de acesso é muito usado, os compiladores 
fazem uma leitura sequencial dos programas fontes, 
assim como a impressão de um arquivo é feita a partir 
de sua leitura sequencial. 
• O acesso sequencial é baseado no modelo de 
arquivos armazenados em fitas. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.2.2 Acesso direto 
• Acesso direto ou acesso relativo. 
• Um arquivo é formado por registros lógicos de 
tamanho fixo que permitem que os programas leiam e 
escrevam registros rapidamente sem uma ordem 
específica. 
• Esse método baseia-se em um modelo de disco de 
um arquivo, onde os discos permitem acesso aleatório 
a qualquer bloco do arquivo. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.2.2 Acesso direto 
• No acesso direto, o arquivo é visto como uma 
sequência numerada de blocos ou registros. 
• Um arquivo de acesso direto permite que blocos 
arbitrários sejam lidos e escritos. 
• Não existem restrições quanto à ordem de leitura e 
escrita para um arquivo de acesso direto. 
• Os arquivos de acesso direto são úteispara o acesso 
imediato a grandes quantidades de informação. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.2.3 Outros métodos de acesso 
• Podem ser desenvolvidos com base no método de 
acesso direto. 
• Geralmente envolvem a construção de um índice para 
o arquivo. 
• O índice, como um índice na parte posterior de um 
livro, contém ponteiros aos vários blocos. 
• Para encontrar um registro no arquivo, primeiro 
pesquisamos o índice e depois usamos o ponteiro 
para acessar o arquivo diretamente e encontrar o 
registro desejado. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.2.3 Outros métodos de acesso 
• Com arquivos grandes, o arquivo de índice 
propriamente dito pode ficar grande demais para ser 
mantido na memória. 
• Uma solução é criar um índice para o arquivo de 
índice. 
• O arquivo de índice principal contém ponteiros aos 
arquivos de índices secundários, que apontam para 
os itens de dados reais. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.3 Estrutura de diretório 
• Os sistemas de arquivo dos computadores podem ser 
enormes, armazenando milhares de arquivos em 
centenas de gigabytes de disco. 
• Para gerenciar todos esses dados, precisamos 
organizá-los. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.3 Estrutura de diretório 
• Essa organização geralmente é feita em duas partes: 
– 1º) O sistema é quebrado em partições, também 
chamados de minidisco ou volume. Em geral, cada 
disco contém pelo menos uma partição, que é uma 
estrutura de baixo nível na qual residem arquivos e 
diretórios. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.3 Estrutura de diretório 
• Essa organização geralmente é feita em duas partes: 
– 2º) Cada partição contém informações sobre os 
arquivos dentro dela. Essas informações são mantidas 
em entradas em um diretório de dispositivo ou índice de 
volume. O diretório registra informações – tais como 
nome, posição, tamanho e tipo, para todos os arquivos 
naquela partição. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.3 Estrutura de diretório 
• Levando em consideração a estrutura de diretório, 
vamos conhecer as operações que deverão ser 
realizadas em um diretório: 
– Pesquisar arquivos; 
– Criar um arquivo; 
– Excluir um arquivo; 
– Listar um diretório; 
– Renomear um arquivo; 
– Percorrer o sistema de arquivos; 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.3.1 Diretório de nível único 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.3.2 Diretório de dois níveis 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.3.3 Diretórios estruturados em árvore 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.4 Proteção 
• Quando as informações são mantidas em um sistema 
de computação, uma importante preocupação é a 
confiabilidade, ou ficar livre de danos físicos. 
• Outra é a proteção, ou não permitir acesso indevido. 
• A confiabilidade geralmente é obtida por cópias 
duplicadas dos arquivos. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.6 Proteção 
• Existem programas que copiam automaticamente os 
arquivos do disco para fita em intervalo regulares. 
• A proteção pode ser provida de muitas formas. 
• Para um sistema pequeno, monousuário, podemos 
remover os disquetes fisicamente e colocá-los em um 
gabinete de arquivos ou gaveta. 
• Em um sistema multiusuário, outros mecanismos são 
necessários. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.6.1 Tipos de acesso 
• A necessidade de proteger arquivos é resultado direto 
da capacidade de acessar arquivos. 
• Nos sistemas que não permitem acesso aos arquivos 
de outros usuários, a proteção não é necessária. 
• Um extremo seria fornecer proteção completa 
proibindo o acesso. Outro extremo é fornecer acesso 
livre sem proteção. 
• É necessário o acesso controlado. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.6.1 Tipos de acesso 
• Os mecanismos de proteção fornecem acesso 
controlado limitando os tipos de acesso a arquivo que 
podem ser feitos. 
• O acesso é permitido ou negado dependendo de 
vários fatores, um dos quais é o tipo de acesso 
solicitado. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.6.1 Tipos de acesso 
• Vários tipos distintos de operação podem ser 
controladas: 
– Ler 
– Escrever – escrever ou reescrever um arquivo 
– Executar – carregar o arquivo na memória e executá-lo 
– Anexar – escrever novas informações no final do 
arquivo 
– Excluir – excluir e liberar espaço para reutilização 
– Listar - nomes e atributos de arquivos 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.6.2 Listas de acesso e grupos 
• A abordagem mais comum ao problema de proteção é 
tornar o acesso dependente da identidade do usuário. 
• Vários usuários podem precisar de diferentes tipos de 
acesso a um arquivo ou diretório. 
• O acesso dependente da identidade do usuário pode 
ser implementado através de uma lista de acesso. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.6.2 Listas de acesso e grupos 
• O principal problema com as listas de acesso é o seu 
tamanho, pois se queremos que todos leiam um 
arquivos, é preciso listar todos os usuários e dar a 
eles o acesso de leitura. 
• Para resolver esse problema, usa-se um versão 
condensada da lista de acesso. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.6.2 Listas de acesso e grupos 
• Que reconhece 3 classificações de usuários em 
relação a cada arquivo: 
– Proprietário: o usuário que criou o arquivo é o 
proprietário. 
– Grupo: Um conjunto de usuários que compartilha o 
arquivo e precisa de acesso semelhante é um grupo, ou 
grupo de trabalho. 
– Universo: todos os outros usuários no sistema 
constituem o universo. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
11.6.3 Outras abordagens de proteção 
• Existem outras abordagens ao problema de proteção. 
• Uma delas é associar um senha com cada arquivo. 
• Desvantagem – o nº de senhas que um usuário deve 
lembrar aumenta, conforme aumenta o nº de arquivos. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
Silberschatz, Galvin e Gagne (c) 2003 
Aula 12 
Capítulo 12 – Implementação do 
Sistemas de Arquivos 
 
• 12.1 Estrutura do Sistemas de Arquivos 
• 12.4 Métodos de Alocação 
• 12.5 Gerência de espaço livre 
Sistemas Operacionais com Java 
12.1 Estrutura do sistema de 
arquivos 
• Os discos são a principal parte do armazenamento 
secundário no qual um sistema de arquivos é mantido. 
• Para melhorar a eficiência de I/O, realizamos 
transferências entre a memória e o disco em unidades 
de blocos. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
12.1 Estrutura do sistema de 
arquivos 
• Os discos têm duas características importantes que 
os tornam um meio conveniente para armazenar 
múltiplos arquivos: 
– Eles podem ser regravados; 
– Podemos acessar diretamente qualquer bloco de 
informações no disco. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
12.4 Métodos de alocação 
• Quase sempre os arquivos são armazenadosno 
mesmo disco. 
• O principal problema é como alocar espaço a esses 
arquivos de modo que o espaço em disco seja 
utilizado com eficácia e os arquivos sejam acessados 
rapidamente 
• Existem 3 métodos principais para alocar espaço em 
disco: contíguo, interligado (encadeado) e indexado. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
12.4.1 Alocação Contígua 
• Esse método requer que cada arquivo ocupe um 
conjunto de blocos contíguos no disco. Os endereços 
de disco definem uma ordenação linear no disco; 
• A alocação contígua de um arquivo é definida pelo 
endereço de disco(do 1º bloco) e o tamanho (em 
unidades de blocos). 
• Se o arquivo começar na posição b e tiver n blocos de 
comprimento, ele ocupará os blocos b, b+1, b+2, ..., 
b+n-1. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
12.4.1 Alocação Contígua 
• Acessar um arquivo que tenha sido alocado de forma 
contígua é fácil. 
• Tanto o acesso sequencial quanto o direto podem ser 
suportados por esse método. 
• O problema de alocação contígua é encontrar espaço 
para um novo arquivo e depois de encontrar o 
problema está no caso de precisarmos aumentar esse 
arquivo. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
12.4.1 Alocação Contígua 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
12.4.2 Alocação Interligada (Encadeada) 
• A alocação encadeada resolve todos os problemas da 
alocação contígua. 
• Na alocação encadeada, cada arquivo é uma lista 
encadeada de blocos de disco. 
• Os blocos de disco podem estar dispersos em 
qualquer parte do disco. O diretório possui um 
ponteiro ao primeiro e último bloco do arquivo. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
12.4.2 Alocação Interligada (Encadeada) 
• Exemplo: Um arquivo de cinco blocos pode começar 
no bloco 9, continuar no bloco 16, depois bloco 1, 
bloco 10 e finalmente bloco 25. 
• Cada bloco contém um ponteiro para o próximo bloco. 
Esses ponteiros não são disponíveis para o usuário. 
• Se cada bloco tiver 512 bytes, e um endereço de 
disco (o ponteiro) requer 4 bytes, então o usuário verá 
blocos de 508 bytes. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
Silberschatz, Galvin e Gagne (c) 2003 
12.4.2 Alocação Interligada (Encadeada) 
Sistemas Operacionais com Java 
12.4.2 Alocação Interligada (Encadeada) 
• A vantagem da alocação encadeada está em permitir 
que qualquer bloco físico possa ser alocado a 
qualquer arquivo. 
• A desvantagem é que não permite a acesso relativo 
com facilidade. 
• Para acessar o bloco lógico 5 do arquivo, é antes 
necessário acessar os blocos lógicos de 0 a 4, mesmo 
que o programa em execução não necessite dessas 
informações. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
12.4.3 Alocação Indexada 
• A alocação indexada é capaz de resolver o problema 
do crescimento dos arquivos ao mesmo tempo que 
permite o acesso relativo. 
• Na alocação indexação, cada arquivo possui uma 
bloco de índices. Cada entrada do bloco de índices 
contém um endereço de um dos blocos físicos que 
formam o arquivo. 
• A alocação indexada sofre de desperdício de espaço. 
O custo dos ponteiros do bloco de índice é maior que 
os ponteiros da alocação encadeada. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
Silberschatz, Galvin e Gagne (c) 2003 
12.4.3 Alocação Indexada 
Sistemas Operacionais com Java 
12.4.3 Alocação Indexada 
• Na alocação encadeada, perdemos o espaço de 
apenas um ponteiro por bloco. Já na alocação 
indexada, um bloco de índice inteiro deverá ser 
alocado. 
• Uma questão muito importante é o tamanho da tabela 
de índices. 
• Todo arquivo deve ter um bloco de índice, por isso 
esse bloco deve ser o menor possível. Entretanto, se 
o bloco de índice for muito pequeno, ele não poderá 
conter ponteiros suficientes para um arquivo grande. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
12.4.4 Desempenho 
• Os métodos de alocação variam em termos de 
eficiência de armazenamento e tempos de acesso ao 
blocos de dados, ambos são importantes para a 
implementação em SO. 
• Uma dificuldade na comparação do desempenho dos 
vários sistemas é determinar como os sistemas serão 
usados. 
• Para qualquer tipo de acesso, a alocação contígua 
requer apenas um acesso para obter um bloco de 
disco. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
12.4.4 Desempenho 
• Para a alocação encadeada, também podemos 
manter o endereço do próximo bloco na memória e 
fazer a leitura diretamente. Esse método funciona 
para o acesso sequencial, já no acesso direto isso 
complica, pois um acesso ao bloco i pode exigir i 
leituras de disco. 
• Alguns sistemas suportam arquivos de acesso direto 
usando alocação contígua e acesso sequencial por 
alocação encadeada. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
12.4.4 Desempenho 
• A alocação indexada é mais complexa. Devido ao 
bloco de índice. 
• Assim sistemas combinam a alocação contígua com a 
indexada usando a alocação contígua para arquivos 
pequenos (de 3 a 4 blocos), e alternando 
automaticamente para a alocação indexada se o 
arquivo ficar grande. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
12.5 Gerência de espaço livre 
• Como só existe uma quantidade limitada de espaço 
em disco, é necessário reutilizar o espaço de arquivos 
excluídos para novos arquivos, se possível. 
• Para controlar a quantidade de espaço livre em disco, 
o sistema mantém uma lista de espaço livre. 
• Esta lista registra todos os blocos de disco que estão 
livres, ou seja, os que não estão alocados a algum 
arquivo ou diretório. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
12.5 Gerência de espaço livre 
• Para criar um arquivo, pesquisamos a lista de espaço 
livre pra encontrar a quantidade de espaço desejado, 
e alocamos esse espaço ao novo arquivo. Esse 
espaço é então removido da lista de espaço livre. 
• Quando um arquivo é excluído, seu espaço em disco 
é adicionado à lista de espaço livre. 
Silberschatz, Galvin e Gagne (c) 2003 
Sistemas Operacionais com Java 
Resumo 
Silberschatz, Galvin e Gagne (c) 2003 
• O sistema de arquivos reside no armazenamento 
secundário, projetado para manter uma grande 
quantidade de dados permanentemente. 
• O meio de armazenamento secundário mais comum é 
o disco. 
• Cada tipo de sistema de arquivos pode ter diferentes 
estruturas e algoritmos. 
Sistemas Operacionais com Java 
Referências 
• Capítulo 11 e 12 da referência abaixo: 
– SILBERSCHATZ, ABRAHAM; GAGNE, GREG; 
GALVIN, PETER BAES. Sistemas operacionais: 
com java. . Rio de Janeiro: Elsevier, 2004. 
 
Silberschatz, Galvin e Gagne (c) 2003

Continue navegando