课件内容:
第1周 实验与开发环境的安装和使用
教学内容:在解决编程问题中使用系统分析的思想和方法,课程实验平台环境的安装,基本实验工具的使用。教学要求:完成课程实验平台环境的搭建与设置;掌握常用实验工具的基本使用方法。
1.1 从程序员角度认识系统
1.2 虚拟机、Linux及其上实验环境的安装
1.3 基本实验工具的使用
第2周 C语言编程实践
教学内容:从高级语言的角度展示和解释位运算、浮点数运算的精度、cache对程序性能的影响、异常处理中的信号处理机制。教学要求:掌握C语言中位操作语句的使用;了解浮点数表示精度在浮点数运算中的影响;了解cache、数据存储与访问模式对程序性能的影响,掌握编写cache友好代码的基本原则;了解异常处理中的信号处理机制。
2.1 数据的位运算操作
2.2 浮点数的精度问题
2.3 Cache友好代码
2.4 信号处理函数
第3周 程序调试实践:数据的存储与运算
教学内容:不同类型数据在计算机的编码、存储、转换,整型数据加减运算及其计算机底层实现,浮点数据的表示与运算。教学要求:理解计算机中数据的表示、存储和运算;学习和掌握程序的调试方法,强化计算机编程实践能力。
3.1 真值与机器数
3.2 数据的宽度与存储
3.3 数据类型的转换
3.4 整数加减运算
3.5 浮点数的表示和运算
第4周 程序调试实践:程序的机器级表示
教学内容:C语句与机器级指令的对应关系,IA-32基本指令的执行,C语言程序中过程调用的执行过程和栈帧结构,缓冲区溢出攻击。教学要求:掌握程序的机器级表示相关概念;理解C语言程序对应机器级指令的执行和过程调用实现;掌握程序的基本调试方法和相关实验工具的运用。
4.1 传送指令
4.2 加减运算指令
4.3 整数乘法指令
4.4 控制转移指令
4.5 栈和过程调用
4.6 缓冲区溢出
第5周 程序调试实践:二进制程序分析
教学内容:二进制程序分析实验的内容、方法和基本步骤,实验所涉及程序机器级表示、分析与调试基本知识和方法的回顾与应用。教学要求:加深对程序的机器级表示、汇编与反汇编、二进制程序分析与调试、逆向工程等方面知识的理解和掌握。
5.1 二进制程序分析实验:概述
5.2 二进制程序分析实验:字符串比较
5.3 二进制程序分析实验:浮点数表示
5.4 二进制程序分析实验:课后实验
第6周 程序调试实践:缓冲区溢出攻击
教学内容:缓冲区溢出攻击实验的内容、原理、方法和基本步骤,实验所涉及过程调用的机器级表示、栈帧组成结构、缓冲区溢出等知识的回顾与应用。教学要求:加深对函数调用规则、栈结构、缓冲区溢出攻击原理、方法与防范等方面知识的理解和掌握。
6.1 缓冲区溢出攻击实验:概述
6.2 缓冲区溢出攻击实验:目标程序与辅助工具
6.3 缓冲区溢出攻击实验:Level 0
6.4 缓冲区溢出攻击实验:Level 1及课后实验
第7周 程序调试实践:程序链接与ELF目标文件
教学内容:程序链接与ELF目标文件实验的内容、方法和基本步骤,实验所涉及程序链接的作用与过程、ELF目标文件格式组成等知识的回顾与应用。教学要求:加深对程序链接中符号解析、重定位等基本概念、位置无关代码和ELF目标文件的基本组成等方面知识的理解和掌握。
7.1 链接与ELF实验:概述
7.2 链接与ELF实验:静态数据与ELF数据节
7.3 链接与ELF实验:指令与ELF代码节及课后实验
第8周 程序性能分析与优化
教学内容:程序性能分析和优化的概念、基本原理和方法,结合具体实例的程序性能分析步骤。教学要求:了解程序性能分析和优化的重要性,掌握程序性能分析的基本方法、工具和步骤。
8.1 程序性能分析与优化
8.2 程序性能分析工具
《计算机系统基础(四):编程与调试实践》PPT课件 苏丰 南京大学
资源下载
下载价格10 金币
VIP 5折
立即购买