Sistemas de Arquivos. Pedro Cruz. EEL770 Sistemas Operacionais

Documentos relacionados
slide Pearson Prentice Hall. Todos os direitos reservados.

slide Pearson Prentice Hall. Todos os direitos reservados.

Capítulo 6 Sistema de ficheiros

Sistemas de Arquivos. (Aula 23)

Sistema de Arquivos. Introdução

Implementação de Diretórios (1)

SSC0640 Sistemas Operacionais I

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

Sistemas de arquivos

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

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

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

Sistemas de Arquivos

Unidade II FUNDAMENTOS DE SISTEMAS OPERACIONAIS. Prof. Victor Halla

Sistemas Operacionais. Sistema de Arquivos. Edeyson Andrade Gomes.

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

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

Sistemas Operacionais

Sistemas Operacionais. Prof. André Y. Kusumoto

Fundamentos de Arquivos e Armazenamento Secundário

9 Sistemas de ficheiros

Sistemas Operacionais

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

Sistemas Operacionais. Prof. MSc André Y. Kusumoto

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

Sistemas de Informação. Sistemas Operacionais

Sistemas Operacionais. BC Sistemas Operacionais

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

SSC0640 Sistemas Operacionais I

Fundamentos de Sistemas Operacionais

O que faz? De tudo um pouco.

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

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

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

Capítulo 11 Sistemas de Arquivos

Sistemas Operacionais

Introdução à Informática. Alexandre Meslin

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

Capítulo 6 Sistemas de Arquivos

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

Sistemas de Ficheiros

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.

Sistemas Operacionais

ARMAZENAMENTO SECUNDÁRIO, PARTE 1 Professora Rosane Minghim

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

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

Implementação de sistema de arquivos

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

Sistemas Operacionais

O que é um sistema de arquivos?

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Sistemas de Arquivos. Sistemas Operacionais - Professor Machado

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

Sistemas Operacionais. Gerenciamento de Arquivos

Exercícios de revisão V2

Capítulo 6 Nível do Sistema Operacional

Sistemas Operacionais

Administração Sistemas Operacionais de Rede

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

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

Estudo de Caso 1: UNIX e LINUX

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

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 17. Sistema de Arquivos

Sistemas de Ficheiros. 1. Ficheiros 2. Directórios 3. Implementação de sistemas de ficheiros 4. Exemplos de sistemas de ficheiros

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

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

Introdução. Gerenciamento de Armazenamento

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

Profa. Leda G. F. Bueno

6 Sistema de Arquivos

Gerência de Entrada e Saída

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

INE5408 Estruturas de Dados. Gerência de Arquivos

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

Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais

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

Gerenciamento de memória

DISCO MAGNÉTICO Cabeçote Trilha

Informática. Indique a opção que contenha todas as afirmações verdadeiras. a) I. b) II. c) I e III. d) I e II. e) II e III.

Memória Principal. Tiago Alves de Oliveira

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

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Instituto de Ciência e Tecnologia - ICT

Disciplina: Sistemas Operacionais

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

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

Capítulo 6 Sistemas de Arquivos

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

Sistemas Operacionais. Prof. André Y. Kusumoto

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

Unidade II. Diretório raiz. Diretório de usuário A A B B B. Arquivo de usuário

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

Fundamentos de Sistemas Operacionais

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

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


Sistemas Operacionais II Unix: Memória e E/S. Geraldo Braz Junior

Transcrição:

Sistemas de Arquivos Pedro Cruz EEL770 Sistemas Operacionais

Requisitos de armazenamento Persistência Uma vez escritos, dados não podem ser perdidos Flexibilidade Volume de dados pode crescer e diminuir Acessos múltiplos Diversos processos acessam dados simultaneamente 2

Discos Sequência linear de blocos Interface de leitura e escrita Ler do bloco k Escrever no bloco k 3

Problemas com discos Como um processo encontra informações? Como um processo encontra espaço livre? Como garantir segurança? 4

