18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara.

Slides:



Advertisements
Apresentações semelhantes
Software Básico Entrada/Saída Capítulo 2 Mitsuo Takaki
Advertisements

Gerência de Entrada e Saída (Aula 24)
Capitulo 6: Entrada e Saída
Aula 5 – Anatomia da Placa-Mãe
Modos de Transferência Acesso Direto à Memória (DMA)
Arquitetura de Computadores
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 06: Funções.
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Sistemas operacionais
Sistemas operacionais
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Arquiteturas de Barramento
Entrada e Saída Introdução.
Técnicas para operações E/S
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Profa. Priscila Facciolli
4. Input / Output.
ARQUITETURA DE COMPUTADORES II
William Stallings Arquitetura e Organização de Computadores 8a Edição
Curso de ADMINISTRAÇÃO
Gerenciamento de Arquivos, Páginas e Registros
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Sistemas Operacionais II - Sistemas de Arquivos -.
EXPRESSÕES ARITMÉTICAS
Problemas com Entrada e Saída
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC541 - SISTEMAS OPERACIONAIS I Aula.
SSC541 - SISTEMAS OPERACIONAIS I Aula 13 – Gerenciamento de Memória
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC541 - SISTEMAS OPERACIONAIS I Aula.
Maria Aparecida Castro Livi
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 Operacionais
Estruturas de Controle
UNIX.
Aula 4 Nomes, Vinculações, Tipos e Escopos
Sistemas Operacionais SISTEMA DE ENTRADA E SAÍDA
Listas Encadeadas.
Sistemas Operacionais
Arquitetura de Computadores
Sistemas Operacionais I
Sistemas Operacionais
Sistemas Operacionais
Barramentos de Expansão ISA, PCI, AGP e PCI Express
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Arquitetura de computadores
Conteúdo Processos e threads Partes do processo
Entrada e Saída (E/S ou I/O)
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Agenda Entrada e Saída.
Infra-Estrutura de Software
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
Olhe fixamente para a Bruxa Nariguda
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
Computação L1: Infra-Estrutura Básica
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Montagem e Manutenção de Computador I Curso Técnico em Rede de Computadores Aula 05.
Sistemas Operacionais
Entrada e Saída (E/S).
Sistemas Operacionais: Sistema de Arquivos
Subsistema de Entrada e Saída do Kernel
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Sistemas Operacionais IV – Gerenciamento de E/S
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Transcrição da apresentação:

18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara Gonçalves DIN - UEM

18/02/13 FAFIMAN 2 Gerenciamento de Arquivos Terminologia Disco Controladores Drivers do SO Rotinas do SO Rotinas do usuário Interrupções Arquivos (descritores, tipos) Diretórios Cache de blocos do disco Algoritmos de alocação de espaço livre e ocupado

18/02/13 FAFIMAN 3 Diretórios

18/02/13 FAFIMAN 4 Diretório de Nível Simples

18/02/13 FAFIMAN 5 Diretório de Dois Níveis

18/02/13 FAFIMAN 6 Diretórios em Árvores

18/02/13 FAFIMAN 7 Diretórios em Grafos Acíclicos

18/02/13 FAFIMAN 8 Gerenciamento de Espaço Livre em Disco Mapa de Bits Lista Encadeada de Blocos Livres Tabela (Bloco) de Endereços de Blocos Livres Tabela de Blocos Livres Contíguos

18/02/13 FAFIMAN 9 Mapa de Bits Cada bloco é representado por 1 bit Fácil procura de n blocos livres consecutivos Gasto de disco para armazenar o mapa de bits Em uma única leitura no disco (leitura do mapa de bits), é possível saber a situação de um grande número de setores

18/02/13 FAFIMAN

18/02/13 FAFIMAN 11 Lista Encadeada de Blocos Livres

18/02/13 FAFIMAN 12 Tabela (Bloco) de Endereços de Blocos Livres Cada bloco é acessado por 1 ponteiro. Existe uma tabela com ponteiros para todos os blocos livres Difícil procura de n blocos livres consecutivos com custo médio entre o Mapa de Bits e a Lista de Blocos Livres Gasto de disco para armazenar os ponteiros com a exigência de blocos de discos específicos para esta finalidade

18/02/13 FAFIMAN 13 Tabela (Bloco) de Endereços de Blocos Livres

