幫助中心 | 我的帳號 | 關於我們

從零自製操作系統

  • 作者:(日)內田公太|責編:張春雨|譯者:馬起園//羅浩源//蘇傑
  • 出版社:電子工業
  • ISBN:9787121508752
  • 出版日期:2025/08/01
  • 裝幀:平裝
  • 頁數:708
人民幣:RMB 188 元      售價:
放入購物車
加入收藏夾

內容大鋼
    在本書中,你將嘗試從零自製操作系統。你會體驗到製作操作系統的整個過程,從打開電腦、調用操作系統到能夠運行各種應用。你會了解到電腦的內部結構,以及操作系統的工作原理。在此之前,它們對於你來說可能一直都是黑箱。
    本書內容包括:個人可以製作操作系統嗎、電腦工作原理和Hello World、EDK II和內存映射、屏幕顯示實踐和引導載入器、像素繪圖和make入門、文本顯示和控制台類、滑鼠輸入和PCI、中斷和FIFO、內存管理、疊加過程、窗口、定時器和ACPI、鍵盤輸入、多任務處理、終端、命令、文件系統、應用、分頁、系統調用、窗口應用、圖形和事件、多終端、使用應用載入文件、從應用寫入文件、應用的內存管理、日文顯示和重定向、應用間通信、額外應用、前方的路,以及配置開發環境、獲取MikanOS、EDK II文件說明、C++中的模板、iPXE、ASCII碼表。
    本書的目標讀者是寫過簡單程序的人。如果你編寫過幾百行代碼,有相關編程經驗,那麼應該可以毫無顧慮地通讀本書。但如果你從未編寫過程序,那麼閱讀本書會很吃力。

作者介紹
(日)內田公太|責編:張春雨|譯者:馬起園//羅浩源//蘇傑

目錄
第0章  個人可以製作操作系統嗎
  0.1  如何製作操作系統
  0.2  到底什麼是操作系統
  0.3  自製操作系統的步驟
  0.4  享受自製操作系統的樂趣
  0.5  自製操作系統的全貌
第1章  電腦工作原理和HelloWorld
  1.1  HelloWorld
  1.2  如何查找U盤的設備名稱
  1.3  如何使用WSL
  1.4  使用模擬器
  1.5  最終做了些什麼
  1.6  還是讓我們動手吧
  1.7  使用UEFIBIOS啟動
  1.8  製作操作系統的工具
  1.9  C語言版的HelloWorld程序
第2章  EDKII和內存映射
  2.1  EDKII簡介
  2.2  EDKII的HelloWorld程序(osbook_day02a)
  2.3  主存儲器
  2.4  內存映射
  2.5  獲取內存映射(osbook_day02b)
  2.6  將內存映射保存到文件中
  2.7  檢查內存映射
  2.8  指針簡介(1):地址和指針
  2.9  指針和箭頭運算符
第3章  屏幕顯示實踐和引導載入器
  3.1  QEMU監視器
  3.2  寄存器
  3.3  第一個內核(osbook_day03a)
  3.4  從引導載入器繪製像素(osbook_day03b)
  3.5  從內核繪製像素(osbook_day03c)
  3.6  錯誤處理(osbook_day03d)
  3.7  指針簡介(2):指針與彙編語言
第4章  像素繪圖和make入門
  4.1  make簡介(osbook_day04a)
  4.2  自由繪製像素(osbook_day04b)
  4.3  利用C++語言特性重寫程序(osbook_day04c)
  4.4  vtable
  4.5  改進載入器(osbook_day04d)
第5章  文本顯示和控制台類
  5.1  嘗試寫入字元(osbook_day05a)
  5.2  拆分編譯(osbook_day05b)
  5.3  增加字體(osbook_day05c)
  5.4  字元串繪製和sprintf()(osbook_day05d)
  5.5  控制台類(osbook_day05e)
  5.6  printk()(osbook_day05f)
第6章  滑鼠輸入和PCI
  6.1  滑鼠游標(osbook_day06a)
  6.2  USBHost驅動程序

  6.3  搜索PCI設備(osbook_day06b)
  6.4  帶輪詢的滑鼠輸入(osbook_day06c)
