| *完成訂單後正常情形下約兩周可抵台。 *本賣場提供之資訊僅供參考,以到貨標的為正確資訊。 印行年月:202406*若逾兩年請先於私訊洽詢存貨情況,謝謝。 台灣(台北市)在地出版社,每筆交易均開具統一發票,祝您中獎最高1000萬元。 書名:x86匯編語言-編寫64位多處理器多線程操作系統 ISBN:9787121479083 出版社:電子工業 著編譯者:李忠 頁數:520 所在地:中國大陸 *此為代購商品 書號:1647300 可大量預訂,請先連絡。 內容簡介 編寫一個簡單的、簡易的操作系統雛形,用來演示64位環境下的多處理器管理、動態內存分配、多處理器多任務的調度和切換、多處理器多線程的調度和切換、數據競爭和鎖,但它不包括文件管理、設備管理等內容。本書主要聚焦與IA-32架構進行對比,介紹64位處理器的基本架構,包括寄存器的變化、指令集和工作模式的變化、系統表的變化、內存組織和內存訪問模式的變化等等。目錄 第1章 基本要求和相關說明1 1 配書代碼和工具 1 2 NASM的下載和安裝 1 3 NASMIDE的下載和使用 1 4 下載和安裝VirtualBox 1 5 使用FixVhdWr將程序寫入虛擬硬碟 1 6 本書的代碼組織 第2章 x64架構的基本執行環境 2 1 x64架構的由來 2 2 物理地址、有效地址和線性地址 2 3 x64架構的工作模式 2 3 1 x86處理器的工作模式 2 3 2 IA-32e模式及其子模式 2 4 x64架構的寄存器 2 4 1 x64架構對通用寄存器的擴展 2 4 2 x64架構的通用寄存器訪問規則 2 5 x86處理器的物理地址空間 2 6 傳統模式的內存訪問 2 6 1 傳統模式下的線性地址和物理地址 2 6 2 傳統模式下的32位4KB分頁技術 2 6 3 傳統模式下如何利用超過4GB的物理內存 2 6 4 傳統模式下的32位4MB分頁技術 2 6 5 傳統模式下的32位PAE分頁技術 2 6 6 傳統模式下的32位PAE-4KB分頁技術 2 6 7 傳統模式下的32位PAE-2MB分頁技術 2 7 IA-32e模式的內存訪問 2 7 1 x64架構的線性地址空間 2 7 2 擴高(Canonical)地址 2 7 3 擴高地址的特點和處理器檢查 2 7 4 兼容模式的內存訪問 2 7 5 64位模式的內存訪問 2 7 6 x64架構的段寄存器 2 7 7 x64架構的代碼段描述符 2 7 8 x64架構的數據段描述符 2 7 9 x64架構的4級和5級分頁 2 8 x64架構的系統表和系統描述符 2 8 1 x64架構的GDTR 2 8 2 x64架構的IDTR 2 8 3 x64架構的LDT描述符和LDTR 2 8 4 x64架構的TSS描述符和TR 2 9 x64架構的標誌寄存器和指令指針寄存器 2 10 x64架構的定址方式 2 10 1 x64架構下傳統模式的定址方式 2 10 2 x64架構下IA-32e模式的定址方式 2 10 3 64位模式的RIP相對定址方式 2 10 4 64位模式下的指令變化情況 2 11 IA-32e模式下的中斷和異常處理概述 第3章 進入IA-32e模式 3 1 如何進入IA-32e模式 3 2 本章代碼清單 3 3 執行主引導程序 3 3 1 NASM的文件包含 3 3 2 主引導程序的說明 3 3 3 用BIOS硬碟擴展讀載入內核載入器 3 3 4 通過數據段訪問棧中的數據結構 3 3 5 讀取內核載入器程序的剩餘部分 3 3 6 轉入內核載入器執行 3 4 執行內核載入器 3 4 1 檢測處理器是否支持IA-32e模式 3 4 2 位測試指令BT 3 4 3 獲取處理器的商標和地址尺寸 3 5 進入保護模式 3 6 載入內核程序 3 7 為進入IA-32e模式準備4級分頁 3 7 1 2MB和1GB頁面的4級分頁方式 3 7 2 4級頭表的格式 3 7 3 頁 目錄 指針項的格式3 7 4 頁 目錄 項和頁表項的格式3 7 5 4級頭表的創建和初始化 3 7 6 創建指向4級頭表自身的4級頭表項 3 7 7 準備映射物理內存的低端2MB空間 3 7 8 創建與低端2MB物理內存對應的分頁系統表項 3 7 9 將物理內存低端的2MB映射到線性地址空間的高端 3 7 10 為多任務環境準備必要的4級頭表項 3 7 11 為多任務環境預分配254個頁 目錄 指針表3 7 12 進程上下文標識PCID 3 7 13 控制寄存器CR3的內容格式 3 7 14 設置控制寄存器CR3並開啟物理地址擴展功能 3 7 15 型號專屬寄存器IA32_EFER的設置和分頁的開啟 3 8 進入IA-32e的兼容模式執行 3 9 進入64位模式的內核執行 3 10 讓內核工作在線性地址空間的高端 3 10 1 啟用GDT和棧區的高端線性地址 3 10 2 使用RIP相對定址方式計算內核的高端線性地址 3 10 3 讓處理器轉到內核程序對應的高端位置繼續執行 3 11 初始化IA-32e模式下的中斷系統 3 11 1 IA-32e模式下的中斷門和陷阱門 3 11 2 IA-32e模式下的中斷處理過程 3 11 3 通用的中斷和異常處理策略 3 11 4 通用異常服務常式的工作過程 3 11 5 載入有效地址指令LEA 3 11 6 創建通用異常處理過程的中斷門 3 11 7 安裝通用異常處理過程的中斷門 3 11 8 安裝通用中斷處理過程的中斷門 3 11 9 初始化8259中斷控制器 3 11 10 列印64位模式下的第一條信息 3 12 本章代碼的編譯和運行 第4章 單處理器環境下的多任務管理和調度 4 1 本章代碼清單 4 2 初始化快速系統調用環境 4 2 1 快速系統調用的原理 4 2 2 為快速系統調用安裝段描述符 4 2 3 為快速系統調用準備段選擇子 4 2 4 設置快速系統調用的入口點 4 2 5 快速系統調用時的RFLAGS和棧切換 4 3 動態內存分配 4 3 1 內核空間的分配策略 4 3 2 內核可用線性地址的獲取和更新 4 3 3 立即數在64位模式下的長度限制 4 3 4 計算本次內存分配涉及的線性地址範圍 4 3 5 獲取與指定線性地址對應的4級頭表項的線性地址 4 3 6 頁面分配與頁 詳細資料或其他書籍請至台灣高等教育出版社查詢,查後請於PChome商店街私訊告知ISBN或書號,我們即儘速上架。 |