18/02/13 FAFIMAN 14 Tabela de Blocos Livres Contíguos Existe uma tabela onde cada entrada controla uma seqüencia de blocos livres Fácil procura de n blocos livres consecutivos Semelhante ao mapa de bits: não tão econômico mas sem a necessidade de cálculo da posição final do bloco. Quanto mais disjuntos os blocos livres maior a tabela

18/02/13 FAFIMAN 15 Tabela de Blocos Livres Contíguos

18/02/13 FAFIMAN 16 Pergunta 1 Na tabela de blocos livres contiguos, do exemplo anterior, como poderia a mesma ser atualizada, se o SO alocasse 2 setores da segunda sequência?

18/02/13 FAFIMAN 17 Pergunta 2 Em quais situações cada método poderá gastar mais espaço de controle/gerenciamento do que os demais?

18/02/13 FAFIMAN 18 Gerenciamento de Espaço Ocupado em Disco Alocação Contígua Alocação Ligada Alocação Indexada

18/02/13 FAFIMAN 19 Alocação Contígua

18/02/13 FAFIMAN 20 Alocação Ligada

18/02/13 FAFIMAN 21 Alocação Indexada

18/02/13 FAFIMAN 22 Escalonamento de Disco Tempos Importantes Deslocamento (seek) Rotação Transferência Algoritmos Comuns FIFO/FCFS SSTF SCAN (elevador)

18/02/13 FAFIMAN 23 Exemplo: Posição Inicial = 53 Ordem das Solicitações = 98, 183, 37, 122, 14, 124, 65 e 67

18/02/13 FAFIMAN 24 Gerenciamento de Arquivos no DOS FAT (File Allocation Table) - 1 Disco é dividido em boot, FAT, diretório e cluster de dados A FAT trabalha semelhante ao Mapa de Bits, para gerenciamento de espaço livre, e como Alocação Indexada (Bloco de Índices Único), para a alocação de espaço ocupado, onde as 2 primeiras entradas são reservadas e as demais são associadas a clusters do disco, em ordem. A 3 o entrada é associada ao 1 o cluster de dados, a 4 o entrada ao 2 o cluster e assim por diante.

18/02/13 FAFIMAN 25 Gerenciamento de Arquivos no DOS FAT (File Allocation Table) - 2 Assim, o cluster n é associado a entrada de índice (n+2) da FAT No diretório, cada arquivo mantém o valor da entrada na FAT relativo ao seu primeiro cluster de dados Cada entrada da FAT pode conter : 0, indicando disponibilidade do cluster endereço do próximo cluster de algum arquivo código de fim, indicando que o cluster associado é o último de algum arquivo.

18/02/13 FAFIMAN 26 Visão Geral do Disco Formatado

18/02/13 FAFIMAN 27 Controle de Espaço Livre na FAT

18/02/13 FAFIMAN 28 Alocação de Espaço Ocupado na FAT

18/02/13 FAFIMAN 29 Sistema de Arquivos do UNIX Diretório hierárquico iniciado no root Os diretórios principais são subsistemas de arquivos separados mas subordinados ao root e podem ser montados no mesmo disco do root ou em discos diferentes Um sistema de arquivos pode ser ligado como diretório de um outro sistema de arquivos através de mount Contém superbloco, vetor de i-nodes, blocos de dados e blocos livres.

18/02/13 FAFIMAN 30 Subsistemas de Arquivos do UNIX

18/02/13 FAFIMAN 31 Características Gerais Um mesmo arquivo físico pode aparecer em mais de uma entrada no diretório, com nomes #s (links) Os links no diretório apontam para os i-nodes que por sua vez apontam para os arquivos físicos O arquivo desaparece quando o último link é removido

18/02/13 FAFIMAN 32 TDA - Tabela de Descritores de Arquivos TAS - Tabela de Arquivos do Sistema e Cada usuário contém uma TDA com informações de todos os seus arquivos. Cada entrada da TDA aponta para uma entrada da TAS A TAS representa o diretório do sistema e contém uma entrada para todos os arquivos do sistema. A TODA representa o diretório do usuário. Cada entrada da TAS possui um ponteiro para o i-node (descritor) do arquivo O i-node é uma estrutura contendo

18/02/13 FAFIMAN 33 identificação do usuário e grupo proprietários bits de proteção locador de blocos (contém endereços físicos do disco para os conteúdos do arquivo) tamanho do arquivo tempo de criação tempo da última modificação número de links do arquivo indicador que diz se o arquivo é um arquivo comum, diretório, arquivo de dispositivo ou pipe

