Você está na página 1de 6

Arquitetura de Computadores e Sistemas Operacionais Terceira Lista de Exerccios Gerenciamento de Memria. Memria Virtual 1.

Descreva o funcionamento do mecanismo de Alocao Contgua simples de memria. O MECANISMO DE ALOCAO CONTGUA SIMPLES USADO EM SISTEMAS MONOPROGRAMADOS. O SISTEMA OPERACIONAL OCUPA UMA PARTE DA MEMRIA RAM E O RESTANTE DISPONIBILIZADO PARA O PROGRAMA DE APLICAO A SER EXECUTADO. NESTE MECANISMO, O TAMANHO DA MEMRIA RAM DEFINIDO A PARTIR DO TAMANHO DO MAIOR PROGRAMA DE APLICAO A SER EXECUTADO E DO SISTEMA OPERACIONAL. CADA VEZ QUE UM PROGRAMA RESIDENTE INSTALADO, A REA DISPONVEL PARA OS PROGRAMAS DIMINUIDA. 2. Sobre alocao contgua simples, quais so as principais caractersticas da parte transiente (no residente) do sistema operacional? A PARTE TRANSIENTE PODE SER DESCARTADA E APROVEITADA PARA LIBERAR MAIS MEMRIA RAM PARA QUANDO OS PROGRAMAS DE APLICAO SO EXECUTADOS. ELA TEM FUNES E SERVIOS QUE NO SO UTILIZADOS NOS MOMENTOS QUE OS PROGRAMAS DE USURIO ESTO EM EXECUO (COMO O INTERPRETADOR DE COMANDOS, POR EXEMPLO). DEVE SER RECARREGADA QUANDO O PROGRAMA DE USURIO TERMINA. POR ESTAR ACIMA DA REA PROTEGIDA DE MEMRIA, S CONTEM INSTRUES EM MODO USURIO. 3. Na alocao contgua simples, os programas so executados em monoprogramao. Neste caso, os modos usurio e supervisor de operao da CPU so necessrios? Por que? A OPERAO DA CPU EM MODO USURIO E SUPERVISOR NECESSRIA NA ALOCAO CONTGUA SIMPLES, MESMO OPERANDO EM MONOPROGRAMAO, PORQUE H AES QUE S O SISTEMA OPERACIONAL TEM O PRIVILGIO PARA EXECUTAR (POR EXEMPLO, MANIPULAR REGISTRADOR QUE DEFINE ONDE TERMINA A REA PROTEGIDA DE MEMRIA). 4. Como funciona o Gerenciamento de Memria por Particionamento Fixo? Como so definidos os tamanhos de cada uma das parties em um Gerenciamento de Memria por Particionamento Fixo? NO MECANISMO DE PARTICIONAMENTO SIMPLES, USADO EM SISTEMAS MULTIPROGRAMADOS, A MEMRIA DIVIDIDA EM BLOCOS DENOMINADOS DE PARTIES. O NMERO DE PARTIES E O TAMANHO DELAS DEFINIDO NO MOMENTO DA INSTALAO DO SISTEMA E NO PODE SER MODIFICADO EM TEMPO DE OPERAO. O SISTEMA OPERACIONAL OCUPA UMA DAS PARTIES E AS RESTANTES SO DISPONIBILIZADAS PARA OS PROGRAMAS DE APLICAO A SEREM EXECUTADOS. O TAMANHO DA MAIOR DEFINIDO A PARTIR DO TAMANHO DO MAIOR PROGRAMA DE APLICAO A SER EXECUTADO. O NMERO DE PARTIES DEFINIDO PELO GRAU DE MULTIPROGRAMAO DESEJADO.

