Certo, sei que entre outras coisas um SO é responsável porgerenciar memória, processos, dispositivos, etc…Mas esses dias, pensando em instaladores de SO’s me ocorreu: É possível implementar programas que rodem fora de sistemas operacionais? Imagino que se o software se responsabilizar por gerenciar tudo de que precisa, ele não precisa de um SO, certo? Óbvio que não quero começar a implementar softwares que rodam fora de SO’s, porque deve dar uma trabalheira do cão, hehe…É só curiosidade 
Outra coisa, compilar e rodar um software desses seria trivial? Alguém tem alguma idéia das particularidade envolvidas?
Obrigado…
Já via fazerem sistemas assim para computação embarcada. Mas isso era pra uso militar, onde tempo real é primordial. Em geral, o que o pessoal faz é usar um SO com poucas funcionalidades, comparando so SO’s de pcs. Já ouvi falar do QNX, entre outros. No Rose Real Time vc pode até configurar onde o projeto vai ser embarcado, podendo configurar o seu projeto a um SO que vc mesmo tenha desenvolvido. Se estiver curioso de uma procurada.
Qualquer software roda sem sistema operacional, vc só precisa lançá-lo a memória ram por meio de um boostrap. Pode criar um software em c++ e grava-lo na trilha zero de um disquete(só consegui fazer com disquete). As ferramentas do gnu campiler fazem isso. Detalhe, não deve gerar um .exe ou coisa do gênero. Deve criar um arquivo binário sem informações do so.
Mas achoq uqe criar um software que não precise de SO seria quase como criar um SO, porque você iria precisar controlar tudo que precisa.
O papel do so é paginar memória, gerenciar processos, fila, pilha etc… Um software embutido só precisa ser lançado a ram do mesmo jeito, que um so é no boot. Mas não precisa paginar memória nem proteger áreas dela. O interessante é que o bootstrap tem q ser programado em assembly, já o software pode ser c ou c++
No mínimo vc precisa de uma linguagem de baixíssimo nível como Assembly para fazer isso. O MenuetOS é um projeto muito interessante que desenvolve um sistema operacional todo em Assembly. O resultado foi um sistema operacional compacto que cabe em um disquete.
http://www.menuetos.net/
[quote=andrepestana]No mínimo vc precisa de uma linguagem de baixíssimo nível como Assembly para fazer isso. O MenuetOS é um projeto muito interessante que desenvolve um sistema operacional todo em Assembly. O resultado foi um sistema operacional compacto que cabe em um disquete.
http://www.menuetos.net/
[/quote]
O sujeito que fez isso ai deve ser no minimo muito louco…
Muito louco não, é um cientista da computação. O cara tem que saber isso msm.
tbm vou me formar cientista da computação e conheço uma galera de cientistas que não sabem fazer um SO em asm… e até agora não aprendi a fazer um SO em asm… em CC vc aprende asm e aprende SO… mas não em um nivel que consiga fazer uma doidera dessas…
sem duvida é um cientista muito doido…
Não tô tirando o mérito do cara não(longe disso). Quis dizer que cientista da computação tem que ter conhecimento em sitemas operacionais. Tem que saber implementar um não importa a linguagem. Em assembly o cara deve ter levado muito tempo para codificar.
é… tem que pesquisar muito. Não é para qualquer um.
Acho que o cara que fez o MenuetOS achou um nicho de mercado porque a versão 64bits não está mais sob licença GPL como está a versão 32 bits. 
Esse tipo de sistema encaixa perfeitamente no mercado pra dispositivos eletrônicos com tecnologia embarcada. Quem não quer compilar um linux kernel pode ussar ele. Se bobear dá até pra botar uma máquina virtual nele. E fazer uma espécie de android. (hehh… agora sonhei bastante).
pra falar a verdade, eu não tenho nem idéia de qual o nível de dificuldade que deve ser criar um SO, em Assembly ainda…
Tipo… muito fora do meu nível de capacidade… :oops:
Vc ja fez CC? posso te garantir que 100% dos cientistas e professores que eu conheço não sabem implementar um sistema operacional não importando a linguagem… mesmo os professores de SO… não sabem… sei de um TCC em que tentaram fazer esta façanha mas se deram mal… ngm sai da faculdade de CC fazendo SOs do 0 porai… para fazer algo semelhante a isto precisa de muito estudo, dedicação e principalmente tempo…
nas faculs de CC vc aprende conceitos teoricos de SOs e não como implementa-los (diferente de compiladores no caso onde vc aprende realmente a implementa-los…) em SOs vc aprende conceitos de gerenciamento de memoria, paginação, controle de interrupções entre outras coisas… e não a fazer um SO do 0 para isto como ja disse precisa de muito tempo…
Vc não sonhou muito não, juliocbq.
Algumas pessoas estão com essa iniciativa.
http://menuet.2.forumer.com/index.php?showtopic=780
Seria muito legal mesmo porque o sistema operacional é levíssimo e deixa quase toda memória RAM livre. Seria quase como o assunto do tópico: Criar uma aplicação sem SO.
Se for criar um so pra genrenciar tudo vai levar mais de anos de projeto. Mas uma máquina de estados dá pra programar em um microcontrolador tipo pic 18. O legal desse tipo de coisa, é que tem que levar em conta até pra declarar variáveis, pois a memória é muito limitada. Dá pra testar um esquema desses naquele software, o proteus.
o proteus é show de bola…
da pra simular um processador inteirinho dentro dele…
onde eu vejo mais informações sobre esse proteus?
Show de bola msm…tem um exemplo ali que o cara bota um linux num pic mais avançado. E roda… :shock: