Sistemas Operacionais

Documentos relacionados
Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 11. Sistemas de Arquivos Jornalados (Journaling File Systems)

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

Implementação de Diretórios (1)

Sistemas Operacionais. Prof. MSc André Y. Kusumoto

Sistemas Operacionais

Sistemas de arquivos

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais. BC Sistemas Operacionais

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

BD II (SI 587) Técnicas de Recuperação. Josenildo Silva.

Sistemas Operacionais. Prof. André Y. Kusumoto

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

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

Sumário. Recuperação de Falhas

Controle de Transação

Sistemas Operacionais

Unidade II FUNDAMENTOS DE SISTEMAS OPERACIONAIS. Prof. Victor Halla

Checkpoint. Checkpoint

O que faz? De tudo um pouco.

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

Sistemas Operacionais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais

Contato. professorluisleite.wordpress.com

Tipos de usuários do Linux Root Usuário Comum: #

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Recuperação. Carlos Eduardo Portela Serra de Castro

Sistemas de Arquivos

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

Sistemas de Arquivos. (Aula 23)

Processamento de Transações. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

erro lógico: a transacção não pode completar devido a condição de erro erro de sistema: o sistema entrou num estado que impede a transacção

BD II (SI 587) Algoritmos de recuperação Avançado e ARIES. Josenildo Silva.

Introdução aos Sistemas Operacionais. Subsistema de Arquivos

Sistemas de Arquivos

Processamento de Transações

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Processamento de Transações

slide Pearson Prentice Hall. Todos os direitos reservados.

Sistemas de Arquivos. Carlos Gustavo A. da Rocha. Sistemas Operacionais

ReFS - Conhece o poderoso sistema de ficheiros da Microsoft?

Capítulo 6 Sistema de ficheiros

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

Administração de Redes em Software Livre Aula 02 Instalando o GNU/Linux (CENTOS Minimal)

Técnica UNDO/REDO. Checkpoint

LINUX. Prof. Camila. Pedro de Assis Sobreira Jr.

Introdução à Informática. Alexandre Meslin

Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais

Criando Transações. Prof. Fernanda Baião. TbEstoqueLivros. TbEstoqueLivros. ID IDLoja IDLivro Estoque

Correção de Erros. Erros de memória de semicondutores podem ser:

Banco de Dados I. Aula 18 - Prof. Bruno Moreno 22/11/2011

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

Índice. Índices. Índice simples. Em geral, um índice fornece mecanismos para localizar informações

Sistemas Operacionais

NoSQL Apache Cassandra para DBAs. Conceitos básicos que todo DBA deve conhecer sobre Apache Cassandra.

RAID: Conceito e Tipos

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

falhas em sistemas distribuídos

Sistemas Distribuídos

Capítulo 11 Sistemas de Arquivos

Técnicas de Recuperação em Banco de Dados

Árvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza

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

Protótipo tipo de um sistema de arquivos para ambiente distribuído

Discos Rígidos. Sistemas de Arquivos (NTFS, FAT16, FAT32, EXT2 e EXT3) Diego Macêdo 18 de junho de 2012

Aula 04. Evandro Deliberal

Sistemas de Arquivos. Pedro Cruz. EEL770 Sistemas Operacionais

BANCO DE DADOS 2 TRANSAÇÃO

Evandro Deliberal Aula 04

SSC0640 Sistemas Operacionais I

Árvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas da Informação. Banco de Dados I. Edson Thizon

Ordenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa

Pesquisa em Memória Secundária. Prof. Jonas Potros

DISCO MAGNÉTICO Cabeçote Trilha

Organização de Arquivos. Leandro C. Cintra M.C.F. de Oliveira Thiago A. S. Pardo Cristina D. A. Ciferri

Protocolos de Coerência de Memória Cache

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

Modelo de Programação Paralela

Sistemas de arquivos Discos

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

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas

Algoritmos e Estruturas de Dados II. Ordenação Externa II. Ordenação Externa. Ordenação Externa. Ordenação Externa

SEMINÁRIO Sistema de Arquivos

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

Introdução. Gerenciamento de Armazenamento

ARMAZENAMENTO SECUNDÁRIO, PARTE 1 Professora Rosane Minghim

Bruno Antunes da Silva UFSCar - Sorocaba

Operações Coseqüenciais. Processamento Coseqüencial. Modelo para implementação de processos coseqüenciais

Transcrição:

