gerência de armazenamento: interface do sistema de arquivos

29
Sistemas Operacionais I Gerência de Armazenamento: Interface do Sistema de Arquivos Prof. Alexandre Duarte : http://alexandrend.com Centro de Informática | Universidade Federal da Paraíba Estes slides são baseados no material que acompanha o livro Operating Systems Concepts de Silberschatz, Galvin and Gagne

Upload: alexandre-duarte

Post on 05-Jun-2015

2.861 views

Category:

Education


1 download

DESCRIPTION

Explicar a função do sistema de arquivos Descrever as interface com os sistemas de arquivos Discutir decisões de projeto de sistemas de arquivos, incluindo métodos de acesso, compartilhamento, bloqueio e estruturas de diretórios Explorar o conceito de proteção em sistemas de arquivos

TRANSCRIPT

Page 1: Gerência de Armazenamento: Interface do Sistema de Arquivos

Sistemas Operacionais I

Gerência de Armazenamento: Interface do Sistema de Arquivos

Prof. Alexandre Duarte : http://alexandrend.comCentro de Informática | Universidade Federal da Paraíba

Estes slides são baseados no material que acompanha o livro Operating Systems Concepts de Silberschatz, Galvin and Gagne

Page 2: Gerência de Armazenamento: Interface do Sistema de Arquivos

Objetivos

Explicar a função do sistema de arquivos Descrever a interface dos sistemas de

arquivos Discutir decisões de projeto de sistemas

de arquivos, incluindo métodos de acesso, compartilhamento, bloqueio e estruturas de diretórios

Explorar o conceito de proteção em sistemas de arquivos

Page 3: Gerência de Armazenamento: Interface do Sistema de Arquivos

O conceito de arquivo

Espaço de endereçamento lógico contínuo

Tipos: Dados

número caracteres binário

Programas

Page 4: Gerência de Armazenamento: Interface do Sistema de Arquivos

Estrutura de um arquivo

Sem estrutura: - sequência de palavras, bytes

Estrutura de registro simples Linhas Tamanho fixo Tamanho variável

Estruturas complexas Quem decide:

Sistemas operacional Programa

Page 5: Gerência de Armazenamento: Interface do Sistema de Arquivos

Atributos de um arquivo

Nome – única informação mantida em formato legível

Identificador – chave numérica única que identifica um arquivo em todo o sistema de arquivos

Tipo – necessário para sistemas que suportam diferentes tipos de arquivos

Localização – ponteiro para a localização do arquivo no dispositivo de armazenamento

Tamanho – tamanho do arquivo em bytes Proteção – controla quem pode ler, escrever ou

executar um arquivo Hora, data e identificação do usuário – dados

para proteção, segurança e monitoramento do uso

Page 6: Gerência de Armazenamento: Interface do Sistema de Arquivos

Operações com arquivos

Criação Escrita Leitura Reposicionamento Remoção Truncagem Open(Fi) – procura o arquivo Fi na estrutura

de diretórios e move o conteúdo da entrada para a memória

Close (Fi) – move o conteúdo da entrada de Fi da memória para a estrutura de diretórios no disco

Page 7: Gerência de Armazenamento: Interface do Sistema de Arquivos

Abrindo arquivos

Varias informações são necessárias para lidar com arquivos abertos Ponteiro de arquivo: aponta para a última posição

lida/escrita pelo processo que abriu o arquivo Contador de aberturas: conta quantas vezes um

arquivo foi aberto – permite a remoção de dados da tabela de arquivos abertos quando o último processo fechar o arquivo

Localização do arquivo no disco: cache das informações para acesso ao arquivo

Permissões de acesso: permissões de acesso ao arquivo pelo processo

Page 8: Gerência de Armazenamento: Interface do Sistema de Arquivos

Bloqueio de arquivos abertos Fornecido pelo sistema de arquivos de

alguns sistemas operacionais Modera o acesso aos arquivos Obrigatório ou Recomendado:

Obrigatório – o acesso é negado dependendo do bloqueio

Recomendado – os processos podem consultar o estado de um bloqueio e decidir o que fazer

Page 9: Gerência de Armazenamento: Interface do Sistema de Arquivos

Métodos de acesso

Acesso sequêncial read next write next reset

Acesso direto read n write n position to n

read next write next

Page 10: Gerência de Armazenamento: Interface do Sistema de Arquivos

Acesso sequencial

Page 11: Gerência de Armazenamento: Interface do Sistema de Arquivos

Simulando acesso sequencial com arquivos de acesso direto

Page 12: Gerência de Armazenamento: Interface do Sistema de Arquivos

Exemplo de arquivo de índice e arquivos relacionados

Page 13: Gerência de Armazenamento: Interface do Sistema de Arquivos

Estrutura de disco

Discos podem ser subdivididos em partições Discos ou partições podem ser protegidos de falhas por um

RAID Discos e partições podem ser utilizadas tanto em modo raw

