1 / 33

Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia

Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementado por Sidney Lucena (Prof. UNIRIO) Capítulo 11 Sistema de Arquivos. Organização de Arquivos. Um arquivo é constituído por informações logicamente relacionadas

taffy
Download Presentation

Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Complementadopor Sidney Lucena (Prof. UNIRIO) Capítulo 11 Sistema de Arquivos

  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

  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

  4. Organização de Arquivos • Organização de Arquivosconsiste 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

  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

  6. Organização de Arquivos

  7. 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 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)

  8. 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 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)

  9. 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 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)

  10. Operações de Entrada/Saída ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)

  11. 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 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)

  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

  13. Diretórios • Estrutura de diretórios de nível único é a implementação mais simples • Um único diretório contendo todos os arquivos

  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

  15. Diretórios

  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

  17. Diretórios • Estrutura de diretórios em árvore

  18. Diretórios • Path de um arquivo

  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

  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

  21. Gerência de Espaço Livre em Disco

  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

  23. Gerência de Alocação de Espaço em Disco • Alocação Contígua

  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

  25. Alocação Contígua • Desfragmentação

  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

  27. Alocação Encadeada

  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

  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

  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

  31. Proteção de Acesso • Proteção por grupos de usuários:

  32. Proteção de Acesso • A Lista de Controle de Acesso, ouAccess 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

  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)

More Related