Na Aula Anterior... Sistemas de Arquivos no Linux. Sistemas de Arquivos Linux. Nesta Aula. EXT2 e Suas Versões Posteriores

Documentos relacionados
Programação de Sistemas

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

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

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

Implementação de Diretórios (1)

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.

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

Sistemas de arquivos

Sistemas Operacionais

SEMINÁRIO Sistema de Arquivos

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

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

O que é um sistema de arquivos?

O que faz? De tudo um pouco.

Sistemas de Arquivos. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas Operacionais. BC Sistemas Operacionais

Administração Sistemas Operacionais de Rede

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

Instalação e Configuração de Servidores Linux Server Partições e Sist. de Arquivos. Prof. Alex Furtunato

Introdução aos Sistemas Operacionais. Subsistema de Arquivos

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

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

Graduação Tecnológica em Redes de Computadores. Introdução aos Sistemas Proprietários Microsoft

Administração de Sistemas Operacionais

SISTEMAS DE ARQUIVOS E DIRETÓRIOS DO LINUX. Prof. Gleison Batista de Sousa

Sistemas de Arquivos. (Aula 23)

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

Fundamentos de Sistemas Operacionais

slide Pearson Prentice Hall. Todos os direitos reservados.

Sistemas Operacionais

Sistema de Arquivos EXT3

Sistemas de arquivos. Sistemas Operacionais II. UnixFS, Linux VFS e Ext2/3/4. Anderson L. S. Moreira

Unidade II FUNDAMENTOS DE SISTEMAS OPERACIONAIS. Prof. Victor Halla

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

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

SSC0640 Sistemas Operacionais I

Introdução à Informática. Alexandre Meslin

Sistemas Operacionais. Prof. André Y. Kusumoto

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

Sistemas de Arquivos. Sistemas de Arquivos - Exemplos

Sistemas de Arquivos

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

Windows Explorer e Sistemas de Arquivos. Conceitos e usos do Windows Explorer e os Sistemas de Arquivos do Windows

Sistemas Operacionais. Prof. MSc André Y. Kusumoto

Sistemas Operacionais. Sistema de Arquivos. Edeyson Andrade Gomes.

UFRJ IM - DCC. Departamento de Ciência da Computação. Sistemas Operacionais II. 25/10/2016 Profª Valeria Menezes Bastos 1

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

Sistemas Operacionais. Prof. André Y. Kusumoto

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

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

Programação de Sistemas

Estudo de Caso 1: UNIX e LINUX

Sistemas Operacionais

Sistemas Operacionais

Técnico de Gestão e Programação de Sistemas Informáticos

Linguagem C Ponteiros

Sistemas Operacionais: Sistema de Arquivos

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas de Arquivos. André Luiz da Costa Carvalho

Fundamentos de Sistemas Operacionais

Informações Armazenadas em Meios Eletrônicos. PCF André Caricatti

slide Pearson Prentice Hall. Todos os direitos reservados.

Sistemas Operacionais

Capítulo 11 Sistemas de Arquivos

Implementação de sistema de arquivos

SSC0640 Sistemas Operacionais I

Ambientes de Execução

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

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

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

ALOCAÇÃO DINÂMICA DE MEMÓRIA

Embedded Atom Ant (EAA)

Operações de Controle de Fluxo e Acesso a Memória. Na Aula Anterior... Nesta Aula. Instruções de Controle de Fluxo. if then - else.

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

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

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

Administração de sistemas Linux. Manipulação do sistemas de arquivos

Aula 06. Montagem de Dispositivos. Prof. Roitier Campos

Estudo de Sistemas de Arquivos

Na Aula Anterior... Sistemas de Arquivos. Memória vs Armazenamento. Nesta Aula. Memória vs Armazenamento 17/10/2016

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

Sistemas Operacionais

Trabalho Prático. Descrição Considere os seguintes dados a respeito de uma pessoa:

Introdução. Princípios

Hierarquia de Diretórios da Família Linux. Sistemas Operacionais 1

Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais

Aula 16. Tópicos Especiais II Banco de Dados. Prof. Dr. Dilermando Piva Jr.

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

Organização de Computadores II

Disciplina: Sistemas Operacionais

Gerência de Memória. Gerência de Memória Introdução e Particionamento. Novo capítulo. Aulas anteriores. Plano da aula. Memória lógica & física

Sistemas de Ficheiros. Sistema de Ficheiros

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Sistemas de Computação. Seção Notas. Endereçamento de Memória. Notas. Oitava Aula. Haroldo Gambini Santos. 3 de setembro de 2009.

Caching. Caches do Sistema de Ficheiros

Transcrição:

