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

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

Sistemas Operacionais Aula 15 Sistema de Arquivos

Apresentações semelhantes


Apresentação em tema: "Sistemas Operacionais Aula 15 Sistema de Arquivos"— Transcrição da apresentação:

1 Sistemas Operacionais Aula 15 Sistema de Arquivos
Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação Sistemas Operacionais Aula 15 Sistema de Arquivos Regiane Kawasaki

2 Introdução O sistema de arquivos é a parte mais visível do SO.
Cria um recurso lógico a partir de recursos físicos através de uma interface coerente e simples, fácil de usar. Mecanismos de acesso a dados e a programas. Duas partes básicas: Arquivos – Armazenamento de dados e programas Diretórios – Organização e informações sobre arquivos

3 Objetivos do Sistema de Arquivos
Fornecer mecanismos para usuários manipular arquivos e diretórios. Garantir a validade e coerência de dados Minimizar ou eliminar o risco de perda/alteração de dados Otimizar o acesso Fornecer suporte a outros sistemas de arquivos. Suporte a vários usuários Uso compartilhado (proteção e concorrência)

4 Requisitos mínimos (Usuário)
Cada usuário deve ser capaz de: Criar, apagar, ler e alterar arquivos. Controlar as permissões de acesso. Nomear arquivos de forma simbólica. Estruturar os arquivos de forma a adequá-los às suas necessidades específicas Criação de diretórios e subdiretórios Realizar backups e recuperar arquivos em caso de problemas.

5 Requisitos mínimos (Sistema)
O SO deve ser capaz de: Descrever a localização de todos os arquivos e de seus atributos (Via diretório) Gerenciar espaço físico do disco: Alocar blocos livres a arquivos em criação/expansão. Liberar blocos de arquivos removidos. Mecanismos para localizar eficientemente blocos (setores) que compõem arquivos.

6 Conceitos Básicos Arquivo Diretório Partição
Unidade lógica de informação. Diretório Conjunto de referências a arquivos. Partição Abstração que permite a partir do disco físico criar discos lógicos.

7 Conceito de Arquivo Informação pode ser armazenada em diferentes tipos de mídia. Arquivos são mapeados para dispositivos físicos. Arquivos possuem: Nome, atributos, estrutura interna, tipo, método de acesso, operações.

8 Nomes de Arquivos O Sistema de Arquivos define um espaço de nomes:
Conjunto de regras e convenções para identificar um arquivo Variam de sistema para sistema: Distinção entre letras maiúsculas e minúsculas (case sensitive) Obrigatoriedade de extensão Tamanho máximo de nome e da extensão

9 Atributos de um Arquivo
Informações sobre arquivos: Nome: informação simbólica para referenciar o arquivo. Tipo: binário, texto, executável, caracter, bloco Localização: posição do arquivo em dispositivos de E\S Tamanho: n° de bytes que compõem o arquivo Proteção: controla acesso a leitura, escrita e execução ao arquivo Hora e data de criação, identificação do usuário: informações destinadas à proteção, segurança e monitoração. Varia de SO a SO Atributos são mantidos em uma estrutura à parte!

10 Estrutura de arquivos Arquivos podem ser estruturados de diferentes maneiras: a) Sequência não estruturada de bytes Para o SO arquivos são apenas conjuntos de bytes. SO não se importa com o conteúdo do arquivo. Significado deve ser atribuído pelos programas em nível de usuário (aplicativos). Vantagem: Flexibilidade: os usuários nomeiam seus arquivos como quiserem. Ex.: UNIX, LINUX e Windows.

11 Estrutura de arquivos b) Sequência de registros de tamanho fixo, cada qual com uma estrutura interna  leitura/escrita são realizadas em registros. SOs mais antigos  mainframes e cartões perfurados (80 caracteres). Nenhum sistema atual utiliza esse esquema.

12 Estrutura de Arquivos c) Árvores de registros (tamanho variado), cada qual com um campo chave em uma posição fixa: SO decide onde colocar os arquivos; Usado em mainframes atuais.

13 Tipos de arquivos Arquivos regulares  são aqueles que contêm informações dos usuários. Diretórios  são arquivos responsáveis por manter a estrutura do Sistema de Arquivos. Arquivos especiais de caracteres  são aqueles relacionados com E/S e utilizados para modelar dispositivos seriais de E/S. Ex.: impressora, interface de rede, terminais. Arquivos especiais de bloco  são aqueles utilizados para modelar discos.

