Prévia do material em texto
1 Sistemas Operacionais 2017/1 Profa: Daniela Scherer dos Santos daniela.santos37@ulbra.edu.br Gerência de Entrada e Gerência de Entrada e Saída – DiscoSaída – Disco 2 Discos - IntroduçãoDiscos - Introdução Organização física de um disco Os movimentos de rotação dos discos e vaievem dos cabeçotes permitem que toda a superfície de cada disco seja alcançada. Cabeçote R/W (1 por superfície) Superfície Braço mecânico Prato 3 Discos - IntroduçãoDiscos - Introdução Prof. Luiz Lima Jr. http://www.ppgia.pucpr.br/~laplima/ensino/soee/so_common/materia/04_es.html Organização lógica de um disco: Cada superfície de um disco é dividida em trilhas; O conjunto de trilhas de todas as superfícies do disco forma o cilindro; Cada trilha é subdividida em setores → unidade mínima de leitura e gravação em um disco. 4 Discos - IntroduçãoDiscos - Introdução Formatação lógica: Consiste em gravar informações no disco de forma que os arquivos possam ser escritos, lidos e localizados pelo sistema operacional; Partição: Capacidade de dividir logicamente um disco em vários outros discos. 5 Discos – Tempo de AcessoDiscos – Tempo de Acesso Acesso a um disco → posicionar cabeçote de leitura e escrita sob um determinado setor e trilha onde o dado será lido ou escrito; Este processo implica um tempo de acesso: tempoAcesso = tempoSeek + tempoLatency + tempoTranfer 6 Discos – Tempo de AcessoDiscos – Tempo de Acesso tempoAcesso = tempoSeek + tempoLatency + tempoTranfer tempoSeek: tempo necessário para deslocar o cabeçote de leitura e escrita até o cilindro correspondente à trilha a ser acessada; Cabeçote leitura/escrita Seek time Trilha Setor Transfer time Latency time 7 Discos – Tempo de AcessoDiscos – Tempo de Acesso tempoAcesso = tempoSeek + tempoLatency + tempoTranfer tempoLatency: tempo necessário, uma vez o cabeçote já na trilha correta, para o setor a ser lido ou escrito se posicionar sob o cabeçote de leitura e escrita → também chamado de atraso rotacional (rotational delay); Cabeçote leitura/escrita Seek time Trilha Setor Transfer time Latency time 8 Discos – Tempo de AcessoDiscos – Tempo de Acesso tempoAcesso = tempoSeek + tempoLatency + tempoTranfer tempoTransfer: tempo necessário para a transferência dos dados, isso é, para a leitura ou escrita dos dados. Cabeçote leitura/escrita Seek time Trilha Setor Transfer time Latency time 9 Discos – EntrelaçamentoDiscos – Entrelaçamento Exemplo – problema de acesso a setores contíguos em uma trilha: SO envia à controladora comando para leitura do setor 4; Após o seek apropriado, o cabeçote passa sobre o setor 4 e a transferência ocorre; Quando o cabeçote sai do setor 4, os dados são transferidos do buffer da controladora para a memória, provocando uma interrupção do processador para informar o término da leitura do setor 4; O processador (via SO) envia um novo comando de leitura – agora para o setor 5; Um novo seek não será necessário pois o cabeçote já se encontra sob o cilindro desejado; Entretando, devido à rotação, o cabeçote provavelmente não se encontra mais no início do setor 5 → será necessário esperar que o disco dê uma volta completa (tempo de latência) para então efetuar a leitura do setor 5. 10 Discos – EntrelaçamentoDiscos – Entrelaçamento Entrelaçamento (interleaving) → forma de aumentar o desempenho no acesso ao disco evitando o problema apresentado em acessos a vários setores contíguos; Objetivo é evitar a latência rotacional em setores adjacentes; Técnica consiste em numerar os setores não mais de forma contígua mas sim com um espaço entre eles. 11 Discos – EntrelaçamentoDiscos – Entrelaçamento 0 1 2 3 4 5 6 8 7 9 10 11 12 13 14 15 0 1 23 4 5 6 8 7 9 10 11 12 13 14 15 Fator de entrelaçamento = 0 Disco 1 Disco 2 Fator de entrelaçamento = 2= 2 O melhor fator de entrelaçamento para uma determinada unidade de disco depende da velocidade do processador, do barramento, do controlador e da velocidade de rotação do disco. 12 Discos – EscalonamentoDiscos – Escalonamento Entrada e saída em disco é realizada através de uma chamada de sistema contendo (tipo de operação - leitura ou escrita -, dados a serem transferidos); Sistemas multiprogramados → podemos ter vários processos realizando pedidos desse tipo e sendo bloqueados até que a operação solicitada seja realizada; Problema → como ordenar e atender os pedidos de entrada e saída de forma a maximizar o atendimento e minimizar o tempo em que processos permanecerão bloqueados? 13 Discos – EscalonamentoDiscos – Escalonamento Problema → como ordenar e atender os pedidos de entrada e saída de forma a maximizar o atendimento e minimizar o tempo em que processos permanecerão bloqueados? ALGORITMOS DE ESCALONAMENTO DE DISCO 14 Discos – EscalonamentoDiscos – Escalonamento Algoritmos de Escalonamento de disco: FCFS (first come first served); SSTF (shortest seek time first); SCAN; C-SCAN (Circular SCAN). 15 Discos – EscalonamentoDiscos – Escalonamento FCFS (first come first served) – primeiro a chegar, primeiro a ser servido: Mais simples; As solicitações de acesso ao disco são realizadas na ordem em que os pedidos são feitos. 16 Discos – EscalonamentoDiscos – Escalonamento FCFS – 1° a chegar, 1° a ser servido: disco com 40 cilindros cabeça de leitura inicialmente no cilindro 11 novas requisições: cilindros 1, 36, 16, 34, 9 e 12 (nesta ordem) sequência: 1, 36, 16, 34, 9 e 12 distância percorrida em cilindros: 10 + 35 + 20 + 18 + 25 + 3 = 111 cilindros Prof. Luiz Lima Jr. http://www.ppgia.pucpr.br/~laplima/ensino/soee/so _common/materia/04_es.html 17 Discos – EscalonamentoDiscos – Escalonamento SSTF (shortest seek time first) – posicionamento mais curto primeiro: Os pedidos são ordenados em relação à posição atual do cabeçote, privilegiando o acesso aos cilindros que estão mais próximos a essa posição; Desvantagem → pode, dependendo da ordem dos pedidos, levar um pedido de acesso a uma postergação indefinida (starvation). Desempenho fortemente influenciado pela sequência de solicitações. 18 Discos – EscalonamentoDiscos – Escalonamento SSTF - posicionamento mais curto primeiro: disco com 40 cilindros cabeça de leitura inicialmente no cilindro 11 novas requisições: cilindros 1, 36, 16, 34, 9 e 12 (nesta ordem) sequência: 12, 9, 16, 1, 34 e 36 distância percorrida: 1 + 3 + 7 + 15 + 33 + 2 = 61 cilindros Prof. Luiz Lima Jr. http://www.ppgia.pucpr.br/~laplima/ensino/soee/so _common/materia/04_es.html 19 Discos – EscalonamentoDiscos – Escalonamento SCAN: Visa atender os pedidos que estão mais próximos à atual posição do cabeçote estipulando uma direção preferencial para o movimento do cabeçote (varredura); Ex.: do cilindro mais externo ao mais interno; Ao atingir o cilindro mais interno, inverte o sentido da varredura; Conhecido como algoritmo do elevador, por ter comportamento similar. 20 Discos – EscalonamentoDiscos – Escalonamento SCAN: disco com 40 cilindros cabeça de leitura inicialmente no cilindro 11 novas requisições: cilindros 1, 36, 16, 34, 9 e 12 (nesta ordem) sequência: 9, 1, 12, 16, 34 e 36 distâncias: 2 + 8 + 11 + 4 + 18 + 2 = 45 cilindros (neste caso, melhor que SSF) Prof. Luiz Lima Jr. http://www.ppgia.pucpr.br/~laplima/ensino/soee/so _common/materia/04_es.html 21 Discos – EscalonamentoDiscos – Escalonamento C-SCAN (Circular SCAN): Variação do SCAN; Quando a varredura atinge o cilindro mais interno, o cabeçote é reposicionado no cilindro mais externo onde a varredura é reiniciada. 22 Discos – EscalonamentoDiscos – Escalonamento Qual o melhor algoritmo de escalonamento? Não existe resposta definitiva; Depende do n° de pedidos e da organização dos próprios arquivos e da estrutura de diretórios no disco. 23 Discos – Estrutura RAIDDiscos – Estrutura RAID Aumento do volume de dados → implica emprego de várias unidades físicas de discos; Aumenta também a probabilidade deque um desses discos apresente problemas físicos → perda de dados; Backup → mesmo sendo periódico não possuem versões mais recentes de dados; RAID (redundant array of independent disks) → soluciona problemas associados com o armazenamento de grandes quantidades de dados. 24 Discos – Estrutura RAIDDiscos – Estrutura RAID Estrutura RAID → Conjunto de discos rígidos visto pelo sistema operacional como um único disco lógico; Dados são distribuídos entre os diferentes discos físicos; Aumenta a confiabilidade e o desempenho dos discos; Confiabilidade → armazena informações de forma redundante permitindo recuperação de dados em caso de falha física de um disco; Desempenho → Permite o acesso paralelo a dados. 25 Discos – Estrutura RAIDDiscos – Estrutura RAID A forma pela qual os dados são escritos e acessados define o que se denomina de níveis de RAID (RAID 0, RAID 1, RAID 2/3/4, RAID 5, etc). RAID 0: Dados são distribuídos nos diferentes discos da estrutura; Requisições a dados armazenados em discos distintos podem ser efetuados em paralelo; Stripping → procedimento de escrever e acessar dados em paralelo em diferentes discos. 26 Discos – Estrutura RAIDDiscos – Estrutura RAID RAID 1: Conhecido como espelhamento; Um dado é escrito simultaneamente em um disco primário e em um disco secundário de cópia (mirror); Desvantagem: necessidade de se ter como espaço físico o dobro do que se deseja realmente armazenar. 27 Discos – Estrutura RAIDDiscos – Estrutura RAID RAID 2/3/4: Os dados são armazenados em diferentes discos utilizando stripping; Para cada strip é calculada a paridade; A paridade é gravada em um disco físico à parte pertencente à estrutura RAID; Em caso de falha em um dos discos a informação contida nos demais discos + informação de paridade é suficiente para a reconstrução dos dados armazenados no disco que apresentou problemas. 28 Discos – Estrutura RAIDDiscos – Estrutura RAID RAID 5: Os dados são divididos entre os diferentes discos; Para cada strip é calculada a paridade; A paridade é distribuída nos diferentes discos. 29 ReferênciasReferências OLIVEIRA, Rômulo Silva de; CARISSINI, Alexandre da Silva; TOSCANI, Simão Sirineo. Sistemas operacionais. 3. ed. Porto Alegre: Instituto de Informática da UFRGS, 2004. 259 p. (Livros didáticos ;n. 11) Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29