bios版本更新的問題,透過圖書和論文來找解法和答案更準確安心。 我們找到下列懶人包和總整理

bios版本更新的問題,我們搜遍了碩博士論文和台灣出版的書籍,推薦胡偉武寫的 用芯探核:龍芯派開發實戰 和(美)馬克·拉希諾維奇(美)大衛·A.所羅門(美)艾力克斯·伊納蘇的 深入解析Windows操作系統.下冊(第6版)都 可以從中找到所需的評價。

另外網站VM Tweaker(vmware调整工具)最新版v0.13.3.50免费下载 - 3DM也說明:大小:2.80MB 版本:v0.13.3.50 语言:简中 更新:2022-01-07 ... 简易实用,功能全面的隐藏功能调整器,功能包括VM BIOS调整、MAC地址调整、硬件兼容性开关、调整VGA ...

這兩本書分別來自人民郵電 和電子工業所出版 。

國立臺北大學 通訊工程研究所 莊東穎所指導 王偉旭的 軟體源代碼更新方法改善之研究 (2010),提出bios版本更新關鍵因素是什麼,來自於源代碼、更新。

而第二篇論文淡江大學 資訊工程學系碩士在職專班 徐郁輝所指導 朱時達的 EFI BIOS架構下之一種新的系統BIOS更新方法 (2010),提出因為有 BIOS、EFI Framework、更新的重點而找出了 bios版本更新的解答。

最後網站【聊電Jing】如何更新微星主機板BIOS - 旅遊日本住宿評價則補充:

接下來讓我們看這些論文和書籍都說些什麼吧:

除了bios版本更新,大家也想知道這些:

用芯探核:龍芯派開發實戰

為了解決bios版本更新的問題,作者胡偉武 這樣論述:

這是一本帶領讀者快速熟悉、掌握龍芯派開發的專著。   本書基於龍芯派二代開發板,首先由淺入深地介紹了龍芯派二代的架構、龍芯派的啟動和開發配置、Linux 基本操作與常用工具等內容,帶領讀者快速上手龍芯派;然後通過Qt 程式設計、智慧家居、無人機編隊系統、數位採集系統、個人路由器、網路加速、圖像識別、語音關鍵字檢索等多個專案,手把手地帶領讀者掌握龍芯派開發的方法,並提供了專案代碼供讀者一步步學習。 胡偉武:龍芯中科技術有限公司董事長。 杜安利:龍芯中科技術有限公司副總裁。長期從事國產嵌入式電腦、國產軟硬體設備的研發和管理工作,在能源、交通、網安通信、工業互聯網等多個領域,提

供基於國產龍芯處理器的應用解決方案,奮戰在我國電子資訊化、工業控制設備國產化、安全應用的第一線。 喬崇:龍芯中科技術有限公司嵌入式事業部技術總監,參與龍芯系列晶片的研發工作,目前在龍芯負責嵌入軟體bios、內核、嵌入式作業系統、模擬器、模擬器的研發工作。 葉騏寧:龍芯中科技術有限公司嵌入式事業部工程師。 第01章 初識龍芯派 1.1 主機板簡介 002 1.2 背景知識 003 1.2.1 LoongISA、ARM 和X86 003 1.2.2 龍芯處理器的起源和發展 003 第02章 啟動龍芯派 2.1 第一次上電啟動 006 2.1.1 上電檢查與開機 006 2

.1.2 串口通信獲知主機板狀態 006 2.2 連接顯示器 012 2.2.1 關於顯示器的基礎知識 012 2.2.2 連接顯示器 013 2.2.3 修改顯示模式 013 2.3 連接網路 015 2.3.1 連接有線網路 015 2.3.2 連接無線網路 017 2.3.3 修改網路參數 018 2.3.4 網路應用: SSH 遠程式控制制 019 2.3.5 網路應用: Samba 檔共用 020 2.4 安裝系統 021 2.4.1 平臺基礎知識 021 2.4.2 安裝Loongnix 022 2.4.3 安裝Debian 025 第03章 使用龍芯派 3.1 基本操作 028

3.1.1 龍芯支援的Linux 發行版本 028 3.1.2 Linux 系統目錄樹 028 3.1.3 用戶許可權 030 3.1.4 Linux 基礎命令 031 3.1.5 Linux 進階命令 041 3.2 常用工具 058 3.2.1 套裝軟體管理 058 3.2.2 編輯器 071 3.2.3 編譯器 072 3.2.4 調試器 075 3.2.5 git 079 3.2.6 Docker 081 第04章 龍芯派的軟體發展 4.1 嵌入式開發 085 4.1.1 本地編譯和交叉編譯 086 4.1.2 龍芯工具鏈 087 4.1.3 搭建Linux 編譯環境 088 4.

1.4 第一個Linux 程式 102 4.2 系統程式設計 103 4.2.1 搭建系統編譯環境 103 4.2.2 PMON 104 4.2.3 更新PMON 106 4.2.4 編譯內核 107 4.2.5 更換編譯好的內核 112 4.2.6 系統模組和驅動 113 4.2.7 GPIO 管腳複用配置 115 4.3 感知世界 118 4.3.1 嵌入式系統外設 119 4.3.2 GPIO - LED 版摩爾斯電碼 119 4.3.3 PWM - LED 閃光燈 124 第05章 基於Qt 開發拼圖遊戲的設計與實現 5.1 應用需求設計 132 5.1.1 應用功能 132 5.1

