Please enable JavaScript.
Coggle requires JavaScript to display documents.
Aula 01/10 gerenciamento de memória (SO cria uma tabela de páginas e…
Aula 01/10 gerenciamento de memória
Memória virtual pode exceder a memória RAM
Processadores passaram a dar suporte a memória virtual
Áreas de memória de um processo
Código
Dados
Variáveis globais
A cada chamada de função, o ponteiro para topo da pilha sobe o tamanho necessário para alocar as variáveis
BSS
Não sei o que é
Heap: area para alocação dinâmica
Pilha
Para fazer push, pop de registradores
mmaped areas
SO cria uma tabela de páginas e processadores decodifica e utiliza
TLB (translation lookaside buffer)
Cache de tabela de páginas no processador
Papel do SO: criar a tabela de páginas
Papel do processador: fazer a tradução
Endereço virtual garante segurança de dados, encapsulamento. Cada processo só tem acesso aos seus dados
Se o endereço virtual buscado n for válido, ocorre um page fault e o SO aciona uma exceção
Task_struct contém atributo mmap, que contém lista de áreas de memória {início, tamanho, permissões, ARQ? (offset, tamanho)
Políticas de exclusão para utilização do espaço
FIFO
Not recently used (NRU)
Para todos os processos, as tabelas de página devem mapear os lógicos do SO
Uma tabela de página pra cada processo
Tabela de endereço virtual é contígua
Para isso usa divisão do endereço em categorias como Dir, table, offset e assim calcula o endereço físico
SO cria a estrutura e ajusta os registradores
Cada processo tem um ponteiro para uma tabela de páginas. Na inicialização do processo, são trocados os registradores e assim é apontado para a tabela correta
System call
Desviar para SO
Instrução de interrupção
Chamada de sistema
Vetor de interrupção
Sinal é diferente de interrupção
Sigstop, sigkill, sigcont são importantes de se saber