帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:scratch  
How to create an OS from scratch

  • 源代碼名稱:os-tutorial
  • 源代碼網址:http://www.github.com/cfenollosa/os-tutorial
  • os-tutorial源代碼文檔
  • os-tutorial源代碼下載
  • Git URL:
    git://www.github.com/cfenollosa/os-tutorial.git
  • Git Clone代碼到本地:
    git clone http://www.github.com/cfenollosa/os-tutorial
  • Subversion代碼到本地:
    $ svn co --depth empty http://www.github.com/cfenollosa/os-tutorial
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • 操作系統教程

    如何從頭開始創建操作系統 !

    我一直想學習如何從頭開始做一個操作系統。 在大學里,我學習了如何實現高級功能( 分頁。信號量。內存管理等),但是:

    • 我從未從自己的引導扇區開始
    • 大學很難,所以我不記得了。
    • 我接受了認為讀取已經有內核的人,即使小,也是學習操作系統的好主意。

    靈感來自OSDev wiki插件,我將嘗試為任何人提供簡短的step-by-step READMEs和代碼示例。 實際上,本教程基本上是第一個文檔,但分割成小塊,沒有理論。

    更新:更多來源:關於操作系統開發的小書,jamesm開發教程的核。

    特性

    • 本課程是針對那些適應低層計算的人而設計的代碼教程。 例如,程序員對操作系統的工作方式有些好奇,但沒有時間或者有力的開始讀取Linux內核。
    • - 沒有什麼理論- 是的這是一個。 Google是你的理論講師。 一旦你通過了大學,過度的理論比沒有理論更糟糕,因為它使事情看起來更難。
    • 課程很小,可能需要 5 -15分鐘才能完成。 相信我相信你自己。 你可以做的 !

    如何使用本教程

    從第一個文件夾開始,按順序向下。 因為你跳到文件夾 05,不知道為什麼有 mov ah, 0x0e,所以因為你錯過了講座 02,所以你可以在上面的代碼中找到。 是的,按順序走。 你可以跳過你已經知道的東西。

    打開自述文件並讀取第一行,詳細介紹在讀取代碼之前應該熟悉的概念。 你不熟悉的Google概念。 第二行說明每個課程的目標。 因為他們解釋了我們做了什麼。 "為何"和"如何"一樣重要。

    閱讀自述文件的其餘部分。 這是

    ( 可選) 在讀取自述文件后,嘗試自己編寫代碼文件。

    查看代碼示例。 它們被註釋得非常好。

    ( 可選) 試驗它們並嘗試打破它們。 確保你理解某事物的唯一方法是嘗試打破它或者用不同的命令複製它。

    首先閱讀每個文件夾的自述文件,然後是代碼文件。 如果你勇敢,試著自己編碼。

    策略

    我們希望用我們的操作系統做很多事情:

    • 從頭開始引導,不使用 GRUB !
    • 輸入 32位 模式- 完成
    • 從程序集跳轉到C - 完成 !
    • 中斷處理- 完成 !
    • 屏幕輸出和鍵盤輸入- 完成 !
    • 為了滿足我們的需要,一個小的,基本的libc
    • 內存管理
    • 編寫 文件系統 來存儲文件
    • 創建一個非常簡單的shell
    • 用戶模式
    • 也許我們會寫一個簡單的文本編輯器
    • 多個進程和調度

    可以能我們會按照這個順序進行的,但是很快就會告訴你。

    如果我們覺得足夠勇敢:

    • 基本解釋器,如 70 s !
    • 一個 GUI
    • 聯網

    我仍在學習這一點。目前,請限制你的貢獻,以修復可以能的Bug 或者改進現有的文檔。 我還沒有準備好接受增強功能。



    文章标签:scratch  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语