.2 應用介面預覽 133 5.2 配置交叉編譯環境 136 5.2.1 開發環境要求 136 5.2.2 交叉編譯的流程 136 5.2.3 下載安裝交叉編譯工具鏈 136 5.2.4 下載Qt 源碼 137 5.2.5 選擇需要的選項參數 138 5.2.6 編譯Qt 源碼 139 5.2.7 下載Qt Creator 4.8 140 5.2.8 在Qt Creator 中配置交叉編譯環境 141 5.3 使用Qt Creator 143 5.4 主體代碼前的準備 146 5.4.1 標頭檔配置 146 5.4.2 函數和主要變數聲明 147 5.5 構造遊戲介面 148 5.5.1 介面

初始化 148 5.5.2 創建計時器,構建計時、計分、 計步聯繫 149 5.5.3 繪製圖片分割線 149 5.5.4 添加功能按鈕 150 5.5.5 放置圖片 152 5.6 圖片切割,打亂圖片 153 5.6.1 使用cutImage() 分割圖片 153 5.6.2 挖空圖片塊 153 5.6.3 使用Random() 函數打亂圖片塊 153 5.6.4 圖片移動 155 5.7 滑鼠事件 156 5.7.1 判斷拼圖狀態,關聯計步 156 5.7.2 為滑鼠操作添加限定條件 157 5.8 計時得分 158 5.8.1 判斷完成狀態 158 5.8.2 彈出分數對話方塊 159

5.9 將應用拷貝到龍芯派上 160 5.10 實戰演練 161 5.10.1 嘗試解決一個bug 161 5.10.2 為拼圖遊戲添加鍵盤控制 162 5.11 項目總結 165 第06章 使用感測器搭建智慧家居原型 6.1 項目概覽 167 6.2 主要技術要點 168 6.3 系統架構 168 6.3.1 實體層 168 6.3.2 網路層 169 6.3.3 應用層 170 6.4 雲- 端通信部分搭建 171 6.4.1 環境準備 171 6.4.2 阿裡雲Python 開發環境搭建 171 6.4.3 構建Python 虛擬環境 171 6.4.4 安裝阿裡雲Python 依賴的

庫 172 6.4.5 安裝Python 的串口庫pyserial 174 6.4.6 註冊阿裡雲平臺 175 6.4.7 編寫通信程式 175 6.5 項目總結 178 第07章 基於室內定位技術的無人機編隊系統 7.1 應用概覽 180 7.2 主要技術要點 181 7.3 系統架構 181 7.3.1 飛行器定位導航流程 182 7.3.2 飛行器系統 182 7.3.3 室內定位系統 183 7.3.4 龍芯派編隊導航系統 184 7.4 搭建龍芯派編隊導航系統 185 7.4.1 環境準備 185 7.4.2 實現系統連接 185 7.4.3 飛行軌跡腳本 187 7.5 實戰演練

 190 7.6 附錄:單架無人機飛行腳本參考代碼 190 7.7 項目總結 194 第08章 基於libmodbus 開發數位採集系統 8.1 開發流程概述 198 8.2 基於龍芯派的交叉編譯環境搭建 198 8.2.1 交叉編譯libmodbus 開發庫 199 8.2.2 下載安裝交叉編譯工具鏈 199 8.2.3 下載libmodbus 源碼 200 8.2.4 指定交叉編譯工具鏈 200 8.2.5 編譯libmodbus 源碼 200 8.2.6 配置Code::Blocks 201 8.3 主體代碼前的準備 203 8.3.1 設定檔格式 203 8.3.2 資料表結構設計 

204 8.4 主體函數實現 204 8.5 資料獲取模組 206 8.6 資料處理模組 208 8.6.1 libmodbus 實現的資料收發流程 208 8.6.2 資料處理模組的代碼實現 211 8.7 報警模組 213 8.7.1 短信報警 213 8.7.2 郵件報警 214 8.8 資料入庫 215 8.8.1 SQLite 3 介紹 215 8.8.2 結果入庫 216 8.9 編譯應用程式並移植到龍芯派上 216 8.10 項目總結 217 第09章 使用OpenWrt 搭建個人路由器 9.1 需求設計 219 9.1.1 系統需求 219 9.1.2 應用需求 220 9.

2 系統選型 220 9.2.1 資源考察 220 9.2.2 OpenWrt 簡介 221 9.2.3 如何提問和參與 222 9.3 添加硬體平臺 223 9.3.1 熟悉源碼 223 9.3.2 流程梳理 225 9.3.3 開始移植 225 9.4 深入開發環境 228 9.4.1 使用Linux 作業系統 228 9.4.2 開啟旅程 229 9.5 應用開發入門 234 9.5.1 系統軟體 234 9.5.2 網頁應用 235 9.6 項目總結 235 第10章 使用 DPDK 進行網路加速 10.1 初識DPDK 237 10.1.1 為什麼要用DPDK 237 10.1.2

 DPDK 能做什麼 238 10.1.3 DPDK 的框架簡介 239 10.2 再觀DPDK 239 10.2.1 體系架構相關 239 10.2.2 DPDK EAL 初始化過程 241 10.3 DPPK EAL 中的重要函數 246 10.3.1 rte_eal_cpu_init(void) 246 10.3.2 eal_hugepage_info_init() 248 10.3.3 rte_eal_pci_init() 251 10.3.4 rte_eal_memory_init() 257 10.3.5 rte_eal_memzone_init() 268 10.3.6 rte_

