首 頁
手機版

自己動手寫操作系統(tǒng)pdf高清版 于淵無水印影印版

自己動手寫操作系統(tǒng)是于淵編寫的一本編程愛好者編寫的別具一格、頗有特色的操作系統(tǒng)原理與實現(xiàn)的圖書,本書在詳細分析操作系統(tǒng)原理的基礎(chǔ)上,用豐富的實例代碼,一步一步地指導讀者用C語言和匯編語言編寫出一個具備操作系統(tǒng)基本功能的操作系統(tǒng)框架。作者對系統(tǒng)初啟、保護模式、控制權(quán)如何轉(zhuǎn)入OS Kernal等都寫得具體詳細,對操作系統(tǒng)的愛好者以及涉足于操作系統(tǒng)設(shè)計、實現(xiàn)和應(yīng)用的讀者有很好的參考價值,可以作為高等院校操作系統(tǒng)課程的實踐參考書。ps:這里小編帶來的是自己動手寫操作系統(tǒng)pdf高清版,并且是無水印影印版,可以讓讀者更清晰的閱讀,快下載收藏吧。

自己動手寫操作系統(tǒng)pdf高清版

內(nèi)容介紹

《自己動手寫操作系統(tǒng)》是一本編程愛好者編寫的別具一格、頗有特色的操作系統(tǒng)原理與實現(xiàn)的書。該書作者對操作系統(tǒng)具有特殊愛好,在大量實踐和反復鉆研下積累了豐富而可貴的經(jīng)驗,為了與廣大讀者分享這些經(jīng)驗寫成了此書。本書對一般的操作系統(tǒng)原理教材不很重視的部分,例如,系統(tǒng)初啟、保護模式、控制權(quán)如何轉(zhuǎn)入OS Kernal等都寫得具體詳細,對操作系統(tǒng)的愛好者以及涉足于操作系統(tǒng)設(shè)計、實現(xiàn)和應(yīng)用的讀者有很好的參考價值。

《自己動手寫操作系統(tǒng)》的文字生動活潑,富有個性,可望提高青年學子的閱讀興趣。本書在詳細分析操作系統(tǒng)原理的基礎(chǔ)上,用豐富的實例代碼,一步一步地指導讀者用C語言和匯編語言編寫出一個具備操作系統(tǒng)基本功能的操作系統(tǒng)框架。本書不同于其他的理論型書籍,而是提供給讀者一個動手實踐的路線圖。書中講解了大量在開發(fā)操作系統(tǒng)中需注意的細節(jié)問題,這些細節(jié)不僅能使讀者更深刻地認識操作系統(tǒng)的核心原理,而且使整個開發(fā)過程少走彎路。

章節(jié)目錄

