Sistemas Operacionais Adriana Vettorazzo

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Arquitetura de Sistemas Operacionais
DESENVOLVIMENTO DE SISTEMAS PARA INTERNET
DESENVOLVIMENTO DE SISTEMAS PARA INTERNET
Sistemas operacionais
Sistemas operacionais
Sistemas operacionais
Sistema de Arquivos - PROTEÇÃO DE ARQUIVOS
Ambientes Operacionais
Arquitetura de Sistemas Operacionais Francis Berenger Machado
Sistemas Operacionais II - Sistemas de Arquivos -.
Indexação e Hashing Muitas consultas referenciam apenas uma pequena porção dos registros em uma tabela. Portanto necessitamos ser capaz de localizar estes.
Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios
Softwares.
Discos rígidos. Os discos tem uma superfície superior e uma inferior. A informação é, geralmente, armazenada em ambas as superfícies. O tamanho e o número.
Threads.
Sistemas Operacionais I
Gerência de Memória.
Sistemas Operacionais I
Sistemas Operacionais
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.
Sistemas Operacionais Gerenciamento de Memória
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Sistemas Distribuídos
SISTEMAS OPERACIONAIS
Sistemas Operacionais
Universidade Católica de Pelotas Mestrado em Ciência da Computação
Gerência de Memória Virtual
Conteúdo Processos e threads Partes do processo
Algoritmos e Estruturas de Dados I – Ponteiros
Sistemas Operacionais
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
Sistemas Operacionais
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 11: Implementação de Sistemas de Arquivos.
Capítulo V – Comandos de Entrada e Saída 5.1 – Equipamentos de entrada e saída 5.2 – Saída no vídeo-texto 5.3 – Entrada pelo teclado 5.4 – Entrada e saída.
SISTEMAS OPERACIONAIS I
Sistemas Operacionais: Sistema de Arquivos
Módulos de um sistema operativo
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 10: Interface de Sistemas de Arquivos.
Sistemas Operacionais
Sistemas Operacionais Aula 15 Sistema de Arquivos
Subsistema de Entrada e Saída do Kernel
Introdução a Sistemas de Arquivos. Sistema de Arquivos Definições O que é? Um sistema de arquivos é a estrutura lógica utilizada pelo computador para.
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Gerenciamento de Memória - Capítulo 7 - Sistemas Operacionais Prof. Dr. José Carlos Becceneri Luciana Sêda Cardoso.
Engenharia de Controle e Automação Computação Para Engenharia Semana /02/2013 Professor Leomir J. Borba- –
Gerenciamento de Arquivos
Aula – Sistemas Operacionais
Sistemas de Arquivos- Cap4
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Sistemas Operacionais IV – Gerenciamento de E/S
Sistemas de Arquivos. Alocação em memória – Problemas Quantidade Limitada de Informações Perda de informações quando o processo é terminado Vários processos.
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
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 Gerenciamento de Memória Capítulo Gerenciamento básico de memória 3.2 Troca de processos.
Sistemas Operacionais Sistemas de Arquivos Prof. José Queiroz - ZEQUE.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Alocação Dinâmica Dilvan Moreira. Objetivos  Entender o que são e como usar:  Gerenciamento de Memória  Alocação Dinâmica em C.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Transcrição da apresentação:

Sistemas Operacionais Adriana Vettorazzo Sistema de Arquivos Sistemas Operacionais Adriana Vettorazzo

Funções de um SO Gerência de Processos Gerência de Memória Gerência de Arquivos Gerência de I/O

Introdução Os arquivos são gerenciados pelo sistema operacional e é mediante a implementação de arquivos que o sistema operacional estrutura e organiza as informações. A parte do sistema responsável pela gerência é denominada sistema de arquivo que é a parte mais visível do sistema operacional pois é uma atividade freqüentemente realizada pelos usuários. Deve ocorrer de maneira uniforme independente dos diferentes dispositivos de armazenamento.

Introdução O Sistema de Arquivos é a parte do SO mais visível para os usuários; Arquivos são normalmente implementados a partir de discos magnéticos; Como um acesso a disco demora cerca de 10000 vezes mais que um acesso à memória, são necessárias estruturas de dados e algoritmos que otimizem os acessos ao disco.

