注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡操作系統(tǒng)其他操作系統(tǒng)自己動手寫操作系統(tǒng)

自己動手寫操作系統(tǒng)

自己動手寫操作系統(tǒng)

定 價:¥48.00

作 者: 于淵編著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121015779 出版時間: 2005-08-01 包裝: 平裝
開本: 24cm+1光盤 頁數(shù): 374 字數(shù):  

內容簡介

  優(yōu)秀國內原創(chuàng)圖書!本書用豐富的實例代碼,一步一步地指導讀者用C語言和匯編語言編寫出一個具備操作系統(tǒng)基本功能的操作系統(tǒng)框架,不同于其他的理論型書籍,本書提供給讀者一個動手實踐的路線圖。用理論指導動手實踐,用實踐深化理解理論! 這是一本編程愛好者編寫的別具一格、頗有特色的操作系統(tǒng)原理與實現(xiàn)的書。該書作者對操作系統(tǒng)具有特殊愛好,在大量實踐和反復鉆研下積累了豐富而可貴的經驗,為了與廣大讀者分享這些經驗寫成了此書。本書對一般的操作系統(tǒng)原理教材不很重視的部分,例如,系統(tǒng)初啟、保護模式、控制權如何轉入OS Kernal等都寫得具體詳細,對操作系統(tǒng)的愛好者以及涉足于操作系統(tǒng)設計、實現(xiàn)和應用的讀者有很好的參考價值。本書的文字生動活潑,富有個性,可望提高青年學子的閱讀興趣?!”緯谠敿毞治霾僮飨到y(tǒng)原理的基礎上,用豐富的實例代碼,一步一步地指導讀者用C語言和匯編語言編寫出一個具備操作系統(tǒng)基本功能的操作系統(tǒng)框架。本書不同于其他的理論型書籍,而是提供給讀者一個動手實踐的路線圖。書中講解了大量在開發(fā)操作系統(tǒng)中需注意的細節(jié)問題,這些細節(jié)不僅能使讀者更深刻地認識操作系統(tǒng)的核心原理,而且使整個開發(fā)過程少走彎路。全書共分7章。本書適合各類程序員、程序開發(fā)愛好者閱讀,也可作為高等院校操作系統(tǒng)課程的實踐參考書。

作者簡介

  于淵(1895- 1949)四川射洪人。又名光藻,號邦齊。1914年后入瀘州講武堂第一期學習。1925年任萬縣城防兼憲兵司令,1926年率部抗擊企圖武力搶奪被扣英輪的英國軍艦。同年加入中國共產黨。1927年后,任川軍第二十一軍劉湘部二師六旅旅長、教導師二旅旅長、少將參議。曾幫助紅軍通過川軍的防線??谷諔?zhàn)爭爆發(fā)后出川抗日,任新十六師副師長兼第七戰(zhàn)區(qū)游擊司令。1938年劉湘病死后棄職回川從事統(tǒng)戰(zhàn)工作。1944年當選為民盟四川支部執(zhí)行委員。1947年6月被捕。1949年12月在成都外西十二橋就義。

圖書目錄

