Administração dos dados da memória na tabela do processo. Aqui está um sumário de algum dos dados mantidos na tabela do processo que é usado para administração da memória.

 

Limites do processo da memória.

 

Ulong – start_code – and_code – and_data – brk, atart – stock

Erro de contagem de página.

Tabela do descritor local.

Sturct desc – sturct ldt {32} é a mesa descritora local para tarefa.
Números de páginas residentes.
Swappable – trocáveis
Se então as páginas do processo não serão trocados. Kernel Stack page
Indicador para a página distribuída no fork. Saved – Kernel – Stack
V86 modo material (stuff)
stract tss
pilha de segmentos (stack segments)
indicador da pilha Kernel
Kernel stack pointer
segmento da pilha Kernel
Kernel stack segment (0X10)
ssi = esp 2 = ss2 = 0

Níveis de previlégio não usados.
Segmentos seletores. Ds=es=fs=gs=ss=ok17,cs—
Todos indicam para segmentos no corrente 1 dt [ ]

c r 3 : indicam para o page directory para este processo 1 dt – LDT (n) seletores para tarefas correntes do LDT

 

4.4 – Inicialização da memória

 

No Start Kernel (main.c) há 3 variáveis relatadas para inicialização da memória:

*memory_start começa a 1 Mb atualizado pelo projeto de inicialização.

*memory_end término da memória física: 8 Mb, 16 Mb, ou qualquer outro.

*Low memory_start término do código Kernel e dados que é carregado inicialmente Cada projeto init tipicamente torna memory_start e retorna um valor atualizado, se distribui espaços no memory_start (simplesmente pegando-a).

*Paging init ( ) inicializa a page-tables no { \ tt swapper – pg – dir} ( começando a 0 X 0000000) para cobrir toda a memória física do memory_start para memory_end. Na verdade o primeiro 4 Mb é feito no startup_32 (heads).memory_start é incrementado se quaisquer nova page-tables são adicionados. A primeira página é zerada para bloquear os indicadores das referências do alçapão nulo no Kernel.

Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Páginas ( 4 de 14 ): « Previous123 4 567891011121314Next »