Você está na página 1de 11

Questo 1: Ao executar uma sequncia de instrues, o processador escreve endereos no barramento de endereos do computador, que servem para buscar

instrues e operandos. Os endereos de memria gerados pelo processador medida em que executa algum cdigo so chamados de endereos lgicos, porque correspondem lgica do programa, mas no so necessariamente iguais aos endereos reais das instrues e variveis na memria real do computador, que so chamados de endereos fsicos. Os endereos lgicos emitidos pelo processador so interceptados por um hardware especial denominado Unidade de Gerncia de Memria (MMU - Memory Management Unit), que pode fazer parte do prprio processador (como ocorre nos sistemas atuais) ou constituir um dispositivo separado (como ocorria na mquinas mais antigas). Questo 2:Durante a compilao: o compilador escolhe as posies das variveis na memria. Os cdigos-fonte que fazem parte do programa devem ser conhecidos no momento da compilao, para evitar conitos de endereos entre variveis. Durante a ligao: o compilador gera smbolos que representam as variveis, mas no dene seus endereos nais,

gerando um arquivo que contm as instrues em linguagem de mquina e as denies das variveis utilizadas, denominado arquivo objeto. O ligador (ou link-editor) ento l todos os arquivos-objeto e as bibliotecas e gera um arquivo-objeto executvel, no qual os endereos de todas as variveis esto corretamente denidos. Durante a carga: tambm possvel denir os endereos de variveis e de funes durante a carga do cdigo em memria para o lanamento de um novo processo. Nesse caso, um carregador (loader) responsvel por carregar o cdigo do processo na memria e denir os endereos de memria que devem ser utilizados. O carregador pode ser parte do ncleo do sistema operacional ou uma biblioteca ligada ao executvel, ou ambos. Por exigir a anlise e a converso de cada endereo gerado pelo processador, este mtodo s vivel com o uso de hardware dedicado para esse tratamento. Esta a abordagem usada na maioria dos sistemas computacionais atuais (como os computadores pessoais). Questo 3: Cada processo visto pelo sistema operacional como uma cpsula isolada, ou seja, uma rea de memria exclusiva que s ele e o ncleo do sistema podem acessar. Essa rea de

memria contm todas as informaes necessrias execuo do processo, divididas nas seguintes sees: TEXT, DATA, HEAP, STACK. Questo 4: A MMU responsavel por fazer a anlise dos endereos lgicos emitidos pelo processador e determina os endereos fsicos correspondentes na memria da mquina, permitindo ento seu acesso pelo processador. Caso o acesso a um determinado endereo solicitado pelo processador no seja possvel, a MMU gera uma interrupo de hardware para noticar o processador sobre a tentativa de acesso indevido. Questo 5: A MMU pode ser rapidamente ajustada para mudar a forma de converso entre endereos lgicos e fsicos, o que permite implementar uma rea de memria exclusiva para cada processo do sistema. Assim, a cada troca de contexto entre processos, as regras de converso da MMU devem ser ajustadas para somente permitir o acesso rea de memria denida para cada novo processo corrente.

Questo 6: Parties fsicas: Nesse esquema, a traduo entre os endereos lgicos vistos pelos processos e os endereos fsicos feita atravs de um simples registrador de relocao, cujo valor somado ao endereo lgico gerado pelo processador, a m de obter o endereo fsico correspondente. Alocao contgua: Nesse caso, a MMU deve ser projetada para trabalhar com dois registradores prprios: um registrador base, que dene o endereo inicial da partio ativa, e um registrador limite, que dene o tamanho em bytes dessa partio. Alocao por segmentos: uma extenso da alocao contgua, na qual o espao de memria de um processo fracionado em reas, ou segmentos, que podem ser alocados separadamente na memoria fsica. Alocao paginada: Na alocao de memria por pginas, ou alocao paginada, o espao de endereamento lgico dos processos mantido linear e unidimensional (ao contrrio da alocao por segmentos, que usa endereos

bidimensionais). Internamente, e de forma transparente para os processos, o espao de endereos lgicos dividido em pequenos blocos de mesmo tamanho, denominados pginas. Alocao segmentada paginada: Nessa abordagem, os processos vem a memria estruturada em segmentos. O hardware da MMU converte os endereos lgicos na forma [segmento:offset] para endereos lgicos lineares (unidimensionais), usando as tabelas de descritores de segmentos . Em seguida, esse endereos lgicos lineares so convertidos nos endereos fsicos correspondentes atravs do hardware de paginao (tabelas de pginas e TLB), visando obter o endereo fsico correspondente. Questo7: fragmentao externa soreas de memria que so liberadas por processos que concluem sua execuo e outras reas e so alocadas por novos processos, de forma contnua. Com isso, podem surgir reas livres (vazios ou buracos na memria) entre os processos. Pode-se enfrentar o problema da fragmentao externa de duas formas:

