Sistemas Operacionais II

Propaganda
Sistemas Operacionais II
Prof.ª Inara Santana Ortiz
Aula 3
Sistema de Arquivos
Acesso aos Arquivos
Sistema de Arquivos – Acesso aos arquivos
Os primeiros SOs forneciam apenas um tipo de acesso
aos arquivos: Acesso sequencial. Nesse sistemas, um
processo poderia ler todos os bytes ou registros em um
arquivo, partindo do início, mas nunca saltando e lendo
fora de ordem.
Eram convenientes quando o meio de armazenamento
era fita magnética em vez de disco.
Sistema de Arquivos – Acesso aos arquivos
Quando os discos começaram a ser usados para
armazenamento de arquivo, tornou-se possível ler bytes
ou registros fora da ordem em que apareciam no disco:
Acesso aleatório.
Sistema de Arquivos
Implementação de Arquivos
Sistema de Arquivos – Implementação de arquivos
Alocação de Espaço em Disco
A criação de arquivos exige que o sistema operacional
tenha controle de quais áreas ou blocos no disco
estão livres e este controle é realizado através de uma
estrutura (geralmente lista ou tabela) de dados que
armazenam informações e possibilitam ao sistema de
arquivos gerenciar o espaço livre.
Três métodos básicos existem para a alocação de
arquivos em disco:
●
Alocação contígua
●
Alocação encadeada
●
Alocação indexada
Alocação contígua
Sistema de Arquivos - Alocação contígua
Alocação contígua
Consiste em armazenar um arquivo em blocos
sequencialmente dispostos. Neste tipo, o sistema
localiza um arquivo através do endereço do primeiro
bloco e da sua extensão em blocos.
O acesso é bastante simples. Seu principal problema é a
alocação de novos arquivos nos espaços livres, pois
para colocar n blocos é necessário que se tenha uma
cadeia com n blocos dispostos sequencialmente no
disco.
Sistema de Arquivos - Alocação contígua
Alocação contígua
Sistema de Arquivos - Alocação contígua
Vantagem
●
●
Fácil de implementar e acessar o arquivo;
Desempenho é excelente pois o arquivo inteiro pode
ser lido do disco em um única operação;
Desvantagem
●
●
●
Com o tempo o disco fica fragmentado
Para haver alocação, deve-se conhecer o tamanho
máximo do arquivo no momento em que ele é criado;
Se houver posteriormente a necessidade e extensão
do arquivo, um solução é a pré-alocação, mas pode
ocorrer que parte do espaço alocado fique ocioso por
um longo tempo.
Sistema de Arquivos - Alocação contígua
Estratégia de alocação
Quando o sistema operacional deseja alocar espaço
para um novo arquivo, pode existir mais de um segmento
livre disponível com o tamanho exigido e é necessário
que alguma estratégia de alocação seja adotada para
selecionar qual segmento deve ser escolhido.
Sistema de Arquivos - Alocação contígua
Analisaremos as três principais estratégias:
●
●
●
First-fit: o primeiro segmento livre com tamanho suficiente
para alocar o arquivo é selecionado. A busca na lista é
sequencial, sendo interrompida tão logo se encontre um
segmento adequado.
Best-fit: seleciona o menor segmento livre disponível com
tamanho suficiente para armazenar o arquivo. A busca em
toda a lista se faz necessária para a seleção do segmento,
a não ser que a lista esteja ordenada por tamanho.
Worst-fit: o maior segmento é alocado e a busca por toda
a lista se faz necessária, a menos que exista uma
ordenação por tamanho.
Sistema de Arquivos - Alocação contígua
Sistema de Arquivos - Alocação contígua
Independente da estratégia utilizada, a alocação apresenta
um problema chamado fragmentação de espaços livres.
O problema pode se tornar crítico quando um disco possuir
blocos livres disponíveis, porém sem um segmento contíguo
onde o arquivo possa ser alocado.
Sistema de Arquivos - Alocação contígua
Deve ser feito a desfragmentação periodicamente (visando
que este problema seja resolvido) para reorganizar os
arquivos no disco a fim de que exista um único segmento de
blocos livres. Há um grande consumo de tempo neste
processo e tem efeito temporário.
Alocação Encadeada
Sistema de Arquivos - Alocação Encadeada
Alocação Encadeada
O arquivo é organizado como um conjunto de blocos ligados
no disco, independente de sua localização física e cada um
deve possuir um ponteiro para o bloco seguinte.
O que ocorre neste método é a fragmentação de arquivos
(quebra do arquivo em diversos pedaços denominados
extents) o que aumenta o tempo de acesso ao arquivo, pois
o disco deve deslocar-se diversas vezes para acessar todas
as extents.
Sistema de Arquivos - Alocação Encadeada
Alocação Encadeada
Vantagem
●
●
Nenhum espaço é perdido
É suficiente guardar apenas o endereço em disco do
primeiro bloco, o restante pode ser encontrado a partir
dele.
Desvantagem
●
O acesso aleatório é extremamente lento. Para chegar ao
bloco n, o SO, a partir do inicio, deve ler n-1 blocos antes
dele.
●
Os ponteiros ocupam alguns bytes do bloco.
●
Leitura somente sequencial.
Sistema de Arquivos - Alocação Encadeada
Alocação Encadeada
Alocação Indexada
Sistema de Arquivos - Alocação Indexada
Alocação Indexada
O princípio desta técnica é manter os ponteiros de todos os
blocos de arquivos em uma única estrutura denominada
bloco de índice ou nó índice (inode).
Além de permitir o acesso direto aos blocos do arquivo, não
utiliza informações de controle nos blocos de dados como
existe na alocação encadeada.
Sistema de Arquivos - Alocação Indexada
Alocação Indexada
Sistema de Arquivos - Alocação Indexada
Alocação Indexada
A principal desvantagem deste método é o desperdício de
bloco para ponteiro: Um arquivo que use 2 blocos precisa de
um bloco a mais para os ponteiros – na realidade utiliza 3
blocos;
Além de um gerência mais complexa.
Conceito de Inode
Sistema de Arquivos - Inode
Cada arquivo armazenado nos sistema de arquivo do Linux
ocupa uma determinada área do disco. O Linux coloca um
endereço nessa área, para determinar facilmente a posição
do arquivo no disco. Este endereço é chamado Inode. O
inode, portanto, serve para identificar os dados de um arquivo
e alguns atributos (datas, tamanho, permissões, etc).
Observe que o diretório também é um arquivo para o Linux.
Portanto, ele possui um inode próprio.
Referências
Leitura Recomendada
Livro: Sistemas operacionais - Editora do Livro Técnico
Autor: Marcos Aurélio Pchek Laureano e Diogo Roberto
Olsen
Livro: Sistemas Operacionais Modernos – Editora
Pearson
Autor: Andrew S. Tanenbaum
Capítulo 4
Download