2012-03-14 91 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