14 Acessos em arquivos SOs mais antigos ofereciam apenas acesso seqüencial no disco  leitura em ordem byte a byte (registro a registro). SOs mais modernos fazem acesso randômico ou aleatório. Acesso feito por chave; Ex.: base de dados de uma empresa de aérea. Métodos para especificar onde iniciar leitura: Operação Read  posição do arquivo em que se inicia a leitura. Operação Seek  marca posição corrente permitindo leitura sequencial.

15 Operações básicas sobre arquivo
Arquivo é um tipo abstrato de dados sobre o qual se pode efetuar uma série de operações: Criação (create) Escrita (write) e Leitura (read) Reposicionamento (file seek) Remoção (delete) Abertura (open) e Encerramento (close) Renomeação (rename), trucagem (truncate) e etc. Geralmente correspondem a chamadas de sistemas.

16 Controle de Acesso Importante controlar o acesso aos arquivos devido questões de segurança. Objetivo é evitar acessos indevidos. Baseado na identificação de usuários: Sistema de autenticação padrão. Usuários possuem direitos de acessos. Solução típica Lista de acesso e grupo.

17 Implementação de Arquivos
Arquivos são implementados através da criação, para cada arquivo no sistema, de uma estrutura de dados. Descritor de arquivo é um registro que mantém informações sobre o arquivo. Informações típicas: Nome do arquivo, tamanho em bytes, data e hora da criação, identificação do usuário que criou, lista de controle de acesso, local físico do disco onde o arquivo foi colocado, etc.

18 Tabela de Descritores de Arquivos
Descritores de Arquivos são armazenados no próprio disco: Mesma partição Problema de desempenho: Acesso ao descritor de arquivos é lenta. Solução é manter descritor em memória enquanto o arquivo estiver em uso. Sistema de Arquivos mantém os descritores de arquivos em memória em uma estrutura de dados do SO: Tabela de descritores de arquivos abertos (TDAA).

19 Tabelas de Arquivos Abertos por Processos
Informações relacionadas a arquivos são de dois tipos: Não variáveis enquanto o arquivo estiver em uso. (Ex.: Nome do arquivo). Dependem do processo que está acessando o arquivo. (Ex.: posição corrente). Informações dependentes do processo são armazenados em uma tabela à parte mantida pelo processo (TAAP): Posição corrente no arquivo, tipo de acesso e apontador para a entrada correspondente na TDAA. Entrada na TAAP serve para referenciar o arquivo.

20 Emprego conjunto das tabelas

21 Gerenciamento do dispositivo de armazenamento
Problema: arquivos devem ser armazenados no disco! Pontos as serem tratados: Relação n° de setores do disco que compõem um bloco Alocação de blocos no disco Recuperação de blocos liberados Localização de dados no disco Existe uma relação entre a política de alocação e a política de espaço livre.

22 Alocação de Espaço em Disco
Como colocar em espaço em disco de forma que os arquivos sejam armazenados de forma eficiente e que permita acesso rápido Alocar blocos livres suficientes para armazenar o arquivo Blocos lógicos do disco são enumerados sequencialmente Duas formas básicas: Contígua Não-contígua Encadeada Indexada

23 Alocação Contígua Arquivo é uma sequência de blocos lógicos contíguos alocados no momento da criação Endereços no disco são lineares Reduz necessidade de seek já que blocos estão na mesma trilha (no pior caso necessita apenas a troca do cilindro) Arquivo é descrito através de uma entrada na forma: Bloco físico inicial Tamanho do arquivos em blocos

24 Esquema Alocação Contígua

25 Problemas da Alocação Contígua
1° Problema: encontrar espaço para um novo arquivo Técnicas de Gerência de Memória Gera Fragmentação Externa 2° Problema: determinar o espaço necessário para um arquivo Arquivos tendem a crescer, e se não houver espaço contíguo disponível? Pré-alocar um espaço máximo para o arquivo Fragmentação Interna