5. Descreva as polticas usadas no gerenciamento de memria particionada varivel. Qual poltica beneficia programas pequenos e qual beneficia programas grandes? Qual a desvantagem de se implementar a compactao ("burping") com freqncia? NO MECANISMO DE PARTICIONAMENTO VARIVEL, H VRIAS PARTIES NA MEMRIA QUE SO CRIADAS DINAMICAMENTE. CADA VEZ QUE UM PROGRAMA INICIADO, DEVESE ESCOLHER UMA DAS PARTIES LIVRES PARA SE ALOCAR O PROGRAMA. AS POLTICAS QUE PODEM SER IMPLEMENTADAS SO: FIRST FIT ONDE SE ESCOLHE A PARTIO MAIS PRXIMA DO INCIO DA MEMRIA CAPAZ DE ACOMODAR O PROGRAMA. BEST FIT ONDE SE ESCOLHE A MENOR PARTIO DE MEMRIA CAPAZ DE ACOMODAR O PROGRAMA. WORST FIT ONDE SE ESCOLHE A MAIOR PARTIO DE MEMRIA CAPAZ DE ACOMODAR O PROGRAMA. A POLTICA FIRST FIT BENEFICIA OS PROGRAMAS GRANDES AO FAVORECER A FORMAO DE UMA GRANDE PARTIO LIVRE NO FINAL DA MEMRIA. A POLTICA WORST FIT BENEFICIA OS PROGRAMAS PEQUENOS AO FAVORECER A FORMAO DE PARTIES LIVRES APROXIMANDAMENTE DO MESMO TAMANHO. O PROCESSO DE MOVER TODOS OS PROGRAMAS NA MEMRIA, AGRUPANDO AS PARTIES E FORMANDO UMA PARTIO LIVRE NO FINAL (COMPACTAO OU BURPING) TOMA MUITO TEMPO DE PROCESSAMENTO E ACABA POR SER UM PROCESSO INEFICAZ. 6. Compare as polticas FIRST FIT, BEST FIT e WORST FIT. A POLTICA FIRST FIT A QUE TOMA MENOS TEMPO PARA PROCESSAR POIS NO REQUER QUE SEJAM EXAMINADAS TODAS AS PARTIES LIVRES DE MEMRIA. ELA BENEFICIA OS PROGRAMAS GRANDES AO FAVORECER A FORMAO DE UMA GRANDE PARTIO LIVRE NO FINAL DA MEMRIA. A POLTICA BEST FIT, ONDE SE ESCOLHE A MENOR PARTIO DE MEMRIA CAPAZ DE ACOMODAR O PROGRAMA, TOMA MAIS TEMPO DE PROCESSAMENTO E PODE CAUSAR FRAGMENTAO DA MEMRIA. A POLTICA WORST FIT, ONDE SE ESCOLHE A MAIOR PARTIO DE MEMRIA CAPAZ DE ACOMODAR O PROGRAMA, BENEFICIA OS PROGRAMAS PEQUENOS AO FAVORECER A FORMAO DE PARTIES LIVRES APROXIMANDAMENTE DO MESMO TAMANHO. 7. Descreva o mecanismo de alocao de memria com swapping. Este mecanismo pode ser usado com multiprogramao? NO MECANISMO DE SWAPPING, CADA VEZ QUE TERMINA O TIME SLOT DE UM PROGRAMA E INICIA O DE OUTRO (TROCA DE CONTEXTO) O PROGRAMA INTEIRAMENTE SUBSTITUIDO NA MEMRIA. ASSIM, TODA A MEMRIA RAM (EXCLUIDA A PARTE OCUPADA PELO SISTEMA OPERACIONAL) EST DISPONVEL PARA CADA PROGRAMA. ESTE MECANISMO FEITO PARA MULTIPROGRAMAO. 8. Por que alguns programas se comportam bem com uso de memria virtual e outros programas com o mesmo tamanho ocupado em RAM produzem thrashing? O PRINCPIO DA LOCALIDADE INDICA QUE NEM TODAS AS POSIES DE MEMRIA DE UM PROGRAMA SO NECESSRIAS AO MESMO TEMPO, DURANTE A SUA EXECUO. DESTE MODO, POSSVEL EXECUTAR UM PROGRAMA APENAS PARCIALMENTE CARREGADO EM RAM. CONTUDO, PROGRAMAS DIFERENTES PODEM TER PADRES DE USO DE MEMRIA BEM DIFERENTES ASSIM, MESMO QUE TENHAM O MESMO NMERO DE PGINAS, PODEM GERAR VOLUMES DIFERENTES DE PAGE-FAULTS.

