Você está na página 1de 47

Sistemas Operacionais

Sistema de Arquivos

Prof.LuizMeloRomo

SistemasOperacionais
1

Introduco

Um processo deve ser capaz de ler e gravar


grande volume de dados em dispositivos como
fitas e discos de forma permanente, alm de poder
compartilh-los com outros processos
A maneira pela qual o sistema operacional
estrutura e organiza estas informaes atravs
da implementao de arquivos
A manipulao de arquivos uma atividade
freqentemente realizada pelos usurios, devendo
sempre ocorrer de maneira uniforme,
independente dos diferentes dispositivos de
armazenamento

Prof.LuizMeloRomo

SistemasOperacionais
2

Atributos do arquivo

Nome somente informaes mantidas em formato


legvel
Identificador tag exclusiva (nmero) identifica arquivo
dentro do sistema de arquivos
Tipo necessrio para sistemas que admitem diferentes
tipos
Local ponteiro para local do arquivo no dispositivo
Tamanho tamanho de arquivo atual
Proteo controla quem pode realizar leitura,
gravao, execuo
Hora, data e identificao do usurio dados para
proteo, segurana e monitorao de uso
Informao sobre arquivos so mantidas na estrutura de
diretrio, que mantida no disco

Prof.LuizMeloRomo

SistemasOperacionais
3

Operaes de Arquivo

Operaes de Entrada/Sada
A

p l ic a o

R o ti n a s

d e

E / S

i s p o s it iv o s

Prof.LuizMeloRomo

SistemasOperacionais
4

Operaes de arquivo

Criar
Gravar
Ler
Reposicionar dentro do arquivo
Excluir
Truncar
Open(Fi) procura a estrutura de diretrio no
disco para entrada Fi, e move contedo da
entrada para memria
Close (Fi) move o contedo da entrada Fi na
memria para a estrutura de diretrio no
disco
Prof.LuizMeloRomo

SistemasOperacionais
5

Tipos de arquivo Nome, extenso

Prof.LuizMeloRomo

SistemasOperacionais
6

Mtodos de acesso

Acesso seqencial
l prximo
grava prximo
reinicia
nenhuma leitura aps ltima gravao
(regrava)
Acesso direto
l n
grava n
posiciona para n
l prximo
grava prximo
regrava n
n = nmero de bloco relativo

Prof.LuizMeloRomo

SistemasOperacionais
7

Diretrios
A estrutura de diretrios como o sistema
organiza os diversos arquivos contidos em
um disco.
Estrutura de dados que contm
informaes como localizao fsica,
nome, organizao e demais atributos dos
arquivos.
O Sistema Operacional mantm na
memria principal uma tabela com todos
os arquivos abertos.

Prof.LuizMeloRomo

SistemasOperacionais
8

Operaes realizadas no diretrio


Procurar um arquivo
Criar um arquivo
Excluir um arquivo
Listar um diretrio
Renomear um arquivo
Atravessar o sistema de
arquivos

Prof.LuizMeloRomo

SistemasOperacionais
9

Organizar o diretrio (logicamente) para


obter

Eficincia localizando um arquivo


rapidamente
Nomeao conveniente para
usurios

Dois usurios podem ter o mesmo nome


para diferentes arquivos
O mesmo arquivo pode ter vrios nomes
diferentes

Agrupamento agrupamento lgico


de arquivos por propriedades, (por
exemplo, todos os programas Java,
todos os jogos, )
Prof.LuizMeloRomo

SistemasOperacionais
10

Diretrio de nico nvel

Um nico diretrio para todos os usurios

Problemadenomeao
Problemadeagrupamento

Prof.LuizMeloRomo

SistemasOperacionais
11

Diretrio de dois nveis

Diretrio separado para cada usurio

Nomedocaminho
Podeteromesmonomedearquivoparausuriodiferente
Pesquisaeficiente

Prof.LuizMeloRomo

SistemasOperacionais
12

Diretrios estruturados
em rvore

Prof.LuizMeloRomo

SistemasOperacionais
13

Diretrios

Path de um arquivo
D

C I va a r nl o

T e s t e

i s c o

I v a n

: /

P a

P e s s o a

u l o

S o m

Prof.LuizMeloRomo

. e x e

SistemasOperacionais
14

Proteo

Owner/creator do arquivo deve ser


capaz de controlar:

Tipos de acesso

o que pode ser feito


por quem
Ler
Escrever
Executar
Acrescentar
Excluir
Listar
Prof.LuizMeloRomo

SistemasOperacionais
15

Lista de Controle de Acesso (ACL)

Proprietrio O usurio que criou o


arquivo o proprietrio

Grupo Um conjunto de usurios que


esto compartilhando o arquivo e
precisam de acesso semelhante um
grupo ou grupo de trabalho

Universo Todos os outros usurio no


sistema constituem o universo

Prof.LuizMeloRomo

SistemasOperacionais
16