eal_pci_probe() 271 10.4 DPDK 的運行 274 10.4.1 在龍芯派上運行DPDK 的常式l2fwd 274 10.4.2 DPDK 的應用實例:l2fwd程式解析 276 10.5 項目總結 281 第11章 使用 DPDK 進行網路加速 使用 OpenCV+Qt 實現圖像識別 11.1 準備工作 283 11.2 Buildroot 構建檔案系統 284 11.2.1 下載Buildroot 284 11.2.2 Buildroot 目錄結構 285 11.2.3 配置Buildroot 286 11.3 內核編譯並添加到啟動項 290 11.3.1 內核編

譯 290 11.3.2 添加龍芯啟動項 291 11.4 搭建Qt+OpenCV 開發環境 293 11.5 OpenCV 基礎 296 11.5.1 Mat 基本圖像容器 297 11.5.2 圖元的表示 297 11.5.3 Haar 特徵 297 11.6 編寫第一個OpenCV 程式 297 11.6.1 代碼編寫 298 11.6.2 介面設計 301 11.6.3 程式測試 303 11.6.4 代碼優化 304 11.7 從攝像頭採集影像處理 308 11.7.1 準備工作 309 11.7.2 編寫採集代碼 310 11.8 實戰演練 314 11.8.1 採集人臉資訊 31

4 11.8.2 訓練採集到的人臉資訊 318 11.8.3 編寫人臉匹配程式 323 11.9 項目總結 328 第12章 語音關鍵字檢索 12.1 應用需求設計 330 12.2 配置交叉編譯環境 330 12.2.1 開發環境要求 331 12.2.2 下載安裝交叉編譯工具 331 12.3 系統代碼設計 332 12.3.1 系統函式定義 332 12.3.2 提取語音特徵 333 12.3.3 註冊語音作為範本 338 12.3.4 對待測語音進行檢測 339 12.4 將應用拷貝到龍芯派上 345 12.5 實戰演練 345 12.6 項目總結 346

軟體源代碼更新方法改善之研究

為了解決bios版本更新的問題,作者王偉旭 這樣論述:

在韌體公司的營運模式裏,通常有超過50%以上的專案性質是在既有基礎開發廠商提供之軟體源代碼(Source Code)(即所謂公版)基礎下作客製化修改;當然,愈少的人工介入修改,其所花費的成本及工作時間亦會相對減少,如此就能創造更多的利潤。由於軟體源代碼是向既有基礎開發廠商所購買而來,其源代碼隨著功能的演進,而產生源代碼更新的需求。然而源代碼需不斷的更新卻造成了韌體公司營運的困擾,因為不跟著既有廠商更新,會產生錯誤無法修正與功能不足之問題,若隨著新源代碼更新,則會造成功能研發時程的延長,且容易產生更多新的問題(Bug)。由於市面上常見之版本控制軟體,如CVS、SVN皆無法滿足頻繁更換軟體源代碼

的需求,所以在本文中提出一個新的修改源代碼的方式,即利用腳本(Script) 描述修改源代碼之動作,並且將客制化功能撰寫於腳本中,以達成在源代碼更新後,能快速的將客制化功能完整的移植(Porting)到新的源代碼中。

深入解析Windows操作系統.下冊(第6版)

為了解決bios版本更新的問題,作者(美)馬克·拉希諾維奇(美)大衛·A.所羅門(美)艾力克斯·伊納蘇 這樣論述:

本書是Windows技術權威參考書的最新版本,本書主要介紹了基於Windows 7 and Windows Server 2008 R2的核心技術與底層技術,全面闡釋Windows技術機理,是廣大Windows開發人員必備的參考書。 Mark Russinovich(馬克·拉希諾維奇)是微軟windows Azure組技術人員,是Sysinternals工具的作者之一,合著了《深入解析Windows作業系統》系列圖書;David A.Solomon(大衛·A.所羅門)是《深入解析Windows作業系統》系列圖書的合著者,並為全球成千上萬的開發人員和IT專業人士,包括微軟員

工,講授Windows內幕課程。他時常在微軟舉辦的會議中發言,包括TechNet和PDC。 范德成,2004年畢業于上海交通大學,在微軟和 SAP公司有多年專案經驗,構建了微型開源專案Robbie’s Shell。   潘愛民,任職于阿裡巴巴,長期從事軟體和系統技術的研究與開發工作,撰寫了大量軟體技術文章,著譯了多部經典計機圖書,在國內外學術刊物上發 表了30多篇文章。曾經任教於北京大學和清華大學(兼職),後進入工業界,先後任職于微軟亞洲研究院、盛大網路發展有限公司和阿裡雲計算有限公司,目前也 是工信部移動作業系統專家組成員。潘愛民先生獲得了數學學士學位和電腦科學博士學位,主要研究領域包括軟

體設計、資訊安全、作業系統和互聯網技術。 第8章 I/O系統1 8.1I/O系統元件1 I/O管理器3 典型的I/O處理過程4 8.2設備驅動程式5 設備驅動程式的類型5 WDM驅動程式6 分層的驅動程式7 實驗:查看已載入的驅動程式清單9 驅動程式的結構11 驅動程式物件和設備物件13 實驗:看一看設備物件15 實驗:顯示驅動程式和設備物件17 打開設備18 實驗:查看設備控制碼21 實驗:查看Windows設備名稱之間的映射23 8.3I/O處理24 I/O類型24 同步I/O和非同步I/O24 快速I/O25 實驗:查看一個驅動程式登記的快速I/O常式25 映射文件I

