Sistemas de Arquivos. Sistemas de arquivos: Mecanismos para armazenamento on-line e acesso de dados e programas.



Documentos relacionados
Sistemas Operacionais

Fundamentos de Sistemas Operacionais

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas de Arquivos. Sistemas Operacionais - Professor Machado

BC Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento

Sistemas Operacionais 3º bimestre. Dierone C.Foltran Jr.

Capítulo 6 Sistemas de Arquivos

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

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

GERENCIAMENTO DE DISPOSITIVOS

Sistemas de Informação. Sistemas Operacionais 4º Período

Sistemas Operacionais

Fundamentos de Sistemas Operacionais. Sistema de Arquivos. Prof. Edwar Saliba Júnior Março de Unidade Sistemas de Arquivos

Sistemas de Arquivos. André Luiz da Costa Carvalho

Sistemas Operacionais: Sistema de Arquivos

Sistemas de Arquivos. Arquivos e Diretórios Características e Implementação Tadeu Ferreira Oliveira - tadeu.ferreira@ifrn.edu.br

Sistema de Arquivos EXT3

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1

Fundamentos de Arquivos e Armazenamento Secundário

SISTEMA DE ARQUIVOS. Instrutor: Mawro Klinger

Sistemas de Arquivos NTFS, FAT16, FAT32, EXT2 e EXT3

Organização de Arquivos

Sistemas Operacionais

Sistemas de Arquivos. Gerenciamento de Espaço em Disco

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos

Sistema de Arquivos FAT

Introdução à Computação: Sistemas de Computação

Capítulo 6. Gerenciamento de Arquivos. 6.1 Arquivos 6.2 Diretórios 6.3 Implementação (6.3.1 a 6.3.6) 6.4 Exemplos

Armazenamento Secundário. SCE-183 Algoritmos e Estruturas de Dados II

5.1 Sistemas de Arquivos

Análises Geração RI (representação intermediária) Código Intermediário

Sistemas Operacionais Arquivos

Plano da aula de hoje

AULA 5 Sistemas Operacionais

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

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Sistemas de Arquivos NTFS

Arquitetura de Sistemas Operacionais

Curso de Instalação e Gestão de Redes Informáticas

AULA 4 Sistemas Operacionais

Estrutura Interna do KernelUNIX Sistema O. Estrutura Interna de Arquivos (1) Estrutura Seqüência. User application. Standard Unix libraries

SISTEMAS OPERACIONAIS

Sistemas de Ficheiros. Ficheiros Diretórios Implementação de sistemas de ficheiros Exemplos de sistemas de ficheiros

AULA 16 - Sistema de Arquivos

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

ARQUITETURA DE COMPUTADORES

BC Sistemas Operacionais

ROM-BIOS Inicialização Sistemas de Arquivos Formatação

Arquitetura de Computadores. Sistemas Operacionais IV

Sistema de Arquivos. Ciclo 5 AT1. Prof. Hermes Senger / Hélio Crestana Guardia

Projeto: Camada Independente de Dispositivo

Unix: Sistema de Arquivos. Geraldo Braz Junior

Laboratório de Hardware

Sistemas Operacionais. Roteiro. Introdução. Marcos Laureano

Sistemas Operacionais. Andrique Amorim Gerência de Arquivos

ISO/IEC 12207: Gerência de Configuração

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa

Exercícios de revisão V2. FAT: 300 GB / 2KB = 150MB X 8 bytes (64 bits / 8) = 1.2GB

Sistemas Operacionais

Aula 01 Visão Geral do Linux

Sistemas Operacionais

SISTEMAS OPERACIONAIS

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Índices* Professora Rosane Minghim. * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures.

SIMULADO Windows 7 Parte V

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

Sistema de arquivos. Dispositivos com tecnologias variadas. CD-ROM, DAT, HD, Floppy, ZIP SCSI, IDE, ATAPI,... sistemas de arquivos em rede

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

Sistemas de Arquivos

SISTEMAS OPERACIONAIS 2007

Sistema de Memórias de Computadores

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

SISTEMAS OPERACIONAIS. Sistemas de Arquivos Apostila 09

