Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Capítulo 10: Interface do sistema de arquivos.

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Programação em Java Prof. Maurício Braga
Sistemas operacionais
Sistemas operacionais
Sistemas operacionais
Operadores e Funções do LINGO
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 3.
Ambientes Operacionais
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Orientação a Objetos: Encapsulamento e Classificação
Arquitetura de Sistemas Operacionais Francis Berenger Machado
Chapter 4: Threads.
Capítulo 7: Deadlocks.
Sistemas Operacionais II - Sistemas de Arquivos -.
Coleta de resíduos. Sumário Resíduos Coleta de resíduos Contador de referências Marcação e varredura Parada e cópia Marcação e compactação Gerenciamento.
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Streams Java.
Interação Cliente Servidor
Threads Estagiário: Bruno Guazzelli Batista Slides de autoria do Prof Drº Marcos José Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum.
Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios
Estudo de Caso 1: UNIX e LINUX
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Sistemas de Arquivos.
Estruturas de Controle
Tratamento de Ficheiros
Listas Encadeadas.
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação JAVA
Capítulo 11: Implementação do sistema de arquivos
Sistemas Operacionais
Capítulo 9: Memória Virtual
Proteção de Memória O sistema operacional deve impedir que um processo tenha acesso ou modifique uma página do sistema sem autorização. Proteção para páginas.
Criação de objetos da AD 1Luis Rodrigues e Claudia Luz.
Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin
PROGRAMAÇÃO ESTRUTURADA II
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
SISTEMAS OPERACIONAIS
Estruturas de Dados com Jogos
Introdução a Programação COM 100
Streams –input e output
Capítulo 13: Sistemas de E/S
Entendendo as definições de classe
Chamada Remota de Procedimentos
Projeto de Banco de Dados
Sistemas Distribuídos
Capítulo 1 Introdução 1.1 O que é um sistema operacional
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Capítulo 7: Deadlocks.
Stream – Fluxo I/O Sistema de Arquivos
ÁREA DE TRABALHO DO WINDOWS
Stream – Fluxo I/O Manipulação de arquivos texto
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
Listas Simplesmente Encadeadas
Introdução aos Protocolos de Roteamento Dinâmico
Profa. Patrícia A. Jaques
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 11: Implementação de Sistemas de Arquivos.
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Usuários e Grupos Usuário: alguém que possui conta, internamente é tratado como um número (UID) que é a identificação do usuário (USER ID). Cada usuário.
Sistemas Operacionais: Sistema de Arquivos
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 10: Interface de Sistemas de Arquivos.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 10: Interface de Sistemas de Arquivos.
Infra-Estrutura de Software
Aula – Sistemas Operacionais
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Projeto e Implementação de Sistemas de Arquivos
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas de Arquivos Capítulo Arquivos 6.2 Diretórios 6.3 Implementação do sistema.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Transcrição da apresentação:

Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Capítulo 10: Interface do sistema de arquivos

10.2 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Capítulo 10: Interface do sistema de arquivos  Conceito de arquivo  Métodos de acesso  Estrutura de diretório  Montando o sistema de arquivos  Compartilhamento de arquivos  Proteção

10.3 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Objetivos  Explicar a função dos sistemas de arquivos  Descrever as interfaces dos sistemas de arquivo  Discutir as escolhas do projeto do sistema de arquivos, incluindo métodos de acesso, compartilhamento de arquivos, bloqueio de arquivos e estruturas de diretório  Explorar a proteção do sistema de arquivos

10.4 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Conceito de arquivo  Espaço de endereços lógicos contíguos  Tipos: Dados  numéricos  caractere  binários Programa

10.5 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Estrutura de arquivo  Nenhuma – Seqüência de words, bytes  Estrutura de registro simples Linhas Tamanho fixo Tamanho variável  Estruturas complexas Documento formatado Arquivo de carga relocável  Pode simular dois últimos com o primeiro método, inserindo caracteres de controle apropriados  Quem decide: Sistema operacional Programa

10.6 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Atributos do arquivo  Nome – somente informações mantidas em formato legível  Identificador –tag exclusiva (número) identifica arquivo dentro do sistema de arquivos  Tipo – necessário para sistemas que admitem diferentes tipos  Local – ponteiro para local do arquivo no dispositivo  Tamanho – tamanho de arquivo atual  Proteção – controla quem pode realizar leitura, gravação, execução  Hora, data e identificação do usuário – dados para proteção, segurança e monitoração de uso  Informação sobre arquivos são mantidas na estrutura de diretório, que é mantida no disco

10.7 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Operações do arquivo  Arquivo é um tipo de dado abstrato  Criar  Gravar  Ler  Reposicionar dentro do arquivo  Excluir  Truncar  Open(F i ) – procura a estrutura de diretório no disco para entrada F i, e move conteúdo da entrada para memória  Close (F i ) – move o conteúdo da entrada F i na memória para a estrutura de diretório no disco

10.8 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Abrir arquivos  Várias partes dos dados são necessárias para gerenciar arquivos abertos: Ponteiro de arquivo: ponteiro para último local de read/write, por processo que tem o arquivo aberto Contagem de arquivos abertos: contador do número de vezes que um arquivo está aberto – para permitir a remoção de dados da tabela de arquivos abertos quando últimos processos a fecham Local do arquivo no disco: cache de informações de acesso a dados Direitos de acesso: informação de modo de acesso por processo

10.9 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Bloqueio de abertura de arquivo  Fornecido por alguns sistemas operacionais e sistemas de arquivo  Media o acesso a um arquivo  Obrigatório ou aconselhável: Obrigatório – o acesso é negado dependendo dos bloqueios mantidos e requisitados Aconselhável – os processos podem descobrir o status dos bloqueios e decidir o que fazer

10.10 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Exemplo de bloqueio de arquivo – API Java import java.io.*; import java.nio.channels.*; public class LockingExample { public static final boolean EXCLUSIVE = false; public static final boolean SHARED = true; public static void main(String arsg[]) throws IOException { FileLock sharedLock = null; FileLock exclusiveLock = null; try { RandomAccessFile raf = new RandomAccessFile("file.txt", "rw"); // get the channel for the file FileChannel ch = raf.getChannel(); // this locks the first half of the file - exclusive exclusiveLock = ch.lock(0, raf.length()/2, EXCLUSIVE); /** Now modify the data... */ // release the lock exclusiveLock.release();

10.11 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Exemplo de bloqueio de arquivo – API Java (cont.) // this locks the second half of the file - shared sharedLock = ch.lock(raf.length()/2+1, raf.length(), SHARED); /** Now read the data... */ // release the lock exclusiveLock.release(); } catch (java.io.IOException ioe) { System.err.println(ioe); }finally { if (exclusiveLock != null) exclusiveLock.release(); if (sharedLock != null) sharedLock.release(); }

10.12 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Tipos de arquivo – Nome, extensão

10.13 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Métodos de acesso  Acesso seqüencial lê próximo grava próximo reinicia nenhuma leitura após última gravação (regrava)  Acesso direto lê n grava n posiciona para n lê próximo grava próximo regrava n n = número de bloco relativo

10.14 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Arquivo de acesso seqüencial

10.15 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Simulação de acesso seqüencial em um arquivo de acesso direto

10.16 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Exemplo de arquivo de índice e relativo

10.17 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Estrutura de diretório  Uma coleção de nós contendo informações sobre todos os arquivos F 1 F 2 F 3 F 4 F n Diretório Arquivos A estrutura de diretório e os arquivos residem no disco Backups dessas duas estruturas são mantidas em fitas

10.18 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Organização típica do sistema de arquivos

10.19 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Operações realizadas no diretório  Procurar um arquivo  Criar um arquivo  Excluir um arquivo  Listar um diretório  Renomear um arquivo  Atravessar o sistema de arquivos

10.20 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Organizar o diretório (logicamente) para obter  Eficiência – localizando um arquivo rapidamente  Nomeação – conveniente para usuários Dois usuários podem ter o mesmo nome para diferentes arquivos O mesmo arquivo pode ter vários nomes diferentes  Agrupamento – agrupamento lógico de arquivos por propriedades, (por exemplo, todos os programas Java, todos os jogos, …)

10.21 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Diretório de único nível  Um único diretório para todos os usuários Problema de nomeação Problema de agrupamento

10.22 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Diretório de dois níveis  Diretório separado para cada usuário Nome do caminho Pode ter o mesmo nome de arquivo para usuário diferente Pesquisa eficiente Sem capacidade de agrupamento

10.23 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Diretórios estruturados em árvore

10.24 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Diretórios estruturados em árvore (cont.)  Pesquisa eficiente  Capacidade de agrupamento  Diretório atual (diretório de trabalho) cd /spell/mail/prog lista de tipo

10.25 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Diretórios estruturados em árvore (cont.)  Nome de caminho absoluto ou relativo  A criação de um arquivo novo é feita no diretório atual  Exclusão de um arquivo rm  A criação de um novo subdiretório é feita no diretório atual mkdir Exemplo: se no diretório atual /mail mkdir count mail progcopyprtexpcount Excluir “mail”  excluir a sub-ávore inteira iniciada com “mail”

10.26 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Diretórios de gráfico acíclico  Têm subdiretórios e arquivos compartilhados

10.27 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Diretórios de gráfico acíclico (cont.)  Dois nomes diferentes (aliasing)  Se dict exclui list  ponteiro pendente Soluções: Backpointers, e podemos excluir todos ponteiros Registros de tamanho variável Backpointers usando uma organização de cadeia de margaridas Solução entrada-mantém-contador  Novo tipo de entrada de diretório Link – outro nome (ponteiro) para arquivo existente Resolve o link – siga ponteiro para localizar o arquivo

10.28 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Diretório gráfico geral

10.29 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Diretório gráfico geral (cont.)  Como garantimos nenhum ciclo? Permitir apenas links para arquivo, e não subdiretórios Coleta de lixo Toda vez que um novo link é acrescentado, use um algoritmo de detecção de ciclo para determinar se tudo está OK

10.30 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Montagem do sistema de arquivos  Um sistema de arquivos precisa ser montado antes de poder ser acessado  Um sistema de arquivos desmontado (p.e., Figura 11.11(b)) é montado em um ponto de montagem

10.31 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Partição (a) existente (b) desmontada

10.32 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Ponto de montagem

10.33 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Compartilhamento de arquivos  Compartilhamento de arquivos em sistemas multiusuário é desejável  Compartilhamento pode ser feito por um esquema de proteção  Em sistemas distribuídos, arquivos podem ser compartilhados por uma rede  Network File System (NFS) é um método comum de compartilhamento de arquivo distribuído

10.34 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Compartilhamento de arquivos – múltiplos usuários  User IDs identificam usuários, permitindo que proteções e permissões sejam feitas por usuário  IDs de grupo permitem que usuários estejam em grupo, permitindo direitos de acesso em grupo

10.35 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Compartilhamento de arquivos – Sistemas de arquivo remotos  Usa redes para permitir acesso do sistema de arquivos entre sistemas Manualmente por programas como FTP Automaticamente, sem emendas, por sistemas de arquivo distribuídos Semi-automaticamente pela World Wide Web  Modelo cliente-servidor permite que clientes montem sistemas de arquivo remotos por servidores Servidor pode atender múltiplos clientes Identificação de cliente e usuário no cliente é insegura ou complicada NFS é o protocolo padrão de compartilhamento de arquivos cliente-servidor no UNIX CIFS é protocolo padrão do Windows Chamadas padrão de arquivo do sistema operacional são traduzidos para chamadas remotas  Distributed Information Systems (serviços de nome distribuídos) como LDAP, DNS, NIS, Active Directory implementam acesso unificado às informações necessárias para computação remota

10.36 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Compartilhamento de arquivos – modos de falha  Sistemas de arquivo remotos acrescentam novos modos de falha, devido à falha na rede, falha no servidor  Recuperação de falha pode invocar informação de estado sobre status de cada requisição remota  Protocolos sem estado, como NFS, incluem toda a informação em cada requisição, permitindo a recuperação fácil, porém com menos segurança

10.37 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Compartilhamento de arquivos – Semântica de consistência  Semântica de consistência especifica como múltiplos usuários devem acessar um arquivo compartilhado simultaneamente Semelhante aos algoritmos de sincronismo de processo do Cap. 7  Tende a ser menos complexo, devido à E/S de disco e latência de rede (para sistemas de arquivo remotos) Andrew File System (AFS) implementava semântica complexa de compartilhamento de arquivo remoto Sistema de arquivos do Unix (UFS) implementa:  Gravações em um arquivo aberto, visível imediatamente a outros usuários do mesmo arquivo aberto  Compartilha ponteiro de arquivo para permitir que múltiplos usuários leiam e gravem simultaneamente AFS tem semântica de sessão  Gravações visíveis apenas a sessões começando após o arquivo ser fechado

10.38 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Proteção  Owner/creator do arquivo deve ser capaz de controlar: o que pode ser feito por quem  Tipos de acesso Read Write Execute Append Delete List

10.39 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Listas e grupos de acesso  Modo de acesso: read, write, execute  Três classes de usuários RWX a) acesso owner 7  RWX b) acesso group6  RWX c) acesso public 1   Peça ao gerente para criar um grupo (nome exclusivo), digamos G, e inclua alguns usuários ao grupo  Para determinado arquivo (digamos, jogo) ou subdiretório, defina um acesso apropriado. ownergrouppublic chmod761jogo Anexe um grupo a um arquivo chgrp G jogo

10.40 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Gerenciamento de lista de controle de acesso no Windows XP

10.41 Silberschatz, Galvin and Gagne ©2007 Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Exemplo de listagem de diretório no UNIX

Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Final do Capítulo 10