9. O que o princpio da localidade? Explique como ele possibilita a implementao de sistemas de memria virtual. A MEMRIA VIRTUAL BASEADA NA IDIA DE SE PODER EXECUTAR PROGRAMAS PARCIALMENTE CARREGADOS EM MEMRIA RAM, MANTENDO O RESTANTE EM DISCO E S TRAZENDO-O PARA RAM NA MEDIDA DO NECESSRIO. CONTUDO, ESTA IDIA S EFICAZ SE O ACESSO AO DISCO FOR POUCO FREQNTE. ISTO DE FATO OCORRE NA MAIORIA DAS VEZES COM OS PROGRAMAS E DENOMINADO DE PRINCPIO DA LOCALIDADE: A REA DE MEMRIA UTILIZADA POR UM PROGRAMA DURANTE UM DADO PERODO DE TEMPO PEQUENA E SE MODIFICA LENTAMENTE COM O TEMPO. UMA MANEIRA ALTERNATIVA DE ENUNCIAR O PRINCPIO DA LOCALIDADE DIZER QUE, SE UM PROGRAMA ACESSA UMA CERTA POSIO DE MEMRIA, GRANDE A PROBABILIDADE DESTA POSIO E DE POSIES PRXIMAS A ELA VIREM A SER NOVAMENTE ACESSADAS. ISSO POSSIBILITA A IMPLEMENTAO DE SISTEMAS DE MEMRIA VIRTUAL POIS PERMITEM QUE GRANDES PROGRAMAS SEJAM EXECUTADOS COM PARTES PEQUENAS DELES INSTALADOS EM MEMRIA. 10. O uso de memria virtual poderia ser proveitoso para programas CPU bound? O USO DE MEMRIA VIRTUAL POSSIBILITA O USO DE PROGRAMAS QUE SEJAM MAIORES AT MESMO QUE A MEMRIA RAM EXISTENTE. ASSIM, O USO DE MEMRIA VIRTUAL PODE SER BENFICO PARA PROGRAMAS CPU-BOUND (QUE FAZEM UMA GRANDE QUANTIDADE DE CLCULOS SOBRE UM GRANDE VOLUME DE DADOS). 11. Descreva o mecanismo de gerenciamento de memria por paginao e paginao dinmica. NO MECANISMO DE GERENCIAMENTO DE MEMRIA POR PAGINAO A MEMRIA RAM DIVIDIDA EM BLOCOS DE MESMO TAMANHO DENOMINADOS DE PGINAS (POR EXEMPLO, NA ARQUITETURA DO PENTIUM, A MEMRIA DIVIDIDA EM PGINAS DE 8.192 BYTES [213 BYTES]). DO MESMO MODO, OS PROGRAMAS SO DIVIDIDOS EM PGINAS DESTE MESMO TAMANHO. CADA PGINA DO PROGRAMA CARREGADA EM UMA PGINA DE MEMRIA. O MAPEAMENTO DE QUAL PGINA DE MEMRIA CONTM QUAL PGINA DE QUAL PROGRAMA DESCRITO POR TABELAS DENOMINADAS DE PAGE MAP TABLE (H UMA PAGE MAP TABLE PARA CADA PROGRAMA) DESTE MODO, CADA VEZ QUE UM PROGRAMA ACESSA UMA POSIO DE MEMRIA, SUA PAGE MAP TABLE CONSULTADA. O MECANISMO DE PAGINAO DINMICA FUNCIONA DO MESMO MODO MAS PERMITE QUE NEM TODAS AS PGINAS DO PROGRAMA ESTEJAM PRESENTES EM PGINAS DE RAM PARA O PROGRAMA PODER SER EXECUTADO. DESTE MODO, PODE-SE IMPLEMENTAR MEMRIA VIRTUAL POR PAGINAO.

