模拟LRU
Shell-Lab
实现简易Shell
csapp-8-异常控制流2
信号 signal
信号编号、事件、默认行为、处理方式(见Linux信号)
发送信号方式、接收信号
阻塞、接触阻塞信号
进程接收信号流程
内核为每个进程维护了pending和blocked非本地跳转
catch – setjmp、throw – longjmp
csapp-9-虚拟内存
虚拟内存
对主存的抽象,支持处理器通过虚拟寻址的方式来引用主存
三个功能
- 缓存磁盘上的虚拟地址空间的内容
- 简化内存管理、链接、加载等
- 简化内存保护(通过PTE加保护位)
内存映射
将虚拟内存片和disk上的文件片关联起来,来初始化虚拟内存片
mmap
动态内存分配 显示分配器、隐式分配器。
malloc
JSON简介
json for morden c++
csapp-8-异常控制流
Exceptional Control Flow:
Exceptions and Processes
- 异常
异常控制流类型:从硬件到软件都有,Execption、Context Switching、Signal、NonLocal Jump。
异常处理流程、异常四种类型:中断、故障、陷阱、终止
- 进程
进程 —> 不同进程需上下文切换 —-> 进入内核模式 —-> 依赖于 异常的机制
进程调度流程 –> 0123
并发概念
如何从用户模式到内核模式 –> 通过异常 控制传递给处理程序时,会设置模式位。
- 进程控制
API:getpid、fork、waitpid、wait、sleep、execve、fork和execve区别
SHELL:fork and execve
csapp_6_存储器层次结构2
存储器层次结构
高速缓存存储器:直接映射、组相联映射、全相连映射
缓存的行替换策略
缓存的写问题:写命中/不命中,以及策略
存储器山
小结
csapp_6_存储器层次结构
- 各类存储技术
- RAM:SRAM DRAM
- ROM
- 磁盘
- 访问主存,访问磁盘流程
csapp_3_程序的机器级表示2
Procedure
datalab
位运算 tips