Linux
1
Introdução
É
da responsabilidade do sistema operativo gerir a memória disponível no sistema:
Representação do estado da memória
Atribuição de memória aos processos
Libertação da memória
Conjugação entre a memória principal e secundária
Registos
Cache
Memória principal
Discos (memória secundária)
Tapes
Microprogramação
Sistema Operativo
Software de Backup
2
Sistemas Mono-programados
Programas
Mediante um comando, o SO carrega o programa em memória principal, e este corre até terminar
Programas
limitados à dimensão da memória
Para minorar este problema surgiu a técnica dos overlays – partes de programas (definidas pelo programador) são carregadas em memória
Protecção
executados à vez
da memória ocupada pelo SO
Registo Fronteira – registo do processador que é carregado com o endereço limite do sistema operativo
3
Sistemas Mono-programados
Organização
da memória
Espaço de endereçamento Espaço de endereçamento Device
Drivers
ROM
Programa
RAM
Programa
RAM
Fronteira
Sistema
Operativo
Sistema
Operativo
4
Sistemas Multi-programados
Swapping
Esquema que envolve a memória principal e a memória secundária (disco)
A ideia consiste em transferir processos da memória principal para o disco e vice-versa
Um possível critério será transferir para o disco um processo que bloqueie, e trazer para a RAM um processo que se torne activo Esta estratégia é utilizada em conjunto com partições de dimensões variáveis
Conduz à proliferação de buracos (fragmentação) – é necessário recorrer à compactação da memória
5
Sistemas Multi-programados
Exemplo
Início
(RAM livre)
Entrada A
S.O.
Entrada B
Entrada C
swap-out A
C
C
B
B
B
A
A
A
S.O.
S.O.
S.O.
Entrada D
swap-out B
swap-in A
swap-out D
C
C
C
C
B
D
S.O.