Apostila 8 sistema de arquivos
-
Upload
paulo-fonseca -
Category
Technology
-
view
360 -
download
1
description
Transcript of Apostila 8 sistema de arquivos
Cap. 11 – Sistema de Arquivos 1
Arquitetura de Sistemas Operacionais
Apostila 8Sistema de Arquivos
Cap. 11 – Sistema de Arquivos 2
Sumário
• Introdução
• Arquivos
– Organização de Arquivos
– Métodos de Acesso
– Operações de Entrada/Saída
• Atributos
• Diretórios
• Gerência de Espaço Livre em Disco
• Gerência de Alocação de Espaço em Disco
• Proteção de Acesso
• Implementação de Caches
Cap. 11 – Sistema de Arquivos 3
Introducão
• Um processo deve ser capaz de ler egravar grande volume de dados emdispositivos como fitas e discos de formapermanente, além de poder compartilhá-los com outros processos.
• O armazenamento e a recuperação dedados é uma atividade essencial paraqualquer tipo de aplicação.
• A maneira pela qual o sistema operacionalestrutura e organiza estas informações éatravés da implementação de arquivos.
Cap. 11 – Sistema de Arquivos 4
Introducão
• Os arquivos são gerenciados pelo SO demaneira a facilitar o acesso dos usuários aoseu conteúdo.
• A parte do sistema responsável por essagerência é denominada sistema de arquivos.
• O sistema de arquivos é a parte mais visívelde um SO, pois a manipulação de arquivos éuma atividade frequentemente realizadapelos usuários, devendo sempre ocorrer deforma uniforme, independentemente dosdiferentes dispositivos de armazenamento.
Cap. 11 – Sistema de Arquivos 5
Disco
• Cada trilha é dividida em setores
• O setor é a menor unidade do disco
• As operações de entrada e saída no disco são feitas sobre os setores
• As transferências entre memória e disco são realizadas em
blocos que são compostos por vários setores.
Cap. 11 – Sistema de Arquivos 6
Atributos de Arquivos
• São informações de controle quedependendo do sistema de arquivosvariam, porém alguns como tamanho,criador, proteção e data estão presentesem quase todos.
• Alguns atributos especificados na criaçãodo arquivo não podem ser mudados eoutros são modificados pelo própriosistema operacional. E ainda existe algunsque podem ser alterados pelo usuário taiscomo proteção, tamanho e senha.
Cap. 11 – Sistema de Arquivos 7
Tipos de ArquivosTipo do Arquivo Extensão comum Função
Executável exe, com, bin, ou nada Programa em linguagem de máquina
pronto para executar
Objeto obj, o Linguagem de máquina, compilado,
sem linkedição
Código fonte c, cc, pas, java, asm, a Código fonte em várias linguagens
Batch bat, sh Comandos para o interpretador de
comandos
Texto txt, doc Dados textuais, documentos
Processador de testo wpd, tex, doc, etc Vários formatos de procesador de
textos
Biblioteca lib, a, dll Bibliotecas de rotinas para
programadoresa
Impressão ou visualização ps, dvi, gif Arquivos ASCII ou binário em um
formato para impressão ou
visualização
Arquivo compactado arc, zip, tar Arquivos correlatos agrupados em
um arquivo único, ás vezes
compactado, para fins de
arquivamento ou
armazenamento
Cap. 11 – Sistema de Arquivos 8
Organização de Arquivos
• A organização de arquivos consiste em como os seus dados estãointernamente armazenados.
• A estrutura dos dados pode variar em função do tipo de informaçãocontida no arquivo.
• Arquivos texto possuem propósitos completamente distintos dearquivos executáveis, consequentemente, estruturas diferentespodem adequar-se melhor a um tipo do que a outro.
• No momento da criação de um arquivo, seu criador pode definir quala organização adotada.
• Esta organização pode ser uma estrutura suportada pelo SO oudefinida pela própria aplicação.
• A forma mais simples de organização de arquivos é através de umasequência não-estruturada de bytes (Fig. 11.1a)
• Neste tipo de organização, o sistema de arquivos não impõenenhuma estrutura lógica para os dados.
• A aplicação deve definir toda a organização, estando livre paraestabelecer seus próprios critérios.
• A grande vantagem deste modelo é a grande flexibilidade para criardiferentes estruturas de dados, porém todo o controle de acesso aoarquivo é de inteira responsabilidade da aplicação.
Cap. 11 – Sistema de Arquivos 9
Organização de Arquivos
• Organização de Arquivos
Byte
(a) Organização não-estruturada
Ana Cláudia Teresa
Beatriz Camila Daniele Patrícia Tina Vanessa
Isabela Maria
Registro
(b) Organização Indexada
Cap. 11 – Sistema de Arquivos 10
Métodos de Acesso • Em função de como o arquivo está organizado, o sistema de arquivos
pode recuperar registros de diferentes maneiras.• Acesso Sequencial - Inicialmente, os SOs só armazenavam arquivos em
fitas magnéticas.• Com isso, o acesso era restrito a leitura dos registros na ordem em que
eram gravados e a gravação de novos registros só era possível no final doarquivo.
• Este tipo de acesso, chamado de acesso sequencial, era próprio da fitamagnética que, como meio de armazenamento, possuía esta limitação.
• Acesso Direto - Com o advento dos discos magnéticos, foi possível aintrodução de métodos de acesso mais eficientes. O primeiro foi o acessodireto, que permite a leitura/gravação de um registro diretamente na suaposição. Este método é realizado através do número do registro que é asua posição relativa em relação ao início do arquivo.
• É importante ressaltar que o acesso direto somente é possível quando oarquivo é definido com registros de tamanho fixo.
• Acesso Indexado - Um método de acesso mais sofisticado, que temcomo base o acesso direto, é o chamado acesso indexado ou acesso porchave. Para este acesso, o arquivo deve possuir uma área de índice ondeexistam ponteiros para os diversos registros. Sempre que a aplicaçãodesejar acessar um registro, deverá ser especificada uma chave atravésdo qual o sistema pesquisará na área de índice o ponteirocorrespondente.
Cap. 11 – Sistema de Arquivos 11
Métodos de Acesso
• Acesso direto
Registro0
Registro1
Registro2
Registron
Deslocamento dedois registros
Cap. 11 – Sistema de Arquivos 12
Operações de Entrada/Saída
D i s p o s i t i v o s
R o t i n a s d e E / S
A p l i c a ç ã o
• Operações de Entrada/Saída
Cap. 11 – Sistema de Arquivos 13
Operações de Entrada/Saída
• A Tabela abaixo apresenta algumasdestas rotinas encontradas na maioria dasimplementações de sistemas de arquivos
Cap. 11 – Sistema de Arquivos 14
Operações sobre Arquivos
• Criar Arquivo
• Escrever em um arquivo
• Ler um arquivo
• Reposicionar dentre do arquivo – Essaoperação de arquivo também échamada de busca no arquivo.
• Excluir um arquivo
• Truncar um arquivo
• Anexar e renomear
Cap. 11 – Sistema de Arquivos 15
Atributos
• Cada arquivo possui informações de controle denominadas atributos. Osatributos variam dependendo do sistema de arquivos porém alguns, comotamanho do arquivo, proteção, identificação do criador e data de criação,estão presente em quase todos os sistemas.
• Alguns atributos especificados na criação do arquivo não podem sermodificados em função de sua própria natureza, como organização edata/hora de criação. Outros são alterados pelo próprio SO, comotamanho e data/hora da última atualização. Existem ainda atributos quepodem ser modificados pelo próprio usuário, como proteção de arquivo,tamanho máximo e senha de acesso. Abaixo temos os principais atributospresentes nos sistemas de arquivos.
Cap. 11 – Sistema de Arquivos 16
Atributos de Arquivos
• Atributos podem ser:– Nome – O nome simbólico de arquivo é a única
informação mantida no formato legível pelo homem.– Tipo – Essas informações são necessárias para o
sistemas que suportam tipos diferentes.– Posição – Essas informações são um ponteiro para o
dispositivo e para a posição do arquivo no dispositivo.– Tamanho - O tamanho atual do arquivo( em bytes,
palavras ou blocos) e possivelmente o tamanho máximopermitido estão incluídos neste atributo.
– Proteção – Informações de controle de acesso quecontrolam quem pode realiza as operações de leitura,escrita, execução etc.
– Hora, data e identificação de usuário – Essasinformações pode ser mantidas para criação, últimomodificação e último uso. Esses dados podem ser úteispara proteção, segurança e monitoração de uso.
Cap. 11 – Sistema de Arquivos 17
Diretórios
• A estrutura de diretórios é como o sistemaorganiza logicamente os diversos arquivoscontidos em um disco.
• O diretório é uma estrutura de dados onde cadaentrada armazena informações como localizaçãofísica, nome, organização e demais atributos.
• Quando um arquivo é aberto, o SO procura a suaentrada na estrutura de diretórios, armazenandoas informações sobre atributos e localização doarquivo em uma tabela mantida na memóriaprincipal.
Cap. 11 – Sistema de Arquivos 18
Diretórios
• Um diretório contém:
– uma lista de todos os arquivos por nome
– os endereços de todos os descritores de todosos arquivos
• Permite ao usuário se preocupar com odiretório lógico e ignorar os problemas daalocação física
• Principais estruturas para diretórios:Diretório de Nível Simples, Diretório deDois Níveis, Diretório em Árvores eDiretório em Grafos Acíclicos.
Cap. 11 – Sistema de Arquivos 19
Diretórios
• Estrutura de diretórios de nível único
IdentificaçãoProteção
OrganizaçãoLocalização
Atributos
Diretórios Arquivos
Cap. 11 – Sistema de Arquivos 20
Diretórios• Como o sistema de nível
único é bastante limitado,uma evolução do modelo foi aimplementação de umaestrutura onde para cadausuário existiria um diretórioparticular denominado UserFile Directory (UFD).
• Para que o sistema possalocalizar arquivos nessaestrutura, deve haver umnível de diretório adicionalpara controlar os diretóriosindividuais dos usuários.
• Este nível, denominadoMaster File Directory (MFD) éindexado pelo nome dousuário, onde cada entradaaponta para o diretóriopessoal. A figura ilustra estemodelo de estrutura dediretórios com dois níveis(two-level directory).
Usuário1
Usuário2
Usuário3
Usuárion
Arquivo1
Arquivo2
Arquivo3
Arquivo1
Arquivo1
Arquivo2
Arquivo3
User File Directory(UFD)
Arquivos
Cap. 11 – Sistema de Arquivos 21
Diretórios
• Estrutura de diretórios em árvore
Usuário1
Usuário2
Usuário3
Usuárion
Diretório Raiz
Diretório1
Diretório2
Arquivo1
Arquivo1
Diretório1
Arquivo1
Arquivo2
Arquivo1
Arquivo2
Arquivo1
Arquivo1
Arquivo2
Cap. 11 – Sistema de Arquivos 22
Diretórios
• Path de um arquivo
Disco C:/
IvanIvanCarlos Paulo
Teste Pessoal
Soma.exe
Cap. 11 – Sistema de Arquivos 23
Gerência de Espaço Livre em Disco
• A criação de arquivos em disco exige que o SO tenha ocontrole de quais áreas ou blocos estão livres no disco.
• Este controle é realizado usando-se alguma estrutura dedados que armazena informações que possibilitam aosistema de arquivos gerenciar o espaço livre do disco.
• Nesta estrutura, geralmente uma lista ou tabela, épossível identificar blocos livres que poderão seralocados a um novo arquivo.
• Neste caso, o espaço é removido da estrutura para quenão seja reutilizado. No momento em que o arquivo éeliminado, todos os seus blocos são liberados para alista de espaços livres.
• A forma mais simples de implementar uma estrutura deespaços livres é através de uma tabela denominadamapa de bits (bit map). Cada entrada na tabela éassociada a um bloco do disco representado por um bit(0 – livre e 1 – alocado).
Cap. 11 – Sistema de Arquivos 24
Gerência de Espaço Livre em Disco
• Alocação de espaço em disco
11001101
11100000
.
.
.
01110100
10000111
(a) Mapa de bits
Início
(b) Lista encadeada
Bloco Contador
4 2
10 1
25 20
13 7
50 5
© Tabela de blocos livres
Cap. 11 – Sistema de Arquivos 25
Gerência de Alocação de Espaço em Disco
• Da mesma forma que o SO gerencia osespaços livres no disco, a gerência dosespaços alocados aos arquivos é defundamental importância em umsistema de arquivos.
• A seguir as principais técnicas dealocação serão apresentadas:
– Alocação contígua
– Alocação encadeada
– Alocação indexada
Cap. 11 – Sistema de Arquivos 26
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
Arquivo Bloco
A. TXT 4
B. TXT 10
C. TXT 13
3
1
2
Extensão
Cap. 11 – Sistema de Arquivos 27
Gerência de Alocação de Espaço em Disco
• Estratégias de Alocação
First-Fit
Best-Fit
Worst-Fit
Cap. 11 – Sistema de Arquivos 28
Gerência de Alocação de Espaço em Disco
• Desfragmentação
Área de trabalho
Cap. 11 – Sistema de Arquivos 29
Gerência de Alocação de Espaço em Disco
• Alocação Encadeada - Afragmentação dos espaçoslivres não representanenhum problema naalocação encadeada poisos blocos livres alocadospara um arquivo nãoprecisam necessariamenteser contíguos.
• O que ocorre nestemétodo é a fragmentaçãode arquivos, que é aquebra do arquivo emdiversos pedaçosdenominados extents.
Início
0 1 2
3 4 5
6 7 8
9 10 11
12 13 14
Arquivo Bloco
A.TXT 6
. . . . . .
. . . . . .
. . . . . .
. . . . . .
Cap. 11 – Sistema de Arquivos 30
Gerência de Alocação de Espaço em Disco
• Alocação Indexada - Aalocação indexadasoluciona uma dasprincipais limitações daalocação encadeada, que éa impossibilidade de acessodireito aos blocos dosarquivos. O princípio destatécnica é manter osponteiros de todos osblocos do arquivo em umaúnica estruturadenominada bloco deíndice.
• A alocação indexada, alémde permitir o acesso direitoaos blocos, não usainformações de controlenos blocos de dados, comona alocação encadeada.
0 1 2
3 4 5
6 7 8
9 10 11
12 13 14
Bloco deíndice
310117
Cap. 11 – Sistema de Arquivos 31
Proteção de Acesso
• Proteção por grupos de usuários - Aproteção baseada em grupos de usuáriosé implementada por diversos SOs.
• Este tipo de proteção tem como princípioa associação de cada usuário do sistema aum grupo.
DADOS.TXT
Owner
Group
All
LeituraEscrita
ExecuçãoEliminação
Leitura
Cap. 11 – Sistema de Arquivos 32
Proteção de Acesso
• Lista de Controle de Acesso - A Lista deControle de Acesso (Access Control List –ACL) consiste em uma lista associada acada arquivo, onde são especificadosquais os usuários e os tipos de acesso
permitidos.
Usuário: MaiaAcesso: Leitura + Escrita
Usuário: MachadoAcesso: Leitura
Usuário: MaiaAcesso: Leitura + Escrita + Execução
Usuário: MachadoAcesso: Eliminação
Cap. 11 – Sistema de Arquivos 33
Implementação de Caches
• Acesso a disco é bastante lento
• Buffer cache minimiza este problema
• Quando uma operação é realizada o sistema verificase a informação se encontra no buffer cache
– Em caso positivo, não é necessário o acesso ao disco
– Caso o bloco requisitado não se encontre no cache, aoperação de E/S é realizada e o cache é atualizado
• Políticas para substituição de blocos: FIFO ou LRU
• Aspectos de segurança
– Atualização periódica
– Write-through caches
Cap. 11 – Sistema de Arquivos 34
Escalonamento de Disco
• Escolha de qual solicitação de E/S atender
• O tempo para atender uma solicitação de leitura ou gravação é dividido em3 etapas:
– Tempo de Seek: tempo gasto para locomover a cabeça de leitura/gravação da trilha atual para a trilha desejada.
– 2. Tempo de Latência: tempo gasto para esperar que o disco rotacione até que o bloco desejado esteja sob a cabeça de leitura/gravação.
– 3. Tempo de Transferência: tempo gasto para transferir os dados do bloco do disco para a memória principal.
Cap. 11 – Sistema de Arquivos 35
Escalonamento de Disco
• Para exemplificarmos as três técnicas, vamos supor que existe uma fila de requisição de acesso ao disco, onde as trilhas que devam ser acessadas estão na seguinte seqüência
98, 183, 37, 122, 14, 124, 65 e 67
de forma que a primeira solicitação que foi feita é a trilha 98 e a ultima é a 67. Supomos que a cabeça de leitura/gravação do disco esteja na posição 53.
Cap. 11 – Sistema de Arquivos 36
Escalonamento de Disco
98, 183, 37, 122, 14, 124, 65 e 67
disco na posição 53.14 37 53 65 67 98 122 124
183
FCFS
640
SSTF
236
SCA
N
208