Fundamentos de Sistemas Operacionais e Gerenciamento de Memória
Exploração de Sistemas Operacionais
Um sistema operacional (SO) pode ser explorado de duas maneiras:
- Batch Process: Usado na segunda geração de computadores. Diferentes processos eram lançados e, após um longo tempo, obtinha-se a resposta.
- Processos em Tempo Real: A resposta é obtida instantaneamente.
Process Control Block (PCB)
O PCB contém as seguintes informações:
- Status Atual: Em execução, parado ou bloqueado.
- ID (PID): Atribuído pelo sistema operacional.
- Prioridade: Atribuída pelo SO, podendo ser modificada pelo administrador.
- Localização na memória.
- Recursos: A alocação de recursos é realizada pelo SO.
Partições Variáveis
Para resolver o problema da fragmentação, a memória é dividida em partições variáveis. É necessário manter um registro eficiente das partições livres e ocupadas.
Desvantagens: A dificuldade de acompanhar as partições disponíveis torna o sistema mais lento e ainda ocorre fragmentação externa.
Paginação de Memória
Na paginação, o programa é dividido em pequenas porções chamadas páginas. A memória é dividida em pedaços do mesmo tamanho, chamados de quadros. Isso minimiza a fragmentação interna e evita a externa.
Gerenciamento de Memória
O gerenciador de memória é a parte do SO responsável por:
- Manter o controle das partes da memória em uso ou livres.
- Alocar memória para novos processos e liberar espaço de processos concluídos.
- Gerenciar a troca de dados entre memória e disco (swap).
Fragmentação
- Interna: Ocorre quando as partições são muito grandes e não são utilizadas em sua totalidade.
- Externa: Ocorre quando uma partição não é utilizada por ser muito pequena para a execução de processos.
Desempenho da Memória Virtual
- Ao carregar um programa, apenas as páginas necessárias inicialmente são carregadas.
- As páginas restantes são armazenadas em uma área do disco reservada para troca com a RAM.
- Se for necessária uma página que não está na RAM, ocorre a troca (swap).
- Isso implica a necessidade de descarregar uma página que não está sendo usada no momento.