Apostila 8 sistema de arquivos

1,831 views

Published on

Sistema de arquivos em Sistemas Operacionais

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,831
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
178
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Apostila 8 sistema de arquivos

  1. 1. Cap. 11 – Sistema de Arquivos 1 Arquitetura de Sistemas Operacionais Apostila 8 Sistema de Arquivos
  2. 2. 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
  3. 3. Cap. 11 – Sistema de Arquivos 3 Introducão • Um processo deve ser capaz de ler e gravar grande volume de dados em dispositivos como fitas e discos de forma permanente, além de poder compartilhá- los com outros processos. • O armazenamento e a recuperação de dados é uma atividade essencial para qualquer tipo de aplicação. • A maneira pela qual o sistema operacional estrutura e organiza estas informações é através da implementação de arquivos.
  4. 4. Cap. 11 – Sistema de Arquivos 4 Introducão • Os arquivos são gerenciados pelo SO de maneira a facilitar o acesso dos usuários ao seu conteúdo. • A parte do sistema responsável por essa gerência é denominada sistema de arquivos. • O sistema de arquivos é a parte mais visível de um SO, pois a manipulação de arquivos é uma atividade frequentemente realizada pelos usuários, devendo sempre ocorrer de forma uniforme, independentemente dos diferentes dispositivos de armazenamento.
  5. 5. 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.
  6. 6. Cap. 11 – Sistema de Arquivos 6 Atributos de Arquivos • São informações de controle que dependendo do sistema de arquivos variam, porém alguns como tamanho, criador, proteção e data estão presentes em quase todos. • Alguns atributos especificados na criação do arquivo não podem ser mudados e outros são modificados pelo próprio sistema operacional. E ainda existe alguns que podem ser alterados pelo usuário tais como proteção, tamanho e senha.
  7. 7. Cap. 11 – Sistema de Arquivos 7 Tipos de Arquivos Tipo 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
  8. 8. Cap. 11 – Sistema de Arquivos 8 Organização de Arquivos • A organização de arquivos consiste em como os seus dados estão internamente armazenados. • A estrutura dos dados pode variar em função do tipo de informação contida no arquivo. • Arquivos texto possuem propósitos completamente distintos de arquivos executáveis, consequentemente, estruturas diferentes podem adequar-se melhor a um tipo do que a outro. • No momento da criação de um arquivo, seu criador pode definir qual a organização adotada. • Esta organização pode ser uma estrutura suportada pelo SO ou definida pela própria aplicação. • A forma mais simples de organização de arquivos é através de uma sequência não-estruturada de bytes (Fig. 11.1a) • Neste tipo de organização, o sistema de arquivos não impõe nenhuma estrutura lógica para os dados. • A aplicação deve definir toda a organização, estando livre para estabelecer seus próprios critérios. • A grande vantagem deste modelo é a grande flexibilidade para criar diferentes estruturas de dados, porém todo o controle de acesso ao arquivo é de inteira responsabilidade da aplicação.
  9. 9. 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
  10. 10. 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 do arquivo. • Este tipo de acesso, chamado de acesso sequencial, era próprio da fita magnética que, como meio de armazenamento, possuía esta limitação. • Acesso Direto - Com o advento dos discos magnéticos, foi possível a introdução de métodos de acesso mais eficientes. O primeiro foi o acesso direto, que permite a leitura/gravação de um registro diretamente na sua posição. Este método é realizado através do número do registro que é a sua posição relativa em relação ao início do arquivo. • É importante ressaltar que o acesso direto somente é possível quando o arquivo é definido com registros de tamanho fixo. • Acesso Indexado - Um método de acesso mais sofisticado, que tem como base o acesso direto, é o chamado acesso indexado ou acesso por chave. Para este acesso, o arquivo deve possuir uma área de índice onde existam ponteiros para os diversos registros. Sempre que a aplicação desejar acessar um registro, deverá ser especificada uma chave através do qual o sistema pesquisará na área de índice o ponteiro correspondente.
  11. 11. Cap. 11 – Sistema de Arquivos 11 Métodos de Acesso • Acesso direto Registro 0 Registro 1 Registro 2 Registro n Deslocamento de dois registros
  12. 12. Cap. 11 – Sistema de Arquivos 12 Operações de Entrada/Saída D i s p o s it iv o s R o ti n a s d e E / S A p l ic a ç ã o • Operações de Entrada/Saída
  13. 13. Cap. 11 – Sistema de Arquivos 13 Operações de Entrada/Saída • A Tabela abaixo apresenta algumas destas rotinas encontradas na maioria das implementações de sistemas de arquivos
  14. 14. Cap. 11 – Sistema de Arquivos 14 Operações sobre Arquivos • Criar Arquivo • Escrever em um arquivo • Ler um arquivo • Reposicionar dentre do arquivo – Essa operação de arquivo também é chamada de busca no arquivo. • Excluir um arquivo • Truncar um arquivo • Anexar e renomear
  15. 15. Cap. 11 – Sistema de Arquivos 15 Atributos • Cada arquivo possui informações de controle denominadas atributos. Os atributos variam dependendo do sistema de arquivos porém alguns, como tamanho 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 ser modificados em função de sua própria natureza, como organização e data/hora de criação. Outros são alterados pelo próprio SO, como tamanho e data/hora da última atualização. Existem ainda atributos que podem ser modificados pelo próprio usuário, como proteção de arquivo, tamanho máximo e senha de acesso. Abaixo temos os principais atributos presentes nos sistemas de arquivos.
  16. 16. 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áximo permitido estão incluídos neste atributo. – Proteção – Informações de controle de acesso que controlam quem pode realiza as operações de leitura, escrita, execução etc. – Hora, data e identificação de usuário – Essas informações pode ser mantidas para criação, último modificação e último uso. Esses dados podem ser úteis para proteção, segurança e monitoração de uso.
  17. 17. Cap. 11 – Sistema de Arquivos 17 Diretórios • A estrutura de diretórios é como o sistema organiza logicamente os diversos arquivos contidos em um disco. • O diretório é uma estrutura de dados onde cada entrada armazena informações como localização física, nome, organização e demais atributos. • Quando um arquivo é aberto, o SO procura a sua entrada na estrutura de diretórios, armazenando as informações sobre atributos e localização do arquivo em uma tabela mantida na memória principal.
  18. 18. 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 todos os arquivos • Permite ao usuário se preocupar com o diretório lógico e ignorar os problemas da alocação física • Principais estruturas para diretórios: Diretório de Nível Simples, Diretório de Dois Níveis, Diretório em Árvores e Diretório em Grafos Acíclicos.
  19. 19. Cap. 11 – Sistema de Arquivos 19 Diretórios • Estrutura de diretórios de nível único Identificação Proteção Organização Localização Atributos Diretórios Arquivos
  20. 20. Cap. 11 – Sistema de Arquivos 20 Diretórios • Como o sistema de nível único é bastante limitado, uma evolução do modelo foi a implementação de uma estrutura onde para cada usuário existiria um diretório particular denominado User File Directory (UFD). • Para que o sistema possa localizar arquivos nessa estrutura, deve haver um nível de diretório adicional para controlar os diretórios individuais dos usuários. • Este nível, denominado Master File Directory (MFD) é indexado pelo nome do usuário, onde cada entrada aponta para o diretório pessoal. A figura ilustra este modelo de estrutura de diretórios com dois níveis (two-level directory). Usuário 1 Usuário 2 Usuário 3 Usuário n Arquivo 1 Arquivo 2 Arquivo 3 Arquivo 1 Arquivo 1 Arquivo 2 Arquivo 3 User File Directory (UFD) Arquivos
  21. 21. Cap. 11 – Sistema de Arquivos 21 Diretórios • Estrutura de diretórios em árvore Usuário 1 Usuário 2 Usuário 3 Usuário n Diretório Raiz Diretório 1 Diretório 2 Arquivo 1 Arquivo 1 Diretório 1 Arquivo 1 Arquivo 2 Arquivo 1 Arquivo 2 Arquivo 1 Arquivo 1 Arquivo 2
  22. 22. Cap. 11 – Sistema de Arquivos 22 Diretórios • Path de um arquivo Disco C:/ IvanIvanCarlos Paulo Teste Pessoal Soma.exe
  23. 23. 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 o controle de quais áreas ou blocos estão livres no disco. • Este controle é realizado usando-se alguma estrutura de dados que armazena informações que possibilitam ao sistema de arquivos gerenciar o espaço livre do disco. • Nesta estrutura, geralmente uma lista ou tabela, é possível identificar blocos livres que poderão ser alocados a um novo arquivo. • Neste caso, o espaço é removido da estrutura para que não seja reutilizado. No momento em que o arquivo é eliminado, todos os seus blocos são liberados para a lista de espaços livres. • A forma mais simples de implementar uma estrutura de espaços livres é através de uma tabela denominada mapa de bits (bit map). Cada entrada na tabela é associada a um bloco do disco representado por um bit (0 – livre e 1 – alocado).
  24. 24. 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
  25. 25. Cap. 11 – Sistema de Arquivos 25 Gerência de Alocação de Espaço em Disco • Da mesma forma que o SO gerencia os espaços livres no disco, a gerência dos espaços alocados aos arquivos é de fundamental importância em um sistema de arquivos. • A seguir as principais técnicas de alocação serão apresentadas: – Alocação contígua – Alocação encadeada – Alocação indexada
  26. 26. 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
  27. 27. 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
  28. 28. Cap. 11 – Sistema de Arquivos 28 Gerência de Alocação de Espaço em Disco • Desfragmentação Área de trabalho
  29. 29. Cap. 11 – Sistema de Arquivos 29 Gerência de Alocação de Espaço em Disco • Alocação Encadeada - A fragmentação dos espaços livres não representa nenhum problema na alocação encadeada pois os blocos livres alocados para um arquivo não precisam necessariamente ser contíguos. • O que ocorre neste método é a fragmentação de arquivos, que é a quebra do arquivo em diversos pedaços denominados extents. Início 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Arquivo Bloco A.TXT 6 . . . . . . . . . . . . . . . . . . . . . . . .
  30. 30. Cap. 11 – Sistema de Arquivos 30 Gerência de Alocação de Espaço em Disco • Alocação Indexada - A alocação indexada soluciona uma das principais limitações da alocação encadeada, que é a impossibilidade de acesso direito aos blocos dos arquivos. O princípio desta técnica é manter os ponteiros de todos os blocos do arquivo em uma única estrutura denominada bloco de índice. • A alocação indexada, além de permitir o acesso direito aos blocos, não usa informações de controle nos blocos de dados, como na alocação encadeada. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Bloco de índice 3 10 11 7
  31. 31. Cap. 11 – Sistema de Arquivos 31 Proteção de Acesso • Proteção por grupos de usuários - A proteção baseada em grupos de usuários é implementada por diversos SOs. • Este tipo de proteção tem como princípio a associação de cada usuário do sistema a um grupo. DADOS.TXT Owner Group All Leitura Escrita Execução Eliminação Leitura
  32. 32. Cap. 11 – Sistema de Arquivos 32 Proteção de Acesso • Lista de Controle de Acesso - A Lista de Controle de Acesso (Access Control List – ACL) consiste em uma lista associada a cada arquivo, onde são especificados quais os usuários e os tipos de acesso permitidos. Usuário: Maia Acesso: Leitura + Escrita Usuário: Machado Acesso: Leitura Usuário: Maia Acesso: Leitura + Escrita + Execução Usuário: Machado Acesso: Eliminação
  33. 33. 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 verifica se 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, a operaçã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
  34. 34. 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.
  35. 35. 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.
  36. 36. 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

×