Baixe o app para aproveitar ainda mais
Prévia do material em texto
I n s t i t u t o d e I n f o r m á t i c a - U F R G S Sistemas Operacionais Sistema de Arquivos Introdução Aula 10Trabalho 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/ I n s t i t u t o d e I n f o r m á t i c a - U F R G S Arquitetura do sistema de arquivos em camadas Sistemas Operacionais 2 A . C a r i s s i m i - 2 - o c t . - 1 7 Sistema de arquivos (lógico) Organização de arquivos Sistema de arquivo básico Drivers de dispositivo Estrutura de diretórios Alocação e gerenciamento de espaço livre Controle dos dispositivos de E/S Comandos genéricos de leitura e escrita Aplicação Leitura/escrita setores físicos Blocos físicos n setores = bloco físico API usuário Blocos lógicos Blocos físicos ... I n s t i t u t o d e I n f o r m á t i c a - U F R G S Sistemas Operacionais 3 A . C a r i s s i m i - 2 - o c t . - 1 7 Introdução Armazenamento permanente de grande volume de informações Memória primária (RAM) é volátil e limitada em tamanho Solução é memória secundária (discos, fitas, etc) Acesso randômico ou sequencial a essas informações Necessidade de identificar, organizar, acessar e proteger essas informações Sistemas de arquivos: parte do sistema operacional responsável pelo gerenciamento de arquivos e seus recursos I n s t i t u t o d e I n f o r m á t i c a - U F R G S Sistemas Operacionais 4 A . C a r i s s i m i - 2 - o c t . - 1 7 Funções básicas de um sistema de arquivos Funções básicas: Conveniência: fornecer visão lógica para arquivos e diretórios Esconder detalhes específicos dos dispositivos de memória secundária Mecanismos para acesso e compartilhamento (aspectos de proteção) Eficiência: uso eficiente dos dispositivos de armazenamento Não interferência: isolamento entre arquivos e diretórios Dois pontos de vista: Visão lógica (usuário): arquivos e estrutura de diretórios Visão física (sistema): estruturas de controle e de gerenciamento I n s t i t u t o d e I n f o r m á t i c a - U F R G S Visão lógica (usuário): requisitos mínimos O sistema de arquivos é formado por Arquivos de dados e diretórios (que são um tipo especial de arquivo) Arquivo é uma coleção nomeada de informações registradas em armazenamento secundário (permanente) Cada usuário deve ser capaz de: Criar, apagar, ler e alterar arquivos e diretórios Controlar as permissões de acesso a seus arquivos Nomear arquivos de forma simbólica Organizar os arquivos de forma adequada a suas necessidades específicas Criação de diretórios e subdiretórios Realizar back-ups e recuperar arquivos em caso de problemas Sistemas Operacionais 5 A . C a r i s s i m i - 2 - o c t . - 1 7 I n s t i t u t o d e I n f o r m á t i c a - U F R G S Sistemas Operacionais 6 A . C a r i s s i m i - 2 - o c t . - 1 7 Visão sistema (física): requisitos mínimos O sistema operacional deve ser capaz: Descrever a localização de todos os arquivos e de seus atributos* Gerenciar espaço físico do disco Alocar porções livres a arquivos em criação/expansão Liberar porções ocupadas pelos arquivos removidos Mecanismos para localizar eficientemente as porções que compõem os arquivos * Metadados: informações gerais sobre arquivos I n s t i t u t o d e I n f o r m á t i c a - U F R G S Arquitetura de um sistema de arquivos Camada de aplicação (programas) Sistema de arquivos lógico Organização Sistema de arquivo básico Subsistema de E/S Dispositivo físico Sistemas Operacionais 7 A . C a r i s s i m i - 2 - o c t . - 1 7 Blocos lógicos 0 1 2 3 Blocos físicos Setores do disco (bloco físico = n setores) cilindro trilha setor Braço móvel Cabeçote r/w eixo I n s t i t u t o d e I n f o r m á t i c a - U F R G S Driver de dispositivo (disco) e sistemas de arquivos básico Driver de dispositivo (disco) Parte do subsistema de E/S Funcionalidades gerais Tratamento de interrupções Recebe comandos como ler/escrever o bloco físico i do disco Coordenar as transferências entre memória e o disco e vice-versa Envio de comandos para controladora de disco e de DMA Sistemas de arquivos básico Responsável por enviar comandos de leitura e escrita de bloco físicos no driver do dispositivo Genéricos (blocos lógicos, blocos físico, setores) Sistemas Operacionais 8 A . C a r i s s i m i - 2 - o c t . - 1 7 I n s t i t u t o d e I n f o r m á t i c a - U F R G S Módulo de organização de arquivos Gerenciamento dos blocos físicos do disco (livres e ocupados) Implementa uma política de alocação de espaço em disco Contígua, encadeada ou indexada Tradução de blocos lógicos em blocos físicos Sistemas Operacionais 9 A . C a r i s s i m i - 2 - o c t . - 1 7 I n s t i t u t o d e I n f o r m á t i c a - U F R G S Sistema de arquivos lógico Responsável por gerenciar as informações sobre os arquivos (metadados) a estrutura de diretórios Mantém informações sobre um arquivo aberto através de bloco de controle de arquivo (descritor) Proprietário, permissões de acesso, localização dos dados, proteção, segurança, ponteiro para ponto de leitura e escrita, etc. Exemplos: NTFS, FAT32, ISO 9660 (cdrom), UFS, Ext3, Ext4, ReiserFS, etc Sistemas Operacionais 10 A . C a r i s s i m i - 2 - o c t . - 1 7 I n s t i t u t o d e I n f o r m á t i c a - U F R G S Noção fundamental: arquivo Objetivo: Fornecer visão lógica uniforme para o armazenamento de informações independente do meio físico. Arquivo Menor unidade de alocação de armazenamento sob ponto de vista do usuário Coleção de dados agrupados com objetivos de controle de acesso, leitura e modificação Arquivo = dados + atributos Os arquivos são representados : por um nome simbólico e seus atributos (identificação) pelo tipo de informação que armazenam (tipo do arquivo) pela forma como organiza as informações (organização lógica) Sistemas Operacionais 11 A . C ar i s s i m i - 2 - o c t . - 1 7 I n s t i t u t o d e I n f o r m á t i c a - U F R G S Sistemas Operacionais 12 A . C a r i s s i m i - 2 - o c t . - 1 7 Nome simbólico Identificador de um arquivo Composto por um conjunto de caracteres Dois componentes: nome e extensão (opcional) Extensão é um adendo ao nome do arquivo para indicar o tipo de arquivo e os programas adequados para manipulá-los facilitar a organização e identificação do tipo de arquivo Varia de sistema operacional a sistema operacional Limitação da quantidade de caracteres usados no nome Caracteres permitidos Case sensitive ou não I n s t i t u t o d e I n f o r m á t i c a - U F R G S Atributos de arquivos Também denominados de metadados Fornecem informações sobre arquivos (alguns exemplos) Nome: nome simbólico (a ser usado pelo usuário) Identificador: nome interno (a ser usado pelo sistema operacional) Local: dispositivo e ponto de armazenamento dentro deste dispositivo Tamanho: quantidade de bytes do arquivo Proteção: informações sobre controle de acesso Hora, data e identificação do usuário: informação sobre datas de criação, última modificação e acesso Arquivamento (backup) Mantido na estrutura de diretório Cada arquivo possui uma entrada associada Sistemas Operacionais 13 A . C a r i s s i m i - 2 - o c t . - 1 7 I n s t i t u t o d e I n f o r m á t i c a - U F R G S Sistemas Operacionais 14 A . C a r i s s i m i - 2 - o c t . - 1 7 Tipos de arquivo Sistema operacional suporta vários tipos de arquivos Formato interno e semântica de arquivos Determinam tipos de operações que podem ser feitas Dependem do sistema operacional: Mínimo: texto, binário (inclui executável) Vinculado a aplicações (ex: windows - .ppt, .doc, .xls, etc) I n s t i t u t o d e I n f o r m á t i c a - U F R G S Organização lógica interna de um arquivo Não estruturado O arquivo é uma sequência de bytes Não há restrições quanto a forma de serem lidos ou escritos Estruturado O arquivo é uma sequência de registros Registro é a menor unidade a ser lida ou escrita Sistemas Operacionais 15 A . C a r i s s i m i - 2 - o c t . - 1 7 I n s t i t u t o d e I n f o r m á t i c a - U F R G S Organização lógica interna: não estruturados Significado é dado pelos programas em nível de usuário Estratégia adotada pelo Windows e pelo Unix Exemplo: tipos de arquivos Unix Regular: arquivos de dados em ASCII e binário Diretório: arquivos que mantém a estrutura (organização) do sistema de arquivos Arquivos especiais de caracter/bloco: vinculados a dispositivos de E/S Sistemas Operacionais 16 A . C a r i s s i m i - 2 - o c t . - 1 7 executável (formato a.out) biblioteca I n s t i t u t o d e I n f o r m á t i c a - U F R G S Sistemas Operacionais 17 A . C a r i s s i m i - 2 - o c t . - 1 7 Organização lógica interna: estruturados Normalmente utilizados por aplicações específicas Ex.: sistemas de gerenciamento de banco de dados Registros podem ser: Tamanho fixo (byte, palavra, estrutura própria) Tamanho variável (estrutura que contém seu próprio tamanho) Ro R1 R2 R3 chaveo R0 chave1 R1 chave2 R2 chave3 R3 Lo R0 L1 R1 L2 R2 L3 R3 Lo chaveo R0 L1 chave1 R1 L2 chave2 R2 Tam. variável, chave Tam. fixo, chave Tam. variável Tam. fixo I n s t i t u t o d e I n f o r m á t i c a - U F R G S Sistemas Operacionais 18 A . C a r i s s i m i - 2 - o c t . - 1 7 Forma de acesso aos registros Implícito: Ponteiro interno mantido pelo sistema operacional Acessado na ordem que aparecem no arquivo Para acessar o registro i é necessário acessar os i-1 anteriores Explícito: Ponteiro é específicado e visto “fora” do sistema operacional Acesso randômico ou direto I n s t i t u t o d e I n f o r m á t i c a - U F R G S Métodos de acesso a arquivos Sequencial O acesso é sempre feito a partir do início do arquivo Randômico (direto ou relativo ou aleatório) O acesso pode ser feito a partir de qualquer posição do arquivo Introduz a noção de uma operação de fseek() Fácil implementação nos arquivos organizados com registros de tamanho fixo Tamanho variável necessita ter uma estrutura auxiliar de índices (indexado) Difícil encontrar suporte direto no próprio sistema operacional Normalmente é dado por aplicativos (banco de dados, por ex.) EXCEÇÃO: diretórios!!! Sistemas Operacionais 19 A . C a r i s s i m i - 2 - o c t . - 1 7 I n s t i t u t o d e I n f o r m á t i c a - U F R G S Sistemas Operacionais 20 A . C a r i s s i m i - 2 - o c t . - 1 7 Primitivas de operações em arquivos Criação e remoção Abertura e fechamento Arquivo deve ser “aberto” antes de sofrer qualquer operação Alocação de estruturas de dados, buffers, identificadores, etc. Fechamento libera todas as estruturas de dados, buffers, identificadores, etc Leitura e escrita Transferência de dados arquivo/memória e vice-versa Idéia de um ponteiro lógico Posicionamento e reposicionamento Seek: posicionamento do ponteiro lógico para um registro i qualquer Rewind: seek para o primeiro registro do arquivo etc… I n s t i t u t o d e I n f o r m á t i c a - U F R G S Abertura e encerramento de arquivos Tabela de arquivos abertos Informações sobre arquivos abertos (metadados e outras) Serve para evitar pesquisas no diretório enquanto um arquivo está em uso Manipulação da tabela de arquivos abertos Primitivas open( ) e close( ) Fator de complexidade adicional: abertura simultânea Resolvido com auxílio de dois níveis de tabelas Uma tabela por processo: informações relativas ao processo Uma tabela para o sistema: informações independentes do processo Sistemas Operacionais 21 A . C a r i s s i m i - 2 - o c t . - 1 7 I n s t i t u t o d e I n f o r m á t i c a - U F R G S Proteção Dois aspectos: Confiabilidade: proteção contra dano físico Segurança: proteção contra acessose operações impróprias Matriz de controle de acesso Colunas são objetos ou recursos Linhas são domínios (processos ou usuários) Elemento ( i, j) fornece as operações (permissões ou direitos de acesso) que podem ser feitos pelo domínio i no objeto j Estratégias básicas Capacidades (por linha) Listas de controle de acesso (por coluna) Sistemas Operacionais 22 A . C a r i s s i m i - 2 - o c t . - 1 7 I n s t i t u t o d e I n f o r m á t i c a - U F R G S Capacidades (capabilities) Organização da matriz de acesso em linhas Domínio: {objeto, direitos {objeto, direitos}.... É um valor numérico que fornece: A identificação de um recurso (objeto) Direitos de acesso a esse recurso As capacidades são “entregues” a um usuário após a sua autenticação no sistema Funciona como um tíquete para realizar operações em um recurso Operações: ler, escrever, remover, renomear, etc... Sistemas Operacionais 23 A . C a r i s s i m i - 2 - o c t . - 1 7 I n s t i t u t o d e I n f o r m á t i c a - U F R G S Lista de controle de acesso Organização da matriz de acesso em colunas Objeto: {domínio:direitos} {domínio:direitos}... Princípio de funcionamento Lista nomes de usuários e os tipos de acesso permitido para cada um deles Problema: tamanho da lista Versão condensada de ACL Classificação de usuários em três grupos: proprietário, grupo e outros Especificar os acessos (Read, Write, eXecute) para cada recurso Ex.: Unix emprega 9 bits – rwx rwx rwx Sistemas Operacionais 24 A . C a r i s s i m i - 2 - o c t . - 1 7 I n s t i t u t o d e I n f o r m á t i c a - U F R G S Sistemas Operacionais 25 A . C a r i s s i m i - 2 - o c t . - 1 7 Leituras complementares R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora Sagra-Luzzato, 2001. Capítulo 8, seções 8.1, 8.2, e 8.3 A. Silberchatz, P. Galvin; G. Gagne; Sistemas Operacionais com Java. Campus, (7a edição). Capítulo 10, seções 10.1, 10.2 e 10.6
Compartilhar