quinta-feira, 4 de junho de 2009

Ciência da Computação - Segmentação - Arquitetura II

Quero agradecer ao Wilson Chagas que me enviou a matéria das últimas duas aulas de Arquitetura, acho que agora não falta mais nada :) Obrigada Wilson!!


Exercícios 22/05/09

1-o que e a paginação?
2- explique qual a vantagem da paginação?
3- o que é a tabela de paginas? Como funciona?
4- explique como e implementada a paginação?
5 – o que e como funciona a paginação por demanda?
6- o que e como funciona a política de substituição de pagina?
7- o que e tamanho de pagina? Como ela funciona?
8- o que fragmentação de pagina?
9- o que e segmentação? Justifique.
10- explique a lógica do algoritmo LRU (pagina menos recentemente usada)?
11- explique a logica do algoritmo FIFO ( primeira pagina que entra primeiro pagina que sai)?

Segmentação - 29/05/09

A memória virtual discutida anteriormente é um dimensional porque os endereços virtuais vão de 0 até algum endereço máximo, um endereço após o outro. Há muitos problemas para os quais poderia ser melhor ter dois ou mais espaços de endereço virtual separados do que ter só um. Por exemplo, um compilador pode ter muitas tabelas que são montadas à medida que a compilação prossegue; entre

1. A tabela de símbolos, que contem os nomes e atributos de variáveis.

2. O texto-fonte que está sendo salvo para a listagem impressa

3. Uma tabela que contem todas as constantes inteiras e de ponto flutuante usadas.

4. A árvore de análise que contem a análise sintática do programa.

5. A pilha usada para chamadas de procedimento dentro do compilador.O que realmente precisamos é um modo de livrar o programador da obrigação de gerenciar a expansão e contração de tabelas,do mesmo modo que a memória virtual elimina a preocupação de o programa em sobreposições. Uma solução direta é fornecer muitos espaços de endereço completamente independentes, denominadas segmentos. Cada segmento consiste em uma sequência linear de endereços, de 0 algum máximo. O comprimento de cada segmento pode ser qualquer coisa desde 0 até o máximo permitido.

Diferentes segmentos podem ter, e costumam ter, comprimentos diferentes. Além do mais, comprimentos de segmentos podem mudar durante a execução. O comprimento de um segmento de pilha pode ser aumentado sempre que algo for passado para ela e reduzido sempre que algo for dela retirado.

Como cada segmento constitui um espaço de endereço separado, diferentes segmentos podem se expandir ou encolher independentemente, sem que um afete o outro. Se uma pilha em um certo segmento precisar de mais espaço de endereço para crescer, pode consegui-lo, porque não há nada mais em seu espaço de endereço com o qual ela possa se chocar. É claro que um segmento pode ser preenchimento completamente, mas eles costumam ser muito grandes, portanto essa ocorrência é rara.

Para especificar um endereço nessa memória segmentada ou bidimensional, o programa deve fornecer um endereço de duas partes: um número de segmento e um endereço dentro do segmento.

Bjos,

Nenhum comentário:

Postar um comentário