第1章 馬上動手寫一個最小的“操作系統(tǒng)”1
1.1 準備工作1
1.2 10分鐘完成的操作系統(tǒng)1
1.3 Boot Sector3
1.4 代碼解釋3
1.5 水面下的冰山5
1.6 回顧6
第2章 搭建你的工作環(huán)境7
2.1 虛擬計算機(Virtual PC)7
2.1.1 Virtual PC初體驗8
2.1.2 創(chuàng)建你的第一個Virtual PC9
2.1.3 虛擬軟盤研究12
2.1.4 虛擬軟盤實戰(zhàn)14
2.2 編譯器(NASM & GCC)18
2.3 安裝虛擬Linux19
2.4 在虛擬Linux上訪問Windows文件夾26
2.5 安裝虛擬PCDOS26
2.6 其他要素29
2.7 Bochs29
2.7.1 Bochs vs. Virtual PC vs. VMware30
2.7.2 Bochs的使用方法31
2.7.3 用Bochs進行調(diào)試33
2.7.4 在Linux上開發(fā)34
2.8 總結(jié)與回顧36
第3章 保護模式(Protect Mode)37
3.1 認識保護模式37
3.1.1 GDT(Global Descriptor Table) 42
3.1.2 實模式到保護模式,不一般的jmp45
3.1.3 描述符屬性47
3.2 保護模式進階50
3.2.1 海闊憑魚躍50
3.2.2 LDT(Local Descriptor Table)58
3.2.3 特權(quán)級62
3.3 頁式存儲82
3.3.1 分頁機制概述83
3.3.2 編寫代碼啟動分頁機制84
3.3.3 PDE和PTE85
3.3.4 cr388
3.3.5 回頭看代碼88
3.3.6 克勤克儉用內(nèi)存90
3.3.7 進一步體會分頁機制100
3.4 中斷和異常107
3.4.1 中斷和異常機制109
3.4.2 外部中斷111
3.4.3 編程操作8259A113
3.4.4 建立IDT116
3.4.5 實現(xiàn)一個中斷117
3.4.6 時鐘中斷試驗119
3.4.7 幾點額外說明121
3.5 保護模式下的I/O122
3.5.1 IOPL122
3.5.2 I/O許可位圖(I/O Permission Bitmap)123
3.6 保護模式小結(jié)123
第4章 讓操作系統(tǒng)走進保護模式125
4.1 突破512字節(jié)的限制125
4.1.1 FAT12126
4.1.2 DOS可以識別的引導盤131
4.1.3 一個最簡單的Loader132
4.1.4 加載Loader入內(nèi)存133
4.1.5 向Loader交出控制權(quán)142
4.1.6 整理boot.asm142
4.2 保護模式下的“操作系統(tǒng)”144
第5章 內(nèi)核雛形146
5.1 用NASM在Linux下寫Hello World146
5.2 再進一步,匯編和C同步使用148
5.3 ELF(Executable and Linkable Format)150
5.4 從Loader到內(nèi)核155
5.4.1 用Loader加載ELF155
5.4.2 跳入保護模式161
5.4.3 重新放置內(nèi)核170
5.4.4 向內(nèi)核交出控制權(quán)175
5.4.5 操作系統(tǒng)的調(diào)試方法176
5.5 擴充內(nèi)核184
5.5.1 切換堆棧和GDT184
5.5.2 整理我們的文件夾191
5.5.3 Makefile191
5.5.4 添加中斷處理200
5.5.5 兩點說明218
5.6 小結(jié)219
第6章 進程221
6.1 遲到的進程221
6.2 概述222
6.2.1 進程介紹222
6.2.2 未雨綢繆——形成進程的必要考慮222
6.2.3 參考的代碼224
6.3 最簡單的進程224
6.3.1 簡單進程的關(guān)鍵技術(shù)預測225
6.3.2 第一步——ring0→ring1227
6.3.3 第二步——豐富中斷處理程序243
6.3.4 進程體設(shè)計技巧254
6.4 多進程256
6.4.1 添加一個進程體256
6.4.2 相關(guān)的變量和宏257
6.4.3 進程表初始化代碼擴充258
6.4.4 LDT260
6.4.5 修改中斷處理程序261
6.4.6 添加一個任務(wù)的步驟總結(jié)263
6.4.7 號外:Minix的中斷處理265
6.4.8 代碼回顧與整理269
6.5 系統(tǒng)調(diào)用280
6.5.1 實現(xiàn)一個簡單的系統(tǒng)調(diào)用280
6.5.2 get_ticks的應(yīng)用286
6.6 進程調(diào)度292
6.6.1 避免對稱——進程的節(jié)奏感292
6.6.2 優(yōu)先級調(diào)度總結(jié)300
第7章 輸入/輸出系統(tǒng)302
7.1 鍵盤302
7.1.1 從中斷開始——鍵盤初體驗302
7.1.2 AT、PS/2鍵盤304
7.1.3 鍵盤敲擊的過程304
7.1.4 解析掃描碼309
7.2 顯示器325
7.2.1 初識TTY325
7.2.2 基本概念326
7.2.3 寄存器328
7.3 TTY任務(wù)332
7.3.1 TTY任務(wù)框架的搭建334
7.3.2 多控制臺340
7.3.3 完善鍵盤處理346
7.3.4 TTY任務(wù)總結(jié)354
7.4 區(qū)分任務(wù)和用戶進程354
7.5 printf357
7.5.1 為進程指定TTY357
7.5.2 printf()的實現(xiàn)358
7.5.3 系統(tǒng)調(diào)用write()361
7.5.4 使用printf()363
后記366
參考文獻369
附錄書中的章節(jié)和代碼對照表370
 
收起介紹展開介紹
  • 下載地址
自己動手寫操作系統(tǒng)pdf高清版 于淵無水印影印版

有問題? 點此報錯

發(fā)表評論

0條評論