Introdução Sistemas Operacionais Sistemas de arquivos estruturados em log e jornalizados Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 3.0 Brasil Creative Commons. Para visualizar uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/3.0/br/ Aula 14 Sistemas de arquivos apresentam questões quanto: Desempenho no acesso Confiabilidade (perdas e consistência) Eistem soluções em Hardware: configurações RAID Software: Log Structured File System e Jornalizados As soluções de hardware e software atuam de forma diferente para atender os requisitos de desempenho e confiabilidade Não são equivalentes Sistemas Operacionais 2 Desempenho O problema de desempenho... eemplo Acesso a disco envolve três tempos Busca ( 10 ms), latência rotacional ( 3 a 4 ms) e transferência (ordem de μs) Eclusivamente características mecânicas Características mecânicas e proporcional a quantidade de byte lidos Para melhorar o desempenho Reduzir a quantidade de busca (seek) e latência rotacional (posicionamento) Le/escrever o máimo possível de dados após um posicionamento Escrever em um arquivo de dados de um bloco no diretório Ler i-node do diretório (para acessar o diretório) Ler o bloco de dados do diretório (para buscar a entrada do arquivo) Ler o i-node do arquivo (para poder acessar /atualizar o arquivo) Ler o bloco de dados do arquivo Escrever o bloco de dados no arquivo Pelo menos 4 escritas Escrever o bloco de dados do diretório (atualização da entrada do diretório) Escrever o i-node do arquivo (atualização de timestamps) Escrever o i-node do diretório (atualização de timestamps) Se fosse um novo bloco ainda haveria atualizações do bitmap de livres Implica em reposicionamento e em escritas de pequenas porções de dados (i-nodes) Sistemas Operacionais 3 Sistemas Operacionais 4

Uma solução para o problema de desempenho... Log Structured File Systems Utilizar cache em memória, mas... Aumenta chance de perda de dados e inconsistência do sistema de arquivos Inconsistência quando metadados em memória são modificados em relação aos valores que estão no disco Metadados podem ser escritos de forma síncrona A escrita de dados no disco contínua a ser de forma assíncrona e lenta Lembrando que consistência... é vinculada a cada partição significa manter as invariantes do sistema garante a coerência dos metadados (lista de i-nodes, blocos livres, etc) garantia da consistência NÃO é sinônimo de garantia da integridade dos arquivos Proposto por John Ousterhout, Fred Douglis (1998) e implementado por Mendel Rosenblum e J. Oustrhout no sistema distribuído Sprite (1991) Principio básico: Agrupar em memória as escritas que seriam pequenas e randômicas e fazê-las de uma única vez de forma sequencial (segmentos) Escreve sempre na sequência do disco (evita seeks) Sistemas Operacionais 5 Sistemas Operacionais 6 Problemas com Log Structured File Systems Organização do disco (partição) Questões: Dados e metadados ficam misturados no disco. Como achá-los? Dados e metadados em memória até serem escritos. Como não perdê-los? Informação é sempre escrita no final do log. Como recuperar áreas que possuem informações antigas (e desatualizadas)? Tabela de i-maps Vetor indeado pelo i-number cujo conteúdo indica a posição do disco onde está o i-node do arquivo A partição é o log e é organizada em segmentos Porção contínua no disco (unidade de transferência) Os segmentos possuem um sumário (localização de blocos e i-nodes dentro do segmento) Possui uma área especial denominada de checkpoint Posição no log onde todos metadados estão completos e consistentes Armazenado em áreas fias no disco Lida para memória na inicialização Atualizada de forma periódica, no unmount e no shutdown Sistemas Operacionais 7 Sistemas Operacionais 8

Mecanismo de checkpoint Coleta de lio (garbage collection) Resolve dois problemas: localização e consistência Localização de i-nodes Checkpoint mantém a localização dos i-nodes Mantida em memória (lida na inicialização) para melhorar o acesso Consistência Em caso de falha por colapso (crash), a última atualização do checkpoint é que vale para representar o disco na reinicialização do sistema Mecanismo para recuperar espaço em disco Feito de forma periódica por um processo especial (cleaner) Similar a coleta de lio feita em memória Eemplo: Segmentos 5 e 6 possuem dentro deles arquivos válidos e arquivos removidos: compacta os dois segmentos e cópia arquivos para uma região livre e refaz encadeamentos Eistem várias otimizações para acelerar esse processo Sistemas Operacionais 9 Sistemas Operacionais 10 Confiabilidade do sistema de arquivos Consistência do sistema de arquivos Indica o grau de funcionamento correto do sistema de arquivos na ocorrência de problemas Aspectos: Correção na criação, na atualização e na remoção de arquivos Consistência e correção dos metadados Prevenção da perda de dados Consistência e correção de dados Conceitos Falha é comportamento errado, ou inesperado, de um sistema em decorrência de um defeito (pane) É a correção dos metadados e da operação do sistema de arquivos Se os metadados do sistema de arquivos são perdidos ou corrompidos ocorre a perda de consistência Eemplo: remoção de um arquivo (grandes passos) requer remover a entrada do diretório (1º) liberar o i-node do arquivo (2º) liberar os blocos que pertenciam ao arquivo (3º) Na ausência de colapso do sistema (crash) a ordem não interessa, mas com o crash ela se torna importante. Eemplos: Se faz (1º) e crash: perde i-nodes e blocos Se faz (2º) e crash: se perde os blocos de dados Se i-node é liberado, ele pode ser reutilizado no reboot e a entrada do diretório aponta para blocos que pertencerão a outro arquivo Sistemas Operacionais 11 Sistemas Operacionais 12