18/02/13 FAFIMAN 34 Componentes do Diretório

18/02/13 FAFIMAN 35 Locador De Blocos

18/02/13 FAFIMAN 36 Exercícios para Entregar Analise os desempenho de cada algoritmo de escalonamento de disco para a seguinte situação: Posição Inicial = 70 Ordem das Solicitações = 198, 1, 6, 183, 38, 71, 72, 3, 140, 50 Explique o esquema de gerenciamento de arquivos no DOS Explique o esquema de gerenciamento de arquivos no UNIX

18/02/13 FAFIMAN 37 Gerenciamento de E/S Principais Atividades Gerenciamento do espaço de nomes dos dispositivos Controle de acesso aos dispositivos Alocação de espaço e alocação de dispositivos Gerenciamento de áreas temporárias, cache e spool Escalonamento das solicitações de E/S Controle de status, erro e recuperação Configuração das rotinas de controle dos dispositivos

18/02/13 FAFIMAN 38 Tipos e Componentes Tipos de Dispositivos Blocos (endereçáveis – permite seek) HDs, CDs, Floppys... Caracteres (fluxo contínuo – não permite seek) Impressoras, Terminais... Componentes Componente Eletro-Mecânico (acionador) Componente Eletrônico (adaptador, controlador) Software Controlador (driver)

18/02/13 FAFIMAN 39 Taxas de Transmissão

18/02/13 FAFIMAN 40 Controladores ou Adaptadores Modos de Endereçamento E/S Programada E/S Dirigida por Interrupção E/S Usando DMA

18/02/13 FAFIMAN 41 Endereçamento Direto Os controladores podem ser acessados através de seus registradores de controle os quais tem portas (endereços) associadas, usando instruções especiais do tipo IN e OUT. Ex: IN REG, PORT /* lê um dado do controlador */ OUT PORT, REG /* escreve um dado no controlador */

18/02/13 FAFIMAN 42 Endereçamento Mapeado na Memória Os controladores podem ser acessados através de seus registradores de controle os quais são mapeados em endereços convencionais de memória, usando instruções convencionais do tipo LOAD e STORE. Ex: LOAD REG, (END) /* lê um dado do controlador */ STORE (END), REG /* escreve um dado no controlador */

18/02/13 FAFIMAN 43 Vantagens Acesso pode ser feito em código de alto nível, pois estes endereços podem ser acessados como variáveis comuns. Não requer mecanismo especial de proteção, pois estes endereços podem ser mapeados no espaço de memória virtual de cada usuário. Desvantagens Memórias podem ser cacheadas e com isso os programas podem estar acessando a cache ao invés do dispositivo. Como o espaço de endereçamento é único, todos os módulos de memória e todos os dispositivos de E/S devem examinar todas as referências a memória para identificar cada um as suas.

18/02/13 FAFIMAN 44 Endereços de Portas Tradicionais em PCs

18/02/13 FAFIMAN 45 E/S Programada A cada solicitação da CPU para um dispositivo de E/S, a própria CPU deve checar junto ao dispositivo (em um loop) se a sua solicitação já foi ou não atendida, ou melhor, se o dispositivo já está pronto ou não para realizar uma próxima operação. Esta espera pela CPU é conhecida como espera ocupada (busy waiting ou polling) e consome tempo desnecessário da CPU.

18/02/13 FAFIMAN 46 Exemplo copia_do_usuario (buffer, p, contador); for (i=0; i < contador; i++) { while (*reg_status_impressora != PRONTO); *reg_dado_impressora = p[i]; } retorna_para_usuario(); Obs: buffer é do usuário, p é do núcleo

18/02/13 FAFIMAN 47 E/S Dirigida por Interrupção Neste caso, após o driver ter solicitado a operação de E/S ao controlador do dispositivo, a CPU prossegue a execução de outras atividades e não pergunta pelo término da E/S. Quando o dispositivo terminar a sua operação, ele interrompe a CPU para avisá-la do término e que está pronto para atender outra solicitação.

18/02/13 FAFIMAN 48 Interrupção de Hardware e Software (Trap)

18/02/13 FAFIMAN 49 Hardware de Interrupção

18/02/13 FAFIMAN 50 Vetor de Interrupções

