出版時(shí)間:2007-5 出版社:清華大學(xué) 作者:黃廷輝 頁數(shù):174
內(nèi)容概要
操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)的重要組成部分,實(shí)踐是學(xué)習(xí)操作系統(tǒng)的最好途徑。本書是一本與操作系 統(tǒng)理論教材相配套的實(shí)踐教材。全書主要介紹了GeekOS教學(xué)操作系統(tǒng)的設(shè)計(jì)原理和精心為學(xué)生設(shè)計(jì)的7個(gè)設(shè)計(jì)項(xiàng)目。這7個(gè)項(xiàng)目涵蓋了操作系統(tǒng)所有重要的原理和機(jī)制,通過這些項(xiàng)目的設(shè)計(jì)與實(shí)現(xiàn),可以很好地幫助學(xué)生深入了解操作系統(tǒng)內(nèi)核設(shè)計(jì)及其工作原理?! ”緯卜譃閮刹糠郑旱谝徊糠种饕榻BGeekOS操作系統(tǒng)、課程設(shè)計(jì)環(huán)境的搭建以及一些重要的源文件的代碼及注釋;第二部分是對GeekOS項(xiàng)目設(shè)計(jì)的指導(dǎo)——內(nèi)核編譯運(yùn)行、內(nèi)核線程管理、用戶級線程管理、進(jìn)程調(diào)度算法、分頁存儲管理、文件系統(tǒng)設(shè)計(jì)和多用戶文件系統(tǒng)訪問控制等?! ”緯瓤梢宰鳛楦叩仍盒S?jì)算機(jī)相關(guān)專業(yè)操作系統(tǒng)課程的實(shí)踐教材,也可以供相關(guān)專業(yè)的技術(shù)人員參考使用。
書籍目錄
第1章 GeekOS教學(xué)操作系統(tǒng)概論1.1 引言1.2 GeekOS教學(xué)操作系統(tǒng)1.2.1 GeekOS概述1.2.2 GeekOS的存儲器管理1.2.3 GeekOS支持的設(shè)備1.2.4 GeekOS的中斷和線程1.2.5 GeekOS系統(tǒng)引導(dǎo)和初始化1.2.6 GeekOS系統(tǒng)源代碼結(jié)構(gòu)和設(shè)計(jì)項(xiàng)目第2章 課程設(shè)計(jì)開發(fā)環(huán)境2.1 Cygwin介紹2.1.1 Cygwin簡述2.1.2 Cygwin安裝與設(shè)置2.1.3 Cygwin使用2.2 安裝Linux2.2.1 安裝虛擬機(jī)2.2.2 在虛擬機(jī)上安裝Linux2.2.3 安裝VMware Tools和實(shí)現(xiàn)文件共享2.3 工具軟件2.3.1 GNU gcc編譯器2.3.2 NASM匯編器2.3.3 GNU gdb調(diào)試器2.4 Bochs PC 模擬器2.4.1 Bochs安裝和使用2.4.2 在Bochs中運(yùn)行GeekOS第3章 make工具和makefile規(guī)則3.1 makefile文件3.1.1 makefile文件內(nèi)容3.1.2 makefile規(guī)則3.1.3 makefile文件示例3.1.4 make工作原理3.1.5 makefile宏3.1.6 make隱含規(guī)則3.1.7 clean命令的應(yīng)用3.2 GeekOS的makefile文件第4章 PC啟動原理及GeekOS啟動程序4.1 PC啟動原理4.1.1 計(jì)算機(jī)系統(tǒng)啟動4.1.2 引導(dǎo)程序4.1.3 內(nèi)核程序?qū)?.2 保護(hù)模式4.2.1 保護(hù)模式4.2.2 實(shí)模式和保護(hù)模式4.2.3 進(jìn)入保護(hù)模式4.3 GeekOS啟動程序分析4.3.1 fd_boot.asm代碼分析4.3.2 setup.asm代碼分析4.3.3 lowlevel.asm代碼分析第5章 GeekOS進(jìn)程管理5.1 GeekOS進(jìn)程狀態(tài)及轉(zhuǎn)換5.2 GeekOS內(nèi)核進(jìn)程5.2.1 內(nèi)核進(jìn)程控制塊5.2.2 GeekOS系統(tǒng)中最早的內(nèi)核進(jìn)程5.2.3 內(nèi)核進(jìn)程對象5.3 進(jìn)程調(diào)度5.3.1 內(nèi)核進(jìn)程切換5.3.2 用戶進(jìn)程切換5.3.3 GeekOS進(jìn)程調(diào)度策略5.4 內(nèi)核進(jìn)程主要操作函數(shù)5.4.1 Init_Thread函數(shù)5.4.2 Create_Thread函數(shù)5.4.3 Destroy_Thread函數(shù)5.4.4 Reap_Thread函數(shù)5.4.5 Detach_Thread函數(shù)5.4.6 Start_Kernel_Thread函數(shù)5.4.7 Setup_Kernel_Thread 函數(shù)5.4.8 Make_Runnable函數(shù)5.4.9 Make_Runnable_Atomic函數(shù)5.4.10 Get_Current函數(shù)5.4.11 Get_Next_Runnable函數(shù)5.4.12 Schedule函數(shù)5.4.13 Join 函數(shù)5.4.14 Lookup_Thread函數(shù)5.4.15 Wait函數(shù)5.4.16 Wake_Up函數(shù)5.4.17 Wake_Up_One函數(shù)5.4.18 Dump_All_Thread_List函數(shù)第6章 GeekOS分頁存儲管理6.1 存儲器分頁管理機(jī)制6.2 線性地址到物理地址的轉(zhuǎn)換6.2.1 映射表結(jié)構(gòu)6.2.2 表項(xiàng)格式6.2.3 線性地址到物理地址的轉(zhuǎn)換6.2.4 不存在的頁表6.2.5 頁的共享6.3 頁級保護(hù)和虛擬存儲器支持6.3.1 頁級保護(hù)6.3.2 虛擬存儲器技術(shù)6.4 頁故障6.5 GeekOS分頁系統(tǒng)數(shù)據(jù)結(jié)構(gòu)6.5.1 頁目錄表和頁表項(xiàng)數(shù)據(jù)結(jié)構(gòu)6.5.2 物理頁數(shù)據(jù)結(jié)構(gòu)和頁狀態(tài)6.6 GeekOS分頁系統(tǒng)主要操作函數(shù)6.6.1 Alloac_Page函數(shù)6.6.2 Alloac_Pageable_Page函數(shù)6.6.3 Find_Page_To_Page_Out函數(shù)6.6.4 Free_Page函數(shù)6.6.5 Page_Fault_Handler函數(shù)6.6.6 Print_Fault_Info函數(shù)第7章 GeekOS文件系統(tǒng)7.1 GeekOS文件系統(tǒng)框架7.2 虛擬文件系統(tǒng)層7.3 高速緩沖區(qū)7.4 PFAT文件系統(tǒng)7.5 PFAT文件系統(tǒng)操作函數(shù)7.5.1 Copy_Stat函數(shù)7.5.2 PFAT_FStat函數(shù)7.5.3 PFAT_Read函數(shù)7.5.4 PFAT_Write函數(shù)7.5.5 PFAT_Seek函數(shù)7.5.6 PFAT_Read_Entry函數(shù)7.5.7 PFAT_Lookup函數(shù)7.5.8 Get_PFAT_File函數(shù)7.5.9 PFAT_Open 函數(shù)7.5.10 PFAT_Open_Directory函數(shù)7.5.11 PFAT_Mount函數(shù)7.5.12 Init_PFAT函數(shù)7.5.13 Register_Filesystem函數(shù)7.6 虛擬文件系統(tǒng)函數(shù)7.6.1 Unpack_Path 函數(shù)7.6.2 Lookup_Filesystem函數(shù)7.6.3 Lookup_Mount_Point函數(shù)7.6.4 Format函數(shù)7.6.5 Mount函數(shù)7.6.6 Open函數(shù)7.6.7 Do_Open函數(shù)7.6.8 Close函數(shù)7.6.9 Read函數(shù)7.6.10 Write函數(shù)7.6.11 Seek函數(shù)7.6.12 Create_Directory函數(shù)7.6.13 Delete函數(shù)第8章 GeekOS設(shè)計(jì)項(xiàng)目08.1 項(xiàng)目設(shè)計(jì)目的8.2 項(xiàng)目設(shè)計(jì)要求8.3 GeekOS鍵盤處理函數(shù)8.4 項(xiàng)目設(shè)計(jì)提示第9章 GeekOS設(shè)計(jì)項(xiàng)目19.1 項(xiàng)目設(shè)計(jì)目的9.2 項(xiàng)目設(shè)計(jì)要求9.3 ELF文件格式9.3.1 可執(zhí)行文件9.3.2 ELF(可執(zhí)行連接格式)9.3.3 ELF Header9.3.4 程序頭部(Program Header)9.3.5 節(jié)區(qū)頭部表格(section header table)9.4 用戶可執(zhí)行程序裝入9.5 項(xiàng)目設(shè)計(jì)提示第10章 GeekOS設(shè)計(jì)項(xiàng)目210.1 項(xiàng)目設(shè)計(jì)目的10.2 項(xiàng)目設(shè)計(jì)要求10.3 項(xiàng)目設(shè)計(jì)提示10.3.1 GeekOS的用戶態(tài)進(jìn)程10.3.2 用戶態(tài)進(jìn)程空間10.3.3 用戶堆??臻g初始化10.3.4 用戶態(tài)進(jìn)程創(chuàng)建第11章 GeekOS設(shè)計(jì)項(xiàng)目311.1 項(xiàng)目設(shè)計(jì)目的11.2 項(xiàng)目設(shè)計(jì)要求11.3 項(xiàng)目設(shè)計(jì)提示11.3.1 GeekOS進(jìn)程調(diào)度處理過程11.3.2 四級反饋隊(duì)列調(diào)度策略實(shí)現(xiàn)11.3.3 進(jìn)程調(diào)度策略評價(jià)11.3.4 GeekOS系統(tǒng)中的進(jìn)程同步第12章 GeekOS設(shè)計(jì)項(xiàng)目412.1 項(xiàng)目設(shè)計(jì)目的12.2 項(xiàng)目設(shè)計(jì)要求12.3 項(xiàng)目設(shè)計(jì)提示12.3.1 為內(nèi)核程序空間建立頁表12.3.2 為用戶進(jìn)程建立頁表12.3.3 請求分頁技術(shù)實(shí)現(xiàn)12.3.4 進(jìn)程終止處理12.3.5 系統(tǒng)完善處理第13章 GeekOS設(shè)計(jì)項(xiàng)目513.1 項(xiàng)目設(shè)計(jì)目的13.2 項(xiàng)目設(shè)計(jì)要求13.3 項(xiàng)目設(shè)計(jì)提示13.3.1 GOSFS磁盤格式13.3.2 文件與目錄13.3.3 GOSFS文件系統(tǒng)數(shù)據(jù)結(jié)構(gòu)和操作參考文獻(xiàn)
圖書封面
評論、評分、閱讀與下載
計(jì)算機(jī)操作系統(tǒng)實(shí)踐教程 PDF格式下載