Fundamentos de Sistemas Operacionais



Documentos relacionados
Notas da Aula 16 - Fundamentos de Sistemas Operacionais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Memória Secundária. Prof. Valeria M. Bastos 18/06/2012 Prof. Antonio Carlos Gay Thomé

Sistemas Operacionais Gerência de Dispositivos

Capítulo 5 Gerência de Dispositivos

Sistemas Operacionais

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks )

Sistemas Operacionais

O que é RAID? Tipos de RAID:

FORMATAÇÃO DE DISCO SETORES

Armazenamento Secundário. SCE-183 Algoritmos e Estruturas de Dados II

AVALIAÇÃO À DISTÂNCIA 1 GABARITO

Gerenciador de Entrada/Saída

Motivação. Sumário. Hierarquia de Memória. Como registramos nossas histórias (num contexto amplo)?

Admistração de Redes de Computadores (ARC)

Setores Trilhas. Espaço entre setores Espaço entre trilhas

Níveis de RAID - RAID 0

Sistemas Operacionais: Sistema de Arquivos

Dispositivos de Armazenamento em massa. José Roberto B. Gimenez

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10

Auditoria e Segurança de Sistemas Aula 03 Segurança off- line. Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Introdução à Organização de Computadores Memória Secundária

RAID 1. RAID 0 2. RAID 1

Sistemas de armazenamento

EA960 Redundância e Confiabilidade: RAID

Sistemas Operacionais

Introdução a Informática. Prof.: Roberto Franciscatto

Arquitetura e Organização de Computadores

RAID. Redundant Array of Independent Drives. Conjunto Redundante de Discos Independentes

Conceitos Básicos. Conceitos Básicos Memória

Introdução à Organização de Computadores Memória Secundária

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 11

ARQUITETURA DE COMPUTADORES

Aula 26: Arquiteturas RISC vs. CISC

Dispositivos de Memória

TRABALHO COM GRANDES MONTAGENS

SW DE E/S INDEPENDENTE DE DISPOSITIVO

Arquitetura de Computadores. Sistemas Operacionais IV

Tecnologia de armazenamento Intel (Intel RST) RAID 0, 1, 5, 10, Matrix RAID, RAID -Pronto

RAID Redundat Arrays of Inexpensive Disks

Sou o professor Danilo Augusto, do TIParaConcursos.net, e lá costumo trabalhar temas relacionados a Redes de Computadores e Sistemas Operacionais.

Sistemas Tolerantes a Falhas

Tópicos Especiais em Informática

5.1 - Armazenamento em Disco

Estruturas do Sistema de Computação

FUNDAMENTOS DE HARDWARE CD-ROM. Professor Carlos Muniz

Fundamentos de Arquivos e Armazenamento Secundário

Sistemas de Armazenamento

Leandro Ramos RAID.

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Organização e Arquitetura de Computadores I

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I: MEMÓRIA EXTERNA RAÍ ALVES TAMARINDO RAI.TAMARINDO@UNIVASF.EDU.BR

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Memória Cache. Prof. Leonardo Barreto Campos 1

Informática Aplicada

6 - Gerência de Dispositivos

Curso de Instalação e Gestão de Redes Informáticas

R S Q Tabela 17 - Tabela verdade NOR

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Programador/a de Informática

Escalonamento no Linux e no Windows NT/2000/XP

Fundamentos de Sistemas de Informação Hardware: Dispositivos de Entrada, Processamento e Saída

Memórias Prof. Galvez Gonçalves

Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas. Hardware de Computadores

Visão geral do sistema de armazenamento e hierarquia de memória

Programador/a de Informática

Dispositivos de Armazenamento

ARQUITETURA DE COMPUTADORES


Sistemas Operacionais

19/09/2009 TIPOS DE DISPOSITIVOS DE ARMAZENAMENTO. ARMAZENAMENTO DE INFORMAÇÕES George Gomes Cabral ARMAZENAMENTO MAGNÉTICO

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa

ARQUITETURA DE COMPUTADORES Prof. João Inácio

Sistemas Operacionais Processos e Threads

SGBD. Membros: Leandro Cardoso Aguiar. Murillo Parreira. Rafael Gondim Peixoto

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

AULA 5 Sistemas Operacionais

DISPOSITIVOS DE BLOCO. Professor: João Paulo de Brito Gonçalves

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

Sistemas Operacionais

Gerenciamento de Entrada e Saída (E/S)

Técnicas de Manutenção de Computadores

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

Organização de Arquivos