26 Alocação Encadeada Soluciona os problemas de alocação contígua
Relação e dimensionamento do tamanho e crescimento de arquivos Alocação é baseada em uma unidade de bloco lógico Análogo à paginação Arquivo é uma lista encadeada de blocos Cada bloco contém um ponteiro para o próximo bloco Arquivo é descrito em uma entrada na forma: Bloco inicial do arquivo Bloco final do arquivo ou tamanho do arquivo em blocos

27 Esquema de Alocação Encadeada

28 Prós e Contras da Alocação Encadeada
Elimina a Fragmentação Externa Arquivos podem crescer “indefinidamente” Não há necessidade de compactar o disco O acesso a um bloco qualquer implica em percorrer a lista encadeada Afeta o desempenho Confiabilidade Erro pode provocar a leitura\escrita em bloco pertencente a outro arquivo

29 File Allocation Table - FAT
Variação de alocação encadeada. FAT é uma tabela de encadeamento de blocos lógicos. Uma entrada na FAT para cada bloco lógico do disco. Composta por um ponteiro (endereço do bloco lógico). Arquivo é descrito por uma seqüência de entradas na FAT, cada entrada apontando para a próxima entrada.

30 Esquema de Funcionamento da FAT
Desvantagem principal é o tempo de seek

31 Alocação Indexada Busca resolver o problema de “ponteiros espalhados” pelo disco que a alocação encadeada provoca. Mantém, por arquivo, um índice de blocos que o compõem. O índice é mantido em um bloco. Diretório possui um ponteiro para o bloco onde está o índice associado a um determinado arquivo.

32 Esquema de Alocação Indexada

33 Prós e contras da Alocação Indexada
Permite o acesso randômico a blocos independentes de sua posição relativa no arquivo. Tamanho máximo do arquivo é limitado pela quantidade de entradas suportadas pelo bloco: Muito pequeno (limita o tamanho do arquivo) Muito grande (desperdiça espaço em disco) Solução é utilizar dois tamanhos de blocos, um para o índice e outro para dados.

34 Diretório Problema: Quantidade de arquivos implica necessidade de organizá-los. Sistema de Arquivos oferece duas formas de organização: Partição Diretório Partição divide um disco em discos lógicos No mínimo uma em um sistema; Onde “residem” os arquivos e diretórios.

35 Diretórios Diretórios  são arquivos responsáveis por manter a estrutura do Sistema de Arquivos. Organização Operações

36 Diretórios Organização pode ser feita das seguintes maneiras:
Nível único (Single-level); Dois níveis (Two-level); Hierárquica.

37 Diretórios – Nível único
Apenas um diretório contém todos os arquivos  diretório raiz (root directory). Computadores antigos utilizavam esse método, pois eram monousuários. Exceção: CDC 6600  supercomputador que utilizava-se desse método, apesar de ser multiusuário. Vantagens: Simplicidade Eficiência

38 Diretórios – Nível único
04 arquivos. Três diferentes proprietários. Desvantagens: Sistemas multiusuários: Diferentes usuários podem criar arquivos como mesmo nome; Exemplo: Usuários A e B criam, respectivamente, um arquivo mailbox; Usuário B sobrescreve arquivo do usuário A. Diretório raiz A B C

39 Diretórios – Dois níveis
Cada usuário possui um diretório privado. Sem conflitos de nomes de arquivos. Procedimento de login: identificação. Compartilhamento de arquivos  programas executáveis do sistema. Desvantagem: Usuário com muitos arquivos. Diretório raiz A B C Diretório do usuário Arquivos

40 Diretórios – Hierárquico
Hierarquia de diretórios  árvores de diretórios; Usuários podem querer agrupar seus arquivos de maneira lógica, criando diversos diretórios que agrupam arquivos; Sistemas operacionais modernos utilizam esse método.

41 Diretórios – Hierárquico
Diretório raiz A B C Diretório do usuário Arquivos Sub-diretórios

42 Diretórios – Caminho (path name)
O método hierárquico requer métodos pelos quais os arquivos são acessados. Dois métodos diferentes: Caminho absoluto (absolute path name); Caminho relativo (relative path name);

43 Diretórios – Caminho (path name)
Caminho absoluto: consiste de um caminho a partir do diretório raiz até o arquivo; É ÚNICO; Funciona independentemente de qual seja o diretório corrente; Ex.: UNIX: /usr/ast/mailbox; Windows: \usr\ast\mailbox;

