Sei sulla pagina 1di 5

Responda as questões listadas abaixo:

1. Porque a memória volátil é importante?


2. Quais os tipos de memória volátil?
3. O que nos diz a hierarquia de memória?
4. O que é memória cache? Nivel 1 e Nível 2?
5. Para que servem os níveis de cache?
6. Como é feito o endereçamento de memória?
7. O que é endereçamento físico?
8. O que é endereçamento lógico?
9. Qual a importância destes dois tipos endereçamento?
10. Como é feita a conversão destes dois tipos de endereçamento?
11. Explique a alocação de memória.
12. O que é o descritor de processos?
13. O que faz a MMU (Memory Management Unit)?
14. Diferencie paginação de memória de Segmentação.
15. Diferencie partições físicas e variáveis das memórias.
16. O que significa transparência em computação?

1- A memória volátil (ou memória de acesso aleatório, ou memória RAM) agiliza o acesso a dados
armazenados. A execução de programas RAM funciona com pouco ou nenhum lag. O computador
usa a memória RAM para armazenar dados até que possam ser processados.

2- RAM, DRAM, DIP, SIMM, FPM, EDO, DIMM, SDRAM, RIMM, PC100, DDR, DDR2, DDR3,
Dual-Channel, Triple-Channel, XDR, GDDR, VRAM, WRAM, SGRAM, MRAM, FRAM, Z-Ram
(Zero-Capacitor RAM)

3- Agrupa diferentes tecnologias de memória, de maneira hierárquica, as quais oferecem aos


programas dos computadores uma ilusão que há uma grande quantidade de memória, rápida,
barata e não volátil. Os princípios de localidade espacial e temporal permitem que esta hierarquia
faça sentido e melhoram o desempenho das soluções computacionais com custos mais razoáveis.
Sobre uma memória nunca estragar, bem, para isso há a replicação, como em backups.

4- A memória cache trabalha em conjunto com o processador, sendo muito mais rápida que a
memória RAM. Tem a função de fornecer as informações mais importantes ao processador, isso
faz com que o processador não perca tempo buscando várias vezes as informações na memória
RAM.
A memória cache é dividida em três níveis, conhecidos como L1, L2, L3, os quais dizem respeito à
proximidade da memória das unidades de execução do processador. Quanto mais próxima
estiver, menor será seu número.
Cache L1: Pequena porção de Memória estática presente no processador, o L1 é dividido em
dados e instruções. Geralmente tem entre 16KB e 128KB.
Cache L2: Contém muito mais memória que L1. Tal memória é mais um caminho para que a
informação requisitada não tenha que ser procurada na lenta memória principal. Alguns
processadores colocam essa cache fora do processador, por questões econômicas, pois uma
cache grande implica num custo grande, mas há exceções, como no Pentium II, por exemplo,
cujas caches L1 e L2 estão no mesmo cartucho que está o processador.
Cache L3: Ainda é um tipo de cache raro devido a complexidade dos processadores atuais, com
suas áreas chegando a milhões de transístores por micrómetros ou picómetros de área. Ela será
muito útil, é possível a necessidade futura de níveis ainda mais elevados de cache, como L4 e
assim por diante.

5- Serve para aumentar a velocidade no acesso aos dados e instruções armazenados na memória
RAM.

6- Na computação, um endereço de memória é uma referência a um local de memória específico


usado em vários níveis por software e hardware. Endereços de memória são sequências de
dígitos fixos exibidos convencionalmente e manipulados como inteiros sem sinal. Tal semântica
numérica baseia-se em características de CPU, como no uso da memória como um array
endossado por várias linguagens de programação.

7- A memória física é a memória implementada pelos circuitos integrados é nela que os espaços
alocados em memória lógica vão realmente residir, portanto a memória física tem tamanho menor que
a memória lógica, geralmente. Para isso é necessário realizar uma tradução de endereços lógicos para
endereços físicos, pois assim um programa que aloca uma memória lógica possa ter de fato uma
memória física alocada para si.

8- A memória lógica é aquela manipulada pelos programas, ela é visível para os programas; sempre
que um programa necessita alocar um espaço na memória esse espaço é alocado em memória lógica.