第7章  中斷和FIFO
  7.1  中斷(osbook_day07a)
  7.2  中斷處理程序
  7.3  中斷向量
  7.4  設置中斷描述符
  7.5  MSI機制
  7.6  中斷總結
  7.7  加速中斷處理程序(osbook_day07b)
  7.8  FIFO和FILO
  7.9  實現隊列
  7.10  使用隊列加速中斷
第8章  內存管理
  8.1  內存管理概述
  8.2  UEFI內存映射(osbook_day08a)
  8.3  移動數據結構(osbook_day08b)
  8.4  移動棧區域
  8.5  設置分段
  8.6  設置分頁
  8.7  內存管理挑戰(osbook_day08c)
第9章  疊加過程
  9.1  疊加過程概述(osbook_day09a)
  9.2  new運算符
  9.3  疊加過程的原理
  9.4  疊加過程的時間測量(osbook_day09b)
  9.5  加速疊加過程(osbook_day09c)
  9.6  測量滾動過程時間(osbook_day09d)
  9.7  更快的滾動過程(osbook_day09e)
第10章  窗口
  10.1  再論滑鼠(osbook_day10a)
  10.2  第一個窗口(osbook_day10b)
  10.3  快速計數器(osbook_day10c)
  10.4  消除閃爍(osbook_day10d)
  10.5  後置緩衝區(osbook_day10e)
  10.6  拖動窗口(osbook_day10f)
  10.7  僅拖動窗口(osbook_day10g)
第11章  定時器和ACPI
  11.1  整理源碼(osbook_day11a)
  11.2  定時器中斷(osbook_day11b)
  11.3  精確定時(osbook_day11c)
  11.4  多個定時器和超時通知(osbook_day11d)
  11.5  ACPIPM定時器和RSDP(osbook_day11e)
第12章  鍵盤輸入
  12.1  查找FADT(osbook_day12a)
  12.2  使用ACPIPM定時器(osbook_day12b)
  12.3  USB鍵盤驅動程序(osbook_day12c)
  12.4  修改鍵(osbook_day12d)
  12.5  文本框(osbook_day12e)
  12.6  游標(osbook_day12f)

第13章  多任務處理(1)
  13.1  多任務和上下文
  13.2  處理上下文切換(osbook_day13a)
  13.3  自動上下文切換(osbook_day13b)
  13.4  驗證多任務處理(osbook_day13c)
  13.5  更多任務(osbook_day13d)
第14章  多任務處理(2)
  14.1  休眠(osbook_day14a)
  14.2  事件發生時喚醒(osbook_day14b)
  14.3  性能測量
  14.4  確定任務的優先順序(osbook_day14c)
  14.5  休眠任務(osbook_day14d)
第15章  終端
  15.1  在主線程中繪製窗口(osbook_day15a)
  15.2  活動窗口(osbook_day15b)
  15.3  終端窗口(osbook_day15c)
  15.4  加速繪圖(osbook_day15d)
第16章  命令
  16.1  終端中的按鍵操作(osbook_day16a)
  16.2  echo命令(osbook_day16b)
  16.3  clear命令(osbook_day16c)
  16.4  lspci命令(osbook_day16d)
  16.5  命令歷史記錄(osbook_day16e)
  16.6  省電(osbook_day16f)
第17章  文件系統
  17.1  文件和文件系統
  17.2  BIOS參數塊
  17.3  目錄條目
  17.4  讀出卷(osbook_day17a)
  17.5  ls命令(osbook_day17b)
第18章  應用
  18.1  文件分配表(osbook_day18a)
  18.2  第一個應用(osbook_day18b)
  18.3  C++中的計算器(osbook_day18c)
  18.4  標準庫(osbook_day18d)
第19章  分頁
  19.1  可執行文件和內存地址
  19.2  地址轉換
  19.3  載入並運行應用(osbook_day19a)
  19.4  虛擬地址和四級分頁
  19.5  在後半部分運行應用
  19.6  載入應用
  19.7  設置分層分頁結構
  19.8  整理分層分頁結構