/O和文件緩存26 分散/聚集I/O27 I/O請求包27 IRP棧單元28 實驗:查看驅動程式的分發常式29 實驗:查看一個執行緒的未完成IRP29 IRP緩衝區管理30 針對單層驅動程式的I/O請求32 為一個中斷提供服務33 完成一個I/O請求34 同步36 針對分層的驅動程式的I/O請求38 實驗:查看一個設備棧39 實驗:查看IRP40 執行緒無關I/O45 I/O取消45 用戶發起的I/O取消46 執行緒終止時的I/O取消47 實驗:調試一個無法被殺死的進程48 I/O完成埠49 IoCompletion對象50 使用完成埠50 I/O完成埠操作52 I/O優先順序支持54 I/O

優先順序54 優先化策略55 I/O優先順序反轉的避免(I/O優先順序繼承)57 I/O優先順序提升和撞升57 實驗:“非常低”和“正常”I/O輸送量的對比58 實驗:I/O優先順序提升/撞升的性能分析59 頻寬預留(計畫的檔I/O)60 容器通知60 驅動程式檢驗器(DriverVerifier)61 8.4核心模式驅動程式框架(KMDF)63 KMDF驅動程式的結構和操作64 實驗:顯示KMDF驅動程式65 KMDF資料模型66 KMDF的I/O模型69 8.5使用者模式驅動程式框架(UMDF)72 8.6隨插即用(PnP)管理器76 隨插即用支持的級別77 驅動程式對於隨插即用的支援77

驅動程式載入、初始化和安裝79 Start值80 設備列舉81 實驗:將設備樹轉儲出來84 設備棧85 設備棧的驅動程式載入86 實驗:在裝置管理員中查看詳細的devnode資訊88 驅動程式安裝90 實驗:檢查一個驅動程式的INF檔92 實驗:查看目錄(catalog)檔93 8.7電源管理器94 電源管理器的操作96 驅動程式的電源操作97 實驗:查看一個驅動程式的電源映射關係97 實驗:查看系統的電源能力和策略98 驅動程式和應用程式對於設備電源的控制100 電源可用性請求100 實驗:在調試器中查看一個電源可用性請求101 實驗:利用Powercfg查看電源可用性請求103 處理器電

源管理(PPM)103 核心停運的策略104 利用率函數105 實驗:查看利用率和頻率的資訊106 實驗:查看利用率和頻率的歷史107 演算法覆蓋108 增加/減少動作108 各種閾值和策略的設置109 實驗:查看當前的核心停運策略111 “性能檢查”演算法112 實驗:查看當前的PPM檢查資訊116 8.8本章總結118 第9章 存儲管理119 9.1有關存儲的術語119 9.2磁片設備120 旋轉磁片120 磁片的磁區格式120 固態硬碟122 NAND型快閃記憶體122 檔的刪除和irim命令124 9.3磁片驅動程式125 Winload125 磁片類、埠和小埠驅動程式126 iSC

SI驅動程式127 多路徑I/O(MPIO)驅動程式128 實驗:觀察物理磁片I/O130 磁片設備物件130 分區管理器131 9.4卷的管理132 基本磁片133 MBR風格的分區133 GPT(GUID分區表)分區方案133 基本磁片卷管理器134 動態磁片135 LDM資料庫135 實驗:使用LDMDump來查看LDM資料庫137 LDM和GPT或MBR風格的分區方案139 動態磁片的卷管理器140 多分區卷的管理140 跨距卷141 條帶卷142 實驗:觀察鏡像磁碟區的I/O操作143 RAID—5卷145 卷名字空間145 掛載管理器146 掛載點147 卷的掛載148 實驗:查看

VPB149 卷的I/O操作152 虛擬磁片服務153 9.5虛擬硬碟(VHD檔)支援155 附載VHD的操作156 嵌套的檔案系統156 9.6BitLocker驅動器加密157 加密金鑰159 可信平臺模組(TPM)161 BitLocker引導過程163 BitLocker金鑰的恢復165 全卷加密驅動程式166 BitLocker的管理167 BitLockerToGo168 9.7卷影像(shadow)拷貝服務170 影像拷貝170 “克隆”影像拷貝170 “寫時複製”影像拷貝170 VSS的架構170 VSS的操作171 影像拷貝提供者172 實驗:查看Microsoft影像拷貝提

供者的過濾型設備物件173 Windows中的用途174 備份174 實驗:查看影像卷的設備物件174 “之前的版本”和系統還原175 實驗:導航到“之前的版本”176 實驗:映射卷影像設備物件177 9.8本章總結178 第10章 記憶體管理179 10.1記憶體管理器簡介179 記憶體管理器元件180 內部同步181 檢查記憶體的使用情況182 實驗:查看系統記憶體信息182 10.2記憶體管理器提供的服務184 大頁面和小頁面185 保留頁面和提交頁面187 實驗:保留的頁面對比提交的頁面188 提交限額190 鎖住記憶體190 分配細微性191 共用記憶體和映射檔192 實驗:查看記

憶體映射檔193 保護記憶體194 “不可執行”頁面保護196 實驗:查看進程上的DEP保護199 軟體的資料執行保護200 寫時複製201 位址窗口擴展203 10.3核心模式堆(系統記憶體池)204 記憶體池的大小205 實驗:確定最大的池大小值206 監視記憶體池的使用208 實驗:診斷記憶體池洩漏210 快查表(Look—AsideList)211 實驗:查看系統的快查表212 10.4堆管理器212 堆的類型213 堆管理器結構214 堆同步215 低碎片堆215 堆的安全特性216 堆的調試特性217 pageheap218 容錯堆218 10.5虛擬位址空間的佈局結構219 x8