CURSO BÁSICO DE INFORMÁTICA

SISTEMAS OPERACIONAIS

Sistemas Computacionais II Professor Frederico Sauer

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani

1.1. Organização de um Sistema Computacional

29/06/ :30 Leite Júnior QUESTÕES CESPE BACKUP

Sistemas Operacionais

Mandrilamento. determinado pela operação a ser realizada. A figura a seguir mostra um exemplo de barra de mandrilar, também chamada de mandril.

Fundamentos de Sistemas Operacionais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

BARRAMENTO DO SISTEMA

O RAID foi proposto em 1988 por David A. Patterson, Garth A. Gibson e Randy H. Katz na publicação "Um

Transcrição:

Fundamentos de Sistemas Operacionais Aula 16: Entrada e Saída: Estudo de Caso Diego Passos

Última Aula

Software de Entrada e Saída. Subsistema de E/S. Conjunto de camadas de abstração para realização de operações de E/S. SO usa device drivers para fazer manipulações específicas de dispositivos de E/S. SO provê camada com serviços comuns a todos os tipos de dispositivos. SO provê uma interface para o usuário (programador). Através de chamadas de sistema. Linguagens e bibliotecas fornecem abstrações mais altas. Há três modos de execução de uma E/S: Bloqueante, não-bloqueante e assíncrona.

Disco Rígido: Visão Geral

Por que estudar o Disco Rígido Há inúmeros dispositivos de E/S. Estudar todos seria inviável. O disco rígido (ou HD) é um dos dispositivos mais interessantes. É utilizado em diversas tarefas dentro do sistema: Armazenamento não-volátil. Swap.... É um dos poucos dispositivos nos computadores modernos que faz uso de operações mecânicas. Por isso: Tende a ser muito mais lento que os demais componentes. Tende a apresentar falhas muito mais frequentemente.

Outros Dispositivos de Armazenamento em Massa Há vários outros dispositivos deste tipo. Baseados em mídia removível: Cartões de memória. Pendrives CD, DVD, e Blu-ray. Há também outros não removíveis: SSDs. Usados em substituição aos HDs em netbooks. Empregam memória flash. HyperDrives. Usados em substituição aos HDs em servidores muito especializados. Empregam memória RAM e baterias (para manter informações permanentemente)

Domínio do Mercado HDs convencionais ainda dominam o mercado. Baixos preços. Grandes capacidades de armazenamento. É possível ter um PC com HD de 1TB a custo acessível.

Composição Física Composto por conjunto de discos metálicos. Chamados de pratos. Recobertos por uma película magnética. Giram em torno de um eixo comum. Há ainda um braço mecânico com cabeçotes de leitura e escrita.

Composição Lógica Cada superfície de um prato é dividida em trilhas. Circunferências concêntricas (centradas no eixo de rotação). Cada trilha é composta por setores. Arcos sobre a circunferência da trilha. Ângulos são fixos. Setores são conjuntos de bits. "Pedaços" da película do prato que armazenam fisicamente um bit. Conjunto de trilhas de um mesmo raio em todos os pratos é chamado de cilindro.

Composição Lógica (mais)

Representação de um Bit Bits são representados pela orientação magnética de partes da película que recobre os pratos. Vários tipos de modulação podem ser usados. A mais simples de todas é simplesmente definir duas orientações opostas. Exemplo: Orientação de dentro para fora do prato representa 0. Orientação de fora para dentro do prato representa 1. Durante a escrita, cabeçote gera um campo que polariza a película. Durante a leitura, o campo da película induz uma corrente no cabeçote.

Densidade de Bytes por Área Setores são divisões radiais das trilhas. Logo, toda trilha deve ter o mesmo número de setores. Fisicamente, isso significa que trilhas mais externas armazenam menos bytes por unidade de área. A densidade nestas trilhas é menor. Duas consequências: Tendência de falhas é maior nas trilhas internas. Alguns fabricantes testaram HDs de densidade homogênea. Trilhas mais externas têm mais setores. Mudança feita em hardware. Para o software, geometria continuava igual

Capacidade de Armazenamento de um HD Em geral, fabricantes identificam quatro informações em um HD: Número de cabeçotes (Heads ou h). Cada cabeçote corresponde a uma superfície de leitura/escrita. Número de cilindros (Cylinders ou c). Número de setores por trilha (Sectors ou s). Bytes por setor. A capacidade de um HD pode ser calculada pelo produto destes três valores. Exemplo: HD tem 16 cabeçotes,1016 cilindros, 51 setores e 512 bytes por setor. Capacidade é 424476672 bytes (400 MB).