minimizando sua ocorrncia, atravs de critrios de escolha das reas a alocar, ou desfragmentando periodicamente a memria do sistema. Para minimizar a ocorrncia de fragmentao externa, cada pedido de alocao deve ser analisado para encontrar a rea de memria livre que melhor o atenda. Essa anlise pode ser feita usando um dos seguintes critrios: Melhor encaixe (bestt); consiste em escolher a menor rea possvel que possa atender solicitao de alocao. Dessa forma, as reas livres so usadas de forma otimizada, mas eventuais resduos (sobras) podem ser pequenos demais para ter alguma utilidade. Questo8: A fragmentao interna afeta todas as formas de alocao; as alocaes contgua e segmentada sofrem menos com esse problema, pois o nvel de arredondamento das alocaes pode ser decidido caso a caso. No caso da alocao paginada, essa deciso no possvel, pois as alocaes so feitas em pginas inteiras. Assim, em um sistema com pginas de 4 Kbytes (4.096 bytes), um processo que solicite a alocao de 550.000 bytes (134,284 pginas) receber 552.960 bytes (135 pginas), ou seja, 2.960 bytes a mais que

o solicitado. Em mdia, para cada processo haver uma perda de 1/2 pgina de memria por fragmentao interna. Assim, uma forma de minimizar a perda por fragmentao interna seria usar pginas de menor tamanho (2K, 1K, 512 bytes ou ainda menos). Todavia, essa abordagem implica em ter mais pginas por processo, o que geraria tabelas de pginas maiores e com maior custo de gerncia. Questo9: melhor encaixe (best-t) : consiste em escolher a menor rea possvel que possa atender solicitao de alocao. Dessa forma, as reas livres so usadas de forma otimizada, mas eventuais resduos (sobras) podem ser pequenos demais para ter alguma utilidade. Pior encaixe (worst-t): consiste em escolher sempre a maior rea livre possvel, de forma que os resduos sejam grandes e possam ser usados em outras alocaes. Primeiro encaixe(rst-t): consiste em escolher a primeira rea livre que satisfaa o pedido de alocao; tem como vantagem a rapidez, sobretudo se a lista de reas livres for muito longa. Prximo encaixe(next-t): variante da

anterior (rst-t) que consiste em percorrer a lista a partir da ltima rea alocada ou liberada, para que o uso das reas livres seja distribudo de forma mais homognea no espao de memria. Questo10: = Um critrio bsico a considerar para a escolha das pginas a substituir poderia ser sua idade, ou seja, o tempo em que esto na memria. Assim, pginas mais antigas podem ser removidas para dar lugar a novas pginas. Esse algoritmo muito simples de implementar: basta organizar as pginas em uma la de nmeros de pginas com poltica FIFO (First In, First Out). Os nmeros das pginas recm carregadas na memria so registrados no nal da lista, enquanto os nmeros das prximas pginas a substituir na memria so obtidos no incio da lista. Questo11: Porque a memria dividida em blocos de tamanho fixo chamados de frames-molduras de pginas e as pginas tem que ser construdas de forma a se encaixar melhor nessas molduras. RDM; A memria fsica dividida em blocos de tamanho fixo (frames-

molduras de pginas) sempre em tamanhos de potncia de 2 e entre 512 ~ 8192 bytes. Por isso a memria lgica tambm deve ser dividida em blocos (pginas) de mesmo tamanho que a da fsica. Questo12: Falta de pgina uma 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. As causas para a ocorrncia de falta de pgina so: a pgina correspondente ao endereo requisitado no est carregada na memria; a pgina correspondente ao endereo de memria acessado est carregada, mas o seu estado corrente no foi atualizado no hardware. O sistema operacional deve tratar a falta de pgina realizando tipicamente o trmino do processo em execuo. Questo13: O cache de tabela de pginas na MMU, denominado TLB (Translation Lookaside Buffer) ou cache associativo, armazena pares [pgina, quadro] obtidos em consultas recentes s tabelas de pginas do processo ativo. Esse cache funciona como uma tabela de hash: dado

um nmero de pgina pem sua entrada, ele apresenta em sua sada o nmero de quadro q correspondente, ou um ag de erro chamado erro de cache (cache miss). Por ser implementado em um hardware especial rpido e caro, geralmente esse cache pequeno: TLBs de processadores tpicos tm entre 16 e 256 entradas. Seu tempo de acesso pequeno: um acerto custa cerca de 1 ciclo de relgio da CPU, enquanto um erro pode custar entre 10 e 30 ciclos. A traduo de endereos lgicos em fsicos usando TLBs se torna mais rpida, mas tambm mais complexa. Ao receber um endereo lgico, a MMU consulta o TLB; caso o nmero do quadro correspondente esteja em cache, ele usado para compor o endereo fsico e o acesso memria efetuado. Caso contrrio, uma busca normal (completa) na tabela de pginas deve ser realizada. O quadro obtido nessa busca usado para compor o endereo fsico e tambm adicionado ao TLB para agilizar as consultas futuras. Questo14: Porque trocas de contexto

muito frequentes prejudicam a eficincia de acesso memria ocupando espaos, tornando o sistema mais lento.

Você também pode gostar