6位址空間的佈局結構221 實驗:檢查一個應用程式能否感知大位址空間222 x86系統位址空間的佈局結構223 x86會話空間224 實驗:查看會話224 實驗:查看會話空間的使用情況225 系統分頁表項目(PTE,PageTableEntry)226 實驗:查看會話空間的使用情況226 64位元位址空間佈局結構227 x64虛擬定址的限制230 Windowsx64的16TB限制231 動態的系統虛擬位址空間管理233 實驗:查詢系統虛擬位址的用量234 實驗:設置系統虛擬位址的限制值235 系統的虛擬位址空間配額236 使用者位址空間的佈局結構237 實驗:對使用者虛擬位址空間進行分析23

8 映射隨機化239 棧的隨機化240 堆的隨機化240 內核位址空間中的ASLR240 對安全性緩和措施的控制240 實驗:查看進程上的ASLR保護241 10.6地址轉譯241 x86虛擬位址轉譯242 頁目錄245 實驗:檢查頁目錄和PDE245 頁表和分頁表項目246 分頁表項目中硬體和軟體的“寫”位元247 頁面內的位元組248 地址轉譯快查緩衝區248 實體位址擴充(PAE)249 實驗:轉譯地址251 x64虛擬位址轉譯253 IA64虛擬位址轉譯254 10.7分頁錯誤處理255 無效PTE256 原型PTE258 頁面換入I/O259 衝突的分頁錯誤260 聚簇的分頁錯誤26

0 分頁檔261 實驗:查看系統分頁檔262 提交用量和系統提交限額263 提交用量和分頁檔的大小266 實驗:利用工作管理員來查看分頁檔使用量266 10.8棧268 用戶棧268 實驗:創建最大數量的執行緒268 內核棧269 實驗:觀察內核棧的使用量269 DPC棧270 10.9虛擬位址描述符270 進程的VAD271 實驗:查看虛擬位址描述符272 旋轉VAD272 10.10NUMA273 10.11記憶體區物件274 實驗:查看記憶體區物件275 實驗:查看控制區域277 10.12驅動程式檢驗器280 10.13頁面幀編號資料庫284 實驗:查看PFN資料庫287 頁面清單的動

態變化288 實驗:空閒清單和零頁面清單289 實驗:已修改列表和備用列表291 頁面優先順序296 實驗:觀察區分優先順序的備用列表298 已修改頁面寫出器299 PFN資料結構301 實驗:查看PFN項304 10.14實體記憶體的限制305 Windows客戶版本的限制306 32位元客戶的有效記憶體限制307 10.15工作集309 按需換頁309 邏輯預取器310 實驗:窺探預取文件內部312 實驗:觀察預取檔的讀和寫312 放置策略313 工作集管理314 實驗:查看進程工作集大小316 實驗:工作集與虛擬大小316 實驗:在調試器中查看工作集列表317 平衡集管理器和交換器318

系統工作集319 記憶體通知事件320 實驗:查看記憶體資源通知事件321 10.16主動式記憶體管理(Superfetch)322 各個元件322 跟蹤過程和日誌記錄324 場景325 頁面優先順序和重平衡326 魯棒性能328 RAM優化軟體329 ReadyBoost330 ReadyDrive331 統一緩存332 進程反射334 實驗:利用Preflect來觀察進程反射的行為336 10.17本章總結337 第11章 緩存管理器338 11.1緩存管理器的關鍵特性338 單個中心化的系統緩存339 記憶體管理器339 快取一致性339 虛擬塊緩存341 流式緩存機制341 對可恢

復檔案系統的支持341 11.2緩存的虛擬記憶體管理342 11.3緩存的大小344 緩存的虛擬大小344 緩存的工作集大小344 實驗:查看系統緩存的工作集345 緩存的物理大小345 11.4緩存的資料結構347 系統範圍的緩存資料結構347 實驗:查看系統緩存的工作集349 針對每個檔的緩存資料結構350 實驗:查看共用的和私有的緩存表353 11.5檔案系統介面355 從緩存中來回拷貝資料356 通過映射和鎖定介面進行緩存356 通過直接記憶體存取介面進行緩存357 11.6快速I/O357 11.7預讀(ReadAhead)和滯後寫(WriteBehind)359 智能預讀359 回

寫緩存(Write—BackCaching)和延遲寫(LazyWriting)361 實驗:觀察緩存管理器的活動情況362 禁止一個檔的延遲寫出行為367 強迫緩存被直寫(write—through)到磁片上367 刷新映射文件367 實驗:觀察緩存的刷新368 寫節流(WriteThrottling)369 實驗:查看寫節流參數370 系統執行緒370 11.8本章總結371 第12章 檔案系統372 12.1Windows檔案系統格式373 CDFS373 UDF374 FAT12、FAT16和FAT32374 exFAT377 NTFS377 12.2檔案系統驅動程式總體結構378 本

