计算机基础

0. 计算机基础

0.1 深入理解计算机系统

寄存器 : CPU 中有 16 个存储 64位值的 通用目的寄存器。 嵌套32位 , 16位 , 8位。
%rax 返回值 %rsp 指针 %rcx %rdx %rsi %rdi 第四、三、二、一个参数。
操作数 : 立即数,寄存器,内存引用 。
寻址模式 :Imm(rb,ri,s) Imm 立即数偏移,rb基址寄存器,ri变址寄存器,s比例因子.
条件码 :CF,XF,SF,OF 通过组合确定算术或逻辑操作。
对抗缓冲区溢出攻击:

1. 栈随机化:程序开始前,插入一段随机大小的空间
2. 栈破坏检测:随机在栈帧中插入值,每次恢复状态和返回函数前检测
3. 限制可执行代码区域:通过 读、写、执行 权限执行。

处理器体系结构

ALU : 算术与逻辑单元
指令 : 整数操作,跳转,条件传送,call指令返回地址,入栈出栈,指令停止。
顺序 : 取指,译码,执行,访存,写回,更新PC。
流水线 :
数据冒险:暂停、转发、加载/使用冒险

3.2

现代处理器

ICU(instruction controll unit) 指令控制单元:
EU(executable unit) 执行单元: 分支,算术运算,加载,存储 – > 数据高速缓存

存储器层次结构

SRAM(static random access memory) 静态随机访问存储器 – 高速缓存 L1 , L2 ,L3
DRAM : DDR(Double Data-Rate Synchronous DRAM ) 双倍速率同步 RAM – 主存
存储速度 : SRAM > DRAM

ROM (Read-Only Memory) 只读存储器
EPROM –> 闪存(flash memory) –> SSD (solid state disk)

磁盘

- 容量: 记录密度,磁道密度,面密度(前两者的乘积)。
- 访问时间:寻道(传送臂定位磁道),旋转(读/写头定位扇区),传送(读/写头 读写内容)。
- 逻辑块号: 盘面,磁道,扇区
- 主机总线适配器
- DMA (Direct memory access) 直接内存访问: 通过磁盘控制器,将逻辑块号翻译成 扇区地址传给 主存。
- 局部性:时间局部性(同一个内存位置在一段时间内多次使用) 、 空间局部性(内存使用是 相近的)

缓存

虚拟内存

MMU :

链接

静态链接:符号解析与重定位
可重定位目标文件:与静态链接库(archive 存档文件),在符号解析阶段一同解析,然后将重定位节和符号定义,与节中的符号引用,最终组成可执行目标文件。
可执行目标文件:加载阶段,与动态链接库的共享目标文件一起,动态加载。
共享目标文件:共享库 DLL(dynaic linker library)

0.2 linux 知识

  1. 时间、FHS
    • type(判断) \info\man
    • shutdown\reboot\halt\poweroff
    • date\hwclock
    • cd\mkdir\pwd\rm\rmdir
    • cp\mv
    • history
    • echo
  2. 用户
    • alias
    • file/cat/head
    • useradd,userdel
    • passwd,gpasswd
    • usermod,chsh,chfn
    • groupadd,groupmod
  3. 文件
    • chown(修改文件的属主与属组)
    • chmod(修改文件的权限)
  4. 系统
    • ps -aux|grep ..
    • systemctl
    • nmgui
0%