Você está na página 1de 17

FTT Sistemas Operacionais Prof. Viotti Reviso 2.

Bimestre
Sidon Duarte sidoncd@gmail.com 15 de junho de 2012

Questionrio Viotti

Sistemas Operacionais

Sumrio
1 Quais os problemas que a alocao contigua de memria pode trazer para o SO? 4 2 Para tentar resolver o esse tipo de problema, o que os engenheiros zeram com relao memoria? 4 3 possvel armar que a Alocao Particionada Esttica Absoluta pode ser utilizada por um SO que seja monotarefa? Por qu? 5 4 Quais os problemas que esse tipo de alocao pode trazer durante a execuo de diversos processos? 5 5 A Alocao particionada esttica relocvel s pode ser implementada graas aos novos links e loaders. Qual foi essa novidade? 6 6 O que fragmentao interna? 6 7 A Alocao particionada dinmica utiliza uma tabela de parties? Justique sua resposta. 6 8 Esse tipo de alocao pode gerar uma fragmentao externa. Como isso pode ser resolvido? Explique. 7 9 Comente sobre os 3 tipos de estratgias de alocao de memria. 8 10 Explique a diferena entre a tcnica de swapping e a tcnica de overlay. 9 11 Dena memria virtual. 10 12 Geralmente quanto de memria virtual o SO deve reservar com relao memria real? O que acontece se esse nmero for muito grande? 11 13 O que Endereo Lgico e Endereo Fsico? 14 O que mapeamento de memria? 11 12
FTT - ADS4 2012

Questionrio Viotti

Sistemas Operacionais

15 O que MMU? Explique seu funcionamento.

12

16 Para que um programa seja executado o mesmo deve estar totalmente na memria fsica? O que isso tem a ver com a tcnica de gerenciamento de memria virtual? 13 17 O que um Page Fault? 18 O que NPV, Frame e ETP? 19 O que uma TLB? Qual a sua nalidade? 13 13 14

20 Quais as vantagens ou desvantagens entre o uso da paginao por demanda comparada com a paginao antecipada? 14

20.1 Paginao por demanda . . . . . . . . . . . . . . . . . . . . . 14 20.2 Paginao antecipada . . . . . . . . . . . . . . . . . . . . . . . 14 20.3 Vantagens x Desvantagens . . . . . . . . . . . . . . . . . . . . 14

21 A alocao varivel uma boa sada para a diminuio da taxa de PF. O que isso pode trazer de problemas para o SO? 15 22 Como funciona o Working Set?

21.1 Alocao Fixa . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 21.2 Alocao Varivel . . . . . . . . . . . . . . . . . . . . . . . . . 16

16

23 Explique o funcionamento da estratgia de alocao de pginas MRU? 17 24 Porque o algoritmo timo no pode ser implementado na realidade? 17

FTT - ADS4 2012

Questionrio Viotti

Sistemas Operacionais

1 Quais os problemas que a alocao contigua de memria pode trazer para o SO?
Na alocao contgua simples, como s um usurio pode utilizar por vez, caso o programa no a preencha totalmente, existir um espao de memria sem utilizao, isto , ocorre a fragmentao. Alm de disponibilidzar uma quantidade de memria limitada o aproveitamento da mesma ineciente.

2 Para tentar resolver o esse tipo de problema, o que os engenheiros zeram com relao memoria?
dividir o programa em partes (mdulos), de forma que pudessem executar independentemente uma da outra, utilizando a mesma rea da memria. Esta tcnica recebeu o nome de Overlay.

Figura 1: Area de Overlay na Alocao contgua Simples

FTT - ADS4 2012

Questionrio Viotti

Sistemas Operacionais

3 possvel armar que a Alocao Particionada Esttica Absoluta pode ser utilizada por um SO que seja monotarefa? Por qu?
No porque nos sistemas monoprogramveis somente um processo pode ser executado por vez, desta forma a alocao particionada seria intil.

4 Quais os problemas que esse tipo de alocao pode trazer durante a execuo de diversos processos?
Na alocao particionada esttica como as parties tinham tamanhos xos, os espaos nas parties cavam ociosos quando programas com tamanho menores do que estas parties eram executados nas mesmas, ocasionando a fragmentao interna.