44 Diretórios – Caminho (path name)
Diretório de Trabalho (working directory) ou diretório corrente (current directory). Caminho relativo é utilizado em conjunto com o diretório corrente. Usuário estabelece um diretório como sendo o diretório corrente; nesse caso caminhos não iniciados no diretório raiz são tido como relativos ao diretório corrente; Exemplo: cp /usr/ast/mailbox /usr/ast/mailbox.bak Diretório corrente: /usr/ast  cp mailbox mailbox.bak

45 Diretórios – Caminho (path name)
“.”  diretório corrente; “..”  diretório pai (anterior ao corrente); Ex.: diretório corrente /usr/ast: cp ../lib/dictionary . cp /usr/lib/dictionary . cp /usr/lib/dictionary dictionary cp /usr/lib/dictionary /usr/ast/dictionary

46 Diretórios – Operações
Create; Delete Opendir; Closedir Readdir Rename Link (um arquivo pode aparecer em mais de um diretório) Unlink

47 Implementação do Sistema de arquivos - Layout
Arquivos são armazenados em discos. Discos podem ser divididos em uma ou mais partições, com sistemas de arquivos independentes. Setor 0 do disco é destinado ao MBR – Master Boot Record; que é responsável pela a tarefa de boot do computador. MBR possui a tabela de partição, com o endereço inicial e final de cada partição. BIOS lê e executa o MBR.

48 Implementação do Sistema de arquivos - Layout
Tarefas básicas do MBR (pode variar dependendo do SO): 1ª  localizar a partição ativa; 2ª  ler o primeiro bloco dessa partição, chamado bloco de boot (boot block); 3ª  executar o bloco de boot ; Layout de um Sistema de Arquivos pode variar; mas a idéia geral é a seguinte:

49 Implementação do Sistema de arquivos - Layout
Disco MBR Tabela de partição Partições Boot Raiz Gerenc. de Espaço livre Super bloco Arquivos Diretórios I-nodes Contém parâmetros (tipo do SA, número de blocos) sobre o sistema de arquivos e é carregado na memória

50 Implementação do Sistema de arquivos - Layout
Disco MBR Tabela de partição Partições Boot Raiz Gerenc. de Espaço livre Super bloco Arquivos Diretórios I-nodes Contém informações sobre os blocos livres do disco (mapa de bits ou lista encadeada)

51 Implementação do Sistema de arquivos - Layout
Disco MBR Tabela de partição Partições Boot Raiz Gerenc. de Espaço livre Super bloco Arquivos Diretórios I-nodes Estruturas de dados (vetor) contendo informações sobre os arquivos

52 Implementação do Sistema de arquivos - Layout
Disco MBR Tabela de partição Partições Boot Raiz Gerenc. de Espaço livre Super bloco Arquivos Diretórios I-nodes Diretório raiz – árvore de diretórios

53 Implementação do Sistema de arquivos - Layout
Disco MBR Tabela de partição Partições Boot Raiz Gerenc. de Espaço livre Super bloco Arquivos Diretórios I-nodes Demais arquivos e diretórios

54 Implementação do Sistema de arquivos - Arquivos
Armazenamento de arquivos  como os arquivos são alocados no disco; Diferentes técnicas são implementas por diferentes Sistemas Operacionais; Alocação contínua; Alocação com lista encadeada; Alocação com lista encadeada utilizando uma tabela na memória (FAT); I-Nodes;

55 Implementação do Sistema de arquivos - Arquivos
Alocação contínua: Técnica mais simples; Armazena arquivos de forma contínua no disco; Ex.: em um disco com blocos de 1kb um arquivo com 50kb será alocado em 50 blocos consecutivos;

56 Implementação do Sistema de arquivos - Arquivos
Alocação contínua: 37 Blocos A B C D E F 4 3 6 5 12 Removendo os arquivos D e F... A B C E Livre 4 3 6 5 12 7

57 Implementação do Sistema de arquivos - Arquivos
Alocação contínua: Vantagens: Simplicidade: somente o endereço do primeiro bloco e número de blocos no arquivo são necessários. Desempenho para o acesso ao arquivo: acesso seqüencial. Desvantagens (discos rígidos): Fragmentação externa: Compactação  alto custo. Reuso de espaço  atualização da lista de espaços livres. Conhecimento prévio do tamanho do arquivo para alocar o espaço necessário. CD-ROM e DVD-ROM (quando somente escrita).