Introdução Sistemas de Arquivos implementam um recurso em software que não existe em hardware. O Hardware oferece apenas espaço em disco na forma de setores para serem acessados individualmente de forma aleatória.

Introdução Fazendo analogias, o sistema de arquivos assemelha-se à organização de uma biblioteca; O bibliotecário (sistema operacional) organiza os livros (arquivos) por assuntos (diretórios); A organização deve ser de tal forma que a busca (métodos de busca) seja eficiente ; O armazenamento é feito de forma que se tenha uma economia de espaço na prateleira (dispositivos de armazenamento secundário);

Tipos de Arquivos Diferentes tipos de informações podem ser armazenados em um arquivo: programas fonte, texto, dados numéricos, som, imagem, vídeo, etc; Cada arquivo possui uma estrutura interna, conforme sua aplicação; O SO limita-se a conhecer as informações contidas no Registro Descritor do Arquivo;

No início.... Sistemas baseados em Fitas

Sistemas baseados em Fita No início cada arquivo era mapeado para uma única fita; (desperdício de espaço); Para resolver o desperdício, foi desenvolvido o sistema de arquivamento Multi-volume; (vários arquivos em uma única fita);

Sistemas baseados em Fita Para acessar precisava do nome do arquivo e sua posição na fita. Para um programa poder trabalhar simultaneamente com dois arquivos, eles tinham que estar em fitas diferentes.

Sistemas baseados em Disco

Sistemas baseados em Disco Um disco é dividido em Trilhas; Uma trilha é dividido em Setores; Possuem discos sobrepostos; SO trata o disco como um grande vetor unidimensional de blocos numerados de 0 até N-1;

Sistemas baseados em Disco Para acessar um um setor: informar face, trilha e setor desejado as cabeças de leitura e gravação são deslocadas até a trilha correta (tempo de seek), o cabeçote da face correta é selecionado eletronicamente; esperar até o setor desejado passar por baixo do cabeçote (tempo de latência);

Sistemas baseados em Disco http://www.youtube.com/watch?feature=endscreen&v=kdmLvl1n82U&NR=1 http://www.youtube.com/watch?v=JAVIdoN5Yac

Hierarquia de Dados

Hierarquia de Dados Informações são armazenadas em computadores segundo uma hierarquia de dados: Campo: é um grupo de caracteres (nome, endereço, nr de telefone); Registro: é um conjunto de Campos; Arquivo: é um grupo de registros relacionados; O nível mais alto é o Sistema de Arquivo que são coleções de arquivos ou dados. Volume: Representa uma unidade de armazenamento de dados.

Hierarquia de Dados

Hierarquia de Dados Pastas ou diretórios Além da estrutura externa, ainda é necessário adaptarmos internamente o espaço, visando melhor organização e otimização do local.

Hierarquia de Dados Pastas ou diretórios Pegando como exemplo o edifício mencionado anteriormente, ainda seria necessário que os andares (comparados a partições de um meio físico) fossem divididos em apartamentos.

Hierarquia de Dados Pastas ou diretórios Esses seriam considerados pastas, numa visão computacional. A divisão interna dos apartamentos (cozinha, quarto, sala) as subpastas.

Hierarquia de Dados Arquivos – Dados que geram funcionalidades Os drives e as pastas servem apenas para organizar uma estrutura. O que tornará o sistema de arquivos funcional serão os arquivos, os quais estarão abrigados dentro de locais específicos.

Hierarquia de Dados Arquivos – Dados que geram funcionalidades Alguns deverão estar sempre no mesmo local (arquivos que são organizados pelo próprio sistema operacional); Outros consistem em dados que seguem o livre arbítrio do usuário (arquivos de texto, planilhas, imagens, instalações personalizadas de programas, etc.).

Hierarquia de Dados Arquivos – Dados que geram funcionalidades Os arquivos poderiam ser comparados a determinadas mobílias e objetos, muitos exigem um local específico dentro da estrutura outros não. (ex.: um chuveiro), Isso também ocorre no computador, em que determinados arquivos devem constar em pastas específicas (configurações do sistema operacional seria um bom exemplo), e outros podem ser submetidos às decisões do utilizador (arquivos pessoais, programas, entre outros).