Figura 2: Representao da alocao na memria particionada

FTT - ADS4 2012

Questionrio Viotti

Sistemas Operacionais

5 A Alocao particionada esttica relocvel s pode ser implementada graas aos novos links e loaders. Qual foi essa novidade?
linkeditores suportavam cdigos relocveis, O programa pode ser car-

regado em qualquer posio da memria. Deve haver uma traduo de endereos (ou relocao de endereos) cvies (ex: JMP endx)

O Loader (em tempo de carga) reloca os endereos das instrues relo-

6 O que fragmentao interna?


o conjunto de espaos sem uso dentro de cada partio.

Figura 3: Representao da fragmentao externa e interna

7 A Alocao particionada dinmica utiliza uma tabela de parties? Justique sua resposta.
No, porque na verdade No existe realmente o conceito de partio dinmica. O espao utilizado por um programa a sua partio. FTT - ADS4 2012

Questionrio Viotti

Sistemas Operacionais

8 Esse tipo de alocao pode gerar uma fragmentao externa. Como isso pode ser resolvido? Explique.
Sim, este tipo de alocao gera a fragmentao externa porque Ao terminarem, os programas deixam espalhados espaos pequenos de memria. Isto pode ser resolvido com a compactao que consiste no deslocamento dos programas na memria de forma que todos os espaos livres quem reunidos em uma nica lacuna, porm isto gera um custo de processament (overhead) alm da necessidade de relocao dinmica, pois a relocao esttica imposibilita a compactao.

Figura 4: Fragmentao externa

FTT - ADS4 2012

Questionrio Viotti

Sistemas Operacionais

9 Comente sobre os 3 tipos de estratgias de alocao de memria.


A realocao de memria consome muitos recursos, para evitar este consumo excessivo os SOs evitam sua utilizao, como soluo adotam estratgias de alocao na tentativa de minimizar o problema da fragmentao externa, no existe uma estratgia melhor, pois o resultado depende de muitas varveis, cada uma das estratgias pode ser adotada dependendo do contexto, em todos os casos o SO mantm listas de reas livres. Os 3 tipos:

Figura 5: Representao da fragmentao externa

rst-t:
Inicia a procura a partir da primeira pgina de memria (parte baixa) e vai varrendo a memria at encontrar a primeira lacuna sucientemente grande para armazenar o processo.

FTT - ADS4 2012

Questionrio Viotti

Sistemas Operacionais

best-t:
Varre toda a memria e escolhe a pgina mais ajustada ao tamanho do processo.

worst-t:
Varre toda a memria e escolhe a pgina menos ajustada ao tamanho do processo.

10 Explique a diferena entre a tcnica de swapping e a tcnica de overlay.


A tcnica de overlay (usado principalmente na alocao contgua) consiste em dividir o programa em mdulos onde os processos comuns a todo programa colocado em um mdulo identicado como mdulo principal que permanece sempre no topo da memria, a memria ento dividida em uma rea para que comporte este mdulo e em outras reas para que se faa a sobreposio dos outros mdulos sob demanda. A denio das reas de overlay funo do programador, atravs de comandos especcos da linguagem utilizada. Mesmo com a evoluo dos sistemas multiprogramados e do gerenciamento de memria, muitas vezes um programa no podia ser executado por falta de partio disponvel, um dos principais problemas na utilizao e gerenciamento de memria era o fato de que um programa permanecia na memria principal at o nal de sua execuo, a tcnica de swapping tenta resolver este problema, da seguinte maneira: Toda vez que um programa precisa ser alocado para execuo e no h espao na memria principal, o sistema operacional escolhe entre os processos alocados que no tem previso de utilizar a CPU nos prximos instantes (quase sempre entre aqueles que esto em interrupo de E/S ou no nal da la de pronto), e descarrega este processo da memria para uma rea especial em disco, chamada arquivo de swap, onde o processo ca armazenado temporariamente. Durante o tempo em que o processo ca em swap, o outro que necessitava de memria entra em execuo ocupando o espao deixado pelo que saiu. Pouco antes de chegar a vez do processo armazenado em swap utilizar a CPU, o sistema escolhe um outro processo para descarregar para swap e devolve o anterior da rea de swap para a memria principal, para que este possa ser executado novamente. FTT - ADS4 2012