Programador/a de Informática

Prof. Bruno Calegaro

Introdução a Informática. Prof.: Roberto Franciscatto

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?

SISTEMAS DE ARQUIVOS Sistemas operacionais

Processos e Threads (partes I e II)

Everson Scherrer Borges João Paulo de Brito Gonçalves

FundamentosemInformática

Introdução à Computação: Sistemas Operacionais II

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

TÓPICO 7. Gerência de Arquivos

Sistemas Operacionais. Conceitos de um Sistema Operacional

Sistemas de arquivos no Linux. Carlos Eduardo Maiolino Software Engineer Red Hat

Ação de copiar arquivos, como medida de segurança, permitindo sua recuperação em caso de perda.

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP;

Conjunto organizado de informações da mesma natureza, agrupadas numa unidade independente de processamento informático

Resumo. Prof. Alejandro - Introdução à Sistemas Operacionais Resumo Informativo, complemente o material assistindo as Aulas 19/08/2015 1

Transcrição:

Sistemas de Arquivos Sistemas de arquivos: Mecanismos para armazenamento on-line e acesso de dados e programas.

Sistemas de Arquivos Um sistema de arquivos implica: Conceituação de arquivos e diretórios Estrutura de armazenamento das informações em midia Desempenho Integridade das informações armazenadas

Sistemas de Arquivos Existem inúmeros tipos de sistemas de arquivos hoje em dia: Sistema Operacional Linux Windows 9x/ME Windows NT/2000/XP FreeBSD Solaris Sistema de Arquivos Nativo Ext2FS, Ext3FS FAT32, FAT16 NTFS UFS UFS

Sistemas de Arquivos - Conceito de arquivo Arquivo: unidade lógica de armazenamento Um conjunto de dados relacionados que são gravados em memória secundária. Sistema operacional os mapeia nos dispositivos físicos. Definidos por estrutura interna, atributos e operações.

Sistemas de Arquivos - Conceito de arquivo Estrutura interna Múltiplas possíveis estruturas podem existir, tais como: Organização em registros sequenciais Formato de programa (arquivos executáveis) Organizado para acesso rápido (ex: árvore balanceada) Simples coleções de bytes sequenciais

Sistemas de Arquivos - Conceito de arquivo Possíveis estruturas internas Conjuntos de registros variáveis ou fixos

Sistemas de Arquivos - Conceito de arquivo Possíveis estruturas internas Conjuntos de dados indexados para rápida localização

Sistemas de Arquivos - Conceito de arquivo Estrutura interna Porém... desvantajoso o sistema operacional suportar diferentes estruturas. Melhor deixar a cargo de bibliotecas em nível de usuário. Assim, abordagem usual é... arquivos sem estrutura interna, parecendo apenas um conjunto de bytes empacotados

Sistemas de Arquivos - Conceito de arquivo Atributos Arquivos são referenciados por seus nomes. Alguns atributos típicos: Atributo Nome Tipo Localização Tamanho Proteção Datas Proprietário Significado Identificação do arquivo Para determinar como manipulá-lo Onde se localiza em midia Quanto espaço ocupa Informação para controle de acesso Datas para determinadas operações efetuadas sobre o arquivo Usuário e grupo donos do arquivo

Sistemas de Arquivos - Conceito de arquivo Arquivos Arquivos no Linux (e Unix em geral) são repositórios de dados, e possuem um número de atributos. Alguns atributos são visíveis ao se executar o programa ls -l : -rw-r--r-- 1 sobral users 780 2009-02-22 23:47 ip.c permissões usuário dono grupo dono tamanho data última modificação nome ligações

Sistemas de Arquivos - Conceito de arquivo Arquivos Visualização dos atributos de um arquivo com o programa stat:

Sistemas de Arquivos - Conceito de arquivo Arquivos Repare também nisto... Vendo as escritas no disco com vmstat, ao se criar um arquivo grande:

Sistemas de Arquivos - Conceito de arquivo Arquivos Repare também nisto... Vendo as leituras do disco com vmstat, ao se ler um arquivo grande:

Sistemas de Arquivos - Conceito de arquivo Operações Operação Criação Remoção Escrita Leitura Posicionamento Truncamento Acesso a atributos Bloqueio Significado Procedimentos necessários para a criação de arquivo Procedimentos necessários para a remoção de arquivo Gravação sequencial de informação no arquivo Leitura sequencial de informação no arquivo Posicionamento do ponteiro interno do arquivo, para próxima operação de leitura ou escrita Remoção de um pedaço do arquivo Leitura ou alteração de atributos Bloqueio e desbloqueio de todo um arquivo ou parte dele

Sistemas de Arquivos - Conceito de arquivo Operações (cont.) Algumas informações importantes são mantidas para suporte às operações. Informação Ponteiro interno do arquivo Contagem de arquivos abertos Localização do arquivo em memória secundária Significado Indica em que byte, dentro da sequência lógica interna do arquivo, se dará a próxima operação de leitura ou escrita. Associado a arquivos abertos (cada arquivo aberto possui um ponteiro interno). Para liberação de recursos em memória mantidos pelo sistema operacional, os quais descrevem os arquivos em uso. Mantida em RAM para acelerar a localização do arquivo em midia. Está associada a cada arquivo aberto.

Sistemas de Arquivos - Conceito de diretório Diretórios: listas de arquivos, para organização destes em midia Contêm registros que descrevem os arquivos em disco. Podem ser implementados com diferentes estruturas. Comumente são também arquivos (porém ditos "especiais")

Sistemas de Arquivos - Conceito de diretório Exemplo de diretório em árvore

Sistemas de Arquivos - Conceito de diretório Estrutura da árvore de diretórios do Linux

Sistemas de Arquivos - Conceito de diretório Uma pequena parte da estrutura de diretórios do Linux...

Sistemas de Arquivos - Conceito de diretório Estrutura A estrutura de diretório tem como objetivos: Eficiência: localização rápida de arquivos Nomeação: para conveniência de usuários Dois usuários podem usar mesmo nome para arquivos diferentes Um arquivo pode ter diferentes nomes Agrupamento: separar arquivos de acordo com uma organização lógica (ex: programas, documentos,...)

Sistemas de Arquivos - Conceito de diretório Estrutura: em árvore A estrutura mais comum para diretórios Permite a organização de arquivos de forma hierárquica A árvore possui uma raiz, e cada arquivo ou subdiretório é endereçado por um caminho único (pathname) Usualmente implementados como arquivos especiais.

Sistemas de Arquivos - Conceito de diretório Exemplo de diretório em árvore:

Sistemas de Arquivos - Alocação de blocos a arquivos A midia (discos pricipalmente) possui uma divisão intrínseca de sua área de armazenamento: Disco-rígido (HD): Pratos divididos em trilhas Trilhas divididas em setores Setor típico: 512 bytes

Sistemas de Arquivos - Alocação de blocos a arquivos Todas transferências entre computador e midia feitas em blocos: Bloco = um ou mais setores agrupados Os conteúdos dos arquivos são armazenados em sequências de blocos As sequências lógicas de blocos podem ser diferentes das sequências físicas dos blocos.

Sistemas de Arquivos - Alocação de blocos a arquivos Alocação contígua Cada arquivo ocupa uma sequência de blocos contíguos em disco. A sequência física de blocos é a mesma que a sequência lógica, a não ser pelo primeiro bloco. Para identificar a sequência de blocos, basta conhecer o primeiro bloco e o tamanho do arquivo Provê um bom desempenho nas operações de E/S sobre o arquivo. Minimiza-se o número de posicionamentos em disco.

Sistemas de Arquivos - Alocação de blocos a arquivos Alocação contígua

Sistemas de Arquivos - Alocação de blocos a arquivos Estrutura simplificada do sistema de arquivos ISO9660 em disco: Volume descriptor Path Table Diretório raiz Blocos de dados (arquivos e diretórios)

