Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jeffrey Matheus

É possível desenvolver um SO em c#?

Recommended Posts

C# é Turing-completa. Na teoria, pode-se expressar raciocínio nela que resolva qualquer problema que pode ser resolvido com outras linguagens como C, Java, C++, etc. Ela inclusive tem artifícios que só agora estão sendo incluídos em C++ (como funções lambda), e alguns que, até onde eu sei, são únicos dela (encadeamento explícito de construtores suportado pela sintaxe, finalização automática de recursos via with statements, etc).

 

Contudo, a linguagem em si parece estar intimamente ligada à .NET, plataforma que roda sobre um sistema operacional (não necessariamente Windows, ao contrário do que se pensa em geral). Neste sentido, a escolha dela pra desenvolver um SO seria, no mínimo, "esquisita".

 

Qualquer programa em qualquer linguagem pode ser compilado para produzir código em qualquer linguagem, ou interpretado em qualquer ambiente computacional. A questão é que algumas decisões fazem mais sentido que outras.

 

Enfim... não sei por que você postou essa pergunta nesta seção. Assumo que seja porque saiba que C e C++ são usadas pra desenvolver sistemas operacionais, então vou deixar o tópico aqui.

 

Resolvido?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sinceramente, eu acho que não tem jeito não de fazer um sistema operacional em C#. Não um completo.

 

Tem muitas coisas low-level de um sistema operacional que nem na C se consegue representar, tem que ser no assembly mesmo... além de partes críticas que se forem escritas em C# a velocidade do sistema operacional ficaria tipo, tensa...

 

 

Sério, para fazer um sistema operacional de verdade, é requisito Assembly, e se quiser deixar mais fácil a manutenção em algumas áreas, pode escrevê-las em C...

 

C++ também não é uma boa pedida, pois muitas de suas funções são dependentes de um sistema operacional, por isso como você vai escrever um sistema operacional se não pode escrevê-lo ?

 

 

Por isso a fusão para SO's hoje em dia é C + Assembly. Tanto no linux, quanto no windows, C + Assembly é o padrão para se escrever sistemas operacionais.

 

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

A Microsoft adotou C++ para várias partes do SO há vários anos. Máquinas podem funcionar interpretando diferentes linguagens, e isso torna C# uma opção possível para escrever um SO (não que isso faça muito sentido, por causa das implementações disponíveis hoje). Algumas discussões que talvez iluminem o assunto:

 

http://social.microsoft.com/Forums/en-US/windowshpcacademic/thread/65a1fe05-9c1d-48bf-bd40-148e6b3da9f1

http://stackoverflow.com/questions/783238/why-windows-7-isnt-written-in-c

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.