12. Explique o que Page Map Table. Explique como o processo de traduo do endereo dentro de um programa para um endereo na memria fsica. O MAPEAMENTO DE QUAL PGINA DE MEMRIA CONTM QUAL PGINA DE QUAL PROGRAMA DESCRITO POR TABELAS DENOMINADAS DE PAGE MAP TABLE (H UMA PAGE MAP TABLE PARA CADA PROGRAMA). CADA VEZ QUE UM PROGRAMA ACESSA UMA POSIO DE MEMRIA, SUA PAGE MAP TABLE CONSULTADA. DESTE MODO, CADA VEZ O PROGRAMA ACESSA UMA POSIO DE MEMRIA, A PGINA DESTA POSIO DETERMINADA, A PAGE MAP TABLE CONSULTADA PARA SE DETERMINAR QUAL A PGINA DE RAM ONDE ELA EST E ENTO, DETERMINADA A POSIO DENTRO DA PGINA PARA SE FAZER ACESSO POSIO DENTRO DA PGINA DA MEMRIA RAM. 13. Explique como funcionam as polticas para remoo de pginas em um gerenciador de memria por paginao. Compare as polticas FIFO, LRU e LFU para a substituio de pginas. NO MECANISMO DE GERENCIAMENTO DE MEMRIA POR PAGINAO DINMICA, NEM TODAS AS PGINAS DO PROGRAMA ESTO PRESENTES EM PGINAS DE RAM ASSIM PODE-SE IMPLEMENTAR MEMRIA VIRTUAL POR PAGINAO. DESTE MODO, CADA VEZ O PROGRAMA ACESSA UMA POSIO DE MEMRIA, A PGINA DESTA POSIO DETERMINADA, A PAGE MAP TABLE CONSULTADA PARA SE DETERMINAR QUAL A PGINA DE RAM ONDE ELA EST. SE A PGINA DO PROGRAMA NO ESTIVER CARREGADA EM MEMRIA RAM (PAGE FAULT) E TODAS AS PGINAS DE MEMRIA RAM ESTIVEREM OCUPADAS, UMA DELAS DEVER SER ESCOLHIDA PARA SER DESOCUPADA (SE FOI MODIFICADA DEVE SER SALVA EM DISCO NO PAGE FILE OU ARQUIVO DE SWAP ANTES) PARA DAR LUGAR PARA A PGINA SOLICITADA. A ESCOLHA DA PGINA A SER REMOVIDA PODE SER FEITA POR UMA DAS SEGUINTES POLTICAS: FIFO, LRU E LFU. FIFO: FIRST IN FIRST OUT. A PGINA ESCOLHIDA PARA SER REMOVIDA A QUE EST A MAIS TEMPO ALOCADA. LRU: LEAST RECENTLY USED. A PGINA ESCOLHIDA PARA SER REMOVIDA A QUE EST A MAIS TEMPO SEM SER USADA. FIFO: LEAST FREQUENTLY USED. A PGINA ESCOLHIDA PARA SER REMOVIDA A QUE FOI MENOS VEZES USADA A ALGUM TEMPO. 14. O que trashing? Como este fenmeno se relaciona ao grau de multiprogramao e ao nmero de pginas fsicas existentes. Que aes podem ser efetuadas quando se detecta a ocorrncia freqente de thrashing? TRASHING UM FENMENO QUE OCORRE EM SISTEMAS DE MEMRIA VIRTUAL POR PAGINAO. QUANDO A TAXA DE PAGE FAULT CRESCE MUITO E, COM ISSO, O DESEMPENHO DO COMPUTADOR. ISTO OCORRE QUANDO H POUCA MEMRIA RAM OU O GRAU DE MULTIPROGRAMAO MUITO ALTO. QUANDO SE DETECTA A OCORRNCIA DE TRASHING (POR EXEMPLO, NO WINDOWS O VALOR TIDO COMO LIMITE E DE 2 PAGE FAULTS POR SEGUNDO) A NICA PROVIDNCIA A SER TOMADA AUMENTAR A MEMRIA RAM.

15. Descreva o mecanismo de gerenciamento de memria por segmentao. Compare com o modo paginado. Como a segmentao pode ser usada para implementar memria virtual? Descreva o mecanismo de gerenciamento de memria por segmentao com paginao. NO MECANISMO DE GERENCIAMENTO DE MEMRIA POR SEGMENTAO OS PROGRAMAS SO DIVIDIDOS EM BLOCOS DENOMINADOS SEGMENTOS. SEGMENTOS SO FORMADOS PELOS PROGRAMADORES OU FERRAMENTAS DE PROGRAMAO (POR EXEMPLO, ALGUNS COMPILADORES DIVIDEM PROGRAMAS AUTOMATICAMENTE EM SEGMENTOS DE CDIGO, DADOS E PILHA). CADA SEGMENTO PODE TER UM TAMANHO DIFERENTE E PODE SER CARREGADO INDIVIDUALMENTE NA MEMRIA DE MODO SEMELHANTE AO DO MECANISMO DE PARTICIONAMENTO DINMICO. O MAPEAMENTO DE QUAL ENDEREO INICIAL DE MEMRIA DE CADA SEGMENTO DE CADA PROGRAMA DESCRITO POR TABELAS DENOMINADAS DE SEGMENT MAP TABLE (H UM PARA CADA PROGRAMA) DESTE MODO, CADA VEZ QUE UM PROGRAMA ACESSA UMA POSIO DE MEMRIA, SEU SEGMENT MAP TABLE CONSULTADA. O MECANISMO DE SEGMENTAO DINMICA FUNCIONA DO MESMO MODO MAS PERMITE QUE NEM TODAS OS SEGMENTOS DO PROGRAMA ESTEJAM PRESENTES EM RAM PARA O PROGRAMA PODER SER EXECUTADO. DESTE MODO, PODE-SE IMPLEMENTAR MEMRIA VIRTUAL POR SEGMENTAO. NO MECANISMO DE GERENCIAMENTO DE MEMRIA POR SEGMENTAO COM PAGINAO, OS SEGMENTOS SO DIVIDIDOS EM PGINAS, DE MODO QUE CADA SEGMENTO CUIDADO COMO UM PROGRAMA GERENCIADO POR PAGINAO. O MODELO DE GERENCIAMENTO DE MEMRIA USADO NO PENTIUM. 16. Explique o que Segment Map Table. Explique como o processo de traduo do endereo dentro de um programa para um endereo na memria fsica. CADA SEGMENTO DE UM PROGRAMA CARREGADO NA MEMRIA DE MODO SEMELHANTE AO DO MECANISMO DE PARTICIONAMENTO DINMICO. O MAPEAMENTO DE QUAL ENDEREO INICIAL DE MEMRIA DE CADA SEGMENTO DE CADA PROGRAMA DESCRITO POR TABELAS DENOMINADAS DE SEGMENT MAP TABLE (H UM PARA CADA PROGRAMA) DESTE MODO, CADA VEZ QUE UM PROGRAMA ACESSA UMA POSIO DE MEMRIA, SEU SEGMENT MAP TABLE CONSULTADA. CADA VEZ O PROGRAMA ACESSA UMA POSIO DE MEMRIA, A SEGMENTO DESTA POSIO DETERMINADO, O SEGMENT MAP TABLE CONSULTADO PARA SE DETERMINAR QUAL A POSIO INICIAL NA RAM ONDE ELE EST E ENTO, DETERMINADA A POSIO DENTRO DO SEGMENTO PARA SE FAZER OBTER O DESLOCAMENTO EM RELAO POSIO INICIAL DO SEGMENTO NA MEMRIA RAM.

