Você está na página 1de 29

Organizao e Arquitetura

de Computadores

Nvel do Sistema Operacional

Geycy Lima

Tpicos
Nvel do Sistema Operacional
Conceitos Bsicos
Memria Virtual

Nvel do S.O.

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.

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.

Nvel do S.O.
Memria Virtual
Os primeiros computadores (incio dos anos 60) tinham memria
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.

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

Mapeamento no qual endereos virtuais 4.096 a 8.191 so mapeados para


endereos da memria principal 0 a 4.095.

11

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

Memria Virtual

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.

18

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

Memria Virtual

Possvel mapeamento das


16 primeiras pginas virtuais
para uma principal com oito
quadros de pgina.

21

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 falha ou
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?
O SO 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

Algoritmo LRU: Imagine um programa que esteja executando um


grande lao que se estende por nove pginas virtuais em uma mquina
que tem espao para apenas oito pginas na memria fsica.

Falha do algoritmo LRU.

26

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 de


pgina de 1024 palavras, oito pginas virtuais Pgina virtual
0
e quatro quadros de pginas fsicos.
A tabela de pginas a seguinte:
1
a) Faa uma lista de todos os endereos
2
virtuais que causaro faltas de pginas;
3
b) Quais so os endereos fsicos para
4
0, 3728, 1023, 1024, 1024, 7800 e 4096?

Quadro de pgina
3
1
No est na MP
No est na MP
2

No est na MP

No est na MP
29

Você também pode gostar