ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 11/1 Arquitetura de Sistemas...
Transcript of ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 11/1 Arquitetura de Sistemas...
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/1
Arquitetura de Sistemas Arquitetura de Sistemas OperacionaisOperacionais
Francis Berenger MachadoFrancis Berenger MachadoLuiz Paulo MaiaLuiz Paulo Maia
Complementado por Sidney Lucena (Prof. UNIRIO)Complementado por Sidney Lucena (Prof. UNIRIO)
Capítulo 11Capítulo 11Sistema de ArquivosSistema de Arquivos
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/2
Organização de Arquivos • Um arquivo é constituído por informações
logicamente relacionadas– Arquivo Executável: contém o conjunto de instruções de
um programa que serão compreendidas pelo processador
– Arquivo de dados: contém um conjunto de informações que pode ser estruturado livremente
• Ex.: arquivo texto, arquivo com fontes de programa, arquivo contendo uma base de dados, etc.
• São armazenados pelo SO em diferentes dispositivos físicos– Ex.: Discos magnéticos, fitas, discos ópticos– Independência entre arquivos a serem manipulados e o
meio de armazenamento
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/3
Organização de Arquivos
• Um arquivo é identificado por um nome, composto por uma seqüência de caracteres– Dependendo do SO, há distinção entre maiúsculas e
minúsculas– Regras como tamanho máximo do nome e caracteres
permitidos variam de acordo com o SO– Alguns SOs usam uma extensão para identificar o tipo
de arquivo• Exemplos:
– .txt p/ arquivo texto; – .exe p/ arquivo executável; – .obj p/ arquivo objeto; – .c p/ arquivo fonte de programa escrito em
linguagem C
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/4
Organização de Arquivos
• Organização de Arquivos consiste em como os dados estão internamente armazenados
• Estrutura pode variar em função do tipo de informação contida no arquivo– Definidas no momento da criação do arquivo, seja pelo
SO ou pela própria aplicação
• Forma mais simples de organização:– Seqüência não-estruturada de bytes– Sistema de arquivos não impõe nenhuma estrutura
lógica– Flexibilidade para a aplicação estabelecer seus próprios
critérios de manipulação
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/5
Organização de Arquivos
• SO’s possuem seus próprios sistemas de arquivos– Arquivos seguem modelo suportado pelo SO– Organizações mais usadas são a sequencial, relativa e
indexada:• Arquivos tratados como um conjunto de registros• Registros podem ter tamanho fixo ou variável• Registros são armazenados na unidade física
seguindo a estrutura lógica do sistema de arquivos
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/6
Organização de Arquivos
Byte
(a ) O rg an iza çã o n ã o - estruturad a
A na C lá ud ia Teresa
Bea triz C a m ila D an iele Pa tr ícia Tina Va nessa
Isab ela M ar ia
Registro
(b ) O rgan izaçã o Ind exa da
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/7AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
Métodos de Acesso
• Dependendo da organização, sistema de arquivos pode recuperar registros de diferentes maneiras– Acesso seqüencial:
• Em fitas magnéticas, acesso a registros devem ser feitos na ordem em que estes foram gravados
– Acesso direto:• Manipulação de um registro diretamente na sua
posição, exige tamanho fixo• Se vale do número do registro, que indica sua
posição em relação ao início do arquivo• Não há restrição na ordem de leitura ou escrita• Método mais eficiente, possível com o advento dos
discos magnéticos
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/8AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
Métodos de Acesso • Acesso direto pode ser combinado com acesso
seqüencial– Acesso direto a um registro e, a partir deste, acesso
seqüencial aos demais
• Método mais sofisticado: acesso indexado– Arquivo possui um índice de ponteiros para acesso
direto aos diversos registros
Registro0
Registro1
Registro2
Registron
D esloca m en to ded o is reg istro s
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/9AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
Operações de Entrada/Saída
• O sistema de arquivos disponibiliza às aplicações um conjunto de rotinas para operações de E/S:– Tradução de nomes em endereços– Criação e eliminação de arquivos– Abertura e fechamento de arquivos– Leitura e escrita de dados
• Rotinas de E/S servem como interface simples e uniforme entre aplicações e os diversos dispositivos
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/10AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
Operações de Entrada/Saída
D ispo sitivo s
Ro tina s d e E/ S
A plicaçã o
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/11AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
Operações de Entrada/Saída
• Cada arquivo possui informações de controle denominadas atributos
• Os atributos variam dependendo do sistema de arquivos, mas alguns estão presentes em quase todos os SOs:– Tamanho– Proteção– Dono (owner)– Data e hora de criação (nunca é modificado)– Data e hora da última atualização– Organização lógica dos registros (nunca é modificado)– Senha de acesso
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/12
Diretórios • A estrutura de diretórios é como o sistema
organiza logicamente os arquivos contidos em um disco
• O diretório é uma estrutura que contém entradas com informações associadas aos arquivos a ele relacionados– Localização física, nome e atributos
• Quando um arquivo é aberto, SO procura na estrutura de diretórios as respectivas informações e as armazena numa tabela mantida na MP
• Quando arquivo é fechado, libera-se estas infos da tabela
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/13
Diretórios • Estrutura de diretórios de nível único é a
implementação mais simples– Um único diretório contendo todos os arquivos
Iden tifica çãoPro teçã o
O rg an iza çãoLo ca l iza ção
A tr ib utos
D iretó rio s A rq u ivos
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/14
Diretórios
• Estrutura de diretórios com dois níveis:– Cada usuário possui um diretório particular, o User File
Directory (UFD)• Cada usuário pode criar arquivos com qualquer
nome, independente dos nomes de arquivo usados pelos demais usuários
– Usa-se um nível de diretório adicional, o Master File Directory (MFD), indexando os diretórios dos usuarios
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/15
Diretórios
U su á r io1
U su á r io2
U su á r io3
U su á r ion
A rq u ivo1
A rq u ivo2
A rq u ivo3
A rq u ivo1
A rq u ivo1
A rq u ivo2
A rq u ivo3
U ser F ile D irecto ry(U FD )
A rq u ivos
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/16
Diretórios
• Estrutura de diretórios em árvore:– Extensão do modelo de dois níveis para um de múltiplos
níveis– Permite que arquivos sejam logicamente melhor
organizados– Estrutura mais adotada pela maioria dos SOs– Cada usuário pode criar diversos níveis de diretórios
(subdiretórios)• Cada subdiretório pode conter arquivos ou outros
subdiretórios (em geral, tratados como arquivos)
• Arquivo nesta estrutura especificado unicamente pelo seu caminho absoluto (path) desde a raiz (MFD) até diretório onde arquivo está ligado
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/17
Diretórios• Estrutura de diretórios em árvore
U su á r io1
U su á r io2
U su á r io3
U su á r ion
D iretó rio Ra iz
D iretó rio1
D iretó rio2
A rq u ivo1
A rq u ivo1
D iretó rio1
A rq u ivo1
A rq u ivo2
A rq u ivo1
A rq u ivo2
A rq u ivo1
A rq u ivo1
A rq u ivo2
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/18
Diretórios
• Path de um arquivo
D isco C :/
IvanIvanC ar lo s Pa u lo
Teste Pessoa l
Som a .exe
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/19
Gerência de Espaço Livre em Disco
• Criação de arquivos em disco exige que SO saiba quais áreas do disco estão livres– Necessária estrutura (lista ou tabela) contendo
informações sobre blocos livres no disco que podem ser alocados a um novo arquivo
• Quando alocado, bloco é removido da estrutura para que não seja utilizado
• Quando arquivo é eliminado, todos os seus blocos retornam à estrutura contendo os espaços livres
• Forma mais simples de estrutura é o bit map, onde cada bit representa um bloco do disco: – 0 indica bloco livre, 1 indica bloco ocupado– Problema: gasto excessivo de memória
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/20
Gerência de Espaço Livre em Disco
• Segunda forma de estrutura é uma lista encadeada contendo os blocos livres no disco– Cada bloco deve possuir área reservada para endereço
do próximo bloco da lista– Acesso se dá de forma seqüencial a partir do primeiro
bloco da lista– Restrições envolvendo espaço de controle em cada
bloco e tempo para busca de espaço livre
• Terceira forma considera blocos livres contíguos– Usa tabela com endereço do primeiro bloco e número
de blocos livres contíguos– Conhecida como tabela de blocos livres
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/21
Gerência de Espaço Livre em Disco
11 00 11 01
11 10 00 00
.
.
.
01 11 01 00
10 00 01 11
(a ) M ap a d e b its
In ício
(b ) Lista en ca dea da
Blo co C on ta do r
4 2
10 1
25 20
13 7
50 5
© Tab ela de b loco s l ivres
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/22
Gerência de Alocação de Espaço em Disco
• Alocação Contígua– Armazena arquivo em blocos seqüencialmente
dispostos no disco• Necessário haver quantidade suficiente de blocos
livres contíguos para alocação a arquivo de determinado tamanho
• Sistema acessa arquivo através do endereço de seu primeiro bloco e de sua extensão (tamanho em blocos)
– Simplicidade p/ algoritmos de leitura ou escrita• Disco é tratado como um grande vetor de
segmentos de blocos contíguos
– Estratégias p/ escolha de onde alocar arquivo: Best-fit, Worst-fit e First-fit
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/23
Gerência de Alocação de Espaço em Disco
• Alocação Contígua
0 1 2
3 4 5
6 7 8
9 10 11
12 13 14
A rq u ivo Blo co
A . TXT 4
B. TXT 10
C . TXT 13
3
1
2
Exten são
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/24
Gerência de Alocação de Espaço em Disco
• Problema da alocação contígua:– Fragmentação dos espaços livres
• A medida que arquivos são criados e eliminados, espaço livres contíguos ficam fragmentados em pequenos pedaços no disco– Disco pode conter blocos livres mas não ter espaço livre
contíguo para alocar a arquivo de determinado tamanho
• Problema contornado através de um rearranjo dos blocos alocados aos arquivos em disco: desfragmentação– Consome tempo e deve ser repetido periodicamente
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/25
Alocação Contígua
• Desfragmentação
Á rea d e tra b a lho
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/26
Alocação Encadeada
• Arquivo organizado como uma lista encadeada de blocos no disco– Cada bloco possui ponteiro para bloco seguinte
(desvantagem)– Alocação contígua dos blocos (extents) deixa de ser
problema– Fragmentação implica em maior tempo de acesso aos
blocos do arquivo• Braço do disco se deslocando várias vezes para cada
extent• Necessário haver desfragmentação periódica do
disco para otimizar tempo de E/S
– Acesso aos blocos somente seqüencial: desvantagem
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/27
Alocação Encadeada
In ício
0 1 2
3 4 5
6 7 8
9 10 11
12 13 14
A rq u ivo Blo co
A .TXT 6
. . . . . .
. . . . . .
. . . . . .
. . . . . .
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/28
Alocação Indexada • Alocação Indexada permite acesso direto aos
blocos dos arquivos– Ponteiros de todos os blocos do arquivo são mantidos
em estrutura denominada bloco de índice– Não desperdiça espaço nos blocos de dados c/ controle
0 1 2
3 4 5
6 7 8
9 10 11
12 13 14
Blo co d eínd ice
310117
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/29
Proteção de Acesso
• Mecanismos implementados para garantir proteção individual de arquivos e diretórios
• Possibilita também compartilhamento de arquivos entre usuários, quando desejado
• Implementados mediante concessão ou não de diferentes tipos de acesso– Leitura, escrita, execução e eliminação
• No caso de diretórios– Criação/eliminação de arquivos/subdiretórios no
diretório– Visualização do seu conteúdo– Eliminação do próprio diretório
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/30
Proteção de Acesso• Mecanismos presentes na maioria dos SOs:
– Senha de acesso, grupos de usuário e lista de controle de acesso
– Proteção por senha de acesso se resume a usuário ter conhecimento de senha que dá total poder de manipulação ao arquivo
• Proteção por grupos de usuário implementada por diversos SOs– Cada usuário é associado a um grupo– Grupos de usuários objetivam compartilhar arquivos e
diretórios– Três níveis de proteção: owner, group e all (public)– Na criação do arquivo, usuário especifica permissões
que poderão ser modificadas posteriormente
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/31
Proteção de Acesso
• Proteção por grupos de usuários:
D A D O S.TXT
O w ner
G ro u p
A ll
Leitu raEscr ita
Execu çãoElim in açã o
Leitu ra
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/32
Proteção de Acesso
• A Lista de Controle de Acesso, ou Access Control List (ACL), consiste em uma lista associada a cada arquivo especificando quais usuários e tipos de acesso são permitidos– Tamanho desta estrutura pode ficar muito grande caso
arquivo seja compartilhado por muitos usuários– Pesquisa seqüencial na lista impõe overhead de tempo– Alguns SOs permitem o uso tanto de ACLs como de
grupos de usuários
U su á r io : M a iaA cesso : Leitura + Escr ita
U su á r io : M ach a d oA cesso : Leitura
U su á r io : M a iaA cesso : Leitura + Escr ita + Execuçã o
U su á r io : M ach a d oA cesso : El im in a ção
AS
O –
Machado/Maia
– co
mpl
em. p
or S
idne
y L
ucen
a (U
NIR
IO)
11/33
Implementação de Caches• Para minimizar problema do tempo de acesso ao
disco (lento) para operações de E/S, faz-se uso de buffer cache– SO reserva área da MP para “cachear” operações de
acesso ao disco– Comportamento análogo às diversas estruturas de
cache presentes no sistema (hardware ou software)
• Aspectos de segurança devem ser considerados:– Problemas de energia podem ocasionar perda de
tarefas já realizadas em cache mas ainda não refletidas no disco
• Atualizações no disco podem ser periódicas (menos operações de E/S) ou imediatamente após modificação do cache (mais seguro)