Você está na página 1de 4

CAP 7 Qual o significado do termo espera ocupada? Que outros tipos de espera existem em um sistema operacional?

? A espera ocupada pode ser completamente evitada? Explique sua resposta. Resposta: A espera ocupada ocorre quando um processo est realizando um loop enquanto espera a ocorrncia de um evento externo. Ela chamada espera ocupada porque o processo normalmente est em um loop tipo while(true);. Existem outros exemplos de espera ocupada em um sistema operacional: esperar at que a E/S esteja disponvel, esperar at que um semforo seja liberado etc. Sim, a espera ocupada pode ser evitada por meio de uma primitiva de sincronismo, como um mutex, semforo ou varivel de condio. Explique por que os spinlocks no so apropriados em sistemas monoprocessados, embora possam ser adequados em sistemas multiprocessados. Resposta: Em sistemas monoprocessados, os spinlocks so um desperdcio de recursos do processador, pois um processo exige o uso da nica CPU enquanto espera por um evento externo. Na verdade, o processo que est realizando o spinlock pode estar usando a CPU exigida por outro processo para realizar o evento externo, pelo qual o primeiro processo est aguardando. Em sistemas multiprocessados, isso pode no acontecer, pois o segundo processo pode ser executado em outra CPU. Com freqncia, os spinlocks so usados em sistemas multiprocessados se o processo s utilizar o spinlock por um curto perodo de tempo. Ou seja, pode ser mais rpido para um processo ficar no loop de espera por um curto perodo de tempo do que bloquear o processo e depois desbloque-lo quando o evento que ele est esperando tiver sido completado. CAP 9 Cite duas diferenas entre endereos fsicos e lgicos. Resposta: Um endereo lgico no se refere a um endereo existente real, mas se refere a um endereo abstrato em um espao de endereo lgico. Compare isso com um endereo fsico que se refere a um endereo fsico real na memria. Um endereo lgico gerado pela CPU e traduzido para um endereo fsico pela unidade de gerenciamento de memria (MMU). Portanto, os endereos fsicos so gerados pela MMU. Explique a diferena entre fragmentao interna e externa. Resposta: A fragmentao interna a rea em uma regio ou em uma pgina que no usada pela tarefa ocupando essa regio ou pgina. Esse espao est indisponvel para uso pelo sistema at que essa tarefa tenha terminado e a pgina ou regio seja liberada.

Considere um sistema em que um programa pode ser separado em duas partes: cdigo e dados. A CPU sabe onde deseja ter uma instruo (busca de instruo) ou dados (busca ou armazenamento de dados). Portanto, dois pares de registrador de base-limite so fornecidos: um para instrues e um para dados. O par de registradores de base-limite de instruo definido automaticamente como somente leitura, de modo que os programas possam ser compartilhados entre diferentes usurios. Discuta as vantagens e desvantagens desse esquema. Resposta: A principal vantagem desse esquema que ele um mecanismo eficaz para o compartilhamento de cdigo e dados. Por exemplo, somente uma cpia de um editor ou de um compilador precisa ser mantida na memria, e esse cdigo pode ser compartilhado por todos os processos que precisam de acesso ao editor ou cdigo do compilador. Outra vantagem a proteo do cdigo contra a modificao errnea. A nica desvantagem que o cdigo e os dados precisam ser separados, o que normalmente juntado em um cdigo gerado pelo compilador.

Em um sistema com paginao, um processo no pode acessar a memria que ele no possui. Por qu? Como o sistema operacional poderia permitir o acesso a outra memria? Por que deveria ou no? Resposta: Um endereo em um sistema de paginao um nmero de pgina lgico e um deslocamento. A pgina fsica encontrada com a pesquisa de uma tabela com base no nmero de pgina lgico, para produzir um nmero de pgina fsico. Como o sistema operacional controla o contedo dessa tabela, ele pode limitar um processo a acessar apenas as pginas fsicas alocadas ao processo. No existe um meio de um processo se referir a uma pgina que no possui, pois a pgina no estar na tabela de pgina. Para permitir tal acesso, um sistema operacional simplesmente precisa permitir que as entradas para a memria que no a do processo, sejam includas na tabela de pgina do processo. Isso til quando dois ou mais processos precisam trocar dados eles simplesmente lem e escrevem nos mesmos endereos fsicos (que podem estar em endereos lgicos variveis). Isso gera uma comunicao entre processos muito eficiente. Qual o efeito de permitir que duas entradas em uma tabela de pgina apontem para o mesmo quadro de pgina na memria? Explique como voc poderia usar esse efeito para diminuir a quantidade de tempo necessria para copiar uma grande quantidade de memria de um lugar para outro. Como a atualizao de algum byte em uma pgina afetaria a outra pgina?

