我有兴趣学习如何创建自己的操作系统。推荐学习创建您自己的操作系统?
我知道这不是一夜之间发生的事情。
我有几个问题:
- 我想熟悉这样做有什么样的知识,什么概念?
- 是否有关于此主题的推荐阅读?
- 我最喜欢的语言是C#,是否可以用这种语言编写操作系统?
我有兴趣学习如何创建自己的操作系统。推荐学习创建您自己的操作系统?
我知道这不是一夜之间发生的事情。
我有几个问题:
我建议安德鲁·斯图尔特·塔能鲍姆,Operating Systems: Design and Implementation
良好的开端是有利于提高完成操作系统(如Cosmos如果你喜欢C#)。
UPD
一些有用的资源:
+新闻组:[alt.os.development](http://groups.google.com/group/alt.os.development/topics?gvc=2)和[comp.lang.asm.x86](http://groups.google.com/group/comp.lang.asm.x86/topics?gvc=2) – 2012-01-11 20:24:17
首先通过操作系统的基本知识...阅读高尔文(最好的书),然后决定你想如何接近发展。我的同事正在UBUNTU开发操作系统。
取决于你有多棒。可能最好的开始是通过做你自己的Linux发行版,并在此基础上发展。 c#不是构建操作系统的最佳语言。在代码项目上有一个实现,但是,最好的开始是组装,然后在此基础上进行构建。 Windows是c/C++,因为我认为大部分操作系统都在汇编部分之上。
Cosmos代表C++/C#开源托管操作系统,允许您构建和编译自己的操作系统供个人使用。
http://www.codeproject.com/KB/cs/CosmosMS5.aspx
它允许你建立一个命令行可以与虚拟机进行引导。之后,您可以开始使用Gnome或KDE为操作系统构建用户界面。
这就是我的意思,哈哈! – 2012-01-10 17:59:02
是否可以在C#中编写操作系统?,
http://www.silveos.com/ Silverlight的操作系统,它运行在WP7
不错如果你想有一个本地OS,这是“不可能的”,使完全出于C#,因为C#运行在一个虚拟机,以及VM运行在OS XD上。
制作操作系统的最佳方法是锁定低范围嵌入式系统,因为您不必担心虚拟内存和其他复杂的东西。如果你想这样去检查https://github.com/DVDPT/Micro-Operating-System,我自己的操作系统为ARM和AVR嵌入式系统。
最后阅读操作系统概念和研究像TNKernel,FreeRTOS,eCos这样的小型操作系统。然后跳转到主要的操作系统,如Linux或Windows。
Silveos并不是一个真正的操作系统。 – 2012-01-11 20:21:09
简答题:
长答案:不完全。
你必须在汇编中编写某些部分,你也会遇到CLR的问题,但这可以通过使用.NET Micro Framework来克服。而且,对于某些部分,这已由Microsoft在其Singularity OS中完成。如果你想进入操作系统开发,我建议阅读一些教程在OSDev Wiki或检查Bona Fide OS Developer。
我推荐从这个问题开始:创建新的os的原因是什么? – 4ndrew 2012-01-10 16:18:44
我的理由是学习。 – Rakso 2012-01-10 16:21:12
Linux或BSD将是一个很好的开始,并且有大量的东西可以插入。另一个选择是像PIC微控制器那样的一些选择。请注意,你需要真正在硬件上。因此,另一个开始的选择是编写驱动程序并将其添加到现有的操作系统。哦,快乐的学习,即使你什么都没有成功,你会学到很多东西。 – 2012-01-10 16:38:00