Você está na página 1de 29

Sistema de arquivos

Dispositivos com tecnologias variadas


CD-ROM, DAT, HD, Floppy, ZIP SCSI, IDE, ATAPI, ... sistemas de arquivos em rede

Interfaces de acesso uniforme


viso homognea dos dispositivos transparncia para as aplicaes

Arquit. da gerncia de arquivos


aplicao aplicao

API de acesso a arquivos Sistema de arquivos lgicos Organizao de arquivos Sistema de arquivos bsico Controle de entrada/sada Dispositivos fsicos

Dispositivos e drivers
Dispositivo fsico:
armazenamento dos dados estruturados em blocos de bytes (~ 512 bytes) CD-ROM, hard disk, floppy, fitas

Driver de dispositivo:
acesso em baixo nvel aos dispositivos gerencia interrupes e DMA mapeia acessos a trilhas/setores/cabeas em operaes sobre portas de E/S do dispositivo

Viso dos dispositivos


Viso fsica: cabeas, trilhas, setores Viso lgica: vetor de blocos idnticos Funo do sistema de arquivos bsico

0 1 2 3 4 5 6 7

Viso fsica

Viso lgica

Sistema de arquivos bsico


Aciona comandos de leitura/escrita nos drivers de dispositivos. Mostra o dispositivo como um vetor de blocos de mesmo tamanho.
Blocos lgicos entre 512 bytes e 8 Kbytes

Pode efetuar buffering e caching:


Buffering: otimizar acessos reais em escrita. Caching: otimizar acessos reais em leitura.

Buffering & caching


processo processo

buffer kernel

cache

disco buffering

disco caching

Escalonamento de disco
Acesso ao disco por vrios processos
processos acessam reas distintas o disco um dispositivo LENTO desempenho de I/O pode ser pssimo

Acesso ao disco deve ser escalonado


escolher ordem de atendimento dos pedidos de acesso aos discos buscar o melhor desempenho

Exemplos de escalonamento

ruim bom

Organizao de arquivos
Problema:
Como armazenar diversos arquivos dentro de um nico vetor de blocos lgicos ? Cada arquivo tambm deve ser visto como uma seqncia de blocos lgicos.

Restries:
flexibilidade de alocao rapidez de acesso (seqencial e aleatrio) eficincia no uso do espao real em disco

Organizao de arquivos
readme.txt
0 1 2

prova.doc
0 1 2 3 4 5 6 7

aula.pdf Arquivos
0 1 2 3 4

?
0 1 2 3 4 5 6 7

Vetor de blocos lgicos

Dispositivo fsico

Tcnicas de alocao
Formas de mapear os blocos dos arquivos em posies no vetor de blocos lgicos Alocao contgua de arquivos Alocao em listas encadeadas
listas diretas ou listas indexadas

Alocao indexada

Alocao contgua de arquivos


Cada arquivo ocupa um conjunto de blocos lgicos consecutivos. No h blocos vazios entre os blocos de um mesmo arquivo. Para cada arquivo, o diretrio informa seu bloco de incio e o no de blocos.

Alocao contgua
arquivo readme.txt prova.doc Aula.pdf inicio #blocos 010 002 017 003 008 005

0 1 2 3 4 5 6 7

Alocao contgua
Vantagens:
Simplicidade de implementao. Rapidez de acesso aos arquivos:
todos os blocos do arquivo esto prximos.

Facilidade de acesso seqencial e aleatrio:


sequencial: basta ler os blocos consecutivos aleatrio: posies internas podem ser facilmente calculadas a partir da posio do bloco inicial.

Alocao contgua
Desvantagens:
Pouca flexibilidade no crescimento dos arquivos. Tamanho mximo do arquivo deve ser conhecido no momento da alocao. Ocorrncia de fragmentao externa. Necessidade de desfragmentao peridica.

Fragmentao externa
Espaos vazios entre blocos de arquivos. medida que o sistema evolui:
arquivos so criados e removidos mais espaos vazios aparecem. os espaos vazios ficam menores. Alocar novos arquivos torna-se difcil !

Evoluo da fragmentao

aloca

aloca

remove

remove

remove

aloca

aloca

Agora, como alocar um arquivo com 4 blocos ?

Desfragmentao
Mover arquivos para reagrupar os fragmentos em espaos maiores Visa permitir alocar arquivos maiores Deve ser feita periodicamente Uso de algoritmos para minimizar movimentao de arquivos (rapidez)

Estratgias de desfragmentao
Situao inicial

Moveu 6 blocos

Moveu 4 blocos

Moveu 2 blocos

Estratgias de alocao
First-fit: usar o primeiro espao livre
maior rapidez de alocao pouca preocupao com fragmentos

Best-fit: usar o menor espao livre


usar o melhor possvel os espaos em disco fragmentos residuais so pequenos

Worst-fit: usar o maior espao livre


fragmentos residuais so maiores (mais teis)

Alocando um arquivo c/ 2 blocos


Situao inicial

First-fit

Best-fit

Worst-fit

Alocao encadeada
Os arquivos so armazenados como listas de blocos
cada bloco aponta para o prximo diretrio aponta para o bloco inicial os blocos podem estar espalhados

Base de funcionamento da FAT


sistema de arquivos Windows

Alocao encadeada
arquivo readme.txt prova.doc Aula.pdf inicio #blocos 010 002 017 003 008 005

Alocao encadeada
Vantagens
no h fragmentao externa todo o disco pode ser usado tamanho dos arquivos pode ser mudado facilmente

Desvantagens
acesso aleatrio mais demorado maior fragilidade em caso de problemas

Alocao indexada
Baseada em tabelas de blocos
um bloco especial guarda a tabela de blocos do arquivo: index-node (i-node) diretrio aponta para os i-nodes blocos podem estar espalhados

Base de funcionamento do UNIX

Alocao indexada
arquivo readme.txt prova.doc Aula.pdf inicio #blocos 010 003 002 008 017 005

I-node

Alocao indexada
Vantagens
no h fragmentao externa todo o disco pode ser usado acesso rpido robustez em caso de problemas

Desvantagens
gerncia mais complexa espao em disco perdido com os i-nodes

Fragmentao interna
Arquivos so alocados em blocos:
Os blocos tm tamanho fixo. Entre 512 bytes e 8 Kbytes. Um bloco no pode ser alocado parcialmente.

Se usarmos blocos de 4096 bytes:


um arquivo de 5700 bytes ocupar 2 blocos. 2492 bytes sero perdidos no ltimo bloco.

Em mdia, perde-se 1/2 bloco por arquivo.

Tamanho dos blocos


A escolha do tamanho dos blocos importante para a eficincia do sistema. Blocos pequenos:
menor perda por fragmentao interna mais blocos por arquivo: maior custo de gerncia

Blocos grandes:
maior perda por fragmentao interna menos blocos por arquivo: menor custo de gerncia

Você também pode gostar