gerenciamento MAC OS X
Foi criado a partir do S.O. 4.4BSD e do MicrokernelMach 3.0, é considerado um kernel híbrido por Possuir diferentes partes (monolítico e microkernel) interagindo na utilização do sistema.
Em termos de estrutura é considerado um kernel em camadas.
Um sistema operacional em camadas apresenta diversas vantagens sobre um sistema monolitico:
•Interface padronizada
•Extensibilidade
•Flexibilidade no suporte de novos sistemas
•Portabilidade
•Confiabilidade
Um Sistema baseado em camadas impõe uma interface padronizada para requisições feitas por um processo. Os processos não precisam distinguir entre espaço de usuário ou espaço do kernel, pois todos os serviços utilizam troca de mensagens para comunicação.
Escalonador de Processos (machscheduling)
É derivado do OSFMK, com várias modificações para o tratamento de interatividade. Escalona processos baseado numa variante do algoritmo de multiplas filas com realimentação, porém divide as filas de prioridade em 4 grupos de processos:
Normal (Prioridade das aplicações normais do usuário)
Sistema (Prioridade das aplicações do sistema) > Normal
Kernel (Reservada para threads em espaço de kernel) > Sistema
Tempo Real (Threads nas quais a prioridade está baseada na necessidade de reservar uma fração pré-definida de ciclos de clock, independetem de outras aplicações sendo executadas no sistema.
Suporta Tempo Compartilhado e Prioridade Fixa
Threads de prioridade Tempo Real normalmente são de prioridade fixa.
Threads de prioridade fixa executam durante um tempo pré-determinado ou até que uma thread de prioridade maior queira executar. Então ela é colocada no fim da fila da prioridade normal.
•Uma thread de Tempo-Real pode dizer ao agendador que ela precisa rodar por 3000 ciclos dos próximos 7000, além de dizer se precisam ser contínuos ou não.
Se uma thread de tempo real não respeita o tempo de processamento indicado ela é penalizada e pode até ser rebaixada a uma