写一个非常简单的操作系统

时间:2012-03-14 04:20:15

标签: java operating-system

  

可能重复:
  How do you write a basic operating system?

为了提高我的技能和知识,我想编写一个操作系统。一个非常简单的OS。我的首选语言是java。如果有语言要做,我可以用c / c ++编写。我不太关心效率,因为我只想了解内核和其他东西是如何工作的。

是否有从头开始教这个的好教程。我知道OS设计,网络,线程等。

我应该如何开始?

编辑:请不要在理论上告诉书籍解释所有概念。

3 个答案:

答案 0 :(得分:2)

本书:操作系统:Andrew Tanenbaum的设计和实施将为您提供帮助。首先阅读

答案 1 :(得分:1)

请务必查看osdever社区。

可能重复吗?无论如何,这里有充足的资源:

Resources to develop an operating system

Developing an operating system

https://stackoverflow.com/questions/2154013/how-to-make-an-operating-system

How to program an Operating System?

编辑:我忘了提及的另一个好的在线资源BrokenThorn OS Tutorials

答案 2 :(得分:1)

我建议,在Linux上构建一个像操作系统一样的操作系统。这将有助于最初的简单开发,并逐渐转向硬件,如实际的硬件访问,分页等。

一旦我的意思是样本,假设linux作为硬件本身,那么你将代码端口访问通过代码的存根调用实际的linux i / o端口访问例程。

稍后将用'inb''out'等的汇编代码替换

另一个例子是内存管理,为内存分配一个大池,尝试重新实现slab分配器等。

我只是暗示了可以做些什么。这里的优点是您可以使用C ++并调用Linux子例程。

为此,您可能必须加载自定义模块以进行实际的硬件访问。

此过程在技术上称为Hypervisor Guest。所以Linux是管理程序。您的操作系统是来宾。