地FSD379 遠程FSD380 鎖定381 實驗:查看已註冊檔案系統的列表383 檔案系統操作387 顯式文件I/O388 記憶體管理器的修改頁面寫出器和映射頁面寫出器392 緩存管理器的延遲寫出器(LazyWriter)392 緩存管理器的預讀執行緒392 記憶體管理器的分頁錯誤處理器393 檔案系統過濾型驅動程式393 進程監視器393 實驗:查看進程監視器的過濾型驅動程式394 12.3診斷檔案系統的問題395 進程監視器的基本和高級模式395 實驗:在一個空閒系統上查看檔案系統的活動395 進程監視器診斷技巧396 12.4公用日誌檔案系統397 列集操作397 日誌的類型398 日

誌的佈局結構400 日誌序號401 日誌塊401 所有者頁面402 虛擬LSN到物理LSN的轉譯403 管理策略404 12.5NTFS設計目標和特性404 高端(High—End)檔案系統的需求404 可恢復性405 安全性405 資料冗余和容錯能力405 NTFS的高級特性406 多資料流程406 實驗:查看資料流程408 基於Unicode的名稱408 通用的索引設施409 動態的壞簇重新映射409 硬連結(link)和交接(junction)409 實驗:創建一個硬連結410 符號(軟)連結和交接(junction)410 實驗:創建一個符號連結412 壓縮檔和稀疏文件412 變化日誌

413 針對每個用戶的卷配額413 連結跟蹤414 加密415 POSIX支持416 磁碟重組416 動態分區417 12.6NTFS檔案系統驅動程式419 12.7NTFS在磁片上的結構421 卷(volume)421 簇(cluster)422 主檔案表格(MFT)423 實驗:查看NTFS信息425 檔記錄號426 檔記錄426 檔案名429 隧道傳輸431 駐留的和非駐留的屬性432 資料壓縮和稀疏文件435 壓縮稀疏資料435 壓縮非稀疏資料437 稀疏文件439 變化日誌檔439 實驗:讀取變化日誌441 索引442 對象ID444 配額跟蹤444 統一的安全性445 重解析點44

7 事務支援447 隔離性448 實驗:理解和管理事務449 事務型API450 資源管理器451 實驗:查詢資源管理器的資訊452 磁片上的實現453 日誌的實現454 恢復的實現455 12.8NTFS的恢復支持455 設計456 中繼資料日誌記錄457 日誌檔服務(LFS)457 日誌記錄類型459 恢復461 分析掃描(AnalysisPass)462 重做掃描(RedoPass)463 撤銷掃描(UndoPass)463 NTFS的壞簇恢復465 自我修復468 12.9加密檔案系統(EFS)安全性469 第一次加密一個檔472 加密檔資料473 解密過程474 加密檔的備份474

實驗:查看EFS信息475 加密檔的複製475 12.10本章總結476 第13章 啟動和停機477 13.1引導過程477 BIOS引導準備477 BIOS引導磁區和Bootmgr481 UEFI引導過程495 從iSCSI引導496 初始化內核和執行體子系統497 實驗:載入器參數塊497 Smss、Csrss和Wininit504 未完成的檔重命名操作507 ReadyBoot509 自動啟動的映射檔510 實驗:Autoruns511 13.2引導和啟動問題的故障檢查511 最後已知的好配置512 安全模式512 安全模式下的驅動程式載入513 能感知安全模式的使用者程式514 安全

模式下的引導日誌515 Windows恢復環境(WinRE)516 引導狀態檔519 解決常見的引導問題520 MBR損壞520 引導磁區損壞520 BCD的錯誤配置520 系統檔損壞521 Windows資源保護522 System儲巢損壞523 啟動畫面之後的崩潰或者掛起523 13.3停機525 實驗:驗證HungAppTimeout值526 13.4本章總結528 第14章 崩潰轉儲分析529 14.1Windows為什麼會崩潰529 14.2藍屏530 Windows崩潰的原因531 14.3診斷崩潰問題533 14.4崩潰轉儲文件535 實驗:查看轉儲檔的資訊539 崩潰轉儲的生

成540 14.5Windows錯誤報告542 14.6線上崩潰分析543 14.7基本的崩潰轉儲分析545 Notmyfault545 基本的崩潰轉儲分析546 詳細的分析547 14.8使用崩潰診斷工具549 緩衝區溢位、記憶體破壞和特殊記憶體池550 實驗:通過驅動程式檢驗器啟用特殊記憶體池552 代碼改寫和系統代碼防寫553 14.9高級的崩潰轉儲分析554 棧破壞555 掛起的或無回應的系統557 實驗:利用LiveKd來生成Hyper—V客戶的轉儲559 當沒有崩潰轉儲時561 實驗:附載一個內核調試器562 14.10對常見停止代碼的分析564 0xD1—DRIVER_IRQL_

NOT_LESS_OR_EQUAL564 0x8E—KERNEL_MODE_EXCEPTION_NOT_HANDLED566 0x7F—UNEXPECTED_KERNEL_MODE_TRAP567 0xC5—DRIVER_CORRUPTED_EXPOOL569 硬體故障571 實驗:藍屏螢幕保護裝置程式572 14.11本章小結572 譯者序一 在所有介紹Windows作業系統的圖書中,我相信都離不開Windows Internals系列提供的資訊。除了公開可見到的Windows原始程式碼以外,本書是披露Windows系統機理最為詳盡的一份資料,尤其對於 Windows的每