Questionrio Viotti

Sistemas Operacionais

E vai trabalhando assim at que os processos vo terminando. O problema dessa tcnica que pode provocar um nmero excessivo de acesso memria secundria (disco), levando o sistema a uma queda de desempenho.

11 Dena memria virtual.


Memria virtual uma tcnica sosticada e poderosa de gerncia de memria onde as memrias principal e secundria so combinadas, dando ao usurio a impresso de que existe mais memria do que a capacidade real de memria principal.
Uma forma de permitir ao software utilizar mais memria do que o

computador possui sicamente;

Consiste de um conjunto de alteraes no projeto de hardware combi-

nadas a alteraes no projeto do sistema operacional; da memria principal;

Desvincula o endereamento feito pelo programa dos endereps fsicos Um programa no ambiente de memria virtual no faz referencia a

endereos fsicos de memria (endereos reais), mas apenas a endereos virtuais; zido para um endereo fsico, pois o processador acessa apenas posies da memria principal; denominado mapeamento;

No momento da execuo de uma instruo, o endereo virtual tradu-

O mecanismo de traduo do endereo virtual para o endereo fsico O conjunto de endereos virtuais que os processos podem enderear

chamado espao de endereamento virtual, analogamente o conjunto de endereos reais chamado espao de endereamento real. com os endereos no espao real; moria virtual;

O espao de endereamento virtual no tem nenhuma relao direta O desenvolvedor no precisa se preocupar com o gerenciamento da me Os compiladores e linkers se encarregam de gerar o cdigo executvel

em funo desses endereos, o sistema operacional cuida dos detalhes de sua execuo. FTT - ADS4 2012

Questionrio Viotti

Sistemas Operacionais

12 Geralmente quanto de memria virtual o SO deve reservar com relao memria real? O que acontece se esse nmero for muito grande?
Geralmente o SO reserva a quantidade de memria disponvel multiplicado por um fator que atualmente 1,5 nos sistemas modernos. Se for reservado um nmero muito grande de memria virtual o sistema tende a tornar-se lento.

13 O que Endereo Lgico e Endereo Fsico?


Endereos lgicos so endereos que constam na tabela de mapeamento, endereos fsicos so os endereos reais da memria principal, os endereos lgicos apontam para endereos fsicos.

Figura 6: Representao do mapeamento de endereos lgicos para endereos fsicos

FTT - ADS4 2012

Questionrio Viotti

Sistemas Operacionais

Figura 7: Representao do endereo lgico dentro da pgina

14 O que mapeamento de memria?


Mecanismo que converte os endereos virtuais em endereos reais, permitindo que os programas no precisem estar necessariamente contiguo na memria real para serem executados. Nos sistemas atuais a tarefa de traduo realizada por hardware em conjunto com o SO de forma a no comprometer o desempenho e tornar o processo transparente para os usurios e suas aplicaes.

15 O que MMU? Explique seu funcionamento.


Unidade de Gerenciamento de Memria um dispositivo de hardware que traduz endereos virtuais em endereos fsicos. Na MMU, o valor no registo de re-locao adicionado a todo o endereo lgico gerado por um processo do utilizador na altura de ser enviado para a memria. O programa do utilizador manipula endereos lgicos; ele nunca v endereos fsicos reais.

FTT - ADS4 2012

Questionrio Viotti

Sistemas Operacionais

16 Para que um programa seja executado o mesmo deve estar totalmente na memria fsica? O que isso tem a ver com a tcnica de gerenciamento de memria virtual?
No, e isto uma das principais vantagens do gerenciamento de memria virtual, o programa paginado e colocado na memria virtual e pginas do mesmo so copiados para a memoria fsica de acordo com a necessidade.

17 O que um Page Fault?


Interrupo (ou exceo) disparada pelo hardware quando um programa acessa uma pgina mapeada no espao de memria virtual, mas que no foi carregada na memria fsica do computador.

