-
>
決戰(zhàn)行測5000題(言語理解與表達(dá))
-
>
軟件性能測試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈(zèng)1DVD.含語音視頻教學(xué)+辦公模板+PDF電子書)
30天自制操作系統(tǒng) 版權(quán)信息
- ISBN:9787115287960
- 條形碼:9787115287960 ; 978-7-115-28796-0
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
30天自制操作系統(tǒng) 本書特色
適讀人群 :本書適合操作系統(tǒng)愛好者和程序設(shè)計(jì)人員閱讀。自制操作系統(tǒng)只需30天 從零開始編寫一個(gè)五臟俱全的圖形操作系統(tǒng) 39.1KB迷你系統(tǒng)30天自制完成 實(shí)現(xiàn)多任務(wù)、漢字顯示、文件壓縮,還能聽歌看圖玩游戲 日本編程天才川合秀實(shí)作品 揭開CPU、內(nèi)存、磁盤以及操作系統(tǒng)底層工作模式的神秘面紗
30天自制操作系統(tǒng) 內(nèi)容簡介
《30天自制操作系統(tǒng)》是一本兼具趣味性、實(shí)用性與學(xué)習(xí)性的操作系統(tǒng)圖書。作者從計(jì)算機(jī)的構(gòu)造、匯編語言、C語言開始解說,讓讀者在實(shí)踐中掌握算法。在這本書的指導(dǎo)下,從零編寫所有代碼,30天后就可以制作出一個(gè)具有窗口系統(tǒng)的32位多任務(wù)操作系。 《30天自制操作系統(tǒng)》適合操作系統(tǒng)愛好者和程序設(shè)計(jì)人員閱讀。
30天自制操作系統(tǒng) 目錄
第0天 著手開發(fā)之前 1
1 前言 1
2 何謂操作系統(tǒng) 3
3 開發(fā)操作系統(tǒng)的各種方法 4
4 無知?jiǎng)t無畏 4
5 如何開發(fā)操作系統(tǒng) 6
6 操作系統(tǒng)開發(fā)中的困難 7
7 學(xué)習(xí)本書時(shí)的注意事項(xiàng)(重要!) 9
8 各章內(nèi)容摘要 11
第 1天 從計(jì)算機(jī)結(jié)構(gòu)到匯編程序入門 13
1 先動(dòng)手操作 13
2 做了些什么 19
3 初次體驗(yàn)匯編程序 22
4 加工潤色 24
第 2天 匯編語言學(xué)習(xí)與Makefile入門 28
1 介紹文本編輯器 28
2 繼續(xù)開發(fā) 29
3 先制作啟動(dòng)區(qū) 40
4 Makefile入門 41
第3天 進(jìn)入32位模式并導(dǎo)入C語言 45
1 制作真正的IPL 45
2 試錯(cuò) 50
3 讀到18扇區(qū) 51
4 讀入10個(gè)柱面 52
5 著手開發(fā)操作系統(tǒng) 54
6 從啟動(dòng)區(qū)執(zhí)行操作系統(tǒng) 55
7 確認(rèn)操作系統(tǒng)的執(zhí)行情況 56
8 32位模式前期準(zhǔn)備 57
9 開始導(dǎo)入C語言 59
10 實(shí)現(xiàn)HLT(harib00j) 62
第4天 C語言與畫面顯示的練習(xí) 64
1 用C語言實(shí)現(xiàn)內(nèi)存寫入(harib01a) 64
2 條紋圖案(harib01b) 67
3 挑戰(zhàn)指針(harib01c) 69
4 指針的應(yīng)用(1)(harib01d) 74
5 指針的應(yīng)用(2)(harib01e) 74
6 色號設(shè)定(harib01f) 75
7 繪制矩形(harib01g) 84
8 今 天的成果(harib01h) 86
第5天 結(jié)構(gòu)體、文字顯示與GDT/IDT初始化 88
1 接收啟動(dòng)信息(harib02a) 88
2 試用結(jié)構(gòu)體(harib02b) 89
3 試用箭頭記號(harib02c) 91
4 顯示字符(harib02d) 91
5 增加字體(harib02e) 94
6 顯示字符串(harib02f) 96
7 顯示變量值(harib02g) 97
8 顯示鼠標(biāo)指針(harib02h) 99
9 GDT與IDT的初始化(harib02i) 101
第6天 分割編譯與中斷處理 108
1 分割源文件(harib03a) 108
2 整理Makefile(harib03b) 109
3 整理頭文件(harib03c) 110
4 意猶未盡 112
5 初始化PIC(harib03d) 115
6 中斷處理程序的制作(harib03e) 119
第7天 FIFO與鼠標(biāo)控制 125
1 獲取按鍵編碼(hiarib04a) 125
2 加快中斷處理(hiarib04b) 127
3 制作FIFO緩沖區(qū)(hiarib04c) 130
4 改善FIFO緩沖區(qū)(hiarib04d) 133
5 整理FIFO緩沖區(qū)(hiarib04e) 135
6 總算講到鼠標(biāo)了(harib04f) 138
7 從鼠標(biāo)接受數(shù)據(jù)(harib04g) 141
第8天 鼠標(biāo)控制與32位模式切換 144
1 鼠標(biāo)解讀(1)(harib05 a) 144
2 稍事整理(harib05b) 146
3 鼠標(biāo)解讀(2)(harib05c) 148
4 移動(dòng)鼠標(biāo)指針(harib05d) 151
5 通往32位模式之路 153
第9天 內(nèi)存管理 162
1 整理源文件(harib06a) 162
2 內(nèi)存容量檢查(1)(harib06b) 163
3 內(nèi)存容量檢查(2)(harib06c) 168
4 挑戰(zhàn)內(nèi)存管理(harib06d) 172
第 10天 疊加處理 181
1 內(nèi)存管理(續(xù))(harib07a) 181
2 疊加處理(harib07b) 184
3 提高疊加處理速度(1)(harib07c) 194
4 提高疊加處理速度(2)(harib07d) 197
第 11天 制作窗口 201
1 鼠標(biāo)顯示問題(harib08a) 201
2 實(shí)現(xiàn)畫面外的支持(harib08b) 202
3 shtctl的指定省略(harib08c) 203
4 顯示窗口(harib08d) 206
5 小實(shí)驗(yàn)(harib08e) 208
6 高速計(jì)數(shù)器(harib08f) 209
7 消除閃爍(1)(harib08g) 211
8 消除閃爍(2)(harib08h) 214
第 12天 定時(shí)器(1) 220
1 使用定時(shí)器(harib09a) 220
2 計(jì)量時(shí)間(harib09b) 224
3 超時(shí)功能(harib09c) 225
4 設(shè)定多個(gè)定時(shí)器(harib09d) 228
5 加快中斷處理(1)(harib09e) 232
6 加快中斷處理(2)(harib09f) 234
7 加快中斷處理(3)(harib09g) 236
第 13天 定時(shí)器(2) 240
1 簡化字符串顯示(harib10a) 240
2 重新調(diào)整FIFO緩沖區(qū)(1)(harib10b) 241
3 測試性能(harib10c~harib10f) 243
4 重新調(diào)整FIFO緩沖區(qū)(2)(harib10g) 246
5 加快中斷處理(4)(harib10h) 253
6 使用“哨兵”簡化程序(harib10i) 257
第 14天 高分辨率及鍵盤輸入 262
1 繼續(xù)測試性能(harib11a~harib11c) 262
2 提高分辨率(1)(harib11d) 266
3 提高分辨率(2)(harib11e) 269
4 鍵盤輸入(1)(harib11f) 272
5 鍵盤輸入(2)(harib11g) 275
6 追記內(nèi)容(1)(harib11h) 277
7 追記內(nèi)容(2)(harib11i) 279
第 15天 多任務(wù)(1) 282
1 挑戰(zhàn)任務(wù)切換(harib12a) 282
2 任務(wù)切換進(jìn)階(harib12b) 289
3 做個(gè)簡單的多任務(wù)(1)(harib12c) 291
4 做個(gè)簡單的多任務(wù)(2)(harib12d) 293
5 提高運(yùn)行速度(harib12e) 294
6 測試運(yùn)行速度(harib12f) 297
7 多任務(wù)進(jìn)階(harib12g) 299
第 16天 多任務(wù)(2) 304
1 任務(wù)管理自動(dòng)化(harib13a) 304
2 讓任務(wù)休眠(harib13b) 308
3 增加窗口數(shù)量(harib13c) 313
4 設(shè)定任務(wù)優(yōu)先級(1)(harib13d) 317
5 設(shè)定任務(wù)優(yōu)先級(2)(harib13e) 320
第 17天 命令行窗口 329
1 閑置任務(wù)(harib14a) 329
2 創(chuàng)建命令行窗口(harib14b) 331
3 切換輸入窗口(harib14c) 334
4 實(shí)現(xiàn)字符輸入(harib14d) 337
5 符號的輸入(harib14e) 341
6 大寫字母與小寫字母(harib14f) 343
7 對各種鎖定鍵的支持(harib14g) 346
第 18天 dir命令 350
1 控制光標(biāo)閃爍(1)(harib15 a) 350
2 控制光標(biāo)閃爍(2)(harib15b) 352
3 對回車鍵的支持(harib15c) 355
4 對窗口滾動(dòng)的支持(harib15d) 357
5 mem命令(harib15e) 359
6 cls命令(harib15f) 363
7 dir命令(harib15g) 366
第 19天 應(yīng)用程序 371
1 type命令(harib16a) 371
2 type命令改良(harib16b) 378
3 對FAT的支持(harib16c) 382
4 代碼整理(harib16d) 387
5 第 一個(gè)應(yīng)用程序(harib16e) 387
第 20天 API 392
1 程序整理(harib17a) 392
2 顯示單個(gè)字符的API(1)(harib17b) 399
3 顯示單個(gè)字符的API(2)(harib17c) 402
4 結(jié)束應(yīng)用程序(harib17d) 403
5 不隨操作系統(tǒng)版本而改變的API(harib17e) 405
6 為應(yīng)用程序自由命名(harib17f) 408
7 當(dāng)心寄存器(harib17g) 410
8 用API顯示字符串(harib17h) 412
第 21天 保護(hù)操作系統(tǒng) 418
1 攻克難題——字符串顯示API(harib18a) 418
2 用C語言編寫應(yīng)用程序(harib18b) 420
3 保護(hù)操作系統(tǒng)(1)(harib18c) 424
4 保護(hù)操作系統(tǒng)(2)(harib18d) 426
5 對異常的支持(harib18e) 431
6 保護(hù)操作系統(tǒng)(3)(harib18f) 434
7 保護(hù)操作系統(tǒng)(4)(harib18g) 435
第 22天 用C語言編寫應(yīng)用程序 443
1 保護(hù)操作系統(tǒng)(5)(harib19a) 443
2 幫助發(fā)現(xiàn)bug(harib19b) 448
3 強(qiáng)制結(jié)束應(yīng)用程序(harib19c) 452
4 用C語言顯示字符串(1)(harib19d) 455
5 用C語言顯示字符串(2)(harib19e) 457
6 顯示窗口(harib19f) 462
7 在窗口中描繪字符和方塊(harib19g) 465
第 23天 圖形處理相關(guān) 468
1 編寫malloc(harib20a) 468
2 畫點(diǎn)(harib20b) 472
3 刷新窗口(harib20c) 475
4 畫直線(harib20d) 478
5 關(guān)閉窗口(harib20e) 483
6 鍵盤輸入API(harib20f) 484
7 用鍵盤輸入來消遣一下(harib20g) 488
8 強(qiáng)制結(jié)束并關(guān)閉窗口(harib20h) 489
第 24天 窗口操作 493
1 窗口切換(1)(harib21a) 493
2 窗口切換(2)(harib21b) 495
3 移動(dòng)窗口(harib21c) 496
4 用鼠標(biāo)關(guān)閉窗口(harib21d) 498
5 將輸入切換到應(yīng)用程序窗口(harib21e) 500
6 用鼠標(biāo)切換輸入窗口(harib21f) 506
7 定時(shí)器API(harib21g) 507
8 取消定時(shí)器(harib21h) 511
第 25天 增加命令行窗口 515
1 蜂鳴器發(fā)聲(harib22a) 515
2 增加更多的顏色(1)(harib22b) 518
3 增加更多的顏色(2)(harib22c) 520
4 窗口初始位置(harib22d) 523
5 增加命令行窗口(1)(harib22e) 524
6 增加命令行窗口(2)(harib22f) 528
7 增加命令行窗口(3)(harib22g) 531
8 增加命令行窗口(4)(harib22h) 532
9 變得更像真正的操作系統(tǒng)(1)(harib22i) 534
10 變得更像真正的操作系統(tǒng)(2)(harib22j) 538
第 26天 為窗口移動(dòng)提速 541
1 提高窗口移動(dòng)速度(1)(harib23a) 541
2 提高窗口移動(dòng)速度(2)(harib23b) 543
3 提高窗口移動(dòng)速度(3)(harib23c) 547
4 提高窗口移動(dòng)速度(4)(harib23d) 549
5 啟動(dòng)時(shí)只打開一個(gè)命令行窗口(harib23e) 551
6 增加更多的命令行窗口(harib23f) 554
7 關(guān)閉命令行窗口(1)(harib23g) 555
8 關(guān)閉命令行窗口(2)(harib23h) 561
9 start命令(harib23i) 563
10 ncst命令(harib23j) 564
第 27天 LDT與庫 571
1 先來修復(fù)bug(harib24a) 571
2 應(yīng)用程序運(yùn)行時(shí)關(guān)閉命令行窗口(harib24b) 573
3 保護(hù)應(yīng)用程序(1)(harib24c) 577
4 保護(hù)應(yīng)用程序(2)(harib24d) 580
5 優(yōu)化應(yīng)用程序的大小(harib24e) 583
6 庫(harib24f) 587
7 整理make環(huán)境(harib24g) 590
第 28天 文件操作與文字顯示 598
1 alloca(1)(harib25 a) 598
2 alloca(2)(harib25b) 601
3 文件操作API(harib25c) 605
4 命令行API(harib25d) 612
5 日文文字顯示(1)(harib25e) 615
6 日文文字顯示(2)(harib25f) 624
7 日文文字顯示(3)(harib25g) 629
第 29天 壓縮與簡單的應(yīng)用程序 635
1 修復(fù)bug(harib26a) 635
2 文件壓縮(harib26b) 636
3 標(biāo)準(zhǔn)函數(shù) 644
4 非矩形窗口(harib26c) 647
5 bball(harib26d) 648
6 外星人游戲(harib26e) 651
第30天 高 級的應(yīng)用程序 659
1 命令行計(jì)算器(harib27a) 659
2 文本閱覽器(harib27b) 664
3 MML播放器(harib27c) 671
4 圖片閱覽器(harib27d) 679
5 IPL的改良(harib27e) 683
6 光盤啟動(dòng)(harib27f) 688
第31天 寫在開發(fā)完成之后 690
1 繼續(xù)開發(fā)要靠大家的努力 690
2 關(guān)于操作系統(tǒng)的大小 692
3 操作系統(tǒng)開發(fā)的訣竅 693
4 分享給他人使用 694
5 關(guān)于光盤中的軟件 695
6 關(guān)于開源的建議 696
7 后記 698
8 畢業(yè)典禮 703
9 附錄 704
30天自制操作系統(tǒng) 作者簡介
川合秀實(shí)(Hidemi Kawai),生于1975年,是一位以"輕量化"編程思想見長的"非主流"開 發(fā)者。2000年因自行開發(fā)的OSASK項(xiàng)目而名聲大噪。OSASK是一個(gè)開源的32位微型操作系統(tǒng),它并非以Linux等內(nèi)核為基礎(chǔ),而是完全從零開始開發(fā),在一張軟盤的容量下實(shí)現(xiàn)了GUI、多任務(wù)、多語言等高 級特性,啟動(dòng)時(shí)間只需1秒。本書的內(nèi)容可以看成是作者以O(shè)SASK為藍(lán)本,教會(huì)讀者從零開始開發(fā)一個(gè)操作系統(tǒng),同時(shí)可以讓初學(xué)者在編寫操作系統(tǒng)的過程中,了解操作系統(tǒng)背后更多的知識。
- >
上帝之肋:男人的真實(shí)旅程
- >
巴金-再思錄
- >
自卑與超越
- >
史學(xué)評論
- >
經(jīng)典常談
- >
有舍有得是人生
- >
回憶愛瑪儂
- >
中國歷史的瞬間