A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arquitetura de Sistemas Operacionais Francis Berenger Machado

Apresentações semelhantes


Apresentação em tema: "Arquitetura de Sistemas Operacionais Francis Berenger Machado"— Transcrição da apresentação:

1 Arquitetura de Sistemas Operacionais Francis Berenger Machado
Luiz Paulo Maia Complementado por 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 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

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, 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

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)


Carregar ppt "Arquitetura de Sistemas Operacionais Francis Berenger Machado"

Apresentações semelhantes


Anúncios Google