Sistemas de Arquivos - Alocação de blocos a arquivos Alocação contígua Problemas: Dificuldade para aumentar tamanho de arquivos Se não houver espaço livre contíguo ao final do arquivo, deve-se removê-lo e recriá-lo em outro lugar. Fragmentação externa Exige compactação periódica do sistema de arquivos Eficiente para sistemas de arquivos somente leitura: Ex: ISO 9660 (CD e DVD)

Sistemas de Arquivos - Alocação de blocos a arquivos Alocação com lista encadeada A sequência lógica de blocos pode ser totalmente diferente da sequência física Cada bloco contém o número do próximo bloco da sequência. Deve-se conhecer o primeiro bloco e o tamanho do arquivo ou o último bloco Não há fragmentação externa Um arquivo pode crescer enquanto houver blocos livres Não é necessário fazer compactação peíódica do sistema de arquivos

Sistemas de Arquivos - Alocação de blocos a arquivos Alocação com lista encadeada Problema: funciona bem somente para acesso sequencial, pois para posicionar num bloco N, deve ler os blocos anteriores.

Sistemas de Arquivos - Alocação de blocos a arquivos Alocação indexada Um aperfeiçoamento da lista encadeada Resolve o problema de precisar ler os blocos anteriores para posicionar em um bloco N. Os números dos blocos que compõem as sequências de blocos ficam armazenados numa estrutura em separado. A estrutura mapeia os número de blocos lógicos para os correspondentes blocos físicos. Basicamente existem dois tipos de estrutura para indexação de blocos: FAT (File Allocation Table): Tabela de alocação de arquivos I-Nodes (Index-Nodes): nó de indexação

Sistemas de Arquivos - Alocação de blocos a arquivos FAT Uma tabela que possui uma entrada para cada possível bloco de dados do sistema de arquivos Cada entrada na FAT fornece o número do próximo bloco físico da sequência. Nos diretórios, para cada arquivo ali contido há o número do primeiro bloco físico da sequência, e o tamanho do arquivo, além de outros atributos do arquivo.

Sistemas de Arquivos - Alocação de blocos a arquivos Sistema de arquivos FAT em disco:

Sistemas de Arquivos - Alocação de blocos a arquivos FAT

Sistemas de Arquivos - Alocação de blocos a arquivos Inodes Estrutura em disco que contém atributos de um arquivo, e informação sobre a localização de seus blocos de dados. Inodes são armazenados em uma tabela em disco, e referenciados por suas posícões nesta tabela Uma pequena tabela, parte do inode, indexa os blocos físicos que compõem o arquivo. Para arquivos grandes, usam-se blocos de indexação indiretos, que são usados para guardar mais ponteiros para blocos.

Sistemas de Arquivos - Alocação de blocos a arquivos Estrutura em disco de um sistema de arquivos com Inodes: Superbloco Bitmaps Tabela de inodes (milhares deles...) Blocos de dados (arquivos e diretórios)

Sistemas de Arquivos - Alocação de blocos a arquivos Um inode

Sistemas de Arquivos - Alocação de blocos a arquivos Inodes Diretórios são implementados como listas de associações nome:n o inode Cada associação é chamada de link (hard link). Pode haver mais um link para um mesmo inode Inodes possuem um atributo contador de links. O diretório em si também é um arquivo, e portanto é descrito por um inode. O diretório raiz é descrito por um inode predeterminado (ex: em Ext2FS, o inode 2 corresponde ao diretório raiz)

Sistemas de Arquivos - Alocação de blocos a arquivos Inodes Exemplo de diretório

Sistemas de Arquivos Eficiência e Desempenho Tamanho de bloco Existe uma relação da velocidade de acesso e aproveitamento de espaço em função do tamanho de bloco

Sistemas de Arquivos Eficiência e Desempenho Cache Existe localidade nas referências aos blocos em midia. Uma cache poderia acelerar enormemente as operações, mantendo cópias de blocos. Memória RAM livre é usada normalmente como cache de disco. A capacidade da cache varia, então, em função da memória livre.

Sistemas de Arquivos Eficiência e Desempenho Cache Quando enche a cache, faz-se necessário dela retirar blocos Devem-se retirar blocos de forma a minimizar o impacto no desempenho Blocos muito acessados devem permanecer em cache Devem-se descartar prioritariamente blocos que não foram modificados, para evitar a operação de escrita em disco O algoritmo LRU (Least Recently Used) é apropriado para a manutenção da cache.