– sem um sistema de arquivos, quanto formatados com um sistema de arquivos

A entidade que contem um sistema de arquivos é conhecida como volume

Cada volume mantem informações sobre o sistema de arquivos em um diretório de dispositivos ou tabela de conteúdo de volumes

Assim como existem sistemas de arquivo de propósito geral, existem vários sistemas de arquivos de propósito específico, frequentemente convivendo em um mesmo sistema operacional ou computador

Page 14: Gerência de Armazenamento: Interface do Sistema de Arquivos

Organização típica de um sistema de arquivos

Page 15: Gerência de Armazenamento: Interface do Sistema de Arquivos

Operações em diretórios

Localizar um arquivo Criar um arquivo Remover um arquivo Listar o conteúdo de um diretório Renomear um arquivo Percorrer o sistema de arquivos

Page 16: Gerência de Armazenamento: Interface do Sistema de Arquivos

Diretório de nível único Um único diretório para todos os usuários

Page 17: Gerência de Armazenamento: Interface do Sistema de Arquivos
Page 18: Gerência de Armazenamento: Interface do Sistema de Arquivos

Estrutura de dois níveis

Um diretório separado para cada usuário

Page 19: Gerência de Armazenamento: Interface do Sistema de Arquivos

Estrutura de árvore

Page 20: Gerência de Armazenamento: Interface do Sistema de Arquivos

Estrutura de grafo acíclico

Apresenta arquivos e diretórios compartilhados

Page 21: Gerência de Armazenamento: Interface do Sistema de Arquivos

Estrutura geral de grafo

Page 22: Gerência de Armazenamento: Interface do Sistema de Arquivos

Montagem de sistemas de arquivos Um sistema de arquivos precisa ser

montado antes de ser acessado

Page 23: Gerência de Armazenamento: Interface do Sistema de Arquivos

Compartilhamento de arquivos É desejável poder compartilhar arquivos

em sistemas com múltiplos usuários

Esse compartilhamento pode ser obtido por meio de um esquema de proteção

Em sistema distribuídos os arquivos podem ser compartilhados através de uma rede

Page 24: Gerência de Armazenamento: Interface do Sistema de Arquivos

Compartilhamento de arquivos: múltiplos usuários

Os usuários possuem identificadores, permitindo que sejam definidas permissões de acesso por usuário

Identificadores de grupo permitem que sejam definidas permissões de acesso para grupos de usuários

Page 25: Gerência de Armazenamento: Interface do Sistema de Arquivos

Compartilhamento de arquivos: sistemas de arquivos remotos Permite acesso ao sistema de arquivos

através da rede Manualmente, através de programas como o FTP Automaticamente e de forma transparente

utilizando sistemas de arquivos distribuídos

O modelo cliente-servidor permite que clientes montem sistemas de arquivos remotos disponibilizados por servidores Um servidor pode server múltiplos clientes NFS é o protocolo cliente-servidor padrão do

UNIX CIFS é o protocolo padrão no Windows Operações padrão do sistema de arquivos são

mapeadas em chamadas remotas

Page 26: Gerência de Armazenamento: Interface do Sistema de Arquivos

Compartilhamento de arquivos: modelo de falhas O uso de sistemas de arquivos remotos

implica em um novo modelo de falhas devido a falhas na rede e nos servidores

A recuperação de uma falha pode envolver a obtenção de informações de estado sobre todas as requisições remotas

Protocolos stateless como o NFS incluem em cada requisição toda a informação de estado, facilitando a recuperação

Page 27: Gerência de Armazenamento: Interface do Sistema de Arquivos

Compartilhamento de arquivos: semântica de consistência A semântica de consistência especifica

como múltiplos usuários podem acessar simultaneamente um arquivo compartilhado Bastante semelhante aos algoritmos de

sincronização de processos Geralmente menos complexo devido as latências de

disco e de rede O sistema de arquivo do Unix implementa a

seguinte semântica: Escreve imediatamente em um arquivo aberto visível

por outros usuários Ponteiro de arquivo compartilhado para permitir que

múltiplos usuários possa ler e escrever de forma concorrente

Page 28: Gerência de Armazenamento: Interface do Sistema de Arquivos

Proteção

O dono/criador do arquivo deve ser capaz de controlar: o que pode ser feito por quem

Tipos de acesso Leitura Escrita Execução Acréscimo Remoção Listagem

Page 29: Gerência de Armazenamento: Interface do Sistema de Arquivos

Listas de acesso e de grupo

Modo de acesso: leitura, escrita e execução Três classes de usuário

RWXa) acesso de dono 7 1 1 1

RWXb) acesso de grupo 6 1 1 0

RWXc) acesso público 1 0 0 1

O gerente pode criar um grupo (nome único), digamos G, e adicionar usuários ao grupo.

Para um artigo ou diretório em particular (digamos game), definir uma forma de acesso apropriada.

owner group public

chmod 761 game

Adicionar um artigo ao grupo

chgrp G game