Gerenciamento de lista de controle de


acesso no Windows XP

Prof.LuizMeloRomo

SistemasOperacionais
17

Mtodos de alocao

Um mtodo de alocao refere-se a como os


blocos de disco so alocados para arquivos:

Alocao contgua

Alocao vinculada

Alocao indexada

Prof.LuizMeloRomo

SistemasOperacionais
18

Alocao contgua
Cada arquivo ocupa um conjunto
de blocos contguos no disco
Simples requer somente local
inicial (# bloco) e tamanho
(nmero de blocos)
Acesso aleatrio
Desperdcio de espao (problema
de alocao dinmica de
armazenamento )
Arquivos no podem crescer

Prof.LuizMeloRomo

SistemasOperacionais
19

Alocao contgua de
espao em disco

Prof.LuizMeloRomo

SistemasOperacionais
20

Alocao vinculada

Cada arquivo uma lista vinculada de blocos de disco:


blocos podem estar espalhados por todo o disco

bloco=

ponteiro

Prof.LuizMeloRomo

SistemasOperacionais
21

Alocao vinculada (cont.)

Simples s precisa do endereo inicial


Sistema de gerenciamento do espao livre sem
desperdcio de espao
Sem acesso aleatrio
Tabela de alocao de arquivos (FAT) alocao de
espao em disco usada pelo MS-DOS e OS/2.

Prof.LuizMeloRomo

SistemasOperacionais
22

Alocao vinculada

Prof.LuizMeloRomo

SistemasOperacionais
23

Tabela de alocao de arquivos

Prof.LuizMeloRomo

SistemasOperacionais
24

Alocao indexada
Rene todos os ponteiros no bloco de ndice.
Viso lgica.

Tabeladendice

Prof.LuizMeloRomo

SistemasOperacionais
25

Alocao indexada (cont.)

Precisa tabela de ndice


Acesso aleatrio
Acesso dinmico sem fragmentao externa

Prof.LuizMeloRomo

SistemasOperacionais
26

Exemplo de alocao indexada

Prof.LuizMeloRomo

SistemasOperacionais
27

Gerncia de Espao Livre em Disco

A criao de arquivos em disco exige que o


sistema operacional tenha um controle de quais
reas ou blocos no disco esto livres.

O controle realizado utilizando-se alguma


estrutura de dados como listas ou tabelas.

Nesta estrutura possvel identificar os blocos


livre que podero ser alocados para um novo
arquivo.

Prof.LuizMeloRomo

SistemasOperacionais
28

Gerncia de Espao Livre em Disco

Alocao de espao em disco


I n c i o

1 1

0 0

1 1

0 1

1 0

0 0

0 1

1 1

0 1

1 1

0 1

0 0

B l o

.
.
.

c oC

1 0

1 3

2 5
1 1

( a

1 0

0 0

a p

0 0

i t s( b

L i s t a

e n c a

Prof.LuizMeloRomo

d e a

d a T a b

t a

d o r

2 0

5 0

o n

e l a

d e

b l o c o s

l i v r e

SistemasOperacionais
29

Gerncia de Alocao de Espao em


Disco

Desfragmentao

r e a

Prof.LuizMeloRomo

t r a b

a l h o

SistemasOperacionais
30

Implementao de Caches

Acesso a disco bastante lento.


Buffer cache minimiza este problema.
Quando uma operao realizada o sistema verifica se a
informao se encontra no buffer cache

Polticas para substituio de blocos: FIFO ou LRU


Aspectos de segurana

Em caso positivo, no necessrio o acesso ao disco


Caso o bloco requisitado no se encontre no cache, a operao
de E/S realizada e o cache atualizado

Atualizao peridica
Write-through caches

Prof.LuizMeloRomo

SistemasOperacionais
31

Viso geral da estrutura de armazenamento


em massa

Os discos magnticos fornecem a maior parte do


armazenamento secundrio dos computadores modernos

As unidades giram a 60 a 200 vezes por segundo


A taxa de transferncia velocidade em que os dados fluem
entre a unidade e o computador
Tempo de posicionamento (tempo de acesso aleatrio) o
tempo para mover o brao do disco para o cilindro desejado
(tempo de busca) e o tempo para o setor desejado aparecer sob a
cabea do disco (latncia de rotao)
Coliso da cabea resulta da cabea do disco fazendo contato
com a superfcie do disco

Isso ruim

Os discos podem ser removveis


Unidade conectada ao computador via barramento de E/S

Os barramentos variam, incluindo EIDE, ATA, SATA, USB, Fibre


Channel, SCSI
Controlador de host no computador usa barramento para falar
com controlador de disco embutido na unidade ou array

de armazenamento

Prof.LuizMeloRomo

SistemasOperacionais
32

Mecanismo de disco com


cabea mvel

Prof.LuizMeloRomo

SistemasOperacionais
33

Estrutura de disco

Unidades de disco so endereadas como


grandes arrays unidimensionais de blocos
lgicos, onde o bloco lgico a menor
unidade de transferncia.
O array unidimensional de blocos lgicos
mapeado nos setores do disco
seqencialmente.

Setor 0 o primeiro setor da primeira trilha no


cilindro mais externo.
Mapeamento prossegue na ordem por essa trilha,
depois o restante das trilhas nesse cilindro, e
depois pelo restante dos cilindros de fora para
dentro.

Prof.LuizMeloRomo

SistemasOperacionais
34

Escalonamento de disco

O sistema operacional responsvel por usar o


hardware de forma eficiente para as unidades de
disco, isso significa ter um tempo de acesso rpido e
largura de banda de disco.
Tempo de acesso tem dois componentes principais

Tempo de busca o tempo para o disco mover as


cabeas at o cilindro contendo o setor desejado.
Latncia de rotao o tempo adicional aguardando o
disco girar o setor desejado at a cabea do disco.

Minimiza tempo de busca


Tempo de busca distncia de busca
Largura de banda de disco o nmero total de bytes
transferidos, dividido pelo tempo total entre a
primeira solicitao de servio e o trmino da ltima
transferncia.

Prof.LuizMeloRomo

SistemasOperacionais
35

Escalonamento de disco (cont.)


Existem vrios algoritmos para
escalonar o atendimento das
solicitaes de E/S de disco.
Ilustramos com uma fila de
solicitao (0-199).

98, 183, 37, 122, 14, 124, 65, 67


Ponteiro da cabea de leitura 53

Prof.LuizMeloRomo

SistemasOperacionais
36

FCFS
Ilustraomostramovimentototaldacabeade640cilindros.

Prof.LuizMeloRomo

SistemasOperacionais
37

SSTF
Seleciona a solicitao com o tempo
de busca mnimo a partir da posio
atual da cabea.
Escalonamento SSTF uma forma de
escalonamento SJF; pode causar
starvation de algumas solicitaes.
Ilustrao mostra movimento total da
cabea de 236 cilindros.

Prof.LuizMeloRomo

SistemasOperacionais
38

SSTF (cont.)

Prof.LuizMeloRomo

SistemasOperacionais
39

SCAN
O brao do disco comea em uma
extremidade do disco, e se move para a
outra extremidade, atendendo
solicitaes at que chegue outra
extremidade, onde o movimento da
cabea revertido e o atendimento
continua.
s vezes chamado de algoritmo do
elevador.
Ilustrao mostra movimento total da
cabea de 208 cilindros.

Prof.LuizMeloRomo

SistemasOperacionais
40

SCAN (cont.)

Prof.LuizMeloRomo

SistemasOperacionais
41

C-SCAN
Fornece um tempo de espera mais
uniforme que SCAN.
A cabea se move de uma extremidade
do disco para a outra, atendendo
solicitaes enquanto prossegue. Quando
atinge o outro extremo, imediatamente
retorna ao incio do disco, sem atender
quaisquer solicitaes no retorno.
Trata os cilindros como uma lista circular
que contorna o ltimo cilindro e volta ao
primeiro.

Prof.LuizMeloRomo

SistemasOperacionais
42

C-SCAN (cont.)

Prof.LuizMeloRomo

SistemasOperacionais
43

C-LOOK
Verso de C-SCAN
O brao s vai at a distncia da
ltima solicitao em cada direo,
depois reverte a direo
imediatamente, sem primeiro ir at o
final do disco.

Prof.LuizMeloRomo

SistemasOperacionais
44

C-LOOK (cont.)

Prof.LuizMeloRomo

SistemasOperacionais
45

Selecionando um algoritmo de
escalonamento de disco

SSTF comum e tem um apelo natural


SCAN e C-SCAN funcionam melhor para sistemas que
tm cargas pesadas sobre o disco
O desempenho depende do nmero e tipo de
solicitaes.
Requisies para servio de disco podem ser
influenciadas pelo mtodo de alocao de arquivo.
O algoritmo de escalonamento de disco deve ser
escrito como um mdulo separado do sistema
operacional, permitindo que seja substitudo por um
algoritmo diferente, se necessrio.
SSTF ou LOOK uma escolha razovel para o algoritmo
padro.

Prof.LuizMeloRomo

SistemasOperacionais
46

Gerenciamento de disco

Formatao de baixo nvel, ou formatao


fsica Dividindo um disco em setores que o
controlador pode ler e gravar.
Para usar um disco para manter arquivos, o
sistema operacional ainda precisa registrar
suas prprias estruturas de dados no disco.

Bloco de boot inicializa sistema.

Partio do disco em um ou mais grupos de


cilindros.
Formatao lgica ou criao do sistema de
arquivos.
O bootstrap armazenado na ROM.
Programa carregador de bootstrap.

Prof.LuizMeloRomo

SistemasOperacionais
47