Sistema: aplicativo
SO: Agendador, VMM, IPC, Drivers FS, despachantes, VFS
O acima seria um núcleo monolítico. Em um núcleo monolítico todo núcleo As funções do sistema operacional são separadas do espaço do usuário. Funções como o FS são manuseado completamente pelo kernel. Isso deixa o usuário final / dev aberto para escrever aplicativos que dependem exclusivamente do kernel para emular e processar As funções. A árvore BSD, AIX e HP-UX são bons exemplos de monolítica kernels.
Sistema: aplicativo
Modo de usuário: aplicativo IPC, servidor Unix, drivers, servidor de arquivos
SO: Basic IPC, VMM, agendamento
Este é um microkernel. Um microkernel é responsável exclusivamente por emulação do código da máquina. Ele fornece uma funcionalidade mais segura, mas também permite um melhor processamento de hardware. Espaço do usuário é onde os drivers são manipulado, às vezes ralando DMA. Além disso, pode melhorar o tempo de processamento da computação se o espaço do usuário for simplificado para emulação direta da máquina. JXOS e vários nanokernels são bons exemplos.
Sistema: aplicativo
Modo de usuário: Drivers, Unix Server, IPC de aplicativos
SO: Microkernel, drivers de kernel, IPC, HAL
Este é um kernel híbrido. Um kernel híbrido é mixado entre um kernel monolítico e um microkernel. Drivers de software são manipulados no modo de usuário, mas drivers de hardware são manipulados pelo kernel. Isso permite muita flexibilidade no design, como alguns pacotes e funções de aplicativos podem rodar diretamente no kernel. No entanto, isso deixa o kernel aberto para muitas vulnerabilidades de segurança. o O kernel híbrido mais conhecido é o Windows NT.
Meu arquiteto estava testando meu conhecimento de kernels, e é isso que eu enviei a ele. Ele disse que eu não estava errado, eu só tenho uma abordagem muito diferente. Quando interrogado sobre isso, ele apenas me disse que era diferente. Como é diferente? Parece diferente?
Tags kernel linux-kernel