GSI08 Sistemas Operacionais 3/0/0 Sistemas de Arquivos no Linux Na Aula Anterior... Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Nesta Aula Sistemas de Arquivos Linux O Sistema de Arquivos EXT e suas versões; Característica Gerais do EXT; 3 A primeira versão do Linux utilizava o sistema de arquivos do MINIX; A medida que o Linux foi se desenvolvendo o EXT Extended File System foi introduzido; Ele implementava várias otimizações em relação ao sistema de arquivos do MINIX, mesmo assim seu desempenho era insatisfatório; O EXT, introduzido em 994, incluia várias novas características; Ele era eficiente e robusto e se tornou o sistema de arquivos mais amplamente utilizado em sistemas baseados no Linux; 4 EXT e Suas Versões Posteriores Como veremos o EXT foi idealizado com o objetivo de maximizar a consistência do sistema de arquivos; Duas novas versões do EXT foram lançadas: EXT3 00 implementa journaling; EXT4 008 expande alguns limites de tamanho de arquivos e número de diretórios do EXT3; 5 Características Gerais do EXT Implementa muitas das boas práticas encontradas em diversos sistemas de arquivos modernos; Ele implementa a interface de Syscalls proposta no padrão POSIX; O tamanho dos blocos de dados pode ser configurado pelo gerente do sistema no momento da criação do sistema de arquivos; Os blocos podem ser de a 4kB (.04 a 4.09 bytes);

3/0/0 Características Gerais do EXT Os blocos de dados são organizados lógica e físicamente em grupos; Cada grupo inclui blocos de dados e i-nodes armazenados contíguamente em trilhas adjacentes; O sistema de arquivos busca alocar um arquivo, ou menor, os blocos que compõem o arquivo no mesmo grupo de blocos; Esta forma de organização em que um arquivo é armazenado no mesmo grupo de blocos o que diminui o tempo médio de busca do arquivo; 7 Grupos de Blocos Grupo de blocos 0 Grupo de blocos Grupo de blocos 8 Características Gerais do EXT O sistema de arquivos pré-aloca blocos de dados para arquivos regulares antes que eles sejam efetivamente utilizados; Quando o tamanho do arquivo aumenta, já há blocos pré-alocados em posições adjacentes; O EXT implementa uma estratégia de atualização de arquivos com o objetivo de minimizar o impacto de falhas do sistema; 9 Estrutura Geral de uma Unidade de Armazenamento Usando EXT Bloco de Boot Grupo de Blocos 0 / / / / Grupo de Blocos M Super Descritores Bitmap dos Bitmap de Tabela de Bloco de Grupo Blocos de Dados i-nodes i-nodes Blocos de Dados bloco n blocos bloco bloco p blocos q blocos Todos os grupos de blocos têm o mesmo tamanho (n o de blocos) e são armazenados sequencialmente; Ambos superbloco e descritores de grupos são replicados em todos os grupos; Apelas os do grupo zero são usados pelo SO; Os demais atual como cópias de segurança. Programas de verificação de consistência os usam para consistência do sistema de Arquivos; 0 Superbloco Um superbloco do sistema de arquivos EXT utiliza um bloco; Este é um dos motivos pelo qual os blocos não podem ser menores que 04 bytes; A informação contida no superbloco é representada por uma estrutura de dados chamada ext_super_block; Ela contém informação de configuração e manutenção do sistema de arquivos; A estrutura é extensa e complexa, a seguir são listados alguns dos principais campos; Superbloco uint3 s_inodes_count n o total de i-nodes uint3 s_blocks_count n o total de blocos uint3 s_free_blocks_count contador de blocos livres uint3 s_free_inodes_count contador de i-nodes livres uint3 s_log_block_size tamanho do bloco uint3 s_blocks_pre_group n o de blocos por grupo uint3 s_inodes_per_group n o de i-nodes por grupo uint3 s_mtime hora da última vez que o sa foi montado uint3 s_wtime hora da última vez que o sa foi escrito uint s_mnt_count n o de vezes que o sa foi montado antes da checagem de consistência uint3 s_lastcheck hora em que o sa foi checado pela última vez

