sistemas operacionais - gerencia memória
Post on 22-Jul-2015
80 Views
Preview:
TRANSCRIPT
Sistemas Operacionais
Gerncia de Memria
GERNCIA DE MEMRIA memria = vetor de palavras (ou bytes), cada uma com endereo prprio a memria usada para armazenar os diversos programas em execuo, bem como os dados sobre a execuo dos programas na multiprogramao diversos processos so colocados na memria ao mesmo tempo para que o chaveamento entre eles seja o mais rpido possvel o SO deve permitir que os processos compartilhem a memria de forma segura e eficiente, usando os recursos disponveis no hardware1
Sistemas Operacionais
Gerncia de Memria
MEMRIA LGICA E FSICA (1) memria lgica aquela que o processo enxerga, ou seja, aquela que o processo capaz de acessar os endereos manipulados pelo programa so lgicos em geral capa processo possui uma memria lgica independente da memria lgica dos outros processos
memria fsica aquela que efetivamente acessada pelo circuito integrado de memria dois processos podem ter espaos de endereamento iguais que correspondem a reas diferentes do espao de endereamento fsico
a unidade de gerncia de memria (MMU): prov mecanismos de gerncia de memria para o SO converte/mapeia endereos lgicos em fsicos2
Sistemas Operacionais
Gerncia de Memria
MEMRIA LGICA E FSICA (2) quando os endereos lgicos coincidem com os endereos fsicos, pode-se implementar proteo de memria usando dois registradores de limite os endereos do programa so gerados a partir de 0 e devem ser ajustados por um carregador realocador durante a carga relocao em tempo de carga
3
Sistemas Operacionais
Gerncia de Memria
MEMRIA LGICA E FSICA (3) quando os endereos lgicos no coincidem com os fsicos, pode-se trabalhar com um registrador de limite e outro de base os endereos so gerados a partir de 0, mas no necessria nenhuma alterao de endereo o carregador chamado de absoluto relocao em tempo de execuo
4
Sistemas Operacionais
Gerncia de Memria
MEMRIA LGICA E FSICA (4) o acesso aos registradores de limite e de base feito atravs de instrues privilegiadas o contedo desses registradores faz parte do contexto do processo tcnicas de gerncia de memria parties fixas parties variveis swapping paginao segmentao segmentao paginada5
Sistemas Operacionais
Gerncia de Memria
PARTIES FIXAS (1) simples reserva-se uma rea de memria para o SO o resto da memria dividido em parties fixas de tamanhos diferentes o nmero de parties/processos em execuo fixo novos processos devem aguardar que uma partio de tamanho suficiente fique livre h desperdcio de memria com: fragmentao interna fragmentao externa6
Sistemas Operacionais
Gerncia de Memria
PARTIES FIXAS (2)Memria Fsica
Sistema Operacional 225 Kbytes
Partio 1 200 Kbytes
Partio 2 100 Kbytes Partio 3 50 Kbytes Partio 4 25 Kbytes7
Sistemas Operacionais
Gerncia de Memria
PARTIES VARIVEIS (1) as parties so ajustadas dinamicamente s necessidades dos processos o tamanho e o nmero de parties varivel o SO mantm uma lista de reas livres de memria quando for necessrio alocar memria, percorre-se a lista usando uma das seguintes tcnicas: first-fit: a primeira rea suficiente best-fit: a que deixa a menor sobra worst-fit: a que deixa a maior sobra circular-fit (ou next-fit): a prxima a partir da ltima alocao last-fit: a ltima rea
8
Sistemas Operacionais
Gerncia de Memria
PARTIES VARIVEIS (2) a rea necessria alocada e o restante continua livre quando um processo termina, a memria que ele ocupava liberada reas livres adjacentes devem ser agrupadas a alocao pode ser: exata: no ocorre fragmentao interna podem surgir reas de memria pequenas, difceis de serem alocadas
em pargrafos (ou blocos): h uma pequena fragmentao interna facilita o alinhamento de variveis na memria so necessrios menos bits para enderear uma rea de memria9
Sistemas Operacionais
Gerncia de Memria
PARTIES VARIVEIS (3) a lista de reas livres contm um descritor para cada rea com: o endereo, o tamanho e apontadores para lacunas adjacentes este descritor pode ser armazenado no incio do prprio pargrafo, evitando a necessidade de alocar memria para a lista de reas livres a fragmentao externa um problema grave pode-se compactar a memria, agrupando as reas livres de memria, o que exige: certo tempo de processamento e algum mecanismo de relocao dinmica10
Sistemas Operacionais
Gerncia de Memria
PARTIES VARIVEIS (4) exemplo: os seguintes processos devem ser executados em um sistema com 256Kbytes de memria fsica (o SO ocupa 40Kbytes da memria fsica)Processo Mem. (K) Tempo
P1 P2 P3 P4 P5
60 100 30 70 50
10 5 20 8 1511
Sistemas Operacionais
Gerncia de Memria
PARTIES VARIVEIS (5)Processo Mem. (K) Tempo
0K SO SO SO SO SO SO
P1 216K
P1
P5 60K 10K
P5 60K
P5 60K
P1 P2 P3 P4 P5
60 100 30 70 50
10 5 20 8 15
156K P2
P4 100K
P4 100K
110K 166K
216K
30K P3 56K 26K 256K T=0 P3 26K T=5
30K P3 26K T=10 P3 26K T=13 T=20 T=25
12
Sistemas Operacionais
Gerncia de Memria
EXERCCIO (1) Considere um sistema cuja gerncia de memria feita atravs de parties variveis. Nesse momento, existem as seguintes lacunas (reas livres): 10K, 4K, 20K, 18K, 7K, 9K, 12K e 13K, nessa ordem. Quais espaos sero ocupados pelas solicitaes: 5K, 10K e 6K, nessa ordem, se: first-fit for utilizado? best-fit for utilizado? worst-fit for utilizado? circular-fit for utilizado? last-fit for utilizado?13
Sistemas Operacionais
Gerncia de Memria
EXERCCIO (2) Gerencie uma rea de memria de usurios de 640 KB atravs da utilizao de mltiplas parties variveis para as seguintes requisies:Processo: Chegada: Memria (KB): Durao: A 0 320 10 B 0 192 15 C 0 128 8 D 11 224 10 E 12 64 9
use a poltica first-fit use a poltica best-fit use a poltica worst-fit
14
Sistemas Operacionais
Gerncia de Memria
SWAPPING (1) utilizado quando no possvel manter todos os processos simultaneamente na memria um processo sofre swap-out quando ele retirado da lista de prontos, inserido na lista de suspensos e copiado da memria para o disco um processo sofre swap-in quando ele retorna para a memria o swapping permite que o SO execute mais processos do que a memria normalmente suportaria15
Sistemas Operacionais
Gerncia de Memria
SWAPPING (2) o custo para os processos alto o processo deve ficar no disco um um tempo razovel para justificar o swapping mais aceitvel para processos que executam em segundo plano do que para processos interativos pode ser usado tanto com parties fixas quanto com parties variveis16
Sistemas Operacionais
Gerncia de Memria
PAGINAO (1) acaba com a necessidade de colocar o programa em uma rea contgua de memria elimina a fragmentao externa o espao de endereamento lgico (memria lgica) dividido em pginas de tamanho fixo cada endereo lgico pode ser dividido em duas partes: nmero de pgina e deslocamento todos os bytes de uma mesma pgina possuem o mesmo nmero de pgina, porm, deslocamentos diferentes17
Sistemas Operacionais
Gerncia de Memria
PAGINAO (2) o espao de endereamento fsico (memria fsica) dividido em quadros (frames ou pginas fsicas), de tamanho igual ao tamanho da pgina cada endereo fsico pode ser dividido em duas partes: nmero de quadro e deslocamento
as pginas de um programa podem ser colocadas em quaisquer quadros disponveis da memria fsica o SO gerencia a carga do programa montando uma tabela de pginas que contm o nmero do quadro onde cada pgina foi carregada
18
Sistemas Operacionais
Gerncia de Memria
PAGINAO (3) viso geral: o compilador gera cdigo para os programas como se eles fossem executar de forma contgua na memria o SO carrega as pginas do processo em quaisquer quadros livres e cria a tabela de pginas o hardware converte endereos lgicos em fsicos durante a execuo com a ajuda da tabela de pginas
19
Sistemas Operacionais
Gerncia de Memria
PAGINAO (4) exemplo: (pginas de 4Kbytes) qual o endereo fsico correspondente ao endereo lgico 7K? 0K Tabela de 0 4K pginas 0K 1 Pgina A 8K Pgina A 0 1 4K 2 12K Pgina B 1 4 3 Pgina C 16K 8K Pgina C 2 3 4 Pgina B 20K 12K Pgina D 3 6 5 16K 24K 6 Pgina D 28K Memria 7 lgica 32K (pginas) Memria fsica (quadros)20
Sistemas Operacionais
Gerncia de Memria
PAGINAO (5)Endereo lgico pgina Endereo deslocamento fsico
deslocamento
frame
frame
Tabela de pginas
21
Sistemas Operacionais
Gerncia de Memria
PAGINAO (6) - EXERCCIOS considerando a tabela de pginas apresentada anteriormente, quais os endereos fsicos correspondentes aos seguintes endereos lgicos? 1K? 14K? 17K?
calcule o nmero de bits para pgina, quadro e deslocamento. Memria lgica = 512K, Memria fsica = 512K, Tamanho de pgina = 8K Tamanho de pgina = 4K, Nmero de pginas = 8, Nmero de quadros = 1622
Sistemas Operacionais
Gerncia de Memria
PAGINAO (7) a paginao no apresenta fragmentao externa, apenas uma pequena fragmentao interna, referente ltima pgina do processo dimenses tpicas: tamanho das pginas: 1Kbyte at 8Kbytes endereamento lgico: 64Kbytes at vrios Gbytes endereamento fsico: geralmente menor do que o lgico
se as pginas forem maiores: um processo ter menos pginas e a tabela de pginas ser menor a leitura do disco ser mais eficiente maior fragmentao interna23
Sistemas Operacionais
Gerncia de Memria
PAGINAO (8) - IMPLEMENTAO o controle dos quadros livres pode ser implementado atravs de: um mapa de bits (pode ser lento com tabelas grandes com alta ocupao) lista encadeada de quadros livres
a tabela de pginas pode ser implementada: atravs de registradores dedicados de acesso rpido na prpria memria principal usando Translation Lookaside Buffer (TLB)
24
Sistemas Operacionais
Gerncia de Memria
PAGINAO (9) - IMPLEMENTAO TP em registradores dedicados de acesso rpido: s pode ser usado com tabela pequenas rpido na troca de contexto, os registradores devem ser salvos no descritor de processo
TP na memria principal: usa dois registradores: PTBR (Page Table Base Register) e PTLR (Page Table Limit Register) suporta tabelas grandes o tempo de acesso memria duplicado na troca de contexto, o PTBR e o PTLR devem ser salvos no descritor de processo25
Sistemas Operacionais
Gerncia de Memria
PAGINAO (10) - IMPLEMENTAO TP usando Translation Lookaside Buffer (TLB): as entradas mais acessadas ficam em uma memria cache quando uma entrada pesquisada pode ocorrer um acerto (um nico acesso memria) ou uma falha (dois acessos memria e a informao atualizada no TLB) o TLB geralmente implementado usando memria associativa na troca de contexto, o PTBR e o PTLR devem ser salvos no descritor de processo e a cache deve ser esvaziada esquemas alternativos salvam o nmero do processo nas entradas do TLB
26
Sistemas Operacionais
Gerncia de Memria
PAGINAO (11) - EXERCCIO Qual a taxa efetiva de acesso memria, quando se tem tempo de acesso memria associativa de 5ns, tempo de acesso memria principal de 60ns e taxa de acerto de 80%?
27
Sistemas Operacionais
Gerncia de Memria
PAGINAO (12) - PROTEO alm do n. do quadro, cada entrada da TP pode conter: bit de vlido/invlido bit de apenas leitura (read-only, RO) bit de apenas execuo (execute-only, XO) bit de leitura e escrita (read-write, RW)
o acesso a uma pgina de forma diferente do que foi definido nos seus bits gera uma interrupo de erro a proteo de memria garantida pela MMU: o SO deve atualizar a tabela de pginas e os registradores PTBR e PTLR em modo monitor a partir da, qualquer processo que tentar acessar uma posio de memria que no seja sua ser abortado28
Sistemas Operacionais
Gerncia de Memria
PAGINAO (13) a grande capacidade de endereamento dos processadores atuais exige uma TP muito grande soluo: dividir a TP em dois nveis: diretrio de TP e tabela de pginas o endereo lgico de 32 bits formado por: 10 bits para definir a entrada do diretrio da TP 10 bits para definir o nmero da pgina na TP 12 bits de deslocamento.29
Sistemas Operacionais
Gerncia de Memria
PAGINAO (14)
30
Sistemas Operacionais
Gerncia de Memria
PAGINAO (15) - EXERCCIO Considere que os processos da tabela abaixo devem ser executados em um SO com paginao. A memria total de 64K, o tamanho das pginas de 4K e o SO ocupa 8K. Mostre como seria a alocao de quadros para cada processo.Processo Mem. (K) T. Cheg T. Exec
P1 P2 P3 P4 P5
8 6 15 5 10
0 1 2 3 15
10 15 10 14 531
Sistemas Operacionais
Gerncia de Memria
SEGMENTAO (1) a memria lgica geralmente vista como uma coleo de segmentos de tamanho varivel quatro segmentos tpicos so cdigo, dados estticos, dados dinmicos e pilha o programador atribui nome aos segmentos o compilador transforma esses segmentos em nmeros um endereo lgico formado por um nmero de segmento e por um deslocamento dentro do segmento no momento da carga, o SO cria uma tabela de segmentos, guardando a posio da memria fsica e o tamanho de cada segmento32
Sistemas Operacionais
Gerncia de Memria
SEGMENTAO (2)1400 SUBROTINA SEG 0 PILHA SEG 3 PROG. PRINC. SEG 2 SQRT SEG 1
Tabela de Segmentos0 1 2 3 4 Limite 1000 400 400 1100 1000 Base 1400 6300 4300 3200 4700
SEG 0 2400 3200 SEG 3 SEG 2 SEG 4 5700 SEG 1 6300 6700 4300 4700
TAB. SIMB. SEG 4
33
Sistemas Operacionais
Gerncia de Memria
SEGMENTAO (3)Trap Endereo lgico segmentoN
deslocamento
top related