第1章  馬上動手寫一個最小的“操作系統(tǒng)” 1
1.1  準備工作 1
1.2  10分鐘完成的操作系統(tǒng) 1
1.3  Boot Sector 3
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 PC 9
2.1.3  虛擬軟盤研究 12
2.1.4  虛擬軟盤實戰(zhàn) 14
2.2  編譯器(NASM & GCC) 18
2.3  安裝虛擬Linux 19
2.4  在虛擬Linux上訪問Windows文件夾 26
2.5  安裝虛擬PCDOS 26
2.6  其他要素 29
2.7  Bochs 29
2.7.1  Bochs vs. Virtual PC vs. VMware 30
2.7.2  Bochs的使用方法 31
2.7.3  用Bochs進行調試 33
2.7.4  在Linux上開發(fā) 34
2.8  總結與回顧 36
第3章  保護模式(Protect Mode) 37
3.1  認識保護模式 37
3.1.1  GDT(Global Descriptor Table)  42
3.1.2  實模式到保護模式,不一般的jmp 45
3.1.3  描述符屬性 47
3.2  保護模式進階 50
3.2.1  海闊憑魚躍 50
3.2.2  LDT(Local Descriptor Table) 58
3.2.3  特權級 62
3.3  頁式存儲 82
3.3.1  分頁機制概述 83
3.3.2  編寫代碼啟動分頁機制 84
3.3.3  PDE和PTE 85
3.3.4  cr3 88
3.3.5  回頭看代碼 88
3.3.6  克勤克儉用內存 90
3.3.7  進一步體會分頁機制 100
3.4  中斷和異常 107
3.4.1  中斷和異常機制 109
3.4.2  外部中斷 111
3.4.3  編程操作8259A 113
3.4.4  建立IDT 116
3.4.5  實現(xiàn)一個中斷 117
3.4.6  時鐘中斷試驗 119
3.4.7  幾點額外說明 121
3.5  保護模式下的I/O 122
3.5.1  IOPL 122
3.5.2  I/O許可位圖(I/O Permission Bitmap) 123
3.6  保護模式小結 123
第4章  讓操作系統(tǒng)走進保護模式 125
4.1  突破512字節(jié)的限制 125
4.1.1  FAT12 126
4.1.2  DOS可以識別的引導盤 131
4.1.3  一個最簡單的Loader 132
4.1.4  加載Loader入內存 133
4.1.5  向Loader交出控制權 142
4.1.6  整理boot.asm 142
4.2  保護模式下的“操作系統(tǒng)”  144
第5章  內核雛形 146
5.1  用NASM在Linux下寫Hello World 146
5.2  再進一步,匯編和C同步使用 148
5.3  ELF(Executable and Linkable Format) 150
5.4  從Loader到內核 155
5.4.1  用Loader加載ELF 155
5.4.2  跳入保護模式 161
5.4.3  重新放置內核 170
5.4.4  向內核交出控制權 175
5.4.5  操作系統(tǒng)的調試方法 176
5.5  擴充內核 184
5.5.1  切換堆棧和GDT 184
5.5.2  整理我們的文件夾 191
5.5.3  Makefile 191
5.5.4  添加中斷處理 200
5.5.5  兩點說明 218
5.6  小結 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  簡單進程的關鍵技術預測 225
6.3.2  第一步——ring0→ring1 227
6.3.3  第二步——豐富中斷處理程序 243
6.3.4  進程體設計技巧 254
6.4  多進程 256
6.4.1  添加一個進程體 256
6.4.2  相關的變量和宏 257
6.4.3  進程表初始化代碼擴充 258
6.4.4  LDT 260
6.4.5  修改中斷處理程序 261
6.4.6  添加一個任務的步驟總結 263
6.4.7  號外:Minix的中斷處理 265
6.4.8  代碼回顧與整理 269
6.5  系統(tǒng)調用 280
6.5.1  實現(xiàn)一個簡單的系統(tǒng)調用 280
6.5.2  get_ticks的應用 286
6.6  進程調度 292
6.6.1  避免對稱——進程的節(jié)奏感 292
6.6.2  優(yōu)先級調度總結 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  初識TTY 325
7.2.2  基本概念 326
7.2.3  寄存器 328
7.3  TTY任務 332
7.3.1  TTY任務框架的搭建 334
7.3.2  多控制臺 340
7.3.3  完善鍵盤處理 346
7.3.4  TTY任務總結 354
7.4  區(qū)分任務和用戶進程 354
7.5  printf 357
7.5.1  為進程指定TTY 357
7.5.2  printf()的實現(xiàn) 358
7.5.3  系統(tǒng)調用write() 361
7.5.4  使用printf() 363
后記 366
參考文獻 369
附錄  書中的章節(jié)和代碼對照表 370

本目錄推薦

掃描二維碼
Copyright ? 讀書網 ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號