aula7_aoc

29
Organização e Arquitetura de Computadores Nível do Sistema Operacional Geycy Lima

description

introdução

Transcript of aula7_aoc

Organizao e Arquiteturade ComputadoresNvel do Sistema Operacional Geycy Lima Tpicos Nvel do Sistema Operacional Conceitos Bsicos Memria Virtual 2 Nvel do S.O. 3 Nvel do S.O. O Sistema Operacional um programa que, do ponto de vista do programador, adiciona um conjunto de novas instrues e de funcionalidades alm daquelas suportadas no nvel ISA; Em geral, est implementado em software e; implementado pelo nvel que pode ser chamado de SOM - Sistema Operacional da Mquina. 4 Nvel do S.O. O Conjunto de Instrues do nvel SOM aquele que est disponvel para os programadores de aplicao; Contm todas as instrues do nvel ISA e tambm novas instrues conhecidas como Chamadas ao Sistema; Chamadas ao Sistema Ativam um determinado servio prestado pelo S.O. no nvel da aplicao, que vem a ser efetivamente uma de suas instrues. Exemplo: leitura de um dado de um arquivo. 5 Nvel do S.O. Importante: O nvel SOM interpretado Quando um programa de usurio executa uma instruo desse nvel (Ex.: leitura de um dado de um arquivo), o S.O. executa essa instruo passo a passo, assim como o programa executa, por exemplo, uma instruo ADD. Quando um programa executa uma instruo no nvel ISA, essa execuo levada a efeito pelo nvel da microarquitetura, sem qualquer interveno da assistncia do S.O. 6 Nvel do S.O. Memria Virtual Os primeiros computadores (incio dos anos 60) tinhammemria principal muito reduzida (Ex.: PDP-1 funcionava em tempo compartilhado com memria de 4096 palavras de 18 bits cada para rodar o sistema operacional e tambm os programas dos usurios) Por falta de memria, as vezes se implementavam algoritmos mais lentos. A soluo tradicional para a falta de memria era o uso de memria secundria.7 Memria Virtual Solues tradicionais para o problema de pouca memria O programa era dividido em partes, chamadas overlays, que cabiam na memria disponvel. Cada overlay era carregado do disco para a memria, segundo a sequncia do programa, e executado. O programador era responsvel por gerenciar todo o processo de overlays sem qualquer ajuda do computador.8 Memria Virtual A definio de overlays evoluiu para o conceito de memria virtual. 1961 - um grupo de pesquisadores ingleses apresentou um S.O. capaz de processar overlays automaticamente, implementando assim o conceito de memria virtual. 1970 - essa ferramenta estava implementada em, praticamente, todas as arquiteturas computacionais. Atualmente - existem sistemas sofisticados de memria virtual.9 Memria Virtual Paginao A paginao uma implementao de memria virtual que usa os conceitos de: espao de endereos fsicos: espao real disponvel em memria. espao de endereos virtuais: endereos virtuais do programa, que podem ser maior do que o espao de memria fsica.10 Memria Virtual Paginao Exemplo: computador com barramento de endereos de 16 bits e 4K palavras de memria - Espao de endereamento: 65536 - Espao de memria: 4096 11 Mapeamento no qual endereos virtuais 4.096 a 8.191 so mapeados paraendereos da memria principal 0 a 4.095. Memria Virtual Paginao Mquina de 4k sem memria virtual - Mapeamento fixo entre os endereos de 0 a 4096 e as 4096 palavras de memria. - O que aconteceria de um programa desviasse para um endereo entre 8192 e 12287? - Sem memria virtual, o programa provavelmente causaria uma exceo e encerraria. 12 Memria Virtual Paginao Mquina com memria virtual que faa um salto para algum endereo entre 8192 e 12287: - O contedo da memria principal salvo no disco; - As palavras de 8192 a 12287 so localizadas no disco; - As palavras de 8192 a 12287 so carregadas na memria principal; - O mapeamento de endereo alterado para mapear os endereos de 8192 a 12287 nas posies de memria de 0 a 4095; - A execuo do programa continuaria como se nada tivesse acontecido; Essa tcnica de sobreposio automtica denominada paginao, e os trechos de programa lidos do disco so denominados pginas. 13 Memria Virtual Caractersticas do esquema de paginao Os programas so escritos com base no pressuposto de que o tamanho de memria principal suficiente para todo o espao de endereos virtuais. Os programas podem trazer, ou armazenar, qualquer palavra do, ou no, espao virtual ou desviar para qualquer instruo situada dentro do espao virtual, sem se preocupar com o tamanho da memria fsica.14 Memria Virtual A paginao d ao programador a iluso de uma memria principal grande, com endereos contguos e lineares, do mesmo tamanho da memria virtual. Como o programador pode escrever seu programa como se no existisse a paginao, esse mecanismo chamado de transparente. 15 Memria Virtual Um mapa de memria, ou tabela de pginas, relaciona os endereos virtuais com os endereos fsicos. Para permitir o mapeamento de endereos virtuais em endereos fsicos e facilitar a transferncia de informao entre memria principal e HD, o espao de endereamento virtual dividido em blocos de endereos, tipicamente, de tamanho fsico. Denominao dos blocos: pginas (tamanho tpico 4K, 1K palavras de 32 bits). O espao de endereamento fsico tambm dividido em pedaos do mesmo tamanho do virtual. Essas partes so conhecidas como molduras de pgina. O mapeamento virtual-fsico realizado por um dispositivo conhecido com MMU (Memory Management Unit - Unidade de Gerenciamento de Memria).16 Memria Virtual Implementao da paginao Requisito essencial: disco que tenha todo o programa e todos os dados. Espao endereo virtual: desmembrar em um nmero de pginas de mesmo tamanho. Endereo fsico: desmembrado de maneira similar, com tamanho igual ao das pginas. Pores da memria principal que armazena as pginas so denominados de quadros de pgina. Exemplo: - Pgina de 4K - Espao de endereo virtual de 64K=16 pginas - Memria real de 32K=8 quadros de pgina. 17 18 a) Os primeiros 64K do espao de endereos virtuais divididos em 16 pginas, de 4K cada uma. b) Memria principal de 32 K dividida em 8 molduras de pgina, de 4K cada. Memria Virtual Memria Virtual Implementao da paginao Funcionamento do dispositivo - Os 32 bits de um endereo virtual so divididos em 2 partes: A primeira, com 20 bits, representando o nmero da pgina virtual A segunda, com 12 bits, representando o deslocamento dentro da pgina O nmero da pgina virtual usado para indexar a tabela de pginas. 19 Memria Virtual Implementao da paginao Pgina: parte do programa lido do disco. Espao de endereo virtual: endereos que o programa pode referenciar. Espao de endereo fsico (ou real): posies de memria real do hardware. Mapa de memria ou tabela de pginas: relacionamento entre os endereos virtuais e fsicos. Admite-se que h espao suficiente em disco par armazenar todo espao de endereo virtual. Sempre que um endereo for referenciado, a instruo ou a palavra de dados parece estar presente. 20 21 Memria Virtual Possvel mapeamento das 16 primeiras pginas virtuais para uma principal com oito quadros de pgina. Memria Virtual Paginao por Demanda e Modelo do Conjunto de Trabalho Quando feita uma referncia a um endereo situado em uma pgina que no est na memria principal diz-se que ocorreu uma falhaou falta de pgina. Neste caso, necessrio que: se leia, do disco, a pgina falhante; se coloque essa pgina na memria principal e; se repita a referncia ao endereo de interesse Esse mtodo de operao chamado de paginao por demanda.22 Memria Virtual Paginao por Demanda e Modelo do Conjunto de Trabalho Na paginao por demanda, as pginas so trazidas para a memria principal em funo das requisies explcitas para cada uma delas e no antecipadamente. Quando existem vrios processos sendo executados, num regime de compartilhamento de tempo, o mapeamento de pginas muda cada vez que h uma troca de contexto. Neste caso, a paginao por demanda pode ter um impacto negativo. Uma soluo usar um modelo, chamado conjunto de trabalho, que carrega, antecipadamente, as pginas necessrias execuo ou continuao de um processo. 23 Memria Virtual Poltica de Substituio de Pginas Quando um programa referencia uma pgina que no est na memria principal, a pgina solicitada deve ser buscada no disco. Logo, para abrir espao, em geral alguma outra pgina ter de ser devolvida ao disco. Problema: Qual pgina deve ser devolvida ao disco? OSO deve escolher, automaticamente, a pgina de mais baixa probabilidade de vir a pertencer ao conjunto de trabalho. Os algoritmos de substituio chamados LRU (usada menos recentemente) e FIFO (primeiro a entrar, primeiro a sair) podem ser usados nesses casos.24 Memria Virtual Poltica de Substituio de Pginas Algoritmo LRU (Least Recently Used No usado h mais tempo). Substitui a pgina menos usada recentemente, ou seja, a que est sem uso h mais tempo. Um contador de uso de pgina pode ser usado nessa implementao. 25 Memria Virtual Poltica de Substituio de Pginas AlgoritmoLRU:Imagineumprogramaqueestejaexecutandoum grande lao que se estende por nove pginas virtuais em uma mquina que tem espao para apenas oito pginas na memria fsica. 26 Falha do algoritmo LRU. Memria Virtual Poltica de Substituio de Pginas O algoritmo FIFO (First In First Out Primeiro a Entrar, Primeiro a Sair) O primeiro a entrar o primeiro a sair. Remove a pgina mais antiga, ou seja, aquela que est h mais tempo na memria principal. necessrio associar um contador a cada moldura de pgina. 27 Memria Virtual Tamanho da Pgina e Fragmentao Se o programa, com seus dados, no couberem exatamente em um nmero inteiro de pginas haver desperdcios. Alguns bytes da ltima pgina alocada no sero usados. O problema de desperdcio de bytes conhecido como fragmentao interna. Para pginas de n bytes se perde, em mdia, n/2 bytes. Isto sugere que pginas pequenas perdem menos espao. Porm, quando as pginas so muito pequenas tem-se um nmero maior de pginas e, em conseqncia, uma tabela de pginas maior que requer mais registradores tornando o processador mais caro. Tambm maior o tempo gasto para mover pginas da memria virtual para a fsica. Portanto, tem que haver uma soluo de compromisso para definio do tamanho das pginas.28 Memria Virtual Exerccios 1. Uma mquina tem espao de endereo virtual de 32 bits enderevel por byte. O tamanho da pgina 4 KB. Quantas pginas de espao de endereo virtual existem? 2. Uma memria virtual tem um tamanho depgina de 1024 palavras, oito pginas virtuais e quatro quadros de pginas fsicos.A tabela de pginas a seguinte: a) Faa uma lista de todos os endereos virtuais que causaro faltas de pginas; b) Quais so os endereos fsicos para 0, 3728, 1023, 1024, 1024, 7800 e 4096? 29 Pgina virtualQuadro de pgina 03 11 2No est na MP 3No est na MP 42 5No est na MP 60 7No est na MP