Olá pessoal!
Gostaria de saber, como se adicionar código C enquanto crio um sistema operacional?
Afinal, como o processador vai ler o código C?
Em qual extensão eu gravo o C? .Bin?
Todo a parte de boot foi feita em Assembly, e o kernel também...
Mas para a interface gráfica eu gostaria de adicionar umas coisas em C...
Mas como adicionar códigos C em compilador Assembly? Tenho que juntar este código ao kernel...

C Em Criação De So?
Started By Arthur XD, 14/08/2009, 09:11
4 replies to this topic
#1
Posted 14/08/2009, 09:11
#2
nvivo
Posted 14/08/2009, 11:45
O processador não entende C, entende código de máquina. Da mesma forma que você traduz assembly pra código de máquina, o compilador de C faz a mesma coisa. E no nível do kernel, não importa muito a extensão. Você vai carregar um conteúdo binário na memória e começar a executar a partir de uma certa posição.
O que não ficou muito claro é como diabos você está criando um sistema operacional sem entender bulhufas sobre compiladores, linkers, linguagens e etc...
De qualquer forma, dê uma olhada no fonte do linux disponível gratuitamente em www.kernel.org, tudo começa no /arch/x86/boot (ou na arquitetura de sua escolha). Provavelmente vai te dar algumas idéias.
[]'s
O que não ficou muito claro é como diabos você está criando um sistema operacional sem entender bulhufas sobre compiladores, linkers, linguagens e etc...
De qualquer forma, dê uma olhada no fonte do linux disponível gratuitamente em www.kernel.org, tudo começa no /arch/x86/boot (ou na arquitetura de sua escolha). Provavelmente vai te dar algumas idéias.

[]'s
#3
Posted 14/08/2009, 14:03
vc pode fazer na linguagem que você quiser..... mais eu não entendi muito bem o que você está fazendo. Voce ta programando em assembly pra usar em quais processadores? não familia 8051 neh?
como o nvivo disse o importante pra voce vai ser o compilador ele vai traduzir para o codigo de maquina que o processador ira entender, igual e feito em assembly.. o processador não sabe o o que mov hehehehe o compilador transforma isso tudo em binario e ai o bichinho lah entende kkk
boa sorte e mantenha a gnte informado sobre esse seu projeto!
como o nvivo disse o importante pra voce vai ser o compilador ele vai traduzir para o codigo de maquina que o processador ira entender, igual e feito em assembly.. o processador não sabe o o que mov hehehehe o compilador transforma isso tudo em binario e ai o bichinho lah entende kkk
boa sorte e mantenha a gnte informado sobre esse seu projeto!
#4
Posted 14/08/2009, 15:51
O que não ficou muito claro é como diabos você está criando um sistema operacional sem entender bulhufas sobre compiladores, linkers, linguagens e etc...
Na realidade eu entendo um pouco...
Mas eu conto com ajuda de várias pessoas ajudando =] rsrsrs
8086... XDVoce ta programando em assembly pra usar em quais processadores? não familia 8051 neh?
...
Obrigado pessoal, pela ajuda...
Edição feita por: Arthur XD, 14/08/2009, 15:52.
#5
Posted 17/08/2009, 12:22
Ah entendi... o 8086 e quase que da mesma familia, tem 16 bits e usando 2 registradores chega a da 1 MB de memoria em cache....
mais eu so não entendi uma coisa, você deve estar utilizando este processador com ligação em provavelmente um LCD de 2 ou 4 linhas no maximos, o que vc quer fazer com interface grafica nele? Esse microprocessador até onde sei não ira lhe dar esta opção, caso queira montar desenhos alguma coisa ssim no lcd tera que usar ASCII mesmo pra fazer as imagens.. tendeu?
mais eu so não entendi uma coisa, você deve estar utilizando este processador com ligação em provavelmente um LCD de 2 ou 4 linhas no maximos, o que vc quer fazer com interface grafica nele? Esse microprocessador até onde sei não ira lhe dar esta opção, caso queira montar desenhos alguma coisa ssim no lcd tera que usar ASCII mesmo pra fazer as imagens.. tendeu?
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)