Endereçamento de Dados em um HD Originalmente, os HDs só suportavam um modo de endereçamento de dados: o CHS. Três componentes: Cilindro. Cabeçote. Setor. Mais recentemente, surgiu o LBA (Linear Block Addressing). Setores do HD são vistos como sequenciais. Cada um recebe um identificador numérico único, começando do 0. Endereçamento é mais intuitivo. Pode-se facilmente converter um endereço do LBA para o CHS (e vice-versa). Basta saber as características do HD.

Tempo de Acesso de um HD

Operações Necessárias para Acesso Quando uma requisição de leitura ou escrita chega ao HD, este realiza uma sequência de três operações: Seek: posicionamento do cabeçote de leitura sobre a trilha desejada. Latência: espera até que o giro do prato faça a setor desejado se posicionar sob o cabeçote. Transferência: leitura/escrita efetiva, realizada durante a passagem do setor sob o cabeçote. Tempo total de acesso é dado pelo somatório dos tempos das três operações.

Tempos de Cada Operação O tempo de seek é determinado pela velocidade de movimentação do braço que manipula os cabeçotes. Em média, da ordem de 10 ms. O tempo de latência é determinado pela velocidade de rotação do disco (que varia de 3600 a 15000 RPM). Em média, da ordem de 5 ms. O tempo de transferência também depende da velocidade de rotação do disco. Bem menor que 1 ms. Os tempos de seek e latência também dependem das posições atuais do prato e do cabeçote. Tempo de seek domina o tempo total de acesso a disco.

Entrelaçamento Técnica para melhorar o tempo de acesso a disco. Também chamada de Interleaving. Processos, em geral, requisitam leitura de vários setores consecutivos. Exemplo, setores 14 e 15. Quando leitura do setor 14 termina,cpu (ou DMA) tem que fazer a requisição do setor 15. Neste intervalo, prato continua em rotação. Provavelmente, já passando pelo setor 15. Quando a requisição chega, setor 15 já passou. É preciso esperar uma nova revolução completa do prato.

Entrelaçamento (mais) Ideia do entrelaçamento: Não colocar setores de IDs consecutivos fisicamente consecutivas. Inserir outros setores intermediários. Usar um Fator de Entrelaçamento. Número de setores entre dois consecutivos.

Algoritmos de Escalonamento

Motivação Um HD é um dispositivo que pode receber várias requisições ao mesmo tempo. A ordem de grandeza do tempo de acesso de um HD é muito maior que a dos demais dispositivos da máquina. Por exemplo, nos 10 ms utilizados pela operação de seek, um processador de 2 GHz executa20 milhões de ciclos. Otimizaro tempo de acesso a disco é fundamental. Pequenos ganhos percentuais, são enormes em termos absolutos.

Objetivo O objetivo do escalonamento do HD é sempre maximizar a vazão. Quantidade de dados lidos/escritos por unidade de tempo. Uma vez que o cabeçote de leitura esteja posicionado sobre o setor desejado, a velocidade de leitura/escrita é sempre igual. Determinada pela velocidade de rotação dos pratos. Portanto, vazão é maximizada minimizando os tempos de seek e latência. Especialmente o de seek, que é maior.

Algoritmo FIFO Não se preocupa com o desempenho. Apenas escalona as requisições na ordem em que elas chegam ao SO. Desempenho é "aleatório". Determinado ao acaso, pela ordem de chegada das requisições. Vantagem: implementação muito simples.

Algoritmo SSTF Shortest Seek Time First. Dentre as requisições, atende primeiro a que tiver o menor tempo de seek. A trilha desejada é a mais próxima da trilha atual. Tem bom desempenho, no melhor caso. Quando as requisições chegam em uma ordem propícia. Tem péssimo desempenho no pior caso. Quando as requisições chegam em uma ordem ruim. Pode resultar em starvation. Requisições para trilhas muito distantes da atual podem nunca ser atendidos.

Algoritmo SCAN Determina um sentido de percorrimento para os cabeçotes. Por exemplo: Inicialmente, cabeçotes estão na parte mais externa dos pratos. Sentido de percorrimento será sempre em direção a parte mais interna. Ao longo do caminho, requisições são atendidas na ordem de percorrimento. Quando os cabeçotes chegam ao outro extremo dos pratos, sentido de percorrimento é invertido e procedimento continua. Também conhecido como Algoritmo do Elevador. Funcionamento similar a um elevador.

