Listas ligadas
Alocação Dinâmica de Memória
Maria Estrela Cruz
Programação I
1
Alocação de Memória
Memória do computador
Quando um programa é executado, o sistema operativo coloca o código do programa, as instruções em linguagem máquina, na memória do computador. Além das instruções, o sistema operativo também reserva memória para as variáveis que o programa vai utilizar. A memória do computador é um recurso que é partilhado pelos vários programas dos vários utilizadores. Quem se encarrega de fazer a gestão da memória é o sistema operativo, reservando parte da memória para armazenar programas e outra parte para armazenar dados. O próprio sistema operativo também é um conjunto de programas e ele próprio também está a ocupar parte da memória do computador.
Programação I
2
1
Alocação de Memória
Memória do computador Quando a memória do computador começa a ficar cheia, o sistema operativo pode utilizar parte do disco para servir de memória RAM. A desvantagem disso, é que o tempo de acesso ao disco é muito maior do que o tempo de acesso à memória RAM. Essa é uma das razões que leva a que os computadores fiquem lentos. Cada posição de memória corresponde a um byte. Cada variável, dependendo do seu tipo, ocupa um ou vários bytes, ou seja, várias posições de memória consecutivas:
Uma variável do tipo inteiro ocupa, geralmente, 4 bytes. Uma variável do tipo float ocupa, geralmente, 8 bytes.
Programação I
3
Alocação de Memória
Exemplo
Se fizéssemos um programa que contivesse a seguinte instrução: int x = 9; Onde fica o valor de x guardado em memoria? o x poderia ir para uma posição de memória diferente de cada vez que o programa fosse executado. o número 9 não vai estar representado numa única posição de memória mas sim em 4 posições de memória (ex: E2, E3, E4 e E5).
O que é que realmente fica guardado em memória? Aquilo que está nessas 4 posições de memória é a representação em binário do número 9.
Programação I 4
2