計算機系統實踐教程:基於x86+Linux平臺

蘇豐

  • 出版商: 機械工業
  • 出版日期: 2025-12-01
  • 售價: $474
  • 語言: 簡體中文
  • 頁數: 424
  • ISBN: 7111793323
  • ISBN-13: 9787111793328
  • 相關分類: Operating-system
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

本書作為主教材《計算機系統:基於x86+Linux平臺》配套的程序調試分析及模擬器設計實踐教材,設計了基礎級驗證、模塊級分析、系統級設計和高階綜合編程與分析4個級別的實踐項目。基礎級驗證實踐項目包括實驗系統的安裝和工具軟件的使用、程序調試命令和指令系統基礎、數據的機器級表示、數據的基本運算、程序的機器級表示等方面的實驗;模塊級分析實踐項目包括二進制程序分析與逆向工程、緩沖區溢出攻擊、程序鏈接與ELF目標文件等方面的實驗;系統級設計實踐項目通過C語言編程設計實現一個功能完備但簡化的x86模擬器;高階綜合編程與分析實踐項目包括堆棧的使用及堆分配器的實現、程序正確性與程序性能優化、網絡編程與並發編程等方面的實驗。<br />本書可以作為高等院校計算機專業本科或高職高專學生計算機系統基礎類課程的教學輔助教材,也可以作為計算機技術人員的參考書。

作者簡介

蘇豐 現任南京大學計算機學院副教授。承擔“計算機系統基礎”“計算機網絡”等課程的教學工作, “101計劃”計算機系統導論課程及虛擬教研室建設牽頭單位主要成員,主持 產學合作協同育人項目“計算機系統導論編程與調試實踐”,作為主編之一編寫出版《計算機系統導論實踐教程》。研究領域為多媒體計算和計算機視覺,主持或參與承擔多項 和江蘇省自然科學基金項目,發表科研論文50余篇。獲 自然科學獎二等獎一項、江蘇省教學成果獎二等獎一項,參與主講的“計算機系統基礎”課程獲選江蘇省線下 課程。<br />汪亮 現任南京大學計算機學院、計算機軟件新技術全國重點實驗室副教授,博士生導師。主要從事軟件方法學、群體智能以及計算機教育相關研究工作。主持 自然科學基金青年項目、面上項目,參與科技創新2030“新一代人工智能”重大項目等多項 項目。2024年度南京市中青年拔尖人才、微軟學者、南京大學“十百千”百層次課程青年教師代表,獲得2019年度南京大學 教學團隊獎、2017年度江蘇省教學成果二等獎、2020年度南京大學魅力導師獎、2021年度和2023年度南京大學計算機學院本科畢業生“我心目中的好課程”等校級和省部級獎項。發表教育和科研論文40余篇,獲得發明專利授權10余項。<br />劉傑 現任南京大學計算機學院助理研究員,獲得南京大學計算機學院本科、碩士和博士學位。目前承擔“計算機系統基礎”課程教學工作,主要負責該課程綜合實驗。研究方向為計算機視覺、圖像視頻的覆原與增強等。主持 自然科學基金青年項目和江蘇省自然科學基金青年項目,作為骨幹參與 重點研發項目。以 作者或通訊作者在CVPR、ICCV、ECCV、ACM MM、AAAI、IJCAI等高水平會議上發表論文十余篇,榮獲2020年ECCV高效圖像超分辨率挑戰賽 。 <br /> 王慧妍 現任南京大學軟件學院助理教授。承擔“計算機系統基礎”課程教學三年,主要負責該課程綜合實驗。主要研究方向為智能化軟件工程、泛在操作系統數據保障以及軟件輔助工具鏈研究等。在TSE、ICSE、ESEC/FSE、ISSRE等 外 期刊或會議上發表學術論文10余篇,獲2023年度江蘇省計算機學會 博士學位論文獎。擔任ICSE 2025、SANER 2024、ASE 2023等會議程序委員會成員與TOSEM、TSE等 期刊審稿專家。主持 自然科學基金青年項目與江蘇省青年基金項目,參與 重點研發計劃課題與自然科學基金重點項目等。<br />朱光輝 南京大學計算機學院特聘研究員、助理教授,江蘇省計算機學會優博,江蘇省“雙創博士”,華為“難題揭榜”火花獎獲得者,英特爾中國學術英才計劃榮譽學者, -華為“智能基座”先鋒教師、產教融合協同育人基地 課件獎勵計劃獲得者,南京大學“師德師風” 團隊核心成員。長期從事“計算機系統基礎”“大數據處理綜合實驗”“智能計算系統”等系統類課程教學工作,作為主編之一編寫出版“101計劃”核心教材和江蘇“十四五”普通高等教育本科省級規劃教材——《計算機系統:基於x86+Linux平臺》。研究方向為大數據與智能計算,在 外 會議/期刊發表高水平論文30余篇,主持 自然科學基金項目、江蘇省自然科學基金項目、江蘇省科技廳重點研發計劃課題、之江實驗室開放課題、 產學合作協同育人項目以及企業橫向合作項目多項,研究成果在 人工智能自動化AI建模大賽中6次獲得前三名,並榮獲第五屆中國“互聯網+”創新創業大賽全國金獎,相關技術已落地應用於華為、奇虎360等IT企業。