3/0/0 Descritores de Grupos Bitmap de Blocos de Dados Cada grupo de blocos tem seu próprio descritor de grupos; O descritor de grupos é representado pela estrutura de dados ext_group_desc; uint3 Bg_block_bitmap N o do bloco do bitmap de blocos uint3 Bg_inode_bitmap N o do bloco do bitmap de inodes uint3 Bg_inode_table N o do bloco do º bloco da tabela de i-nodes Uint Bg_free_blocks_count N o de blocos livres no grupo Uint Bg_free_inodes_count N o de i-nodes livres no grupo Uint Bg_used_dirs_count N o de diretórios no grupo Uint Bg_pad Alinhamento para palavra de 3 bits Uint3[3] Bg_reserved ----- 3 Bitmap de blocos de dados 0 0 0 0 0 0 0 0 0 0 Blocos de dados 4 Quantidade de Grupos de Blocos Depende do tamanho da partiçãoe do tamanho do bloco de dados; A maior restrição é o bitmap de blocos que é usado para identificar os blocos usados e livres dentro de um grupo; Um bit por bloco de dados; Deve ser armazenado em um único bloco; blocos no grupo = 8*b (blocos) Onde b é o tamanho do bloco em bytes; Partição: Bloco: Exemplo 8 GB 4 KB blocos no grupo = 8 * 4 * 0 blocos no grupo = 3.78 (blocos) Total de bytes de dados em um grupo é igual a 3.78 * 4 * 0 = 34.7.78 bytes = 8 MB 8GB/8MB = 8* 30 /8* 0 = 4 grupos 5 Tabela de i-nodes Tabela de i-nodes Série de blocos consecutivos cada um dos quais contém uma quantidade pré-definida de i-nodes; O n o do º bloco da tabela de i-nodes é armazenado no campo bg_inode_table da estrutura de dados ext_group_desc; Todos os i-nodes têm o mesmo tamanho, 8 bytes; Um bloco de KB contém 8 inodes e um de 4k contém 3 i-nodes; O n o de blocos utilizados pela tabela de i-nodes é computado de acordo com a fórmula abaixo: i nodesgrupo Table ( blo cos) i nodesbloco O n o de i-nodes por grupo é um parâmetro definido no superbloco e define qual o número máximo de arquivos um grupo pode conter. Ele pode ser acessado no campo s_inodes_per_group do superbloco; 7 8 3

3/0/0 i-nodes i-node Cada i-node do EXT é representado pela estrutura ext_inode; Compatível com a especificação POSIX; O Campo i_size de 3 bits limita o tamanho máximo a 4GB; (Na verdade GB pois o bit mais significativo não é usado) O campo i_block é um array de ponteiros EXT_N_BLOCKS (usualmente 5) para blocos usados para identificar blocos de dados do arquivo; 9 Uint i_mode Tipo de arquivo e direitos de acesso Uint i_uid Identificador do proprietário Uint3 i_size Tamanho do arquivo em bytes Uint3 i_atime Hora do último acesso ao arquivo Uint3 i_ctime Hora em que o i-node foi alterado (última) Uint3 i_mtime Hora que o conteúdo do arquivo foi alterado (última) Uint3 i_dtime Hora em que o arquivo foi deletado Uint i_gid Identificador de grupo Uint i_links_count Contador do n o de links Uint3 i_blocks N o de blocos de dados do arquivo Uint3 i_flags Flags do arquivo 0 tipo Campo função Union Uint3 [EXT_N_BLOCKS] Osd i_block i-node Ponteiros para os blocos de dados Uint3 i_version Versão do arquivo (para NFS) Uint3 i_file_acl Lista de controle de acesso ao arquivo Uint3 i_dir_acl Lista de controle de acesso ao diretório Uint3 i_faddr Endereço do fragmento Union Odl Utilização de Blocos por Diferentes Tipos de Arquivos Diferentes tipos de arquivos utilizam blocos de dados de maneira distinta: tipo Descrição 0 Desconhecido Arquivo regular diretório 3 Dispositivo de caracteres 4 Dispositivo de blocos 5 Pipe nomeado Socket 7 Link simbólico Arquivos Regulares Necessita de blocos de dados apenas quando dados começam a ser inseridos; Quando criado, um arquivo está vazio e não necessita de blocos de dados; Arquivos podem ser esvaziados pela chamada do sistema truncate(); Diretórios Diretórios são um tipo especial de arquivo; Blocos de dados armazenam nomes de arquivos associados aos ponteiros para os i- nodes destes; Tais blocos de dados contêm estruturas do tipo ext_dir_entry_; 3 4 4

rec_len name_len file_type rec_len name_len file_type 3/0/0 Diretórios Exemplo Diretório tipo Campo função uint3 inode n o do i-node uint rec_len comprimento da entrada do diretório uint8 name_len comprimento do nome do arquivo uint8 file_type tipo do arquivo char[ext_name_len] name nome do arquivo EXT_NAME_LEN usualmente 55; name sempre múltiplo de 4 por razões de eficiência; 0 4 40 5 7 inode 4 7 34 4 4 name \0\0\0 \0\0 GSI008\0\0 GSI08\0\0 GBC03\0\0 Disciplinas.txt\0 4B B B B 5 Exemplo Diretório Deletado Links Simbólicos 0 4 inode 4 7 8 name \0\0\0 \0\0 GSI008\0\0 Se o caminho do link simbólico tem até 0 caracteres ele é salvo no i-node; Se o caminho do link simbólico tem mais de 0 caracteres um bloco de dados é requerido; 40 34 GSI08\0\0 5 GBC03\0\0 7 4 4 Disciplinas.txt\0 4B B B B 7 8 Arquivo de Dispositivo, Pipes e Sockets Nenhum bloco de dados é requerido para arquivos de dispositivo, piles ou sockets; Toda a informação necessária é salva diretamente no i-node; Bibliografia Capítulo 7 Páginas 45 475 9 30 5