so. gerenciamento de memória - esquema
por que existe gerenciamento de memória em um sistema operacional.
-defino os endereços das variáveis --durante a edição -defino manualmente todos os endereços das variáveis --durante a compilação -PIC.todas as referencias a variáveis são feitas usando endereços relativos. --durante a ligação. -?
--durante a carga -> loder --defino os endereços quando carrego as funções e variáveis na memória.
--durante a execusão -> hadware dedicado -analizo os endereços gerado pelo processador e converto para os endereços reais da memória.
GERÊNCIA DE MEMÓRIA
@gerente de memória -aloco e desaloco memória para processos -realizo a troca de dados entre a memória ram e o disco
ENDEREÇOS LÓGICOS E FÃSICOS
@Processador --gero endereços lógicos quando executo algum código --envio esse endereço para a mmu @MMU --converto esse endereço lógico em fÃsico --ou envio uma interupção informando sobre tentativa de acesso indevido @Processador --acesso ou não esse endereço
@MMU --Quer saber como consigo proteger uma area de memória de um processo? --Ajusto a forma de conversão de endereços --Converto endereços de forma diferenciada dependendo do processo
-MODELO DE MEMÓRIA DOS PROCESSOS @SO --vejo cada processo como uma capsula @Processo --tenho todas as informações que preciso para ser executado --divido as informações em compartimentos @Text --guardo o código a ser executado --normalmente sou lido ou executado @Data --guardo as variáveis estáticas --estou disponÃvel para leitura e escrita @Heap --armazeno dados criados por alocação dinâmica de memória --aumento e diminuo dependendo da necessidade @Stack --guardo a pilha do processo