A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "18/02/13 FAFIMAN 1 Sistemas Operacionais: Gerenciamento de Arquivos Prof. Leandro Magno Material gentilmente cedido pelo prof. Dr. Ronaldo Augusto de Lara."— Transcrição da apresentação:

1 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

2 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

3 18/02/13 FAFIMAN 3 Diretórios

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

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

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

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

8 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

9 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

10 18/02/13 FAFIMAN

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

12 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

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

14 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

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

16 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?

17 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 18/02/13 FAFIMAN 18 Gerenciamento de Espaço Ocupado em Disco Alocação Contígua Alocação Ligada Alocação Indexada

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

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

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

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

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

24 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.

25 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.

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

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

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

29 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.

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

31 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

32 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

33 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

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

35 18/02/13 FAFIMAN 35 Locador De Blocos

36 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

37 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

38 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)

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

40 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

41 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 */

42 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 */

43 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.

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

45 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.

46 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

47 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.

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

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

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

51 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

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

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

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

55 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.

56 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.

57 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

58 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

59 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

60 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

61 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

62 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

63 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.

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

65 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

66 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


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

Apresentações semelhantes


Anúncios Google