Linux源碼趣讀 閃客 9787121462870 【台灣高等教育出版社】

圖書均為代購,正常情形下,訂後約兩周可抵台。
物品所在地:中國大陸
原出版社:電子工業
NT$1,005
商品編號:
供貨狀況: 尚有庫存

此商品參與的優惠活動

加入最愛
商品介紹
*完成訂單後正常情形下約兩周可抵台
*本賣場提供之資訊僅供參考,以到貨標的為正確資訊。
印行年月:202309*若逾兩年請先於私訊洽詢存貨情況,謝謝。
台灣(台北市)在地出版社,每筆交易均開具統一發票,祝您中獎最高1000萬元。
書名:Linux源碼趣讀
ISBN:9787121462870
出版社:電子工業
著編譯者:閃客
頁數:424
所在地:中國大陸 *此為代購商品
書號:1581438
可大量預訂,請先連絡。

內容簡介

用讀一本小說的心態來閱讀本書,你會對整個操作系統的體繫結構和邏輯細節有非常清晰的認識,從此愛上並閱讀更多的操作系統源碼。 第1部分:進入內核前的苦力活。覆蓋從開機到運行到Linux中的main函數的關鍵流程解析,幫你清晰認識Intel CPU的體繫結構。 第2部分:「大戰」前期的初始化工作。講述main中的各種初始化函數,這些函數是操作系統各個模塊的交互橋樑,為理解後續操作系統各個模塊的運作原理打好基礎。 第3部分:一個新進程的誕生。講述從內核態切換至用戶態,並建立起第一個用戶進程的全部過程。學完這部分,你將會理解一個多進程的操作系統是如何建立和運作的。 第4部分:shell程序的到來。主要討論如何將磁碟中存儲的shell程序載入到內存中來,並最終交給CPU去執行。通過這個過程你會看清一個程序從存儲到硬碟到最終被執行的全部過程。 第5部分:一條shell命令的執行。讓我們跟著一條shell命令「走南闖北」,從用戶輸入給計算機一個字元串開始,一直到該程序的最終執行,這一過程能幫你把前面所學的知識融會貫通,整個操作系統的啟動流程與運作原理,將會生動形象地浮現在你的腦海中。

作者簡介

閃客,平時樂於研究計算機底層技術與做技術分享。作為「無聊的閃客」微信公眾號作者,兩年時間積累近10萬粉絲,擅長使用通俗易懂的語言講解複雜的技術原理,他的「破玩意兒」系列、「降妖除魔」系列、「操作系統重磅系列」等,都深受讀者喜愛。

目錄

第1部分 進入內核前的苦力活
第1回 最開始的兩行代碼
開機后初始化指向BIOS
讀取硬碟啟動區(第一扇區)
載入到內存0x7c00位置,並跳轉到這裏
第2回 從0x7c00到0x90000
第3回 做好訪問內存的基礎準備工作
這些寄存器是幹什麼的
CPU訪問內存的三種途徑
再次回顧一下前三回的內容
第4回 把全部的操作系統代碼從硬碟搬到內存
把剩下的操作系統代碼從硬碟請到內存
聊聊操作系統的編譯過程
挪來挪去的真討厭
擴展閱讀:什麼是中斷
擴展閱讀:什麼是軟中斷
第5回 將重要的操作系統代碼放在零地址處
第6回 解決段寄存器的歷史包袱問題
保護模式下的物理地址計算方式
全局描述符表
第7回 六行代碼進入保護模式
第8回 重新設置中斷描述符表與全局描述符表
第9回 開啟分頁機制
第10回 進入main函數前的最後一躍
第1部分總結與回顧
第2部分 「大戰」前期的初始化工作
第11回 整個操作系統就二十幾行代碼
第12回 管理內存前先劃分出三個邊界值
第13回 主內存初始化mem_init
第14回 中斷初始化trap_init
第15回 塊設備請求項初始化blk_dev_init
第16回 控制台初始化tty_init
第17回 時間初始化time_init
第18回 進程調度初始化sched_init
第19回 緩衝區初始化buffer_init
第20回 硬碟初始化hd_init
第2部分總結與回顧
第3部分 一個新進程的誕生
第21回 第3部分 全局概述
move_to_user_mode
fork
init
pause
第22回 從內核態切換到用戶態
讓進程無法跳出用戶態
內核態與用戶態的本質—特權級
特權級轉換的方式
除了改變特權級還做了哪些事
第23回 如果讓你來設計進程調度
整體流程設計
上下文環境
運行時間信息
優先順序
進程狀態
第24回 從一次定時器滴答來看進程調度
第25回 通過fork看一次系統調用
第26回 fork函數中進程基本信息的複製
第27回 透過fork來看進程的內存規劃
LDT的賦值
頁表的複製
第28回 番外篇——我居然會認為權威著作寫錯了
第29回 番外篇——寫時複製就這麼幾行代碼
儲備知識
寫時複製的本質
看看代碼是怎麼寫的
第30回 番外篇——你管這破玩意兒叫文件系統
1 分塊
2 點陣圖
3 inode
4 間接索引
5 超級塊與塊描述符
6 文件分類
7 文件名
8 根

目錄


第3部分總結與回顧
第4部分展望
第4部分 shell程序的到來
第31回 拿到硬碟信息
第32回 載入根文件系統
硬碟中的文件系統格式是怎樣的
內存中用於文件系統的數據結構有哪些
第33回 打開終端設備文件
第34回 進程2的創建
fork
close
open
execve
第35回 execve載入並執行shell程序
讀取文件開頭1KB的數據
將這1KB的數據解析為exec結構
判斷是腳本文件還是可執行文件
準備參數空間
設置eip和esp,完成搖身一變
計算機的世界沒有魔法
第36回 缺頁中斷
跳轉到一個不存在的地址會發生什麼
缺頁中斷do_no_page
缺頁中斷返回
第37回 shell程序跑起來了
第38回 操作系統啟動完畢!
第39回 番外篇——調試Linux最早期的代碼
整體思路和效果
第一步:配置虛擬機
第二步:安裝qemu
第三步:下載並運行可調試的Linux-0 11源碼
第四步:通過vscode遠程調試
第40回 番外篇——為什麼有些技術原理你怎麼看也看不懂
第4部分總結與回顧
第5部分 一條shell命令的執行
第41回 一條shell命令的執行過程概述
第42回 用鍵盤輸入一條命令
第43回 shell程序讀取你的命令
第44回 進程的阻塞與喚醒
第45回 解析並執行shell命令
第46回 讀硬碟數據全流程
如果讓你來設計這個函數
鳥瞰操作系統的讀操作函數
執行讀操作file_read
第47回 讀取硬碟數據的細節
第48回 信號
第49回 番外
詳細資料或其他書籍請至台灣高等教育出版社查詢,查後請於PChome商店街私訊告知ISBN或書號,我們即儘速上架。
規格說明
運送方式
已加入購物車
已更新購物車
網路異常,請重新整理