一個最新版本。本書第6版專門針對Windows 7和Windows Server 2008 R2進行了大幅度更新。由於篇幅的增加,這一版本改成了上下兩冊來發行,由此也可見本書的“分量”。本書上冊中文版已於2014年4月出版,這幾年間,我 經常收到讀者的詢問,本書下冊是否出版。現在,下冊中文版終於要出版了,讀者們可以如願看到本書了。 在Windows作業系統的發展歷程 中,Windows 7是一個具有特殊意義的版本。它可以算得上是最為複雜的單機作業系統,無論是從代碼規模、代碼複雜度,還是從系統適應場景的複雜程度,都超過了以前所有的 版本。從某種意義上,Windows 7代表了軟體工程的一個頂峰

——人類可以構造出如此複雜且能穩定工作的軟體系統!與此相對應,要用一本書來涵蓋其中的各種機理也同樣是一項艱巨的任務,本書作者基於他們過去所做的大量工作,以及對Windows的深入理解,出色地完成了這一詮釋工作。 本書的權威性毋庸置疑。Mark Russinovich因在Windows內核探索方面所作出的貢獻而成為Microsoft Fellow(現為Azure CTO),本書中用到的大量Sysinternals工具均出自他的手筆。David Solomon長期從事Windows NT內部機理的培訓,他不僅在全球各地培訓Windows系統程式師,甚至也為Microsoft的內部員工提供Wind

ows內核培訓服務,他從本書第 2版開始奠定了卓有成效的敘述風格。Alex Ionescu是一名年輕的駭客型Windows專家,曾經為ReactOS(一個開源的作業系統專案,旨在相容Windows 2000/XP/Server 2003的應用程式)編寫了絕大多數內核代碼。他曾經發現和報告了一些與Windows內核相關的軟體漏洞,也跟David Solomon一起講授Windows內部機理的課程。有如此強大的作者組合,再加上Microsoft的內部支援(包括提供原始程式碼,以及Windows 開發組的細緻解釋),本書無疑是Windows最新版本的第一手技術資料。 每一個對Windows作業系統

有濃厚興趣的讀者都不應該錯過這本書。 本書上冊介紹了Windows的系統架構、系統機制、管理機制、進程與執行緒、安全性和網路。下冊是上冊的直接延續,共有7章,分別介紹了Windows I/O、存儲管理、記憶體管理、緩存管理器、檔案系統、啟動與停機,以及崩潰轉儲分析。每一章都是一個重要話題,讀者既可以在上冊的基礎上繼續深入鑽研 Windows各個子系統,也可以有選擇地閱讀某些章節。在閱讀過程中,最好能動手做一做書中描述的實驗。做這些實驗的門檻並不高,但效果非常好,既可以 讓你直觀地領會Windows內部的一些設計與實現,也可以積累一些洞察Windows內部活動的方法,這些方法對於排查Windo

ws平臺上出現的問題 往往很有幫助。 我與本書的淵源是從第4版(針對Windows XP/Server 2003)開始的,後來第5版(針對Windows Vista/Server 2008)錯過了出版週期,直至這次第6版又有機會翻譯。這三個版本,連同後來的第7版(針對Windows 10/Server 2016)都採用同樣的敘述框架,只是針對最新的Windows版本做了更新。本書講述的內容,雖然是針對Windows 7/Server 2008 R2,但更新幅度較大,尤其是有關64位元系統的介紹,有較多新內容。即使讀者已經在Windows 8或者Windows 10上工作,本書中的內容仍然對你

有價值。另外,如果讀者不滿足于本書Windows系統機理的系列介紹,而希望進一步理解Windows作業系統的源代 碼實現以及內核中的各種基礎演算法,則推薦閱讀另一本書《Windows內核原理與實現》,這是我在Windows XP/Server 2003 SP1內核代碼基礎上寫作的一本講解Windows內核的書,它幾乎將Windows內核大白於天下。 最後,我要特別感謝范德成先生,他在我第4版譯稿的基礎上,更新到了第6版。也要感謝電子工業出版社的編輯劉皎,依然把第6版的翻譯工作交給了我,使我有機會彌補第5版中文版未能出版之缺憾。 潘愛民 2018年1月於杭州 譯者序二 微軟的Windows

作業系統歷經三十年左右的發展,早已成為一個博大精深的桌面及伺服器作業系統,並在市場上獲得了很大的成功。但近十年來,以亞馬遜、穀 歌、Facebook等為代表的互聯網企業在市場和技術兩方面開疆拓土,極大地推動了移動設備、雲計算、大資料和人工智慧等行業的發展,顯著影響了包括微 軟在內的各大傳統軟體巨頭的發展態勢。繼2006年亞馬遜提出雲計算之後,微軟於2008年首度公開Azure虛擬機器雲平臺,SAP也在2012年公開其 應用程式雲平臺。儘管各種新的技術不斷湧現,但本書的定位焦點仍然在Windows作業系統本身,在我看來,這本書的價值依然很高,因為技術的本源有共通 性,Windows作業系統又可謂

是微軟技術的中流砥柱——微軟的Azure雲平臺的作業系統就是基於Windows開發的,其上運行的虛擬機器管理器正是 最早在Windows Server 2008中發佈的Hyper-V。 如果你對Windows作業系統有著濃厚的興趣,自然不應該錯過本書。如 果你是分散式系統架構師,也同樣能從本書中受益。這是因為,分散式系統和作業系統在許多方面都有著或多或少的相似性,對作業系統設計原理的掌握自然會對分 布式系統的設計有重大啟發和幫助。比如,作業系統的執行緒調度和分散式系統的負載均衡、作業系統的磁片緩存和分散式系統的緩存設計、作業系統的檔案系統和分 布式系統的檔案系統、虛擬機器管理器的VLAN和分