Segurança da informação Confidencialidade Proprietário decide quem tem acesso à informação Autenticidade É possível identificar quem tem acesso à informação Integridade Modificações na informação são detectadas Disponibilidade Informação está sempre disponível para usuários autorizados Não-repúdio Operações são sempre mapeáveis em um usuário 5

Abstrações Sempre resolvendo problemas difíceis Processos Espaços de endereçamento Arquivos 6

Arquivos Abstração para utilização do disco Gerenciamento realizado pelo sistema operacional 7

Nomes de arquivos Forma de buscar os arquivos Arquivos são acessados a partir de seus nomes Forma de dar semântica aos arquivos Extensão Windows se importa UNIX ignora Processos podem se importar 8

Estruturas de arquivos do ponto de vista do SO Sem estrutura Cada arquivo é uma sequência de bytes Estrutura de registros Cada arquivo é uma sequência de registros Registro é uma estrutura interna de tamanho fixo Estrutura em árvore Cada arquivo é um dicionário (chave, valor) Elementos organizados em árvore Busca por chave 9

Tipos de arquivo Arquivos regulares Diretórios Controlam a estrutura de arquivos Arquivos especiais de caractere Modelam dispositivos seriais Arquivos especiais de blocos Modelam discos Primeiro setor de todo disco recebe um 10

Arquivos regulares Arquivos ASCII (American Standard Code for Information Interchange) Legíveis Separados em linhas Carriage return (\r) Line feed (\n) Arquivos binários Compreensíveis para o processo que o gerou 11

Arquivos executáveis Um tipo de arquivo binário Reconhecido pelo operacional Identificador de executável Tamanho do texto Tamanho dos dados Tamanho dos dados não inicializados Tamanho da tabela de símbolos Ponto de entrada Flags Texto Dados Bits de realocação Tabela de símbolos 12

Leitura e acesso a arquivos Sequencial Fita magnética Não pode pular linha Não pode ler fora de ordem Aleatório Discos e estado sólido Pode ler fora de ordem Pode pular linha seek 13

Atributos de arquivos Proprietário Proteção Sistema Tamanho de registro Momento de criação Momento de última leitura Momento de última escrita (ou seja, de modificação) Tamanho em disco Tamanho máximo em disco Arquivamento 14

Operações com arquivos Criar (create) Apagar (delete) Abrir (open) Fechar (close) Ler (read) Escrever (write) Acrescentar (append) Buscar (seek) Ler atributos (get attributes) Escrever atributos (set attributes) Renomear (rename) 15

Diretórios Diretório único em sistemas burros Diretórios hierárquicos Árvore de diretórios Nome de caminho absoluto Nome de caminho relativo 16

Operações com diretórios Criar (create) Apagar (delete) Abrir diretório (opendir) Fechar diretório (closedir) Ler diretório (readdir) Renomear (rename) Conectar (link) Desconectar (unlink) 17

Implementação de sistemas de arquivos Agora chora 18

Organização do disco Partições Tabela de partições Master Boot Record (MBR) Setor 0 Atributos do sistema de arquivos Identificação Número de blocos 19

Implementação de arquivos Alocação contígua Alocação por lista encadeada Alocação por lista encadeada com tabela em memória I-nodes 20

Alocação contígua Arquivos são alocados em blocos consecutivos do disco Arquivos são escritos no primeiro bloco livre Vantagens: Implementação simples Início de cada arquivo Tamanho de cada arquivo Leitura eficiente Busca única encontra arquivo completo Desvantagens? 21

Alocação contígua Arquivos são alocados em blocos consecutivos do disco Arquivos são escritos no primeiro bloco livre Vantagens: Implementação simples Início de cada arquivo Tamanho de cada arquivo Leitura eficiente Busca única encontra arquivo completo Desvantagens Apagar arquivos cria lacunas - fragmentação Aproveitar as lacunas é muito complicado 22

Alocação contígua Está morta? 23

Alocação por lista encadeada Primeira palavra de cada bloco aponta para o próximo bloco Próximas palavras armazenam dados Vantagem: Fragmentação eliminada Desvantagem: Leitura extremamente problemática Tamanho do bloco diferente do tamanho pra armazenamento 24