Abordagens para confiabilidade Backup Estratégias Recuperação Acionado quando há a ocorrência de uma falha Leva o sistema a um estado consistente conhecido Tolerância a falhas O sistema oferece funcionamento correto, mesmo na presença de falhas Defeito não provoca falhas Técnicas possíveis Recuperação: backups Tolerância a falhas: armazenamento estável e ações atômicas Cópia de segurança ou cópia lógica Permite a recuperação de arquivos em caso de problemas ou barbeiragem Baseado em atributo de arquivamento e/ou datas criação/modificação Inicia em um ou mais diretórios especificados e recursivamente copia todos os arquivos e diretórios criados/modificados desde uma data base Tipos de backup Normal (completo) Incremental Diferencial Sistemas Operacionais 13 Sistemas Operacionais 14 Tipos de backup Armazenamento estável (stable storage) Normal Copia todos arquivos selecionados para o backup Desmarca atributo de arquivamento Incremental Copia todos arquivos criados/modificados desde o último backup (normal ou incremental) Desmarca o atributo de arquivamento Recuperação: último normal e todos os incrementais Diferencial Copia todos arquivos criados/modificados desde o último backup normal Não desmarca o atributo de arquivamento Recuperação: último normal e último diferencial Bit de arquivamento: ativado quando um arquivo é criado/modificado Indica necessidade de ser incluído no backup (1: sim ; 0:não) Informação pode ser baseada em data criação/data modificação Sistemas Operacionais 15 Princípio básico Realizar duas cópias dos dados (primária e secundária) Operação de Escrita: atualiza a primária e depois a secundária Leitura: lê a primária, se corrompida (ECC*), lê a secundária Casos (a) (b) (c) (d) Atualizando a primária Atualizando a secundária t 1 t 2 t 3 t 4 Garante que ao menos uma cópia está OK, mas não se sabe se o conteúdo é novo ou velho ECC: Error Correcting Code (deteção e correção de dados, se possível) Sistemas Operacionais 16 tempo 1ª 2ª Legenda: velho novo corrompido falha

Ações atômicas Principio de funcionamento de ações atômicas Definição Uma ação que consiste de um conjunto de subações e cuja eecução apresente um comportamento tudo ou nada Resultado final é consequência da realização de todas as subações OU Resultado final é como se nenhuma subação fosse realizada Previne a inconsistência de dados na ocorrência de defeitos Consistência do sistema de arquivos é mantido se todas as operações envolvendo metadados for feita baseada em ações atômicas Inspirado no conceito de transações atômicas Tecnlogia empregada em base de dados Definição de uma ação atômica begin_atomic_action_id e end_atomic_action_id Lista de subações Duas possibilidades na conclusão de uma ação atômica (end) Abort: os efeitos das subações são tornados inócuos Se retorna ao estado anterior ao begin Commit: os efeitos de todas as subações são tornadas válidas (e corretas) independente da ocorrência de falhas no sistema Ações devem ser idempotentes Sistemas Operacionais 17 Sistemas Operacionais 18 Idempotência Implementação de ações atômicas Propriedade relativa ao comportamento de operações Idempotente: pode ser realizada várias vezes fornecendo o mesmo resultado como se tivesse sido eecutada apenas uma vez e.g.: ler um bloco de dados de um arquivo, inserir um elemento em posição fia de um vetor, etc. Não idempotente: o resultado final é modificado pela reeecução e.g.: creditar ou debitar um valor em uma conta bancária; inserir ou remover um elemento em um vetor; etc. Operações idempotentes simplificam a realização de serviços em casos de falhas Possível torna operações não idempotentes em idempotentes Números de sequência, históricos e flags para detectar a reeecução As ações atômicas devem ter subações idempotentes Sistemas Operacionais 19 Duas estruturas de dados na criação da ação (begin) : par (bloco_id, conteúdo) Flag commit: para indicar a confirmação, ou não, da eecução das subações Flag= not commited Write novo d 1 Write novo d j Flag= commited Write novo d 1 Write novo d j Commit Sucesso: destrói a lista e o flag begin_atomic_action add_a_block d j.net = d 1.net d 1.net = address(dj) write d 1 write d j end_atomic_action add_a_block Commit Flag= commited CRASH Repete o procedimento do end Abort Flag= not commited CRASH Repete o procedimento a partir do begin Flag= not commited... Aborto: destrói a lista e o flag Sistemas Operacionais 20