18 O que NPV, Frame e ETP?


A memria virtual por paginao a tcnica de gerncia de memria onde o espao de endereamento virtual e o espao de endereamento real so divididos em blocos do mesmo tamanho chamados pginas. As pginas no espao virtual so denominadas pginas virtuais, enquanto as pginas no espao real so chamadas de pginas reais ou frames. Todo o mapeamento de endereo virtual em real realizado atravs de tabelas de pginas. Cada processo possui sua prpria tabela de pginas e cada pgina virtual do processo possui uma entrada na tabela (entrada na tabela de pginas ? ETP), com informaes de mapeamento que permitem ao sistema localizar a pgina real correspondente. Quando um programa executado, as pginas virtuais so transferidas da memria secundria para a memria principal e colocadas nos frames. Sempre que um programa zer referncia a um endereo virtual, o mecanismo de mapeamento localizar na ETP da tabela do processo o endereo fsico do frame no qual se encontra o endereo real. correspondente. Nessa tcnica, o endereo virtual formado pelo nmero da pgina virtual (NPV) e por um deslocamento. O NPV identica unicamente a pgina virtual que contm o endereo, funcionando como um ndice na tabela de pginas. O deslocamento indica a posio do endereo virtual em relao ao incio da pgina na qual se encontra. O endereo fsico obtido, ento,

FTT - ADS4 2012

Questionrio Viotti

Sistemas Operacionais

combinando-se o endereo do frame, localizado na tabela de pginas, com o deslocamento, contido no endereo virtual.

19 O que uma TLB? Qual a sua nalidade?


Translation Address Table. A TLB fundamental no acesso memria. Basicamente, os endereos de toda a memria RAM disponvel so divididos em pginas de memria. Cada pgina de memria tem uma tabela de endereos, com os dados armazenados e sua localizao. Esta tabela precisa ser consultada antes de cada acesso memria. O grande problema que em condies normais, a tabela ca armazenada na prpria memria RAM, o que faz com que o processador precise fazer um duplo acesso memria, o primeiro para ler a tabela de endereos e o segundo para recuperar os dados propriamente ditos. A TLB uma espcie de cache, includo no processador, que permite que ele mantenha as tabelas de endereos de algumas pginas pr-carregados, o que melhora consideravelmente a velocidade de acesso memria, quando os dados necessrios no so encontrados no cache L1 e L2. Quanto maior a TLB, mais endereos podem ser armazenados e maior o ganho.

20 Quais as vantagens ou desvantagens entre o uso da paginao por demanda comparada com a paginao antecipada?
20.1 Paginao por demanda
Na paginao por demanda a pgina s carregada na RAM no momento em que ela referenciada.

20.2 Paginao antecipada


Na paginao antecipada, cada vez que for preciso carregar uma pgina, aproveita-se a operao de transferncia pelo barramento e algumas pginas adjacentes tambm so trazidas junto

20.3 Vantagens x Desvantagens


Na paginao por demanda no h desperdcio de espao na RAM; o

que a torna ideal para os sistemas mais antigos onde a RAM era escassa FTT - ADS4 2012

Questionrio Viotti e cara

Sistemas Operacionais

Na paginao antecipada h uma boa chance das pginas trazidas de

forma antecipada ser referidas em seguida (princpio da localidade), melhorando o desempenho do programa em execuo; o que a torna ideal para sistemas mais recentes onde a RAM bem maior e o processador mais rpido

21 A alocao varivel uma boa sada para a diminuio da taxa de PF. O que isso pode trazer de problemas para o SO?
A poltica de alocao de pginas determina quantos frames cada processo pode manter na memria principal. Existem, basicamente, duas alternativas: alocao xa e alocao varivel.

21.1 Alocao Fixa


