source AT alumni.cis:~/source/
Windows 掛點的主要來源是 driver 爛掉,或是記憶體 CRC 錯誤,這是由錯誤回報所得到的資訊。在 x86 上,效能並非問題,主要著重在系統穩定和安全性,所以 Windows 大量依賴 Managed code。引述自 Daniel Reed
設置環境
- 符合要求之後,即可從 Suggested Resources for Operating Systems using Windows 下載 Windows Research Kernel v1.2。解壓後,執行 WRKCopy 會將目錄拷貝到 C:\WRK-v1.2。請先閱讀 Getting Started with WRK。開啟命令行輸入,
cd C:\WRK-v1.2 Build.bat # C:\WRK-v1.2\base\ntos\BUILD\EXE\wrkx86.exe 即為內核
- 點選 Suggested Resources for Operating Systems using Windows 中的 Operating Systems Resource Kit,下載 Win2k3SP1 映像檔 (WRK)。
- 安裝 Virtual PC 或是 VMWare。載入 Win2k3SP1 映像檔 (WRK)。
注意! Windows Virtual PC 是後來透過更新內建在 Win 7 的虛擬機,它和 Virtual PC 2007 互斥。建議用 Virtual PC 2007。
偵錯
- 下載 WinDbg。
- 虛擬機將 COM1 設為 \\.\pipe\debug,WinDbg 也是同樣設定。
請參考 Windows內核原理與實現 - 附錄 A。 一點通 - 如何在 Windows 7 的 Virtual PC 中啟用整合功能
概觀
Windows 將系統中各項資源視為對象 (object),這較 Linux 將裝置視為文件的概念更為廣泛。漫谈兼容内核之二: 关于kernel-win32的对象管理 一文中提及若是要將 Windows 嫁接至 Linux 內核上,需要替每一個 Windows 進程維護一個打開對象表,此表中除了包含該進程打開的文件以外,還包含其它資源。此外,由於 Windows 進程和線程與其底下 Linux 對應物有所不同,必須在 Linux struct task_struct
附加一些資料結構。
Windows 內核由上至下分別為: 執行體、微內核和 HAL。
- 漫谈兼容内核之一: ReactOS怎样实现系统调用 中可以看出 Windows 如何透過中斷向量表實現支援多個子系統,如: Windows、OS2 和 Posix。
-
系統呼叫
創建進程
分層
Registry
WOW
MS-DOS
-
- 用軟中斷做系統調用。
術語
-
-
- 在 Windows 中,所有資源基本上被視作物件 (object) 進行管理。
外部連結
-
- 寄信至 compsci@microsoft.com 詢問是否符合資格。
-
- 下載資源