Hierarquia de Dados

Arquivo São recipientes que contém dados Coleção de dados relacionados entre si Referenciados através de nomes Possuem atributos mantidos pelo SO como: tipo momento da criação tamanho nome do criador

Identificação de Arquivo É identificado por meio de um nome, formado por uma seqüência de caracteres. A identificação de um arquivo é composta por duas partes separadas por um ponto, a parte após o ponto é chamada extensão do arquivo e serve para identificar o conteúdo. Nomearq.ext

Tipos de Arquivos Cada arquivo possui uma estrutura interna, conforme sua aplicação: Um arquivo texto (.doc) é composto por uma sequência de caracteres organizados em linhas e parágrafos um programa executável é uma sequência de bytes representando instruções em código de máquina um programa fonte é uma sequência de caracteres que representam comandos de uma linguagem de programação E como vimos...o SO limita-se a conhecer somente as informações contidas no Registro Descritor.

Tipos de Arquivos arquivo.doc arquivo.cob arquivo.exe arquivo.obj Extensão Descrição arquivo.doc arquivo.cob arquivo.exe arquivo.obj arquivo.pas arquivo.txt arquivo.mp3 arquivo.dll arquivo.cdr Arquivo de texto Arquivo fonte em Cobol Arquivo executável Arquivo objeto Arquivo fonte em Pascal Arquivo texto Arquivo de música Arquivo de biblioteca dinâmica Arquivo Corel Draw - vetorial

Sistemas de Arquivos Um SA organiza arquivos e gerencia o acesso aos dados. Eles são responsáveis por: Gerenciamento de arquivos; Gerenciamento de armazenamento; Mecanismos de integridade do arquivo; Métodos de acesso

Sistemas de Arquivos Gerenciamento de arquivos Fornecer mecanismos para que os arquivos sejam armazenados, compartilhados e fiquem em segurança.

Sistemas de Arquivos Gerenciamento de armazenamento Alocar espaço para arquivos em dispositivos de armazenamento secundário

Sistemas de Arquivos Mecanismos de integridade do arquivo Garantir que as informações armazenadas em um arquivo não sejam corrompidas.

Sistemas de Arquivos Métodos de acesso Como os dados armazenados podem ser acessados.

Suporte a Arquivos

Suporte a Arquivos O SO permite realizar um conjunto de operações sobre arquivos; Essas operações são solicitadas através de chamadas de sistema.

Suporte a Arquivos O que o SO deve fazer para realizar as diversas operações sobre arquivos: criar um arquivo escrever no arquivo ler o arquivo remover o arquivo Alterar lista de usuários que podem acessar os arquivos

Operações em Arquivos Criar um arquivo: necessita de dois passos: encontrar e alocar espaço suficiente no disco; adicionar uma entrada no diretório para conter as informações referentes ao arquivo (nome, tamanho, localização, ...)

Operações em Arquivos Escrever no Arquivo: para escrever em um arquivo o usuário executa uma chamada de sistema fornecendo o nome do arquivo; O sistema procura através do nome, a localização do arquivo no disco e a posição do ponteiro que indica o final do arquivo.

Operações em Arquivos Ler o Arquivo: o usuário executa uma chamada de sistema fornecendo o nome do arquivo e a posição da memória principal para onde as informações serão copiadas

Operações em Arquivos Remover o Arquivo: Diretório é pesquisado; O espaço alocado é liberado e a entrada correspondente é removida do diretório; Libera o espaço em disco ocupado pelo arquivo.

Operações em Arquivos Todas as operações sobre um arquivo envolvem uma pesquisa no diretório em busca da entrada correspondente ao arquivo desejado. Cada entrada do diretório, corresponde a um Descritor de Arquivo O descritor contém todas as informações necessárias para a manipulação do arquivo (nome, extensão, tamanho, datas, usuários, etc)