Na poltica de alocao xa, cada processo tem um nmero mximo de frames que pode ser utilizado durante a execuo do programa. Caso o nmero de pginas reais seja insuciente, uma pgina do processo deve ser descartada para que uma nova seja carregada. O limite de pginas reais pode ser igual para todos os processos ou denido individualmente. Apesar de parecer justo alocar o mesmo nmero de pginas para todos os processos, pode no ser uma boa opo, pois a necessidade de memria de cada processo raramente a mesma. O limite de pginas deve ser denido no momento da criao do processo, com base no tipo de aplicao que ser executada. Essa informao faz parte do contexto de software do processo. Apesar de sua simplicidade, a poltica de alocao xa de pginas apresenta dois problemas. Se o nmero mximo de pginas alocadas for muito pequeno, o processo tender a ter um elevado nmero de page faults, o que pode impactar no desempenho de todo o sistema. Por outro lado, caso o nmero de pginas seja muito grande, cada processo ir ocupar na memria principal um espao maior do que o necessrio, reduzindo o nmero de processos residentes e o grau de multiprogramao. Nesse caso, o sistema pode implementar a tcnica de swapping, retirando e carregando processos da/para a memria principal.

FTT - ADS4 2012

Questionrio Viotti

Sistemas Operacionais

21.2 Alocao Varivel


Na poltica de alocao varivel, o nmero mximo de pginas alocadas ao processo pode variar durante sua execuo em funo de sua taxa de paginao e da ocupao da memria principal. Nesse modelo, processos com elevadas taxas de paginao podem ampliar o limite mximo de frames, a m de reduzir o nmero de page faults. Da mesma forma, processos com baixas taxas de paginao podem ter pginas realocadas para outros processos. Este mecanismo, apesar de mais exvel, exige que o sistema operacional monitore constantemente o comportamento dos processos, gerando maior overhead.

22 Como funciona o Working Set?


Conjunto de Trabalho (Working Set) Apesar de suas diversas vantagens, o mecanismo de memria virtual introduz um srio problema. Como cada processo possui na memria principal apenas algumas pginas alocadas, o sistema deve manter um conjunto mnimo de frames buscando uma baixa taxa de paginao. Ao mesmo tempo, o sistema operacional deve impedir que os processos tenham um nmero excessivo de pginas na memria, de forma a aumentar o grau de compartilhamento da memria principal. Caso os processos tenham na memria principal um nmero insuciente de pginas para a execuo do programa, provvel que diversos frames referenciados ao longo do seu processamento no estejam na memria. Esta situao provoca a ocorrncia de um nmero elevado de page faults e, conseqentemente, inmeras operaes de E/S. Neste caso, ocorre um problema conhecido como trashing, provocando srias conseqncias ao desempenho do sistema. O conceito de working set surgiu com o objetivo de reduzir o problema do trashing e est relacionado ao princpio da localidade. Existem dois tipos de localidades que so observados durante a execuo da maioria dos programas. A localidade espacial a tendncia de que aps uma referncia a uma posio de memria sejam realizadas novas referncias a endereos prximos. A localidade temporal a tendncia de que aps a referncia a uma posio de memria esta mesma posio seja novamente referenciada em um curto intervalo de tempo. O princpio da localidade signica que o processador tender a concentrar suas referncias a um conjunto de pginas do processo durante um determinado perodo de tempo. Imaginando um loop, cujo cdigo ocupe trs pginas, a tendncia de essas trs pginas serem referenciadas diversas vezes muito alta.

FTT - ADS4 2012

Questionrio Viotti

Sistemas Operacionais

23 Explique o funcionamento da estratgia de alocao de pginas MRU?


Aproximao do desempenho terico do algoritmo timo; Assume que pginas usadas recentemente logo sero usadas novamente; Retira da memria pgina que h mais tempo no usada; Implementao por SW muito onerosa, pois tem-se que atualizar uma

lista encadeada;

24 Porque o algoritmo timo no pode ser implementado na realidade?


O algoritmo timo seleciona para substituio uma pgina que no ser mais referenciada no futuro ou aquela que levar o maior intervalo de tempo para ser novamente utilizada. Apesar deste algoritmo garantir as menores taxas de paginao para os processos, na prtica impossvel de ser implementado, pois o sistema operacional no tem como conhecer o comportamento futuro das aplicaes. Essa estratgia utilizada apenas como modelo comparativo na anlise de outros algoritmos de substituio.

FTT - ADS4 2012

Você também pode gostar