Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8th Edition

Documentos relacionados
Capítulo 13: Sistemas de E/S. Operating System Concepts 8 th Edition

Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8 th Edition

Sistemas de Arquivos

Sistemas Operacionais. BC Sistemas Operacionais

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 18. Sistema de Arquivos - Implementação

Sistemas Operacionais. Prof. André Y. Kusumoto

the slides) Sobre a apresentação (About( Capítulo 11: Implementação de Sistemas de Arquivos Sistemas de Arquivos Objetivos

Sistemas de Arquivos. (Aula 23)

Capítulo 11 Sistemas de Arquivos

Capítulo 13: Sistemas de E/S. Operating System Concepts 8th Edition

Chapter 4: Threads. Operating System Concepts 8th Edition

Implementação de Diretórios (1)

Unidade II FUNDAMENTOS DE SISTEMAS OPERACIONAIS. Prof. Victor Halla

Introdução à Informática. Alexandre Meslin

Sistemas Operacionais

slide Pearson Prentice Hall. Todos os direitos reservados.

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ACESSO, ATRIBUTOS E OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ

Sistemas Operacionais. Prof. MSc André Y. Kusumoto

Sistemas Operacionais. Sistema de Arquivos. Edeyson Andrade Gomes.

Sistemas Operacionais

Sistemas de Arquivos. Diretórios Gerenciamento de Espaço em Disco

Implementação de Sistemas de Arquivos. Na Aula Anterior... Esquema do Sistema de Arquivos. Nesta Aula 31/10/2016. Estrutura de Baixo Nível de um Disco

SSC0640 Sistemas Operacionais I

Armazenamento Secundário. Endereços no disco. Organização da informação no disco. Organização da informação no disco

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition

ARMAZENAMENTO SECUNDÁRIO, PARTE 1 Professora Rosane Minghim

Sistemas de Ficheiros

Capítulo 9: Memória Virtual. Operating System Concepts 8 th Edition

Introdução aos Sistemas Operacionais. Subsistema de Arquivos

slide Pearson Prentice Hall. Todos os direitos reservados.

INTRODUÇÃO A SISTEMAS DE ARQUIVO E GERENCIA DE MEMÓRIA

Sistemas de Informação. Sistemas Operacionais

Gerência de Memória. Paginação

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Gerência do Sistema de Arquivos. Adão de Melo Neto

SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios Parte 2

Sistemas Operacionais

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

Capítulo 9: Memória Virtual. Operating System Concepts 8th Edition

Organização e Arquitetura de Computadores I

Capítulo 10: Interface de Sistemas de Arquivos. Operating System Concepts 8th Edition

Sistemas Operativos 8ª parte - Gestão de Ficheiros. Prof. José Rogado Prof. Pedro Gama Universidade Lusófona

Sistemas de Arquivos. Capítulo 6. Sistemas Operacionais João Bosco Junior -

Disciplina: Sistemas Operacionais

Gerência do Sistema de Arquivos. Adão de Melo Neto

Sistemas de arquivos

Gerenciamento de Memória

Gerenciamento de Memória

implementação Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Fernando Ramos, Nuno Neves, Sistemas Operativos,

ANÁLISE E PROJETO DE BANCO DE DADOS

Armazenamento Secundário

Sistema de arquivos. Adriano J. Holanda 24/5/2016

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas de Computação. Gerenciamento de memória

Sistemas Operacionais

Sistemas Operacionais

Aula 03 - Concorrência. por Sediane Carmem Lunardi Hernandes

Sistemas Operacionais

Sistemas de Arquivos. Pedro Cruz. EEL770 Sistemas Operacionais

Implementação de sistema de arquivos

HDs. Armazenamento Secundário. HDs. Capacidade do Disco. Organização de Informação em Disco. Organização de Informação em Disco

Fundamentos de Sistemas Operacionais

Sistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

Gerência do Sistema de Arquivos. Adão de Melo Neto

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula

Gerenciamento de Memória

Do Inglês HARD DISK inicialmente designado Winchester (nome de código da IBM durante o desenvolvimento do projecto)

INTRODUÇÃO AOS SISTEMAS DE ARQUIVO. Prof. Hélio Esperidião

SISTEMAS DE ARQUIVOS. Uma das funções de um sistema operacional, é organizar as informações nas memórias de um computador ou dispositivo móvel.

Memória virtual. Sistemas de Computação

O que faz? De tudo um pouco.

ARQUITETURA DE COMPUTADORES

Prof. José Rogado Universidade Lusófona

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

Sobre a apresentação (About(

Gerência de memória III

Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA)

Gerência de Dispositivos. Adão de Melo Neto

Capítulo 9: Memória Virtual. Operating System Concepts 8th Edition

Gerência de memória II

Capítulo 5 Entrada/Saída

Capítulo 7: Deadlocks. Operating System Concepts 8th Edition

DISCO MAGNÉTICO Cabeçote Trilha

Sistemas Operacionais

ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade

Fundamentos de Sistemas Operacionais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Capítulo 11 Estudo de Caso 2: Windows 2000

Sistemas Operacionais. Gerenciamento de Arquivos

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006

Organização e Arquitetura de Computadores I

Segmentação com paginação Intel 386. Esquema de tradução de endereço Intel 386

Sistemas Operacionais

Sistemas de Entrada e Saída

EA075 Memória virtual

Transcrição:

Capítulo 11: Implementação de Sistemas de Arquivos

Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2009. Esse apresentação foi modificada por Cristiano Costa (cac@unisinos.br). Basicamente, os slides originais foram traduzidos para o Português do Brasil. É possível acessar os slides originais em http://www.os-book.com Essa versão pode ser obtida em http://www.inf.unisinos.br/~cac The slides and figures in this presentation are copyright Silberschatz, Galvin and Gagne, 2009. This presentation has been modified by Cristiano Costa (cac@unisinos.br). Basically it was translated to Brazilian Portuguese. You can access the original slides at http://www.os-book.com This version could be downloaded at http://www.inf.unisinos.br/~cac 11.2

Capítulo 11: Implementação de Sistemas de Arquivos Estrutura do Sistemas de Arquivos Implementação de Sistemas de Arquivos Implementação de Diretório Métodos de Alocação Gerenciamento do Espaço Livre Eficiência e Desempenho Recuperação Sistemas de Arquivos Baseados em Registro de Operações (Log) NFS Exemplo: Sistemas de Arquivos WAFL 11.3

Objetivos Descrever os detalhes de implementação de sistemas de arquivos locais e estruturas de diretórios Descrever a implementação de sistemas de arquivos remotos Discutir alocação de blocos e algoritmos de blocos livres e relação custo- benefício 11.4

Estrutura de Sistemas de Arquivos Estrutura do Arquivo Unidade de Armazenamento Lógica Coleção de informações relacionadas O Sistema de arquivos reside em armazenamento secundário (discos). Provê interface de usuário ao armazenamento, mapeando o lógico para o físico. Provê acesso eficiente e conveniente aos discos permitindo o fácil armazenamento de dados e sua localização. O disco provê alteração de dados no próprio local e acesso aleatório Transferências de E/S são realizadas em blocos de setores (geralmente 512 bytes) Bloco de Controle de Arquivo (File control block): estrutura de armazenamento contendo informações sobre um arquivo. Driver de dispositivo (Device driver): controla o dispositivo físico. Sistema de arquivos organizado em camadas. 11.5

Sistemas de Arquivos em Camadas 11.6

Implementação de Sistemas de Arquvios Boot control block contém informações necessárias pelo sistema para iniciar o SO naquele volume Volume control block contém detalhes do volume Estrutura de diretório organiza os arquivos File Control Block (FCB) por arquivo contém vários detalhes sobre os arquivos 11.7

Um Bloco de Controle de Arquivo Típico 11.8

Estrutura de Sistemas de Arquivos na memória Informações na memória são usadas: para o gerenciamento do sistema de arquivos e para melhoria do desempenho via técnica de cache Esses dados são carregados no momento da montagem e descartados na desmontagem O sistema cria uma tabela armazenando as montagens de sistema de arquivos, os pontos de montagem, os tipos de sistemas de arquivos As figuras a seguir ilustram as estruturas de sistemas de arquivos necessárias e fornecidas pelo sistema operacional Figura 12-3(a) refere a abertura de um arquivo. Figura 12-3(b) refere a leitura de um arquivo. 11.9

Estrutura de Sistemas de Arquivos na memória 11.10

Sistemas de Arquivos Virtual Sistemas de Arquivos Virtual (Virtual File Systems - VFS) fornece uma forma orientada a objetos de implementar sistemas de arquivos. VFS permite que a mesma interface de chamada de sistemas (a API) seja utilizada para diferentes tipos de sistemas de arquivos. A API é da interface do VFS, ao invés de um tipo específico de sistemas de arquivos. 11.11

Visão Esquemática de um Sistema de Arquivos Virtual 11.12

Implementação de Diretório Lista Linear de nomes de arquivos com ponteiros para os blocos de dados Simples de programar Execução lenta Tabela Hash lista linear com estruturas de dados hash. Diminui o tempo de procura no diretório colisões situações nas quais dois nome de arquivos obtém a mesma localização Tamanho fixo criação de uma função hash diferente ao aumentar o tamanho da tabela 11.13

Métodos de Alocação Um método de alocação indica como os blocos de disco são alocados aos arquivos: Alocação Contígua Alocação Encadeada Alocação Indexada 11.14

Alocação Contígua Cada arquivo ocupa um conjunto de blocos contíguos no disco Simples somente é necessário armazenar a localização inicial (número do bloco) e o tamanho do arquivo (quantidade de blocos) Acesso Direto (randômico) Perda de Espaço (problema da alocação dinâmica) Arquivos não podem crescer 11.15

Exemplo de Alocação Contígua 11.16

Sistema Baseado em Extensão Em Inglês Extent-Based Systems Muitos sistemas de arquivos novos (Por exemplo o Sistema de Arquivos Veritas) usam um esquema de alocação contígua modificado Sistemas de Arquivos baseados em extensão alocam blocos de disco em extents (extensões) Um extent é um bloco contíguo no disco Extensões são alocadas em espaço contíguo Um arquivo consiste de uma ou mais extensões Registro da localização dos blocos de um arquivo: Uma locação Uma contagem de blocos Um link para o primeiro bloco da próxima extensão 11.17

Alocação Encadeada Cada arquivo é uma lista encadeada de blocos em disco: blocos podem ser espalhados em qualquer lugar do disco. bloco = ponteiro Simples necessita somente do endereço inicial Sistema de Gerenciamento de Espaço Livre sem perda de espaço Sem acesso direto (randômico) Mapeamento Espaço exigido pelos ponteiros 11.18

Exemplo de Alocação Encadeada 11.19

File-Allocation Table - FAT 11.20

Alocação Indexada (em Tabela) Juntar todos os ponteiros em uma tabela de índices (index block). Também chamados de Inodes ou Nós-Índices Visão Lógica. index table 11.21

Examplo de Alocação Indexada 11.22

Alocação Indexada (Cont.) Necessita de Tabela de Índices Acesso direto (randômico) Acesso dinâmico sem fragmentação externa, mas com a sobrecarga da tabela de índices. Mapeamento de endereço lógico para físico em um arquivo de tamanho máximo de 256k palavras e tamanho de bloco de 512 palavras. Somente é necessário um bloco para a tabela de índices 11.23

Alocação Indexada Mapeamento (Cont.)... Tabela de índices externa Tabela de índices 11.24 arquivo

Esquema Combinado: UNIX (4K bytes por bloco) 11.25

Gerenciamento do Espaço Livre Vetor ou mapa de Bits (n blocos) 0 1 2 n-1 { bit [i]= 0 bloco [i]livre 1 bloco [i]ocupado Cálculo do número do Bloco (número de bits por palavra) * (número de palavras com valor 0) + deslocamento do primeiro bit 1 11.26

Gerenciamento do Espaço Livre (Cont.) Vetor de bits requer espaço extra. Exemplo: tamanho do bloco = 212 bytes tamanho do disco = 230 bytes (1 gigabyte) n = 230/212 = 218 bits (or 32K bytes) Fácil para manter arquivos contíguos Lista encadeada (Lista de blocos livres) Difícil manter alocação contígua Sem desperdício de espaço Agrupamento Contagem 11.27

Lista Encadeada de Espaço Livre no Disco 11.28

Eficiência e Desempenho Eficiência depende de: Alocação de disco e algoritmos de diretório Tipos de dados mantidos na entrada do arquivo no diretório Desempenho cache de disco seção separada de memória principal para blocos frequentemente usados Liberação antecipada (free-behind) e leitura antecipada (read-ahead) técnicas para otimizar o acesso sequencial Aumentar o desempenho do PC dedicando partes da memória como discos virtuais (RAM disks). 11.29

Cache de Páginas Um cache de páginas armazena páginas ao invés de blocos de disco usando técnicas de memória virtual E/S mapeado em memória usa cache de página Rotina de E/S através do sistema de arquivos usa o cache de buffer (do Disco) Isso leva a figura 11.30

Cache de Buffer Unificado Um cache de buffer unificado usa o mesmo cache de páginas para armazenar páginas mapeadas na memória e E/S ao sistema de arquivos padrão 11.31

E/S com um Cache de Buffer Unificado 11.32

Recuperação Teste de Consistência comparar dados nas estruturas de diretórios com blocos de dados no disco, e tentar consertar as inconsistências. Usar programas de sistemas para criar cópias de segurança (back up) do disco para outros dispositivos de armazenamento (disquete, disco magnético). Recuperar arquivos ou discos perdidos restaurando dados do backup. 11.33

Sistemas de Arquivos Baseados em Registro de Operações Sistemas de arquivos com Estrutura de Registro de Operações - Log (ou journaling) registram cada atualização no sistema de arquivos como uma transação Todas as transações são escritas em um registro de operações Uma transação é considerada encerrada com sucesso (commit) uma vez que é gravada no registro de operações Entretanto, o sistema de arquivos pode não ter sido atualizado ainda As transações do registro de operações são gravadas de forma assíncrona no sistema de arquivos Quando o sistema de arquivos é modificado, a transação é removida do registro de operações Se o sistema de arquivos trava, todas as transações restantes no log precisam ainda ser realizadas 11.34

Fim do Capítulo 11