Exercícios Gerência de Memória 1) Considerando o uso de particionamento Buddy em um sistema com 4 GB de memória principal, responda as seguintes perguntas: a) Esboce o gráfico que representa o uso da memória caso a seguinte sequência de requisições seja apresentada no sistema: A (130 MB), B (750 MB), C (600 MB), D (300 MB) e E (230 MB). 4 Gb A D B C E 1
Exercícios Gerência de Memória 1) Considerando o uso de particionamento Buddy em um sistema com 4 GB de memória principal, responda as seguintes perguntas: a) b) É possível no particionamento Buddy haver fragmentação externa? Justifique. R: Sim, causado pelas sobras de áreas geradas pelo próprio particionamento Buddy, as quais não são capazes de armazenar nenhum processo (novo) que esteja na fila de prontos. c) Indique no gráfico que representa o uso de memória onde seria carregado o processo X, de tamanho igual a 240 MB. 4 Gb A E D B C X 2
Exercícios Gerência de Memória 2) Suponha um sistema computacional com 64 KB de memória principal e que utilize um sistema operacional de 14 KB que implementa alocação contígua de memória. Considere também um programa de 90 KB, formado por um módulo principal de 20 Kb e três módulos independentes, cada um com 10 KB, 20 KB e 30 KB. Como o programa poderia ser executado utilizando-se apenas a técnica de overlay? R: Como existe apenas 50Kb para a execução do programa, a memória deve ser dividida em duas áreas: uma para o módulo principal (20Kb) e outra de overlay para a carga dos módulos, em função do tamanho do maior módulo (30 Kb). 3) Considere um sistema que possua as seguintes áreas livres na memória principal, ordenadas crescentemente: 10 Kb, 4 Kb, 20 Kb, 18 Kb, 7 Kb, 9 Kb, 12 Kb, 12 Kb e 15 Kb. Para cada programa abaixo, qual seria a partição alocada utilizando-se as estratégias first-fit, best-fit e worst-fit (Tanenbaum, 1992)? a) 12 Kb b) 10 Kb c) 9 Kb R: First-fit: 20Kb, 10Kb e 18Kb Best-fit: 12Kb, 10Kb e 9Kb. Worst-fit: 20Kb, 18Kb e 15Kb. 3
Exercícios Gerência de Memória 4) Um sistema utiliza alocação particionada dinâmica como mecanismo de gerência de memória. O sistema operacional aloca uma área de memória total de 50 Kb e possui, inicialmente, os programas da tabela a seguir Tamanho Status 5 Kb Processo A 3 Kb Processo B 10 Kb Livre 6 Kb Processo C 26 Kb Livre Realize as operações abaixo, sequencialmente, mostrando o estado da memória após cada uma delas. Resolva a questão utilizando as estratégias best-fit, worst-fit e first-fit. a) alocar área para o processo D que possui 6 Kb; b) liberar a área do programa A; c) alocar área para o processo E que possui 4 Kb 4
Exercícios Gerência de Memória Best-fit Worst-fit First-fit a) 5 Kb Programa A 4 Kb Livre 26 Kb Livre 5 Kb Programa A 10 Kb Livre 20 Kb Livre 5 Kb Programa A 4 Kb Livre 26 Kb Livre b) 5 Kb Livre 4 Kb Livre 26 Kb Livre 5 Kb Livre 10 Kb Livre 20 Kb Livre 5 Kb Livre 4 Kb Livre 26 Kb Livre c) 5 Kb Livre 4 Kb Programa E 26 Kb Livre 5 Kb Livre 10 Kb Livre 4 Kb Programa E 16 Kb Livre 4 Kb Programa E 1 Kb Livre 4 Kb Livre 26 Kb Livre 5
Exercícios Endereçamento em MV 1) Um sistema com gerência de memória virtual por paginação possui tamanho de página com 512 posições, espaço de endereçamento virtual com 512 páginas endereçadas de 0 à 511 e memória real com 10 páginas numeradas de 0 à 9. O conteúdo atual da memória real contém apenas informações de um único processo e é descrito resumidamente na tabela abaixo: Endereço Físico Conteúdo 1536 PV 34 2048 PV 9 3072 TP 3584 PV 65 4608 PV 10 a) Considere que a entrada da tabela de páginas contém, além do endereço do frame, também o número da página virtual. Mostre o conteúdo da tabela de páginas deste processo. b) Mostre o conteúdo da tabela de páginas após a página virtual 49 ser carregada na memória a partir do endereço real 0 e a página virtual 34 ser substituída pela página virtual 12. c) Como é o formato do endereço virtual deste sistema? d) Qual endereço físico está associado ao endereço virtual 4613? 6
Exercícios Endereçamento em MV a) Considere que a entrada da tabela de páginas contém, além do endereço do frame, também o número da página virtual. Mostre o conteúdo da tabela de páginas deste processo. b) Mostre o conteúdo da tabela de páginas após a página virtual 49 ser carregada na memória a partir do endereço real 0 e a página virtual 34 ser substituída pela página virtual 12. c) Como é o formato do endereço virtual deste sistema? NPV Frame 9 4 10 9 34 3 65 7 NPV Frame 9 4 10 9 12 3 49 0 65 7 R: O endereço virtual possui 9 bits para endereçar a tabela de páginas e 9 bits para o deslocamento dentro da página. d) Qual endereço físico está associado ao endereço virtual 4613? R: O endereço virtual 4613 encontra-se na página virtual 9 (4613/512), que inicia no endereço virtual 4608. Como o deslocamento dentro do endereço virtual é 5, o endereço físico é a soma deste mesmo deslocamento ao endereço inicial do frame 2048, ou seja, 2053. 7
Exercícios Endereçamento em MV 2) Um sistema operacional implementa gerência de memória virtual por paginação. Considere endereços virtuais com 16 bits, referenciados por um mesmo processo durante sua execução e sua tabela de páginas abaixo com no máximo 256 entradas, sendo que estão representadas apenas as páginas presentes na memória real. Indique para cada endereço virtual a seguir a página virtual em que o endereço se encontra, o respectivo deslocamento e se a página encontra-se na memória principal neste momento. Página Endereço Físico a) (307) 10 Página virtual 1, deslocamento 51 e está na memória. 0 8 K 1 4 K 2 24 K 3 0 K 4 16 K 5 12 K 9 20 K 11 28 K b) (2049) 10 Página virtual 8, deslocamento 1 e não está na memória. c) (2304) 10 Página virtual 9, deslocamento 0 e está na memória. 8
Exercícios Endereçamento em MV 3) Uma memória virtual possui páginas de 1024 endereços, existem 8 páginas virtuais e 4096 bytes de memória real. A tabela de páginas de um processo está descrita abaixo, sendo que o asterisco indica que a página não está na memória principal: Página Virtual Página Real 0 3 1 1 2 * 3 * 4 2 5 * 6 0 7 * a) Faça a lista/faixa de todos os endereços virtuais que irão causar page fault. R: Pag. 2 (2048 / 3071), pag. 3 (3072 / 4095), pag. 5 (5120 / 6143) e pag. 7 (7168 / 8191). b) Indique o endereço real correspondente aos seguintes endereços virtuais: 0, 1023, 1024, 6500 e 3728. End. Virtual 0 (PV 0 / Desloc 0) End. Real = 3072 + 0 = 3072 End. Virtual 1023 (PV 0 / Desloc 1023) End. Real = 3072 + 1023 = 4095 End. Virtual 1024 (PV 1 / Desloc 0) End. Real = 1024 + 0 = 1024 End. Virtual 6500 (PV 6 / Desloc 356) End. Real = 0 + 356 = 356 End. Virtual 3728 (PV 3 / Desloc 656) Page Fault 9
Exercícios Busca e alocação em MV 4) Considere um sistema de memória virtual que implemente paginação, onde o limite de frames por processo é igual a três. Descreva para os itens abaixo, onde é apresentada uma sequência de referências à páginas pelo processo, o número total de page fault para as estratégias de realocação de páginas FIFO e LRU. Indique qual a mais eficaz para cada item. a) 1 / 2 / 3 / 1 / 4 / 2 / 5 / 3 / 4 / 3 FIFO = Total PF = 5 (melhor política) 1 2 3 1 4 2 5 3 4 3 PF PF PF - PF (sai 1) - PF (sai 2) - - - LRU = Total PF = 8 1 2 3 1 4 2 5 3 4 3 PF PF PF - PF (sai 2) PF (sai 3) PF (sai 1) PF (sai 4) PF (sai 2) - 10
Exercícios Busca e alocação em MV 4) Considere um sistema de memória virtual que implemente paginação, onde o limite de frames por processo é igual a três. Descreva para os itens abaixo, onde é apresentada uma sequência de referências à páginas pelo processo, o número total de page fault para as estratégias de realocação de páginas FIFO e LRU. Indique qual a mais eficaz para cada item. b) 1 / 2 / 3 / 1 / 4 / 1 / 3 / 2 / 3 / 3 FIFO = Total PF = 7 1 2 3 1 4 1 3 2 3 3 PF PF PF - PF (sai 1) PF (sai 2) - PF (sai 3) PF (sai 4) - LRU = Total PF = 5 (melhor política) 1 2 3 1 4 1 3 2 3 3 PF PF PF - PF (sai 2) - - PF (sai 4) - - 11
Exercícios Busca e alocação em MV 5) Em um sistema paginado, as páginas têm 4Kb endereços, a memória principal possui 32Kb e o limite de páginas na memória principal é de 8 páginas. Um programa faz referência à endereços virtuais situados nas páginas 0, 2, 1, 9, 11, 4, 5, 2, 3, 1, nesta ordem. Após essa sequência de acessos, a tabela de páginas completa desse programa tem a configuração abaixo, sendo que as entradas em branco correspondem a páginas ausentes. Página End. Físico 0 8 K 1 4 K 2 24 K 3 0 K 4 16 K 5 12 K 6 * 7 * 8 * 9 20 K 10 * 11 28 K 12 * 13 * 14 * 15 * a) Qual o tamanho (em bits) e o formato do endereço virtual? Justifique. R: 4 bits para o número da página, possibilitando endereçar as 16 páginas possíveis, e 12 bits para o deslocamento, possibilitando endereçar os 4K endereços de uma página. a) O processo faz novas referências à endereços virtuais situados nas páginas 5, 15, 12, 8 e 0, nesta ordem. Complete o quadro a seguir, que ilustra o processamento dessa sequência de acessos utilizando a estratégia de remoção FIFO. Mostre o estado final da tabela de páginas. Página Referenciada Página Removida Page Fault (sim/não) 5 - Não 15 0 Sim 12 2 Sim 8 1 Sim 0 9 Sim 12
Exercícios Busca e alocação em MV 6) Em um computador, o endereço virtual é de 16 bits e as páginas têm tamanho de 2Kb endereços. O WSL (Working Set List) de um processo qualquer é de quatro páginas. Inicialmente, nenhuma página está na memória principal. Um programa faz referência a endereços virtuais situados nas páginas 0, 7, 2, 7, 5, 8, 9, 2 e 4, nesta ordem. a) Quantos bits do endereço virtual destinam-se ao número da página? E ao deslocamento? R: 5 bits para nº da página e 11 bits para o deslocamento. b) Ilustre o comportamento da política de substituição LRU, mostrando, a cada referência, quais páginas estão em memória, os page faults causados e as páginas escolhidas para saírem da memória. Página virtual Páginas na memória Page fault? Página a ser substituída 0 - Sim - 7 0 Sim - 2 7, 0 Sim - 7 2, 7, 0 Não - 5 7, 2, 0 Sim - 8 5, 7, 2, 0 Sim 0 9 8, 5, 7, 2 Sim 2 2 9, 8, 5, 7 Sim 7 4 2, 9, 8, 5 Sim 5-4, 2, 9, 8 - - 13
Exercícios Busca e alocação em MV 7) Em um computador, o endereço virtual é de 16 bits e as páginas têm tamanho de 4K bytes. O limite de páginas reais de um processo qualquer é de 5 páginas. A memória principal é de 32K bytes. Inicialmente, nenhuma página está em memória. Um programa não possui nenhuma página carregada na memória principal e faz referência a endereços virtuais situados nas páginas 0, 1, 2, 1, 5, 0, 8, 9, 2 e 0, nesta ordem. a) Quantos bits do endereço virtual destinam-se ao número da página e ao deslocamento? b) Em quantas páginas reais está dividida a memória principal? c) Ilustre o comportamento da política de substituição LRU (Least Recently-Used) na tabela abaixo, mostrando a cada referência, que páginas estão em memória principal, os page faults causados e as páginas escolhidas para saírem da memória. Página Virtual Page Fault (S/N) Pág. que Sai da MP 0 Sim -- 1 Sim -- 2 Sim -- 1 Não -- 5 Sim -- 0 Não -- 8 Sim -- 9 Sim 2 2 Sim 1 0 Não -- 14
Exercícios Busca e alocação em MV d) Após várias seqüências de acesso, a tabela de páginas completa deste programa tem a seguinte configuração (entradas em branco correspondem a páginas ausentes na memória principal): Página 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 End.físico 8K 4K 0 28K 20K Suponha que a próxima instrução a ser executada se encontra localizada no endereço virtual 4120, como a seguir: Endereço virtual Instrução. 4120 mov 8200, reg reg <- (8200), onde reg é um registrador de uso geral Mostrar, para a instrução acima sendo executada, os endereços físicos calculados no ciclo de busca da instrução e no ciclo de execução. Não esquecer de modificar as informações na Tabela de Páginas. NPV Endereço Virtual Deslocamento Endereço Físico Ciclo de Busca 1 24 4120 Ciclo de Execução 2 8 8 Nenhuma alteração foi realizada na Tab. Páginas do programa durante a execução dessa instrução. 15