目錄大綱

目 錄<br />出版說明<br />前言<br />第一部分 基礎級驗證實驗<br />第1章 實驗系統的安裝和工具軟件<br />的使用 2<br />實驗1 實驗系統的安裝和配置 2<br />實驗2 常用命令和工具軟件的使用 16<br />第2章 程序調試命令和指令系統基礎 25<br />實驗1 程序調試命令 25<br />實驗2 IA-32指令系統基礎 30<br />*實驗3 在C程序中嵌入匯編指令 37<br />第3章 數據的機器級表示實驗 45<br />實驗1 整型數據的真值與機器數 45<br />實驗2 浮點型數據的真值與機器數 50<br />實驗3 數據的寬度與存放順序 57<br />實驗4 不同整型數據之間的轉換 62<br />實驗5 整型數據與浮點型數據之間<br />的轉換 70<br />第4章 數據的基本運算實驗 76<br />實驗1 整數加減運算 76<br />實驗2 整數乘運算 85<br />實驗3 整數除運算 92<br />實驗4 浮點數運算 101<br />第5章 程序的機器級表示實驗 109<br />實驗1 過程調用的實現和棧幀結構 109<br />實驗2 流程控制語句的實現 119<br />實驗3 覆雜數據類型的分配和訪問 127<br />*實驗4 緩沖區溢出攻擊 133<br />*實驗5 x86-64架構中程序的機器級表示 150<br />第二部分 模塊級分析實驗<br />第6章 二進制程序分析與逆向工程 160<br />實驗1 字符串比較 161<br />實驗2 浮點數的表示 164<br />實驗3 循環控制語句 167<br />實驗4 選擇–分支控制語句 171<br />實驗5 過程的遞歸調用 175<br />實驗6 數組類型變量的處理 180<br />實驗7 指針類型變量的處理 186<br />實驗8 結構體類型變量與鏈表的處理 194<br />第7章 緩沖區溢出攻擊 202<br />實驗1 獲得對程序的控制 206<br />實驗2 植入攻擊代碼 211<br />實驗3 模擬過程調用 217<br />實驗4 應對棧地址隨機化 224<br />實驗5 ROP攻擊 232<br />第8章 程序鏈接與ELF目標文件 241<br />實驗1 數據與ELF數據節 243<br />實驗2 指令與ELF代碼節 248<br />實驗3 符號解析 256<br />實驗4 switch語句與鏈接 260<br />實驗5 重定位 269<br />實驗6 位置無關代碼 286<br />第三部分 系統級設計實驗<br />第9章 實驗工具和實驗環境設置 302<br />9.1 方案1:下載並運行Docker鏡像 302<br />9.2 方案2:導入虛擬機 303<br />9.3 方案3:安裝並配置虛擬機 303<br />9.4 瀏覽框架代碼 305<br />9.5 線上資源 306<br />第10章 數據表示和運算的模擬 307<br />10.1 PA1–1通用寄存器和主存的模擬 307<br />10.2 PA1–2整數的表示和運算 310<br />10.3 PA1–3浮點數的表示和運算 313<br />第11章 程序加載執行的模擬 319<br />11.1 PA2–1指令解碼與執行 319<br />11.2 PA2–2 Kernel加載ELF文件 333<br />第12章 存儲系統的模擬 338<br />12.1 PA3–1高速緩存的模擬 338<br />12.2 PA3–2實現分段機制 340<br />12.3 PA3–3實現分頁機制 346<br />第13章 異常/中斷與I/O子系統<br />的模擬 351<br />13.1 PA4–1異常和中斷的處理 351<br />13.2 PA4–2外設與I/O處理 356<br />*13.3 PA4–3可選任務:遊戲移植 361<br />第四部分 高階綜合編程與分析實驗<br />第14章 堆棧的使用及堆分配器<br />的實現 366<br />*實驗1 堆空間的使用 366<br />*實驗2 堆分配器的實現 372<br />*實驗3 運行時棧的使用 379<br />第15章 程序正確性與程序性能優化 390<br />*實驗1 大整數的乘及取模運算 390<br />*實驗2 x86-64內聯匯編 393<br />*實驗3 程序性能調優 398<br />第16章 網絡編程與並發編程 404<br />*實驗1 基於客戶–服務器模式的遠程<br />計算器 404<br />*實驗2 基於並發編程的遠程計算器 408<br />*實驗3 基於線程池的遠程計算器性能<br />優化 411

最後瀏覽商品 (1)