操作系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
定 價(jià):36 元
- 作者:陳文智主編
- 出版時(shí)間:2017/2/1
- ISBN:9787040467529
- 出 版 社:高等教育出版社
- 中圖法分類:TP316
- 頁(yè)碼:288
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16K
本書為“基于系統(tǒng)能力培養(yǎng)的計(jì)算機(jī)專業(yè)課程建設(shè)研究”項(xiàng)目規(guī)劃教材。本書定位于初學(xué)者的動(dòng)手實(shí)踐類操作系統(tǒng)教材,帶領(lǐng)讀者一步步從無(wú)到有,實(shí)現(xiàn)一個(gè)近1萬(wàn)行的小型內(nèi)核Lcore。全書共11章。其中,第1章簡(jiǎn)單回顧操作系統(tǒng)的基本原理;第2章將從操作系統(tǒng)五大模塊入手設(shè)計(jì)Lcore系統(tǒng);第3章將為L(zhǎng)core添加VGA顯示功能;第4章從時(shí)鐘中斷入手討論如何在內(nèi)核中實(shí)現(xiàn)對(duì)中斷進(jìn)行處理;第5章實(shí)現(xiàn)鍵盤輸入功能;第6章分別實(shí)現(xiàn)內(nèi)存管理系統(tǒng)的Bootmem、Buddy、Slub分配器;第7章介紹進(jìn)程管理初始化、進(jìn)程創(chuàng)建、頁(yè)異常處理和進(jìn)程調(diào)度;第8章將實(shí)現(xiàn)一個(gè)能夠在Lcore內(nèi)核中運(yùn)行的類FAT32文件系統(tǒng),同時(shí)也涉及如何編寫一個(gè)SD卡的小驅(qū)動(dòng);第9章實(shí)現(xiàn)系統(tǒng)調(diào)用模塊;第10章開(kāi)發(fā)一款專屬、簡(jiǎn)單的shell;第11章總結(jié)全文。附錄是硬件實(shí)驗(yàn)平臺(tái)手冊(cè),說(shuō)明平臺(tái)的有關(guān)使用細(xì)節(jié),以便讀者在開(kāi)發(fā)過(guò)程中隨時(shí)查閱。本書可作為本科計(jì)算機(jī)類專業(yè)操作系統(tǒng)課程配套的實(shí)踐教材,也可供有關(guān)技術(shù)人員參考。
陳文智,浙江大學(xué)教授,博士生導(dǎo)師。主要研究方向?yàn)橛?jì)算機(jī)系統(tǒng)級(jí)軟件、計(jì)算機(jī)網(wǎng)絡(luò)和安全、嵌入式系統(tǒng)及應(yīng)用、計(jì)算機(jī)體系結(jié)構(gòu)。承擔(dān)國(guó)家自然基金、國(guó)家“863”重大項(xiàng)目、核高基重點(diǎn)項(xiàng)目、科技支撐計(jì)劃項(xiàng)目、科技重大專項(xiàng)等科研項(xiàng)目10余項(xiàng),在高水平學(xué)術(shù)期刊或會(huì)議發(fā)表論文50余篇,獲國(guó)家發(fā)明專利授權(quán)20余項(xiàng)。主講“嵌入式系統(tǒng)”“操作系統(tǒng)”“計(jì)算機(jī)體系結(jié)構(gòu)”“軟件工程”“計(jì)算機(jī)系統(tǒng)綜合”等課程。曾獲浙江省科技進(jìn)步一等獎(jiǎng)、浙江省教學(xué)成果一等獎(jiǎng)。2013年獲全國(guó)寶鋼**教師獎(jiǎng)。
第1章 操作系統(tǒng)開(kāi)發(fā)介紹
1.1 操作系統(tǒng)原理
1.1.1 進(jìn)程管理
1.1.2 內(nèi)存管理
1.1.3 文件管理
1.1.4 I/O設(shè)備管理
1.1.5 用戶接口
1.2 實(shí)驗(yàn)平臺(tái)簡(jiǎn)介
1.2.1 物理實(shí)驗(yàn)平臺(tái)
1.2.2 計(jì)算機(jī)硬件體系結(jié)構(gòu)
1.2.3 QS模擬器
1.2.4 平臺(tái)指令集
1.3 開(kāi)發(fā)環(huán)境搭建
1.3.1 交叉編譯工具鏈
1.3.2 QS模擬器使用
1.3.3 其他工具
小結(jié)
第2章 系統(tǒng)設(shè)計(jì)與初始化
2.1 Lcore整體設(shè)計(jì)
2.1.1 進(jìn)程管理
2.1.2 內(nèi)存管理
2.1.3 文件系統(tǒng)
2.1.4 I/O設(shè)備
2.1.5 用戶接口
2.2 建立初始化框架
2.2.1 init_Kernel函數(shù)
2.2.2 中斷異常人口
2.2.3 內(nèi)核頁(yè)表初始化
2.2.4 其他初始化
小結(jié)
第3章 VGA顯示功能
3.1 VGA初始化
3.1.1 實(shí)驗(yàn)平臺(tái)VGA介紹
3.1.2 實(shí)現(xiàn)VGA初始化
3.2 實(shí)現(xiàn)put_char函數(shù)
3.2.1 scroll_screen函數(shù)
3.2.2 put_char_ex函數(shù)
3.2.3 pu_char函數(shù)
3.3 實(shí)現(xiàn)printk函數(shù)
3.3.1 可變參數(shù)函數(shù)
3.3.2 相關(guān)子函數(shù)的實(shí)現(xiàn)
3.3.3 printk函數(shù)的實(shí)現(xiàn)
小結(jié)
第4章 處理時(shí)鐘中斷
4.1 硬件的外部中斷
4.1.1 機(jī)制剖析
4.1.2 相關(guān)硬件接口
4.2 中斷處理注冊(cè)機(jī)制
4.2.1 相關(guān)數(shù)據(jù)結(jié)構(gòu)
4.2.2 中斷處理人口
4.2.3 中斷處理注冊(cè)
4.3 時(shí)鐘中斷實(shí)現(xiàn)
4.3.1 時(shí)鐘中斷注冊(cè)
4.3.2 顯示信息規(guī)劃
4.3.3 系統(tǒng)時(shí)間顯示
小結(jié)
第5章 鍵盤輸入功能
5.1 鍵盤中斷處理
5.1.1 相關(guān)硬件接口
5.1.2 實(shí)現(xiàn)鍵盤中斷處理
5.2 鍵盤掃描碼解析
5.2.1 鍵盤掃描碼
5.2.2 解析掃描碼
小結(jié)
第6章 物理內(nèi)存管理
6.1 內(nèi)存管理策略
6.2 Bootmem管理實(shí)現(xiàn)
6.2.1 Bootmem數(shù)據(jù)結(jié)構(gòu)
6.2.2 Bootmem初始化
6.3 Buddy系統(tǒng)實(shí)現(xiàn)
6.3.1 Buddy系統(tǒng)數(shù)據(jù)結(jié)構(gòu)
6.3.2 Buddy系統(tǒng)初始化
6.3.3 Buddy系統(tǒng)內(nèi)存釋放
6.3.4 Buddy系統(tǒng)內(nèi)存分配
6.4 S1ub系統(tǒng)實(shí)現(xiàn)
6.4.1 Slub系統(tǒng)數(shù)據(jù)結(jié)構(gòu)
6.4.2 Slub系統(tǒng)初始化
6.4.3 Slub系統(tǒng)分配內(nèi)存
6.4.4 Slub系統(tǒng)釋放內(nèi)存
小結(jié)
第7章 實(shí)現(xiàn)進(jìn)程管理
7.1 進(jìn)程管理初始化
7.1.1 進(jìn)程數(shù)據(jù)結(jié)構(gòu)
7.1.2 進(jìn)程初始化
7.2 進(jìn)程創(chuàng)建
7.3 頁(yè)異常處理
7.3.1 缺頁(yè)異常處理
7.3.2 寫保護(hù)異常
7.4 進(jìn)程調(diào)度
7.4.1 調(diào)度初始化
7.4.2 執(zhí)行調(diào)度
小結(jié)
第8章 實(shí)現(xiàn)文件系統(tǒng)
8.1 SD卡驅(qū)動(dòng)程序?qū)崿F(xiàn)
8.1.1 SD卡通信方式簡(jiǎn)介
8.1.2 實(shí)現(xiàn)SPI通信
8.1.3 指令處理
8.1.4 實(shí)現(xiàn)SD卡初始化
8.1.5 實(shí)現(xiàn)SD卡讀操作
8.1.6 實(shí)現(xiàn)SD卡寫操作
8.2 文件系統(tǒng)實(shí)現(xiàn)
8.2.1 文件控制塊的實(shí)現(xiàn)
8.2.2 緩存機(jī)制的實(shí)現(xiàn)
8.2.3 FAT表
8.2.4 文件系統(tǒng)初始化
8.2.5 打開(kāi)文件
8.2.6 關(guān)閉文件
8.2.7 文件讀取
8.2.8 文件寫入
8.2.9 創(chuàng)建文件
小結(jié)
第9章 添加系統(tǒng)調(diào)用
9.1 系統(tǒng)調(diào)用框架
9.1.1 系統(tǒng)調(diào)用人口
9.1.2 系統(tǒng)調(diào)用初始化
9.1.3 系統(tǒng)調(diào)用定義
9.2 添加系統(tǒng)調(diào)用
9.2.1 進(jìn)程管理相關(guān)
9.2.2 輸入顯示相關(guān)
9.2.3 文件系統(tǒng)相關(guān)
小結(jié)
第10章 實(shí)現(xiàn)簡(jiǎn)單shell
10.1 實(shí)現(xiàn)用戶態(tài)庫(kù)
10.2 實(shí)現(xiàn)shell程序
10.2.1 解析程序
10.2.2 內(nèi)建命令
10.3 其他基本程序
10.3.1 ls命令
10.3.2 ps命令
10.3.3 kill命令
小結(jié)
結(jié)束語(yǔ)
附錄A 實(shí)驗(yàn)平臺(tái)手冊(cè)
A.1 實(shí)驗(yàn)平臺(tái)詳細(xì)介紹
A.1.1 Sword實(shí)驗(yàn)平臺(tái)
A.1.2 物理地址分配
A.1.3 CPO寄存器組
A.1.4 中斷處理
A.1.5 MMU功能
A.1.6 外設(shè)接口
A.2 實(shí)驗(yàn)平臺(tái)指令集
A.2.1 算術(shù)運(yùn)算指令
A.2.2 邏輯運(yùn)算指令
A.2.3 移位指令
A.2.4 讀寫指令
A.2.5 跳轉(zhuǎn)指令
A.2.6 自陷指令
A.2.7 CP指令
A.3 實(shí)驗(yàn)平臺(tái)寄存器
A.3.1 通用寄存器
A.3.2 CPO寄存器