UNIX v6 作業系統

作業系統

簡介

行程管理

記憶體管理

輸出入管理

檔案管理

使用者介面

嵌入式系統

RTOS

中斷處理

案例研究

EOS0

CurtOS

F9

UNIXv6

NachOS

uCOSII

L4

RtThread

Haiku

MINIX

Linux

Windows

mykernel

訊息

相關網站

參考文獻

最新修改

簡體版

English

作業系統的設計通常是一個很大的工程,幾乎沒有辦法在大學當中傳授實際的設計技巧,以至於所有作業系統的課程幾乎都是以理論為主的方式,這讓作業系統成為程式設計師心中的一個未解之謎。

UNIXv6 是一個相當重要且小型的作業系統,幾乎是所有現代 UNIX 的始祖,雖然 UNIXv6 是在 PDP11 機器上寫的,但在網路上卻有相當完整的資料可以參考,UNIX v6 的作業系統核心大約為 10000 行,因此相當適合想要撰寫作業系統的人學習研究,以下是 UNIX v6 的相關資源。

然而,在 MIT 的課程當中,有一門編號 6.828 的 Operating System Engineering,其教師 Frans Kaashoek 將 UNIX v6 的原始碼,修改之後放在 x86 電腦上執行,形成一個只有八千行的 UNIX v6 現代版,稱為 UNIX xv6,,Frans Kaashoek 用這個版本作為作業系統課程的起點,這讓我們有機會一睹作業系統的核心原理。

目前 Frans Kaashoek 的研究方向已經導向一種稱為 Exokernel 的作業系統架構,他們撰寫了一個稱為 JOS 的作業系統,這在他們的課程當中也成為重要的主角之一。

以下是 Frans Kaashoek 的 6.828:Operating System Engineering 課程,以及 UNIX xv6 的首頁。

Frans Kaashoek 是 MINIX 作者 Tanenbaum 的學生,長期都受到作業系統的訓練,因此被網羅到 MIT 教授作業系統課程。

參考文獻

  1. Source code listing for the Lions' Commentary in PDF and PostScript
  2. UNIX xv6
  3. 北大清華修改 UNIX xv6 後的結果
  4. http://julu.staros.mobi/

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License