Eu tenho um projeto de classe para criar meu próprio sistema operacional. Eu tenho muito sobre isso e agora tudo parece confuso [fechado]

-3

Eu pensei em criar um sistema operacional, contando com o seu conselho agora sobre onde começar a fazer isso.

    
por user215466 13.11.2013 / 19:54

1 resposta

3

Você está falando sério? Quero dizer, existem muitos sistemas operacionais fanmade, mas é um trabalho pesado e pesado!

Para começar, um sistema operacional deve ter, pelo menos:

  1. Um Bootloader: Para empurrar o kernel para a RAM, prepare os TLBs e faça algumas tarefas domésticas

  2. Um Kernel: o kernel é a parte mais essencial de um sistema operacional, e gerencia aspectos cruciais como os mapeamentos de memória física / virtual entre programas, multitarefa, agendamento de I / O, IPC, mutexes e assim por diante . Dependendo do SO, existem várias filosofias (monolíticas, como a arquitetura Linux; híbridas, como a arquitetura OS X; ou microkernel, como o inacabado Hurd). Dependendo disso, é o código do kernel ou código de usuário aquele que gerencia cada aspecto individual do sistema.

  3. Aplicativos de Userland, que darão ao usuário alguma interação com a máquina.

No mundo GNU / Linux e BSD, temos vários deles, como:

Bootloaders: GRUB2, GRUB, LILO, ISOLINUX ...

Kernels: Linux, kFreeBSD ...

Aplicativos de Userland: GNU [ou] Coreutils, Bash, Xorg e inúmeros mais:)

De qualquer forma, se essa é a sua pergunta, aqui está sua resposta, e para mais informações, há muitas delas sobre como começar a coçar suas decisões de design em cada aspecto do seguinte wiki: link

Há muitas informações sobre como os bootloaders funcionam, como programar no baremetal sem commodities como o stdio.h e, na verdade, muitas informações úteis.

    
por ssice 13.11.2013 / 20:12