《深入理解计算机系统》第二节课课堂笔记(20135213)

时间:2021-05-28 20:09:07

CPU处理东西的时候用的是二进制的

基本功:进制转换

类型

任务:ALU:A+L

L:            and                  or                not————Nand与非

A:加法器(补码)

把减法改成加法——溢出

逻辑运算的与非门

数.{有符号数

/{无符号数

\{浮点数

 

 

考试重点:

提问小组

电子材料:

1 GCC编译的四个步骤:预处理(gcc -E)、编译(gcc -S)、汇编(gcc -c)、链接,  gcc 选项可以简记为“ESc”,相应的产出文件的后缀可以简记为“iso”

2 静态链接库的生成:ar rcsv libxxx.a xxx.o

静态库的使用: gcc -o main main.c -L. -lxxx   注意-L   -l 的含义

3 共享库的生成 gcc -fPIC -c xxx.c

                    gcc -shared -o libxxx.so xxx.o

共享库的使用:gcc -o main main.c -L. -lxxx

注意注册共享库的方法

 

注意:

  • 静态库、动态库(共享库)解决了不想给别人xxx.c时还要别人用xxx.c的功能的好办法。
  • 做项目时,不要一切从头来,没准别人就有实现你功能的静态库、动态库(共享库)
  • 理解一个项目,多个模块的分模块编译的好处:没有修改就不用重新编译

 

4 gdb:  gcc -g

    四种断点(函数、行、条件、临时)

    p68 例子走一遍就行

    p75 修改变量的值:set var n=4   资料上有误

5 makefile:

会画依赖图

   会根据依赖图写显示规则:

     目标:依赖文件

命令

   makefile中的变量  p78的自动变量要理解

教材第一章:

p1 理解信息就是位+上下文

p2 查看源文件可以用od 命令 : od -tc -tx1 hello.c

p5 冯式结构,理解p6 CPU执行指令的操作(加载、存储、操作、跳转)

p9 存储系统的核心思想:缓存

p10 操作系统核心抽象(文件、虚存、进程、虚拟机):可以指导大家学习《操作系统》

教材第七章:

p450 链接器的两个任务、目标文件的三种形式、目标文件格式(a.out COFF

 PE ELF) :这四种格式,特别是PE,ELF格式是信安专业同学要掌握的,是研究病毒等恶意代码的基础。

p451: ELF文件格式:试试readelf命令

p455: 理解全局符号的解析:学会多个模块。

p473: 处理目标文件的工具

p474:家庭作业可以选做,协调好每题最多两人一组做,一星题目一人加一分,二星加二分,三星加三分,四星加四分