Arquiteturas de Sistemas Operacionais
Linux: O Kernel é responsável por manter o sistema de arquivos, o sistema de arquivos é visualizado como uma árvore invertida: a raiz está no topo e os ramos, embaixo. Quando um novo dispositivo é instalado no sistema, o núcleo é responsável pela detecção e interação básica com esse dispositivo. O núcleo se responsabiliza pela alocação de memória aos processos em execução. Ele suporta o conceito de memória virtual, permitindo que processos ocupem mais espaço em memória que aquela disponível na máquina. O núcleo funciona como supervisor e autoriza o uso desses recursos para um determinado processo, quando necessário.
Windows: Associado a cada processo criado, existe uma quantidade de memória reservada, conhecida como espaço de endereçamento do processo, onde o processo pode ler e gravar dados. Nessa área de memória, é encontrado o código do programa que será executado e os dados que são usados pelo programa. O sistema fornece total liberdade ao gerenciador de processos para, criar, alterar, remover e mover arquivos no Windows. O gerenciador de memória funciona da seguinte forma: o processador consulta as tabelas de páginas para traduzir um endereço virtual em um endereço de memória física. Cada processo tem seu próprio conjunto de tabelas de páginas: sempre que acontece a troca de processos, as tabelas de páginas para o espaço do usuário são trocadas também. O gerenciador de E/S é responsável por receber pedidos de operações de E/S e repassá-los aos drivers. Cada solicitação de E/S é representada por uma estrutura de dados chamada I/O Request Packet (IRP), que permite o controle de como a operação de
E/S será processada.
Mac OS: O kernel do Mac OS, é considerado um kernel híbrido em seu projeto, por possuir diferentes partes (monolítico e microkernel) interagindo na utilização do sistema. O kernel do Mac OS gerencia seus processos baseado em uma variante de algorítmo de múltiplas filas com