2012-03-14 90 views
-2

可能重复:
How do you write a basic operating system?写一个非常简单的OS

提高我的技能和知识,我想写一个OS。非常简单的操作系统。我的首选语言是java。如果需要用语言来完成,我可以用c/C++编写。我并不在乎效率太高,因为我只是想知道内核和其他东西是如何工作的。

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

我应该如何开始?

编辑:不要讲述理论上解释所有概念的书籍。

+3

为什么投票结束?这个问题有什么问题? – 2012-03-14 04:23:04

+2

操作系统的一个有趣的部分是它如何在低级别管理许多任务(内存,进程调度,与I/O接口)。在Java中,所有东西都已被抽象化。你会发现很难感受到内核的力量,而没有一个低级别的机器。 – Jack 2012-03-14 04:24:39

+0

我真的不认为这是一个建设性的问题。你唯一可能得到的是一大堆的喋喋不休和建议。让我成为第一个....你想认真尝试和编写一个Java操作系统?这甚至有可能吗?请记住像Android,BB等东西......确保您可以通过Java挂钩到“系统”并为其编写Java应用程序,但在核心中您总是会找到C或C++。 – 2012-03-14 04:25:20

回答

2

这本书:操作系统:Andrew Tanenbaum的设计和实现将帮助你。请先阅读

+0

不要告诉我这本书。我有足够的这些。 – 2012-03-14 04:25:43

+0

因此,您想知道如何编写操作系统,但您不需要任何书籍建议......因为您已经拥有了所有需要的书籍?好像你需要坐下来重新阅读。 – 2012-03-14 04:36:32

+0

Downvoted这个答案也是如此。阅读常见问题解答:http://stackoverflow.com/faq#dontask – 2012-03-14 04:39:54

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

+0

所有链接都告诉读一本书! – 2012-03-14 04:36:41

+1

Downvoted。你已经证明这个问题不是重复的。您不会发布答案,并因此鼓励您投票结果重复,并在您的投票选项中选择“可能重复”。这正是为什么那个选项在那里。 – 2012-03-14 04:37:38

+0

@ program-o-steve,因为你不知道你通过浏览维基百科链接来编写操作系统需要知道什么 – 2012-03-14 04:38:05

1

我建议,建立一个操作系统到Linux像一个层。这将有助于开始简单的开发,并慢慢地转移到硬件部分,如实际的硬件访问,寻呼等。

我的意思是说,假设linux是硬件本身,那么你会说代码通过代码存取代码调用实际的Linux I/O端口访问例程。

这将INB‘“的汇编代码’后面取代的‘出’等

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

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

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

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

+0

Downvote旨在鼓励网站上的重复内容。查看常见问题 – 2012-03-14 04:44:46

+0

@ Ascension Systems您是否了解我在问题中提出的问题的本质?我要求一些帮助来编写一个操作系统在Java中。现在哪个链接清楚地告诉了这个? – 2012-03-14 04:51:00

+0

我的评论针对@alfadx。 – 2012-03-14 04:51:59