Tabela de Descritores de Arquivos Abertos (TDAA) O acesso a um arquivo é feito através do seu descritor Para evitar a pesquisa freqüente ao disco, o SO mantém na memória uma Tabela de Descritores de Arquivos Abertos; Assim, sempre que uma operação é solicitada, apenas a TDAA é pesquisada.

Tabela de Descritores de Arquivos Abertos (TDAA) O arquivo é aberto quando ele começa a ser utilizado (desse modo, todas as informações sobre os arquivos em uso são mantidas na memória principal) Para cada arquivo há apenas uma entrada na TDAA; Assim que o processo termina o DA é atualizado em disco e a entrada da TDAA é liberada.

TDAA e TAAP Um mesmo arquivo pode ser utilizado simultaneamente por vários processos Por isso, cada entrada da TDAA contém uma indicação de quantos processos estão utilizando o arquivo correntemente

TDAA e TAAP O mesmo arquivo pode estar sendo acessado por diferentes processos em pontos diferentes e com direitos de acesso diferentes Por isso, cada processo contém uma tabela extra com informações apenas sobre os arquivos abertos por esse processo. Essa tabela é denominada Tabela de Arquivos Abertos por Processo (TAAP)

Tabela de Arquivos Abertos por Processo (TAAP) No mínimo, a TAAP contém em cada entrada as seguintes informações: Posição corrente no arquivo; Tipo de acesso (apenas leitura ou leitura e escrita); Apontador para a entrada correspondente na TDAA.

TDAA e TAAP

Controle de Acesso Em Sistemas Multiusuários é importante controlar o acesso aos arquivos; O controle de acesso inicia com a identificação dos usuários. Isso é feito através de usuário e senha; O SO valida os dados e a partir daí o usuário passa a ter os direitos de acesso associados ao seu perfil.

Controle de Acesso Exemplo: Usuário Direito Professor Leitura e escrita Secretária Leitura Aluno Leitura As permissões podem ser feitas por usuário ou cria-se grupos de usuários. As permissões serão dadas ao grupo.

Métodos de Acesso Método de acesso diz respeito à forma como o conteúdo de um arquivo é acessado.

Métodos de Acesso Acesso seqüencial Acesso direto Acesso indexado

Acesso Sequencial A leitura sempre acessa o próximo registro e avança um ponteiro sobre o arquivo. Este ponteiro indica qual a próxima posição a ser lida. Método muito usado Compiladores, impressão de arquivos Copiar o conteúdo de um arquivo para outro correspondente, há uma leitura seqüencial do arquivo origem e escrita seqüencial no arquivo destino.

Acesso Seqüencial

Acesso Direto Uma sequência numerada de registros; Qualquer registro pode ser diretamente lido ou escrito; Programa inclui na chamada de sistema qual a posição a ser lida;

Acesso Direto

Acesso indexado Envolve a construção de índices nos descritores de arquivos; Usa como base o serviço de acesso direto

Métodos de Alocação

Métodos de Alocação Na maioria das vezes muitos arquivos estarão armazenados no mesmo disco; O espaço para alocar estes arquivos necessita de organização para utilização mais eficiente do disco; Os arquivos precisam ser acessados rapidamente.

Métodos de Alocação Métodos principais de alocação de espaço em disco: Contígua Encadeada Indexada

Gerência do Espaço Livre Espaço em disco é limitado, por isto é necessário reaproveitar todo o espaço disponível; Lista de setores livres: mantida pelo SO para controlar os espaços livres no disco; Para criar um arquivo o espaço necessário é obtido da lista; Mapa de Bit

Métodos de Alocação Métodos principais de alocação de espaço em disco: Contígua Exige que cada arquivo ocupe um conjunto de setores contíguos; Podem ser acessados de forma sequencial e direto; Desvantagem? Os algoritmos que podem ser utilizados (First-fit, best-fit e worst-fit)

Desfragmentação Mover arquivos para reagrupar os fragmentos em espaços maiores; Visa permitir alocar arquivos maiores; Deve ser feita periodicamente;

Estratégias de desfragmentação Situação inicial Moveu 6 blocos Moveu 4 blocos Moveu 2 blocos

Desfragmentação