Implementação de ação atômica Sistemas de arquivos jornalizados 1. Eecução da ação atômica A i a. Na eecução de begin atomic action criar uma lista de intenções e um flag commit commit flag = (A i, not commited ) = vazia b. Para cada atualização feita por uma subação, adicionar um par (d, v) na lista de intenções, onde d é nro de um bloco e v é novo valor para este bloco c. Na eecução de end atomic action, colocar o valor da ação A i para commit, ir passo 2. 2. Processamento do commit 1. Para cada par (d,v) na lista de intenções, escrever v no bloco d do disco 2. Remover o flag commit e a lista de intenções 3. Na recuperação após uma falha: se o flag commit de uma ação A i eistir 1. Se o valor do flag é not commited : apagar o flag commit e a lista de intenções e reiniciar a ação A i 2. Realizar o passo 2 se o valor do flag é commit Uso de armazenamento estável!!! Sistema de arquivos mantém em memória (cache) Dados Metadados Recuperação em caso de problemas Arquivos podem ser recuperados do backup Metadados podem ser recuperados varrendo o sistema de arquivos (e. fsck) Procedimento lento e não 100% garantido Nova proposta: sistema de arquivos jornalizados Objetivo é acelerar a recuperação do sistema de arquivos e caso de problemas colocando ele em um estado consistente Eemplos: et3 ou et4 (Linu); ReiserFS (linu); XFS (SGI); JFS (IBM); VFS (Véritas), NTFS (windows) Sistemas Operacionais 21 Sistemas Operacionais 22 Principio de funcionamento Modos de jornalização Modificações no sistema de arquivo são Registrados em um arquivo especial (journal) na forma de ações atômicas e armazenadas de forma estável Após registradas, tenta efetivar os efeitos das subações no sistema de arquivos Propriedade tudo ou nada Em caso de pane no sistema consulta o journal para verificar quais ações não foram eecutadas Corresponde àquelas que tem registro no journal com o flag commit posicionado Write behind Garante a consistência apenas dos metadados (jornaliza só as modificações nestes) As operações de atualização de blocos de dados podem ser perdidas Ordered data Escreve os blocos de dados antes de realizar o commit nos metadados Pode acontecer de um bloco novo ter sido escrito no disco, mas ainda não ter sido atualizado como pertencente ao arquivo (perda de dados) Full data Garante a consistência dos dados e dos metadados Jornaliza todas as operações Sistemas Operacionais 23 Sistemas Operacionais 24

A jornalização na prática Prós e contras da jornalização Sistemas de arquivos et3 e et4 (Linu) Objetivo: ser um sistema de arquivos jornalizados compatível com o et2 Permite ser configurado para um dos três modos de jornalização Writeback: apenas metadados Ordenado: metadados, porém os atualiza após ter escrito os dados regulares (default) Jornal: dados e metadados Arquivo de journal se localiza na raiz do sistema de arquivos (.journal) Sistema de arquivos NTFS Permite apenas o modo de metadados (write behind) O arquivo de jornal é dado por uma entrada especial no MFT ($LogFile) Tendência a fragmentar o disco Custo computacional Maior quantidade de operações de entrada e saída no disco Manutenção do arquivo de journal Atualização do jornal no disco é sem uso de cache Necessário recuperação do espaço no arquivo de journal eliminando as ações que foram abortadas e as realizadas (garbage collector) Paliativo: Nem toda partição necessita ser jornalizada Sistemas Operacionais 25 Sistemas Operacionais 26 Leituras complementares Silberchatz, A.; Galvin, P.B. Operating Systems Concepts. Adisson wesley, 9 th edition, 2013. Capítulo 12 (seção 12.8) Tanenbaum, A.S.; Bos, Herbert Modern Operating Systems. 4 th edition, 2015. Capítulo 4 (seção 4.4) Sistemas Operacionais 27