Introdução aos sistemas operativos
Recursos, abstrações, núcleo, chamadas de sistema, interrupções e arranque.
Sistema
O SO gere recursos e protege programas. Núcleo é a parte privilegiada; shell, bibliotecas e serviços completam o sistema.
| Recurso | Abstração | Decisão |
|---|---|---|
| CPU | processo, thread | quem corre |
| RAM | espaço virtual | acessos válidos |
| Disco | ficheiro | blocos e permissões |
| Canal | descritor | ler, escrever, esperar |
Interface comum não iguala operações: read serve ficheiros e pipes, lseek não reposiciona pipes.
- Multiprogramação: outro corre quando um bloqueia. Partilha de tempo: interrompe quem podia continuar.
- Concorrência: períodos sobrepostos, mesmo numa CPU. Paralelismo: simultâneo. Corrida não exige paralelismo.
Núcleo e eventos
Chamada de sistema: biblioteca prepara, núcleo valida e executa ou regista espera. strlen não entra; open entra; printf pode ficar em buffer antes de write.
- Mudança de modo não troca de processo; troca de contexto guarda e carrega estados.
- Interrupção: hardware externo. Exceção: instrução corrente. Chamada: entrada intencional.
- Falta de página pode ser recuperável; acesso proibido não se resolve com carga.
Estados
Pronto só espera CPU; bloqueado espera evento. I/O concluído torna pronto; o escalonador escolhe quando corre.
Não foi possível carregar a animação. Abre o vídeo ou acompanha a descrição abaixo.
- Monolítico: serviços no núcleo. Micronúcleo: serviços em processos com mensagens. Custo e robustez dependem da implementação.
- Arranque: firmware, carregador, núcleo, primeiro processo, serviços.
cdé interno porque muda a própria shell.