Sistemas de Arquivos Eficiência e Desempenho Cache Para padrões de acesso sequenciais, outros algoritmos são mais eficientes. Read-ahead: lê blocos em adiantamento ao solicitado, mantendo-os em cache. Write-behind (lazy-write): retarda a escrita de blocos.

Sistemas de Arquivos Integridade Inconsistências Existe informação redundante no sistema de arquivos Ex: inodes indicam os blocos alocados a cada arquivo, e o bitmap indica que blocos estão livres Há também relacionamentos entre as estruturas em disco Ex: Na FAT informam-se as sequências de blocos que compõem os arquivos, e nos diretórios relacionam-se os arquivos com as sequências descritas na FAT. Sob certas circunstâncias, as informações em uma estrutura podem não estar em acordo com aquelas contidas em outra estrutura.

Sistemas de Arquivos Integridade Inconsistências As inconsistências podem ser causadas por desligamento súbito da máquina. Operações em andamento ficam incompletas O uso de cache incrementa o problema, pois muitas operações ficam armazenadas em RAM, e são perdidas se esta for desenergizada antes que a midia seja sincronizada com a cache. O estado do sistema de arquivos deve sempre ser verificado ao se iniciar a utilização deste.

Sistemas de Arquivos Integridade Inconsistências Possíveis inconsistências podem ser detectadas através de uma flag no sistema de arquivos Ao se tentar iniciar o uso (montar) do sistema de arquivos, a flag deve ter o valor 1 Se neste momento tiver valor 0, o sistema de arquivos deve ser verificado à procura de inconsistências A flag tem seu valor colocado em 0 assim que o sistema de arquivos inicia o seu uso A flag somente volta para 1 quando se encerra normalmente o uso (desmonta-se) do sistema de arquivos

Sistemas de Arquivos Integridade Inconsistências Ocupação do espaço Inodes podem estar inconsistentes com bitmap Inodes Bitmap Consequência Correção Bloco em uso Bloco livre Destruição de informação do arquivo que usa o bloco O bitmap deve indicar que o bloco está em uso Bloco livre Bloco em uso Desperdício de espaço O bitmap deve indicar que o bloco está livre Bloco em uso por mais de um inode - Arquivos envolvidos têm informações destruídas Copiar o conteúdo do bloco para outro bloco livre, e fazer com que um dos inodes aponte a cópia

Sistemas de Arquivos Integridade Inconsistências Ocupação do espaço

Sistemas de Arquivos Integridade Inconsistências Diretórios Diretórios podem estar inconsistentes com inodes Inodes Diretórios Consequência Correção Há N links Há < N links Arquivo nunca será removido O contador de links do inode deve ser corrigido Há N links Há > N links Arquivo pode ser removido prematuramente O contador de links do inode deve ser corrigido Há pelo menos um link Não há links Arquivo perdido, ou desperdício de espaço Cria-se uma entrada em diretório que aponte o inode (diretório lost+found)

Sistemas de Arquivos Integridade Inconsistências Diretórios A FAT e os diretórios podem estar inconsistentes FAT Diretórios Consequência Correção Há uma determinada sequência de blocos Nenhuma entrada aponta a sequência Espaço desperdiçado, ou arquivo perdido Cria-se um arquivo que aponte a sequência (ex: arquivos.chk) Sequência de N blocos O tamanho do arquivo é maior que N blocos Erro em acessos ao arquivo. O tamanho do arquivo deve ser corrigido Duas sequências se misturam - Arquivos envolvidos podem ser corrompidos Fazer cópias dos blocos das sequências, e desvinculá-las.

Sistemas de Arquivos Integridade Inconsistências Programas especiais fazem a verificação das inconsistências Cada tipo de sistema de arquivo possui seu verificador Ex: fsck (File System Checker) para sistemas de arquivos em sistemas operacionais tipo Unix Ex: chkdsk para sistemas de arquivo em sistemas operacionais Windows NT e sucessores