Algoritmo SCAN (mais) Tem diversas variações: CSCAN: Quando cabeçotes chegam ao outro extremo dos pratos, eles voltam ao início, sem atender novos pedidos. Objetiva maior justiça para requisições em trilhas nos extremos. LOOK: não vai até o extremo, se não há outras requisições para lá. Para na trilha da última requisição e começa a volta....

Comparação dos Algoritmos FIFO SSTF SCAN CSCAN

Comparação dos Algoritmos FIFO é o mais simples. Mas não leva em consideração informações de desempenho. SSTF pode resultar em bom desempenho. Mas desempenho varia muito e pode levar a starvation. O algoritmo do elevador (e suas variações) resultam nos melhores desempenhos na média. Mas são tem implementação complexa.

RAID

Redundant Array of Independent Disks Técnica utilizada para minimizar dois problemas comuns do uso de HDs em grande escala: Velocidade de acesso baixa (comparada aos demais componentes da máquina). Alta probabilidade de falha. Ocasionando perda de dados. Ideia é formar um vetor de HDs físicos, que contenha algum tipo de redundância. A redundância permite a recuperação dos dados em caso de certas falhas. O vetor de vários HDs é visto como um único grande HD. Existem vários níveis de RAID. Cada um com características específicas.

RAID 0 Não há redundância. Todos os discos armazenam apenas dados. Vantagens: Como há vários HDs físicos, requisições podem ser atendidas em paralelo. RAID 0 faz um balanceamento de carga na distribuição dos dados pelos HDs. Ou seja, o RAID 0 oferece benefícios apenas de desempenho. Esquema conhecido também como stripping. Capacidade total de armazenamento é igual a soma das capacidades dos HDs.

RAID 1 Método de espelhamento. São usados n HDs de igual capacidade. Um principal, outros secundários. Todos os dados são escritos no HD principal. Mas automaticamente são espelhados para os HDs secundários. Em caso de falha do HD principal, os outros contêm uma cópia perfeita. Não há benefícios de desempenho. Capacidade total de armazenamento é igual a soma das capacidades dos HDs dividida por n.

RAID 2/3/4 Os três níveis são parecidos. Todos usam n+1 HDs. Os n primeiros, armazenam dados. O último armazena informações de redundância: Paridade de bit, no RAID 2. Paridade de byte, no RAID 3. Paridade de bloco, no RAID 4. Há tanto benefícios de desempenho (stripping nos n primeiros HDs), quanto de redundância. Em caso de falha de um dos n primeiros HDs, as informações dos demais, pode ser usada para recuperar os dados perdidos.

RAID 5 Idêntico ao RAID 4, exceto pelo fato de que as informações de paridade são distribuídas por todos os discos. Isto é, não existe um único HD para armazenar informações de paridade. Objetivo: Evitar que o HD de paridade se torne um gargalo na escrita.

RAID 6 Idêntico ao RAID 5, porém com um esquema de paridade dupla. No RAID 5, se um HD falha, todo o sistema fica sujeito a perda de dados até que este HD seja substituído. Se mais um HD falhar antes da substituição, dados serão perdidos. O RAID 6 tolera a falha de até dois HDs do conjunto. Logo, no caso de um defeito em um HD, o sistema ainda tem uma proteção contra perda de dados.

RAID 10 Combina os níveis 0 e 1. Há vários conjuntos de HDs que fazem espelhamento. Cada conjunto é usado como um HD do nível 0. Vantagens: Alta tolerância a falhas. A falha de um HD é facilmente corrigida através da ativação de um HD secundário do seu conjunto. Alto desempenho. Até k requisições podem ser atendidas simultaneamente, onde k é o número de conjuntos. Desvantagem: Ao menos 4 discos são necessários. Custo muito alto.

Implementações do RAID RAID pode ser implementado tanto por hardware, quanto por software. Caso implementado em hardware, SO vê todo o vetor de discos como um único HD. Funcionamento é completamente transparente para o SO. Implementação em hardware tende a ser mais rápida que em software. Mas a diferença já foi bem maior.

Revisão

Para Lembrar Funções do HD nos computadores. Armazenamento não volátil. Swap. Características de um HD (enquanto dispositivo de E/S). Partes mecânicas. Altos tempos de acesso. Alta probabilidade de falha. Componentes do tempo de acesso a disco. Tempo de seek, latência, transferência. Redução do tempo de acesso. Entrelaçamento. Algoritmos de escalonamento. RAID. O que é e para que serve.