9- Sem referência extra de memória para buscar a operação, ocasionando meio rapidez na execução.

10- Conversão de Endereços Utilizando !Vtop


Suponha que você esteja depurando um computador de destino no qual o processo MyApp.exe está
sendo executado e você deseja investigar o endereço virtual 0x0012F980. Aqui está o procedimento
que você usaria com a extensão !Vtop para determinar o endereço físico correspondente.

Convertendo um endereço virtual em um endereço físico usando o !Vtop

Certificar de que você está trabalhando em hexadecimal. Se necessário, definir a base atual com o
comando N 16.

Determinar o índice de bytes do endereço. Esse número é igual aos 12 bits mais baixos do endereço
virtual. Assim, o endereço virtual 0x0012F980 tem um índice de bytes de 0x980.

Determinar a base de diretório do endereço usando a extensão !process:

Determinar o número do quadro da página da base de diretório. Esta é simplesmente a base do


diretório sem os três zeros hexadecimais à direita. Neste exemplo, a base do diretório é 0x098FD000,
portanto, o número do quadro da página é 0x098FD.

Use a extensão !Vtop. O primeiro parâmetro desta extensão deve ser o número do quadro da página.
O segundo parâmetro de !Vtop deve ser o endereço virtual em questão:
O segundo número mostrado na linha final é o endereço físico do início da página física.

Adicione o índice de bytes ao endereço do início da página: 0x09DE9000 + 0x980 = 0x09DE9980. Este
é o endereço físico desejado.

Você pode verificar se esse cálculo foi feito corretamente exibindo a memória em cada endereço. A
extensão !d \ * exibe a memória em um endereço físico especificado:

O comando d * (Display Memory) usa um endereço virtual como seu argumento:

Como os resultados são os mesmos, isso indica que o endereço físico 0x09DE9980 realmente
corresponde ao endereço virtual 0x0012F980.

11- Alocação de memória, em ciência da computação, consiste no processo de solicitar/utilizar


memória durante o processo de execução de um programa de computador. A alocação de memória no
computador pode ser dividida em dois grupos principais:

Alocação Estática: os dados tem um tamanho fixo e estão organizados sequencialmente na


memória do computador. Um exemplo típico de alocação estática são as variáveis globais e arrays. A
alocação estática de memória tem como principal ponto positivo a simplicidade com que pode ser
realizada pelos programadores, mantendo o algoritmo simples e de fácil organização das variáveis
utilizadas. No entanto, como principal ponto negativo, a alocação estática ocupa uma porção fixa da
memória, em casos em que essas variáveis não sejam utilizadas após um certo ponto, a alocação
estática consome desnecessariamente esta porção reservada da memória, podendo levar o programa
a fica muito pesado desnecessariamente. Apesar disso, é importante ressaltar, que na maioria das
linguagens de programação, as variáveis criadas com alocação estática são liberadas
automaticamente após o fim de uma determinada função.
Alocação Dinâmica: os dados não precisam ter um tamanho fixo, pois é possível definir para cada
dado quanto de memória que deseja-se usar. Sendo assim aloca-se espaços de memória (blocos)
que não precisam estar necessariamente organizados de maneira sequencial, podendo estar
distribuídos de forma dispersa (não ordenada) na memória do computador. Na alocação dinâmica,
é possível alocar/desalocar blocos de memória, de acordo com a necessidade, reservando ou
liberando blocos de memória durante a execução de um programa. Para poder “achar” os blocos
que estão dispersos ou espalhados na memória usa-se as variáveis do tipo Ponteiro (indicadores
de endereços de memória). É importante ressaltar que, na maioria das linguagens de
programação, as variáveis criadas com alocação dinâmica não são liberadas automaticamente
após o fim de funções, sendo necessário liberá-las manualmente, e, por questões de segurança, é
importante atribuir o "NULL" ao ponteiro criado.

12- O descritor tem como função armazenar dados que dizem respeito ao processo, como um
metadado do processo indicando valores que definem suas características. Por exemplo tomamos
um processo qualquer e obteremos seus valores:

• Prioridade
• Local da memória caso o processo utilize
• Contexto (instrução em execução e valores nos registradores)
• Dono do processo
• Tamanho da memória utilizada
• Contabilidade de recursos utilizados como I/O, memória e processador
• Estado do processo

13- é um dispositivo de hardware que traduz endereços virtuais em endereços físicos, é


geralmente implementada como parte da Unidade Central de Processamento ou CPU (Central
Processing Unit), mas pode também estar na forma de um circuito integrado separado. Um MMU
é efetivo em gerenciamento de memória virtual, manipulação e proteção de memória, controle de
cache e, em arquiteturas mais simples de computador, como em sistemas de 8 bits, bank
switching.

14- Paginação
A paginação permite que o programa possa ser espalhado por áreas não contíguas de memória.
Características:

• O espaço de endereçamento lógico de um processo é dividido em páginas lógicas de


tamanho fixo.
• A memória física é dividida em páginas com tamanho fixo, com tamanho igual ao da página
lógica.
• O programa é carregado página a página, cada página lógica ocupa uma página física.
• As páginas físicas não são necessariamente contíguas
• O endereço lógico é inicialmente dividido em duas partes: um número de página lógica e um
deslocamento dentro da página.
• O número da página lógica é usado como índice no acesso a tabela de páginas, de forma a
obter o número da página física correspondente.
• Não existe fragmentação externa.
• Existe fragmentação interna (Ex: um programa que ocupe 201kb, o tamanho de página é de 4
kb, serão alocadas 51 páginas resultando uma fragmentação interna de 3kb)
• Além da localização a tabela de páginas armazena também o bit de validade, (1) se a página
está na memória (0) se a página não está na memória
A transferência das páginas de processo podem ser transferidas para a memória por demanda,
levando apenas o que é necessário para a execução do programa ou por paginação antecipada,
onde o sistema tenta prever as páginas que serão necessárias à execução do programa.

Paginas constantemente referenciadas em um processo devem permanecer na memória.

Segmentação

• Técnica de gerência de memória onde programas são divididos em segmentos de tamanhos


variados cada um com seu próprio espaço de endereçamento.
• A principal diferença entre a paginação e a segmentação é a alocação da memória de maneira não
fixa, a alocação depende da lógica do programa.
• O mapeamento é feito através das tabelas de mapeamento de segmentos.
• Os endereços são compostos pelo número do segmento e um deslocamento dentro do segmento.
• Cada entrada na tabela mantém o endereço físico do segmento, o tamanho do segmento, se ele
está ou não na memória e sua proteção.
• O sistema operacional mantém uma tabela com as áreas livres e ocupadas da memória.
• Somente segmentos referenciados são transferidos para a memória principal.
• Ocorre fragmentação externa.
• Sistemas que implementam a segmentação com paginação. Cada segmento é dividido fisicamente
em páginas.
• O endereço é formado pelo número do segmento, número da página dentro desse segmento e o
deslocamento dentro dessa página.

15 – Nas Partições, o tamanho das partições são ajustados de acordo com as necessidades dos
processos. Os espaços livres na memória física são mantidos pelo sistema operacional em uma
lista, chamada de “lista de lacunas”. Quando um processo é criado essa lista é percorrida em
busca de uma lacuna de tamanho maior ou igual ao requisitado pelo processo, se a lacuna
possuir um tamanho maior do que o necessário, será criada uma nova lacuna com a porção extra,
dessa forma, o processo receberá o tamanho exato de que necessita.

Os processos não enxergam a memória física, hardware usado para endereçar os circuitos
integrados de memória, e sim a memória lógica, que é a memória capaz de ser endereçada e
acessada pelo conjunto de instruções do processador, sendo que cada processo possui a sua
memória lógica que é independente da memória lógica dos outros processos. A memória física é
implementada pelos circuitos integrados de memória, pela eletrônica do computador. Ela possui
espaço de endereçamento físico que é o conjunto formado por todos os endereços dos circuitos
integrados que formam a memória, normalmente esses endereços são em formato hexadecimal.
A memória lógica possui um espaço de endereçamento lógico, maior que o espaço de
endereçamento físico, é formado por todos os endereços lógicos gerado pelo processo, sendo
gerado pela CPU e único por processo.

16-

Potrebbero piacerti anche