Resposta: Permitindo que duas entradas em uma tabela de pgina apontem para o mesmo frame de pgina na memria, os usurios podem compartilhar cdigo e dados. Se o cdigo for reentrante, pode ser economizado muito espao na memria atravs do uso compartilhado de grandes programas, como editores de texto, compiladores e sistemas de banco de dados. A cpia de grandes quantidades de memria poderia ser efetuada por meio de diferentes tabelas de pgina apontando para o mesmo local da memria. Porm, o compartilhamento de cdigo no reentrante ou dados significa que qualquer usurio tendo acesso ao cdigo poder modific-lo, e essas modificaes seriam refletidas na cpia do outro usurio. Descreva um mecanismo pelo qual um segmento poderia pertencer ao espao de endereo de dois processos diferentes. Resposta: Como as tabelas de segmento so uma coleo de registradores de limite de base, os segmentos podem ser compartilhados quando as entradas na tabela de segmento de duas tarefas diferentes apontarem para o mesmo local fsico. As duas tabelas de segmento precisam ter ponteiros de base idnticos, e o nmero do segmento compartilhado precisa ser o mesmo nos dois processos. Explique por que o compartilhamento de um mdulo reentrante mais fcil quando a segmentao usada, do que quando a paginao pura usada. Resposta: Como a segmentao baseada em uma diviso lgica da memria, e no fsica, os segmentos de qualquer tamanho podem ser compartilhados com apenas uma entrada nas tabelas de segmento de cada usurio. Com a paginao, preciso haver uma entrada comum nas tabelas de pgina para cada pgina que compartilhada. CAP 10 Sob que circunstncias ocorrem falhas de pgina? Descreva as aes tomadas pelo sistema operacional quando ocorre uma falha de pgina. Resposta: Uma falha de pgina ocorre quando acontece um acesso a uma pgina que no foi trazida para a memria principal. O sistema operacional verifica o acesso memria, abortando o programa se o acesso for invlido. Se for vlido, um quadro livre localizado e a E/S requisitada para ler a pgina necessria para o quadro livre. Ao terminar a E/S, a tabela de processos e a tabela de pgina so atualizadas e a instruo reiniciada.

Quando a memria virtual implementada em um sistema de computao, isso gera certos custos e certos benefcios. Relacione esses custos e benefcios. possvel que os custos ultrapassem os benefcios? Explique que medidas voc pode tomar para garantir que esse desequilbrio no acontea. Resposta: Os custos so hardware adicional e tempo de acesso mais lento. Os benefcios so boa utilizao da memria e maior espao de endereo lgico do que o espao de endereo fsico. Temos um sistema operacional para uma mquina que usa registradores de base e limite, mas modificamos a mquina para oferecer uma tabela de pgina. Podemos configurar as tabelas de pgina para que simulem os registradores de base e limite? Como podemos fazer isso ou por que no podemos fazer isso? Resposta: A tabela de pgina pode ser configurada para simular os registradores de base e limite desde que a memria seja alocada em segmentos de tamanho fixo. Desse modo, a base de um segmento pode ser entrada na tabela de pgina e o bit de vlido/invlido usado para indicar essa parte do segmento como residente na memria. Haver algum problema com a fragmentao interna. Qual a causa do thrashing? Como o sistema detecta o thrashing? Ao detectar o thrashing, o que o sistema pode fazer para eliminar esse problema? Resposta: O thrashing causado pela falta de alocao do nmero mnimo de pginas exigidas por um processo, forando-o a gerar falha de pgina continuamente. O sistema pode detectar o thrashing avaliando o nvel de utilizao de CPU comparado com o nvel de multiprogramao. Ele pode ser eliminado reduzindo-se o nvel de multiprogramao.

Você também pode gostar