17. Explique como segmentos podem ser compartilhados em alocao segmentada. Por que o compartilhamento mais difcil de ser feito em alocao paginada? SEGMENTOS SO FORMADOS PELOS PROGRAMADORES OU FERRAMENTAS DE PROGRAMAO (POR EXEMPLO, ALGUNS COMPILADORES DIVIDEM PROGRAMAS AUTOMATICAMENTE EM SEGMENTOS DE CDIGO, DADOS E PILHA). ALGUNS SEGMENTOS PODEM CONTER FUNES DE BIBLIOTECA OU OUTRO TIPO DE INFORMAO QUE PODE SER COMPARTILHADO ENTRE DIFERENTES PROGRAMAS. PARA ISTO IMPORTANTE QUE O SEGMENTO TENHA CONTEDO NO MODIFICVEL (POR EXEMPLO, PROGRAMAS SEM VARIVEIS LOCAIS) PARA QUE O COMPARTILHAMENTO NO GERE PROBLEMAS DE MTUA EXCLUSO. ESTE MODELO BASTANTE EFICIENTE POIS REDUZ O USO DE MEMRIA DE PROGRAMAS QUE CONSEGUEM REALIZAR BASTANTE COMPARTILHAMENTO. USADA NO WINDOWS PARA A BIBLIOTECA DE FUNES DE ENTRADA/SADA OU NO VISUAL BASIC (VBRUN###.DLL). 18. Explique o que e como funciona memria virtual. Explique por que a memria virtual pode ser implementada sem grande perda de velocidade (baseie sua resposta no principio da localidade) e com reduo do custo mdio por byte de memria. Qual a vantagem obtida com o uso de memria virtual? O uso de memria virtual pode levar ao perigo de thrashing? (Justifique sua resposta). A MEMRIA VIRTUAL BASEADA NA IDIA DE SE PODER EXECUTAR PROGRAMAS PARCIALMENTE CARREGADOS EM MEMRIA RAM (MANTENDO UMA CPIA DE TODO O CONTEDO QUE DEVERIA ESTAR EM RAM EM DISCO) E S TRAZENDO DO DISCO PARA RAM NA MEDIDA DO NECESSRIO. COM ISSO, REDUZ-SE O CUSTO DA MEMRIA POR USAR-SE MENOS RAM (E O CUSTO POR BIT DE DISCO BEM MENOR QUE O CUSTO POR BIT DE RAM). CONTUDO, ESTA IDIA S EFICAZ SE A NECESSIDADE DE ACESSO AO DISCO (PAGE FAULTS) FOR POUCO FREQNTE POIS O DESEMPENHO DO DISCO MUITO PIOR QUE O DA RAM. ISTO DE FATO OCORRE NA MAIORIA DAS VEZES COM OS PROGRAMAS E DENOMINADO DE PRINCPIO DA LOCALIDADE: A REA DE MEMRIA UTILIZADA POR UM PROGRAMA DURANTE UM DADO PERODO DE TEMPO PEQUENA E SE MODIFICA LENTAMENTE COM O TEMPO (UMA MANEIRA ALTERNATIVA DE ENUNCIAR O PRINCPIO DA LOCALIDADE DIZER QUE, SE UM PROGRAMA ACESSA UMA CERTA POSIO DE MEMRIA, GRANDE A PROBABILIDADE DESTA POSIO E DE POSIES PRXIMAS A ELA VIREM A SER NOVAMENTE ACESSADAS). ISSO POSSIBILITA A IMPLEMENTAO DE SISTEMAS DE MEMRIA VIRTUAL POIS PERMITEM QUE GRANDES PROGRAMAS SEJAM EXECUTADOS COM PARTES PEQUENAS DELES INSTALADOS EM MEMRIA. O TRASHING UM FENMENO QUE PODE OCORRER EM SISTEMAS DE MEMRIA VIRTUAL SE O SISTEMA FOR MAL DIMENSIONADO COM POUCA MEMRIA RAM OU UM GRAU DE MULTIPROGRAMAO MUITO ALTO. 19. Sabendo-se que, nos sistemas de memria virtual, grande parte dos dados est no disco (cujo tempo de acesso muito maior que o da RAM) por que normalmente no se nota uma grande que na velocidade do acesso memria, quando comparado aos sistemas sem memria virtual? NO SE NOTA UMA QUEDA DRAMTICA NO DESEMPENHO AO SE USAR MEMRIA VIRTUAL PORQUE A NECESSIDADE DE ACESSO AO DISCO (PAGE FAULTS) POUCO FREQNTE. ISTO DE FATO OCORRE NA MAIORIA DAS VEZES COM OS PROGRAMAS DEVIDO AO PRINCPIO DA LOCALIDADE. COM ISSO, PODE-SE DIZER QUE O USO DE MEMRIA VIRTUAL PERMITE CONSTRUIR MEMRIA COM DESEMPENHO DE RAM E CUSTO DE DISCO. Boa sorte e boa prova.