Quais são as questões fundamentais na concepção de um kernel?
A principal e mais difícil parte de desenhar um kernel é decidir quais as características que o kernel irá suportar, se está a construir um sistema operativo de propósito geral ou algo que irá controlar um hardware muito específico com funcionalidades limitadas e requisitos de tempo real difíceis.Para compreender os problemas fundamentais no desenho de um kernel precisa realmente de ler alguns livros e mesmo assim irá ter algumas surpresas. Assumindo que estamos olhando para um SO de propósito geral aqui estão algumas das decisões que você precisa tomar antes mesmo de começar.
- Micro vs Macro kernel (o kernel controla toda interação com o hardware ou o kernel controla apenas o acesso a processos que lidam com a interação com o hardware)li>li>Modular (o kernel permite módulos carregáveis)li>li>Security - que modelo de segurança você está seguindo, você vai com processos confiáveis ou processos não confiáveis. O que uma aplicação pode fazer e não fazerli>li>Controle de processos - Você tem agendador simples ou permite agendadores complexos, eles são intercambiáveisli>Controle de memória - Você fornece gerenciamento de memória ou não.>li>Memória virtual - Você permite memória virtual, como agendar atualizações,>li>Armazenamento de dados de longo prazo - Você tem um sistema de arquivos ou vai usar um tipo diferente de estrutura para armazenar dados de longo prazo.>li>Is your kernel threaded, single thread, Multi tasking.>li>Device models
A lista continua e continua. Mas a questão fundamental é quais as características que você suporta. Isto irá então informar como você vai escrever o kernel e incluirá os problemas listados por
Ken Burgett
Escrever um kernel é muito divertido mas escrever um kernel de propósito geral é difícil, há várias boas razões pelas quais o OS/X é baseado no FreeBSD, Android e a maioria dos Roteadores, Switches é baseado no Linux ou FeeBSD.
Artigos semelhantes
- Como portar um novo kernel num dispositivo Android com kernel existente
- Quais são as melhores aplicações móveis para fazer análises fundamentais no mercado acionário indiano?
- Quais foram algumas das primeiras decisões que foram fundamentais para o sucesso do Spotify?
- Por que as constantes fundamentais são constantes, constantes?