58 Implementação do Sistema de arquivos - Arquivos
Alocação com lista encadeada: A primeira palavra de cada bloco é um ponteiro para o bloco seguinte. O restante do bloco é destinado aos dados. Apenas o endereço em disco do primeiro bloco do arquivo é armazenado. Serviço de diretório é responsável por manter esse endereço.

59 Implementação do Sistema de arquivos - Arquivos
Alocação com lista encadeada: Desvantagens: Acesso aos arquivos é feito aleatoriamente  processo mais lento; A informação armazenada em um bloco não é mais uma potência de dois, pois existe a necessidade de se armazenar o ponteiro para o próximo bloco; Vantagem: Não se perde espaço com a fragmentação externa;

60 Implementação do Sistema de arquivos - Arquivos
Alocação com lista encadeada: Arquivo A Blocos do arquivo 1 2 3 4 Blocos físicos 7 10 12 Arquivo B 6 11 14

61 Implementação do Sistema de arquivos - Arquivos
Alocação com lista encadeada utilizando uma tabela na memória: O ponteiro é colocado em uma tabela na memória ao invés de ser colocado no bloco. FAT  Tabela de alocação de arquivos (File Allocation Table). Assim, todo o bloco está disponível para alocação de dados; Serviço de diretório é responsável por manter o início do arquivo (bloco inicial). MS-DOS e família Windows 9x (exceto WinNT, Win2000 e WinXP - NTFS).

62 Implementação do Sistema de arquivos - Arquivos
Acesso aleatório se torna mais fácil devido ao uso da memória. Desvantagem: Toda a tabela deve estar na memória. Exemplo: Com um disco de 20Gb com blocos de 1kb, a tabela precisa de 20 milhões de entradas.

63 Implementação do Sistema de arquivos - Arquivos
Alocação com lista encadeada utilizando FAT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -1 Bloco livre Início arquivo A Início arquivo B Arquivo A Arquivo B Marca de término

64 Implementação do Sistema de arquivos - Arquivos
I-nodes: Cada arquivo possui uma estrutura de dados chamada i-node (index-node) que lista os atributos e endereços em disco dos blocos do arquivo. Assim, dado o i-node de um arquivo é possível encontrar todos os blocos desse arquivo. Se cada i-node ocupa n bytes e k arquivos estão abertos ao mesmo tempo  o total de memória ocupada é kn bytes. UNIX e Linux.

65 Implementação do Sistema de arquivos - Arquivos
Espaço de memória ocupado pelos i-nodes é proporcional ao número de arquivos abertos. Vantagem: O i-node somente é carregado na memória quando o seu respectivo arquivo está aberto (em uso); Desvantagem: O tamanho do arquivo pode aumentar muito Solução: reservar o último endereço para outros endereços de blocos.

66 Implementação do Sistema de arquivos - Arquivos
I-nodes: Atributos do arquivo Endereço do bloco 0 Endereço do bloco 1 Endereço do bloco 2 Endereço do bloco 3 Endereço do bloco 4 Endereço do bloco 5 Endereço do bloco 6 Endereço do bloco 7 Endereço do bloco de ponteiros Endereços do disco Bloco com endereços adicionais

67 Implementação do Sistema de arquivos - Arquivos
I-nodes:

68 Implementação do Sistema de arquivos - Arquivos
I-nodes O arquivo texto.txt está no bloco 503 1 . 7 tmp 6 usr 4 bin 1 .. Diretório Raiz * Encontra /usr com i-node 6 modo 132 hora tamanho I-node 6 6 . 26 andy 23 ana 19 dick Bloco 132 tem o sub-diretório /usr Bloco 132 /usr/andy está no i-node 26 406 I-node 26 Bloco 406 tem /usr/andy 26 . 72 texto.txt 66 teste.c 64 notas 6 .. Bloco 406 está no i-node 72 503 I-node 72 Texto.txt Bloco 503


Carregar ppt "Sistemas Operacionais Aula 15 Sistema de Arquivos"

Apresentações semelhantes


Anúncios Google