散式系統的軟體定義網路(SDN)、作業系統的效能監視器與分散式系統伺服器的性能監視平臺等之間都有不少相似性。 以交易處理為例,Windows Vista中引入了KTM(內核事務管理器,參見本書第12章),它所實現的事務的隔離級別類似於資料庫的READ COMMITTED級別,是一種幾乎所有SQL資料庫都會實現的隔離級別;而分散式系統中的Paxos共識演算法所能實現的分散式事務,其隔離級別也類似於 READ COMMITTED。又以磁片緩存為例(參見本書第11章),作業系統的磁片緩存是強一致性的,而分散式系統緩存可以做成應用伺服器內的,或者是專門的緩 存層,前一種實現對負載均衡調度有特殊要求,

而普通的負載均衡會大大降低緩存命中率從而導致系統性能低下,後一種實現則在網路延遲上稍差些。兩種實現都要 考慮是做成強一致性的還是最終一致性的,前者需要在寫的同時更新緩存,後者則需要自動淘汰舊的緩存資料。緩存的細微性也很重要,細微性過小可能導致索引資料量 過大,這和作業系統磁片緩存的原理是類似的。所以,理解作業系統的知識能拓展眼界,進而對基於這些系統的設計產生正面影響。 此外,理解作業系統的 行為有助於設計性能更高的分散式程式。比如,瞭解作業系統磁片緩存的原理,有助於設計出高性能的物件存儲服務——可以想辦法提高物件存儲在作業系統上的緩 存命中率,或者在必要時禁用作業系統緩存而改為自己實現緩存機制

。又如,瞭解作業系統網路棧的工作模式,有助於編寫做高速網路傳輸的程式,甚至可以深入驅 動程式層面做進一步的性能優化。 我是Windows作業系統的深度使用者,學習和研究了包括Windows、Linux、FreeBSD、 OpenBSD在內的多種作業系統。從1995年首次接觸Windows 3.1開始,就與Windows結下了不解之緣。陸續使用過Windows 3.1、Windows 95、Windows 98、Windows ME、Windows NT 4.0、Windows 2000、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8

.1和Windows 10等各個版本,還接觸過Windows Server 2000、Windows Server 2003、Windows Server 2008、Windows Server 2008 R2等伺服器版本,以及其上的Microsoft Virtual PC、Virtual Server和Hyper-V虛擬化技術。我會好奇它們有著怎樣的功能和性能,底層是怎樣工作的,為什麼這樣設計而不是那樣設計的;正是因為這種好奇,所 以Windows Internals一直是我十分感興趣的一本書。在完成本書上冊的翻譯工作後,我寫了一篇後記。2012年,當好友高博打電話告訴我有機會參與《深入解析

Windows作業系統》第6版的翻譯時,我非常欣喜。在高博的引薦下,我首次見到了仰慕已久的潘愛民老師。因此我非常感謝高博的引薦和潘愛民老師的認 可,感謝電子工業出版社的劉皎和白濤兩位編輯,本書的出版離不開他們的策劃和編輯。 范德成 2018年1月於上海浦東張江 引言 《深入解析Windows作業系統(第6版)》的讀者物件是那些想要理解Microsoft Windows 7和Windows Server 2008 R2作業系統的核心元件內部工作機理的高級電腦專業人員(包括開發人員和系統管理員)。開發人員利用這些知識,可以在構建Windows平臺上的應用程 序時更好地理解各種設計決策背後的基

本原理,調試複雜的問題。系統管理員也可以從這些資訊中獲益,因為理解了

EFI BIOS架構下之一種新的系統BIOS更新方法

為了解決bios版本更新的問題,作者朱時達 這樣論述:

近年來,由於個人電腦技術的迅速發展,也帶動系統周邊設備也隨著快速的推陳出新,為了強化電腦系統的運算速度及功能,解決硬體設計之瑕疵或錯誤,以及病毒對於BIOS(Basic Input Output System)程式碼與資料區所造成之毀損,並避免透過全面回收硬體系統進行更換或升級所致之時間與成本的大幅增加,往往需仰賴BIOS程式碼之修正。因此,業界對於個人電腦系統中負責初始化作業的BIOS進行程式碼的修正,需要提出更快、更即時的升級方法。本論文將利用雲端系統技術提供一種升級系統BIOS程式碼的新方法,稱之為Just-In System BIOS Upgrade(簡稱Just-In)。Just-

In係將更新後之BIOS程式碼儲存於雲端系統伺服器中,並在系統設置目錄中加入更新BIOS的選項,讓使用者於點選該選項時,BIOS會透過網路裝置與雲端系統的伺服器進行連接,自動取得個人電腦系統之狀態,例如:BIOS版本、系統硬體版本和所記錄之錯誤訊息等。當Just-In取得以上資訊後,即可進行判斷,自動選取正確且最新之BIOS程式碼,提供主動的服務以進行升級作業,並可將紀錄錯誤訊息以供BIOS工程師進行分析。經過系統實作並進行效益分析後,發現本研究所提供之Just-In系統BIOS升級方法有助於降低製造商在升級BIOS過程中所需之人力及儲存裝置數量,並能夠進行主動、批次且大量的升級;此外,Jus

t-In系統BIOS升級方法也比現行升級方法更能確保BIOS生產版本、出貨版本的一致性與Flash Process正確性,且能夠快速查詢使用者更新的歷程。