Alocação por lista encadeada com tabela em memória Tabela representa o próximo bloco de cada bloco físico Ponteiro para primeiro bloco do arquivo FAT File Allocation Table Desvantagem: A tabela de um disco de 1TB, com blocos de 1K, vai ocupar quantos B na memória? Bloco físico Próximo bloco 0 1 3 2 3 5 4 5 0 25

I-nodes Index-node Estrutura de dados que guarda os endereços do arquivo Guardada em disco Em memória quando o arquivo está em uso Se arquivo possui mais blocos do que o i-node comporta Última entrada aponta para o próximo i-node Algumas vezes, dois Bloco do arquivo Bloco Físico 0 1 1 3 2 6 3 5 4 134 5 34 26

Implementando diretórios Arquivo Tabela que relaciona nomes com setores de disco Pode armazenar atributos dos arquivos também Sistemas com i-nodes armazenam os atributos no i-node Entrada do diretório Valor 0 receitas 5GB rw 1 jogos 12GB rwx 2 fotos 1.2GB rw Entrada do diretório 0 3 i-node 1 143 2 52 27

Nomes de arquivos com tamanhos grandes Tamanhos de nomes variam muito Tamanho único pode ser problemático Solução pode ser em duas maneiras Entradas de arquivo com tamanho variável Entradas de arquivo com ponteiros para o nome de arquivo 28

Diretórios com entradas de tamanho variável Uma entrada pra um arquivo possui uma porção fixa e uma variável Porção fixa possui atributos e o tamanho da porção variável Porção variável possui o nome do arquivo e um caractere de terminação Diretório em disco Tamanho da entrada do arquivo 1 Atributos do arquivo 1 Nome Do Arquivo 1x Tamanho da entrada do arquivo 2 Atributos do arquivo 2 Nome Grande Do Arquivo 2x 29

Diretórios com ponteiro para nome de arquivo Cada entrada tem um ponteiro para o nome do arquivo Nomes ficam armazenados em espaço separado Diretório em disco Ponteiro para nome do arquivo 1 Atributos do arquivo 1 Ponteiro para nome do arquivo 2 Atributos do arquivo 2 Nome do arquivo 1x Nome do arquivo 2 Nome do arquivo 2 Nome do arquivo 2x 30

Problemas de compartilhamento Arquivo possui um proprietário Permissões devem ser obedecidas Alterações no arquivo devem ser vistas por todos Simples cópia não funciona Manter uma lista de todas as cópias de um arquivo é um problema B C A 31

Compartilhamento soluções possíveis 1. Hard link Diretório B aponta para i-nodes de arquivo A 2. Soft link Arquivo especial em B funciona como link B C A 32

Hard link Diretório B aponta para i-nodes de arquivo A C continua sendo o dono de A Apagar arquivo pode ser problemático i-node deve possuir contador de cópias do arquivo Diretório B Arquivo 1 Arquivo 2 Arquivo 3 Arquivo 4 I-node (A) Diretório C Arquivo 5 Arquivo 6 Arquivo A Arquivo 8 Bloco 1 Bloco 2 Bloco 3 Bloco 4 33

Soft link Arquivo especial em B aponta para o arquivo em C Apagar arquivo A traz problemas Diretório B Arquivo link Arquivo 2 Arquivo 3 Arquivo 4 I-node (link) I-node (A) Diretório C Arquivo 5 Arquivo 6 Arquivo 7 Arquivo 8 Bloco 1 Bloco 1 Bloco 2 Bloco 2 Bloco 3 Bloco 3 Bloco 4 Bloco 4 34

Questões sobre hard e soft link Hard link Não consegue fazer o link por nome de arquivo Soft link Ocupa um i-node Ocupa um bloco Adiciona um salto à busca de um arquivo Consegue se conectar a arquivos remotos Ambos Busca por arquivos em vários diretórios pode encontrar o mesmo arquivo várias vezes 35

Sistemas de arquivos Forma como arquivos são organizados Muitas possíveis NTFS FAT-16 FAT-32 Ext2 Ext3... CD-ROM s, DVD s e afins possuem sistemas próprios! 36