18/02/13 FAFIMAN 51 Interrupção Precisa Ocorre quando a máquina fica em um estado bem definido após uma interrupção, sendo que: O PC deve ser salvo em lugar conhecido (pilha) Todas as instruções anteriores aquela apontada pelo PC devem ser executadas completamente Nenhuma instrução após aquela apontada pelo PC deve ser executada com aproveitamento O estado da execução da instrução apontada pelo PC deve ser conhecido

18/02/13 FAFIMAN 52 Exemplo do funcionamento básico de um dispositivo de caractere com buffering

18/02/13 FAFIMAN 53 Ciclo de E/S com Interrupção - Visão Geral -

18/02/13 FAFIMAN 54 Ciclo de E/S com Interrupção - Visão Mais Detalhada -

18/02/13 FAFIMAN 55 E/S com DMA (Direct Access Memory) Usa-se DMA para evitar que a CPU transfira byte a byte grandes quantidades de dados. A CPU informa ao controlador DMA o início, o fim e o número de bytes que deseja transferir (por ex: do disco para a memória) e prossegue com outra atividade. O DMA também prossegue transferindo sem a ajuda da CPU, usando o barramento e quando termina interrompe a CPU.

18/02/13 FAFIMAN 56 Observações Quando o DMA usa o barramento da memória, a CPU fica momentaneamente impedida de usar a memória principal, embora ela possa ainda usar suas caches. Placas de E/S com gerenciamento de uso de barramento contém normalmente seu próprio hardware de DMA de alta velocidade.

18/02/13 FAFIMAN 57 Organização DMA CPUMEMÓRIA : Controlador do Disco c/ DMA buffer end. da memória end. do bloco nro de bytes Disco

18/02/13 FAFIMAN 58 Tipos de Barramentos ISA (industry Standard Architecture) Original do PC/AT da IBM Opera a 8.33 MHz Pode transferir 2 bytes por vez a uma velocidade máxima de 16,67 MB/s Possui compatibilidade com dispositivos mais lentos

18/02/13 FAFIMAN 59 Tipos de Barramentos PCI (Peripheral Component Interconnect) Sucessor do ISA - Inventado pela Intel Pode operar a 66 MHz Pode transferir 8 bytes por vez a uma velocidade de 528 MB/s Maioria dos dispositivos de E/S de alta velocidade usam PCI

18/02/13 FAFIMAN 60 Tipos de Barramentos USB (Universal Serial Bus) Para ligar dispositivos lentos (teclado, mouse) Controlador centralizado que varre a cada 1 ms para ver se existe tráfego Pode transmitir até 1,5 MB/s serialmente Driver único para todos dispositivos conectados Não precisam de reboot para nova adição

18/02/13 FAFIMAN 61 Tipos de Barramentos SCSI (Small Computer System Interface) Barramento de alto desempenho para dispositivos que precisam de alta taxa de transferência tais como discos e scanners. Pode transferir até 160 MB/s Presente no Macintosh Apple desde sua criação e é muito popular em ambientes UNIX

18/02/13 FAFIMAN 62 Tipos de Barramentos Barramento IEEE 1394 Chamado as vezes de FireWire Usado em equipamentos Macintosh Apple Pode transmitir até 50 MB/s serialmente Útil para conectar câmeras de vídeo digital Não tem controlador centralizado

18/02/13 FAFIMAN 63 Facilidade Plug and Play Como era antes? O próprio sistema (BIOS) detecta os dispositivos e configura seus valores para interrupção e endereços de portas de E/S e então informa estes valores para cada controlador de dispositivo. Você pode eventualmente ter ainda controladores antigos com valores pré-fixados.

18/02/13 FAFIMAN 64 Estrutura Possível de um Pentium

18/02/13 FAFIMAN 65 Relógios e Temporizadores Funções básicas Informar o instante atual Informar intervalo de tempo decorrido Ajustar temporizador para iniciar certa operação em certo instante de tempo Hardware (temporizador programável): pode ser programado para gerar uma interrupção após certo intervalo de tempo Taxa comum de 18 a 60 interrupções/s Note: Um processador moderno pode executar centenas de milhões de instruções/s

18/02/13 FAFIMAN 66 Como melhorar o desempenho da E/S Reduzir trocas de contextos Reduzir número de vezes que dados são copiados na MEM na transferência entre dispositivo e programa Reduzir freqüência das interrupções usando grandes transferências Aumentar concorrência usando DMA e canais específicos de E/S para reduzir o número de cópias feitas pela CPU