Métodos de Alocação Métodos principais de alocação de espaço em disco: Encadeada Corresponde a uma lista encadeada de blocos; Qualquer setor do disco, independente da posição pode ser aproveitado; Cada setor contém o endereço do setor seguinte;

Métodos de Alocação Métodos principais de alocação de espaço em disco: Encadeada Acesso apenas Sequencial; Qualquer setor do disco poderá ser utilizado; Problemas de Confiabilidade;

Endereço do Bloco Inicial Quantidade de Blocos Em cada bloco há o endereço do bloco seguinte

Métodos de Alocação Métodos principais de alocação de espaço em disco: Indexada Cada arquivo possui uma tabela de índices; Cada entrada dessa tabela contém o endereço de um dos blocos físicos que formam o arquivo;

Nr.do bloco físico Aponta para o Nr. Lógico. Sequência indexada do Arquivo.

Sistema de Diretórios

Sistema de Diretórios Sistemas de Diretórios diz respeito às possíveis formas de organizar os diretórios.

Sistema de Diretórios Diretório de nível único Diretório de dois níveis Diretórios em forma de árvore

Diretório de Nível Único Todos os arquivos fazem parte do mesmo diretório; Problemas de organização no caso de muitos arquivos. É necessário nome único para cada arquivo

Diretório de Dois Níveis Criam-se diretórios separados para cada usuário; No diretório principal mantém-se apenas os endereços dos diretórios dos usuários; Nos diretórios de usuários mantém-se informações sobre os arquivos;

Diretório de Dois Níveis Quando o usuário faz referência a um arquivo apenas seu diretório é pesquisado; Não há mais problemas com nomes de arquivos; Proteção contra acessos indevidos; Criação de um diretório especial com programas e utilitários do sistema;

Diretórios Estruturados em Árvore Os usuários podem criar seus próprios sub-diretórios para organizar seus arquivos; A árvore possui um diretório raiz; Cada arquivo possui um pathname (nome do arquivo composto pelos nomes de diretórios que formam o caminho da raiz até ele)

Diretórios Estruturados em Árvore Pathname podem ser completos ou relativos; Completo, inicia na raiz e vai até o arquivo a ser identificado; Relativo, começa no diretório corrente;

Proteção dos Arquivos

Proteção dos Arquivos Quando a informação é mantida em um computador, ela deve ser protegida contra dano físico (confiabilidade) e acesso indevido (proteção).

Proteção dos Arquivos Confiabilidade: obtêm-se criando cópias dos arquivos Back up Proteção: obtêm-se impossibilitando o acesso por outros usuários tipos de acesso: leitura, gravação, execução, criação e remoção;

Proteção dos Arquivos Operações de leitura, gravação e execução envolvem acesso a arquivos; Operações de criação e remoção envolvem acesso a diretórios; O método de proteção bastante utilizado é vincular o acesso à identificação do usuário ou de grupos de usuários.

Questões de Implementação

Questões de Implementação Um sistema de arquivos envolve dois problemas diferentes: Como o SA deve aparecer para o usuário; Quais algoritmos e estruturas de dados serão usados para mapear o SA lógicos visto pelo usuário;

Questões de Implementação Conceitualmente, um sistema de arquivos é dividido em três níveis de serviço: serviço de disco serviço de arquivo básico serviço de diretório

Níveis de Serviço Serviço de disco: responsável pela leitura e escrita de setores diretamente no disco, sem se preocupar com a organização dos arquivos; Serviço de arquivo básico: lida com a abstração de arquivos, compostos por um conjunto de registros (blocos). Operações básicas do tipo leitura e escrita a partir de uma determinada posição do arquivo;

Níveis de Serviço Serviço de diretório: preocupa-se com a identificação e proteção de arquivos descritos a partir de diretórios, de forma que eles sejam acessados de forma segura e conveniente. Os diretórios mapeiam nomes simbólicos em identificadores numéricos utilizados pelo serviço de arquivos (camada de baixo)

Níveis de Serviço Usuários Serviço de Diretório Serviço de Arquivo Serviço de Disco Serviço de Arquivo Básico Serviço de Diretório Usuários