Virtualização do sistema de arquivos UNIX oferece um sistema virtual de arquivos Chamadas de software são feitas a um sistema virtual Sistema virtual traduz para uma interface real Processos de usuários Sistemas virtual de arquivos Sistema 1 Sistema 2 Sistema 3 Dispositivos 37

Otimização de sistemas de arquivos Gerenciamento de espaço em disco Monitoramento de blocos livres Cotas de disco Backups Consistência Desempenho Desfragmentação 38

Gerenciamento de espaço em disco Velho problema Bytes contíguos Busca fácil Alteração difícil Blocos de bytes Busca difícil Alteração fácil Fragmentação interna Tamanho dos blocos 39

Tamanho dos blocos Blocos grandes Fragmentação interna grande Blocos pequenos Arquivos ocupam muitos blocos Solução: utilizar dados empíricos para decidir tamanho dos blocos 40

Monitoramento dos blocos livres Lista encadeada Alguns blocos contém ponteiros para blocos livres O último ponteiro aponta para um bloco da lista Bloco de 1KB Disco de 1T Identificador de bloco de 32 bits» Cada bloco pode armazenar 255 blocos livres» Disco inteiro livre ocupa 4 milhões de blocos Mapa de bits Alguns blocos contém mapa de bits 0: ocupado; 1: livre 130.000 blocos pra mapear 1T 41

Cotas de disco Usuários possuem limite de uso do disco Limite estrito Usuário nunca pode exceder o limite estrito Limite flexível Usuário pode exceder o limite flexível durante um uso A cada login, limite flexível é verificado» Se usuário excedeu o limite, é barrado 42

Backup Nem todos os arquivos devem sofrer backup Executáveis, arquivos de E/S, temporários Nem todos os arquivos precisam ser totalmente copiados Cópias incrementais Deve haver pelo menos uma cópia total Nem sempre o sistema pode ser copiado Copiar arquivos que estão sendo usados e alterados é complicado 43

Backup (2) A segurança do backup é importante Danos Roubos Cópias físicas Copiar um disco inteiro, não importa o que está escrito Cópias lógicas Programa de backup lê diretórios e pastas específicas 44

Consistência Operações de escrita deixam sistema temporariamente inconsistente Criação de arquivo Deleção de arquivo Contagem de estruturas i-nodes + blocos livres = nº total de blocos Nº de diretórios = Nº de ligações Detecção de anomalias Diretórios com muitos subdiretórios/arquivos Permissões estranhas 45

Desempenho Disco demora até um milhão de vezes a mais do que a memória primária Apenas melhore, querido Técnicas empregadas para melhorar o desempenho Cache de blocos Leitura antecipada em blocos Redução do movimento do braço do disco Desfragmentação de disco 46

Cache de blocos Tabela em memória dos blocos mais usados Política de cache Política de atualização i-nodes são pouco referenciados, mas devem ser escritos rapidamente Discos podem ser removidos Caches de escrita direta 47

Leitura antecipada de blocos Leitura sequencial de arquivos facilita a previsão de blocos que serão necessários Ler partes posteriores dos arquivos conforme partes anteriores estão sendo processados 48

Redução do movimento do braço do disco Alguns blocos são lidos sequencialmente Se estiverem próximos, o braço se movimentará menos I-nodes exigem 2 buscas em disco (1 para o i-node e 1 para o arquivo) I-nodes no início do disco Trajeto i-node -> arquivo médio é de ½ disco I-nodes no meio do disco Trajeto i-node -> arquivo médio é de ¼ de disco I-nodes espalhados pelo disco Trajeto i-node -> arquivo ainda menor 49

Desfragmentação de disco Arquivos mudam de tamanho Nascem Crescem São removidos Alterações nos arquivos geram fragmentação externa Tempo de busca aumenta Operacionais diferentes têm políticas diferentes Windows Arquivos são escritos de forma contígua Linux Arquivos possuem espaço entre si para crescerem SSD? 50

Sistemas de Arquivos Pedro Cruz EEL770 Sistemas Operacionais