第20章  系統調用
  20.1  應用如何使用操作系統函數(osbook_day20a)
  20.2  保護操作系統(1)(osbook_day20b)
  20.3  設置TSS(osbook_day20c)
  20.4  幫助查找錯誤(osbook_day20d)
  20.5  系統調用(osbook_day20e)

  20.6  註冊系統調用的過程
  20.7  系統調用本體
第21章  窗口應用
  21.1  設置IST(osbook_day21a)
  21.2  字元串顯示系統調用(osbook_day21b)
  21.3  創建系統調用
  21.4  創建write()
  21.5  退出系統調用(osbook_day21c)
  21.6  返回棧指針
  21.7  代碼整理(osbook_day21d)
  21.8  打開一個窗口(osbook_day21e)
  21.9  在窗口中寫入文本(osbook_day21f)
第22章  圖形和事件(1)
  22.1  使用exit()(osbook_day22a)
  22.2  繪製兩個點(osbook_day22b)
  22.3  獲取計時器值(osbook_day22c)
  22.4  窗口繪製的優化(osbook_day22d)
  22.5  繪製直線(osbook_day22e)
  22.6  關閉窗口(osbook_day22f)
  22.7  等待按鍵輸入(osbook_day22g)
第23章  圖形和事件(2)
  23.1  滑鼠輸入(osbook_day23a)
  23.2  繪圖軟體(osbook_day23b)
  23.3  計時器命令(osbook_day23c)
  23.4  動畫(osbook_day23d)
  23.5  打方塊遊戲(osbook_day23e)
第24章  多終端
  24.1  增加終端數量(osbook_day24a)
  24.2  游標自動閃爍(osbook_day24b)
  24.3  同時啟動多個應用(osbook_day24c)
  24.4  修復窗口重疊的錯誤(osbook_day24d)
  24.5  不需要終端即可啟動應用(osbook_day24e)
  24.6  凍結操作系統的應用(osbook_day24f)
  24.7  保護操作系統(2)(osbook_day24g)
第25章  使用應用讀取文件
  25.1  目錄支持(osbook_day25a)
  25.2  讀取文件(osbook_day25b)
  25.3  正則表達式搜索(osbook_day25c)
第26章  使用應用寫入文件
  26.1  標準輸入(osbook_day26a)
  26.2  文件描述符的抽象化
  26.3  接收鍵盤輸入
  26.4  EOF和EOT(osbook_day26b)
  26.5  寫入文件(1)(osbook_day26c)
  26.6  寫入文件(2)(osbook_day26d)
第27章  應用的內存管理
  27.1  按需分頁(osbook_day27a)
  27.2  內存映射文件(osbook_day27b)
  27.3  測量內存使用情況(osbook_day27c)
  27.4  寫入時複製(osbook_day27d)

第28章  日文顯示和重定向
  28.1  日文和字元編碼(osbook_day28a)
  28.2  日文字體(osbook_day28b)
  28.3  重定向(osbook_day28c)
第29章  應用間通信
  29.1  退出碼(osbook_day29a)
  29.2  管道(osbook_day29b)
  29.3  解析命令行並啟動任務
  29.4  管道處理的主體PipeDescriptor
  29.5  啟動和關閉終端
  29.6  終止任務
  29.7  排序命令(osbook_day29c)
  29.8  終端錯誤修復(osbook_day29d)
  29.9  共享內存
第30章  額外應用
  30.1  應用路徑程序(osbook_day30a)
  30.2  more命令(osbook_day30b)
  30.3  使cat與輸入相對應(osbook_day30c)
  30.4  關閉按鈕(osbook_day30d)
  30.5  文本查看器(osbook_day30e)
  30.6  圖像查看器(osbook_day30f)
第31章  前方的路
附錄A  配置開發環境
附錄B  獲取MikanOS
附錄C  EDKII文件說明
附錄D  C++中的模板
附錄E  iPXE
附錄F  ASCII碼表
致謝

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032