Por que o Mac OS X funciona no XNU: Kernel Breakdown

3

Você abre o laptop. Clique no aplicativo. Funciona. A maioria dos usuários nunca olha por baixo do capô. Eles não deveriam precisar. Mas compreender o mecanismo ajuda a explicar por que os Macs são diferentes dos PCs com Windows e dos dispositivos Linux. O segredo não é mágica. É código. Especificamente, o kernel XNU.

Quando você pressiona o botão liga / desliga, o kernel XNU será carregado primeiro. É o chefe do hardware. Determina quanta memória é alocada para qualquer aplicativo. Ele gerencia o tempo da CPU. Ele monitora as unidades de disco para garantir que os dados não se percam no éter. Mas o XNU não foi construído do zero. É um híbrido.

Fundação Mach

No coração do XNU está Mach. Isso não é novidade. É um produto da Carnegie Mellon University e remonta à década de 1980. Por que usar o código dos anos 80? Porque funciona. Mach lida com o trabalho pesado do gerenciamento de memória virtual. Ele também lida com multitarefa.

Quando o seu Mac começa a superaquecer, o Mach intervém. Ele pode reduzir a velocidade de processamento da CPU. Isso não é uma falha. Este é um recurso. O sistema prioriza a capacidade de sobrevivência do hardware em detrimento da velocidade bruta. Você pode notar que os ventiladores aumentam ou os aplicativos ficam um pouco lentos. Isso é Mach protegendo seu silício.

Kit de E/S: Hub de conexão

Em seguida temos o Kit de Entrada-Saída. Faz parte do kernel, mas tem uma função específica. Ele controla drivers de dispositivos. Você conhece isso. São tradutores que permitem que sua impressora se comunique com seu computador. Sem eles, o hardware é apenas um plástico caro.

O I/O Kit usa uma versão especial e restrita de C++. Não é C++ completo. Está despojado. Eficiente. Esta camada lida com o fluxo massivo de entrada e saída de dados. Ele gerencia solicitações que passam do Mac para os periféricos e vice-versa.

Assim, você pode conectar um mouse USB, uma unidade FireWire e um monitor Thunderbolt ao mesmo tempo. O Kit I/O faz malabarismos com eles. Sem confusão. Ele processa diferentes tecnologias simultaneamente. Se você tentar em algumas arquiteturas de PC mais antigas, poderá encontrar conflitos de driver. Macs geralmente não.

BSD: segurança de segurança

O terceiro pilar do XNU vem da Berkeley Software Distribution (BSD). É um derivado do UNIX. Pense nisso como um guarda. Ou o segurança de um clube exclusivo.

Quando você faz login, o BSD determina suas permissões. Os administradores têm rédea solta. Eles podem excluir programas. Eles podem instalar software em nível de sistema. Um usuário padrão? Eles ganham menos. A camada BSD impõe essas regras. Impede que usuários normais quebrem coisas. Ele também sincroniza processos. Ele mantém o sistema organizado.

Sem esta camada, o Mac OS X seria um caos de permissões conflitantes. Qualquer um pode limpar o sistema. O BSD mantém a paz.

Conceito de pilha

Os engenheiros pensam no Mac OS X como uma pilha. Este é um modelo conceitual. Abaixo: Hardware e firmware. O próximo é o kernel XNU. Acima disso: serviços essenciais. A seguir, serviços de aplicativos. Superior: o aplicativo real que você está usando.

Essa pilha é importante. Mostra como as camadas interagem. Mudanças nucleares podem causar efeitos em cascata. Atualizar a GUI geralmente não quebra o núcleo. A separação é intencional.

Serviços principais e GUI

A camada de serviço principal contém a estrutura. Lide com tarefas como pesquisas de texto em vários idiomas. Fornece API do sistema. Os desenvolvedores usam essas APIs para criar software. Os serviços principais fazem o trabalho pesado do trabalho em segundo plano.

O nível de serviço do aplicativo é exibido. Esta é uma interface gráfica de usuário (GUI). Crie janelas, ícones e cursores. Este é um canal de comunicação entre aplicativos. Essa camada facilita copiar texto do navegador e colá-lo no documento. É assim que os aplicativos podem se comunicar entre si.

O que significa XNU?

O nome em si é uma piada. Os engenheiros de computação adoram trocadilhos ruins. XNU não representa uma abreviatura complexa. Isso significa “X não é Unix”.

Unix é outro sistema operacional. O Mac OS X compartilha o mesmo DNA. Mas não é Unix. O nome enfatiza essa diferença. É respeito pelos ancestrais e divisão. É um lembrete de que, embora o Mac seja construído com base nos princípios do UNIX, ele é uma fera por si só.

O kernel lida com a memória. A série I/O cuida das conexões. O BSD cuida da segurança. A pilha os mantém juntos. Na próxima vez que você quiser que seu Mac funcione perfeitamente, lembre-se do código que faz o trabalho invisível para você. Isso não é mágica. Isto é arquitetura.

Artigo anteriorComo usar um mecanismo de busca de caridade para financiar causas globais
Próximo artigoEntenda a arquitetura cliente/servidor da sua rede