当前位置:网站首页>图书 > 正文 >>

计算机系统实践教程:基于x86+Linux平台

图书信息

作者苏丰
出版社机械工业出版社
ISBN9787111793328
出版时间2026-01-13
字数30.0万
分类教育,大中专教材,研究生,本科,专科教材

读书简介

本书作为主教材《计算机系统:基于x86+Linux平台》配套的程序调试分析及模拟器设计实践教材,设计了基础级验证、模块级分析、系统级设计和高阶综合编程与分析4个级别的实践项目。基础级验证实践项目包括实验系统的安装和工具软件的使用、程序调试命令和指令系统基础、数据的机器级表示、数据的基本运算、程序的机器级表示等方面的实验;模块级分析实践项目包括二制程序分析与逆向工程、缓冲区溢出攻、程序与ELF目标文件等方面的实验;系统级设计实践项目通过C语言编程设计实现一个功能完备但简化的x86模拟器;高阶综合编程与分析实践项目包括堆栈的使用及堆分配器的实现、程序正确性与程序性能优化、网络编程与并发编程等方面的实验。

目录

前折页

书名页

版权

出版说明

前言

第一部分 基础级验证实验

第1章 实验系统的安装和工具软件的使用

实验1 实验系统的安装和配置

实验2 常用命令和工具软件的使用

第2章 程序调试命令和指令系统基础

实验1 程序调试命令

实验2 IA-32指令系统基础

*实验3 在C程序中嵌入汇编指令

第3章 数据的机器级表示实验

实验1 整型数据的真值与机器数

实验2 浮点型数据的真值与机器数

实验3 数据的宽度与存放顺序

实验4 不同整型数据之间的转换

实验5 整型数据与浮点型数据之间的转换

第4章 数据的基本运算实验

实验1 整数加减运算

实验2 整数乘运算

实验3 整数除运算

实验4 浮点数运算

第5章 程序的机器级表示实验

实验1 过程调用的实现和栈帧结构

实验2 流程控制语句的实现

实验3 复杂数据类型的分配和访问

*实验4 缓冲区溢出攻击

*实验5 x86-64架构中程序的机器级表示

第二部分 模块级分析实验

第6章 二进制程序分析与逆向工程

实验1 字符串比较

实验2 浮点数的表示

实验3 循环控制语句

实验4 选择-分支控制语句

实验5 过程的递归调用

实验6 数组类型变量的处理

实验7 指针类型变量的处理

实验8 结构体类型变量与链表的处理

第7章 缓冲区溢出攻击

实验1 获得对程序的控制

实验2 植入攻击代码

实验3 模拟过程调用

实验4 应对栈地址随机化

实验5 ROP攻击

第8章 程序链接与ELF目标文件

实验1 数据与ELF数据节

实验2 指令与ELF代码节

实验3 符号解析

实验4 switch语句与链接

实验5 重定位

实验6 位置无关代码

第三部分 系统级设计实验

第9章 实验工具和实验环境设置

9.1 方案1:下载并运行Docker镜像

9.2 方案2:导入虚拟机

9.3 方案3:安装并配置虚拟机

9.4 浏览框架代码

9.5 线上资源

第10章 数据表示和运算的模拟

10.1 PA1-1通用寄存器和主存的模拟

10.2 PA1-2整数的表示和运算

10.3 PA1-3浮点数的表示和运算

第11章 程序加载执行的模拟

11.1 PA2-1指令解码与执行

11.2 PA2-2 Kernel加载ELF文件

第12章 存储系统的模拟

12.1 PA3-1高速缓存的模拟

12.2 PA3-2实现分段机制

12.3 PA3-3实现分页机制

第13章 异常/中断与I/O子系统的模拟

13.1 PA4-1异常和中断的处理

13.2 PA4-2外设与I/O处理

*13.3 PA4-3可选任务:游戏移植

第四部分 高阶综合编程与分析实验

第14章 堆栈的使用及堆分配器的实现

*实验1 堆空间的使用

*实验2 堆分配器的实现

*实验3 运行时栈的使用

第15章 程序正确性与程序性能优化

*实验1 大整数的乘及取模运算

*实验2 x86-64内联汇编

*实验3 程序性能调优

第16章 网络编程与并发编程

*实验1 基于客户-服务器模式的远程计算器

*实验2 基于并发编程的远程计算器

*实验3 基于线程池的远程计算器性能优化

后折页