misc
- 流水线中,最前面的阶段指W的意思
- 异常分类:中断,陷阱,故障,终止. Page Fault 是 故障.
0b1010=0xA
链接
- 未被初始化的 static 和被初始化为 0 的全局存于 bss
- 在 .h 文件中写强符号的定义( \(x=1\) )会导致重定义错误.
存储
- DRAM 整行访问时效率也是更高的(因为有 row buffer)
- 切换进程的时候,高速缓存不刷新,TLB 刷新
- VPN + VPO 等于 实际地址位数,而不是编码位数.
- 页错误:段错误 / 保护错误 / 读磁盘
文件
- RIO 有缓冲区与无缓冲区的交叉使用不安全
- fork 的时候会 cow 复制缓冲区(缓冲区本质就是一段内存).
- 只有带 O_TRUNC 才会清空文件
- dup(old) 和 dup2(old, new) 都会继承偏移量
- dup(old) 和 dup2(old, new) 都不会减少 FD 数值集合. dup 2 会导致 old 被关闭,但是 FD 数值集合不会发生变化.
- 文件描述符表 -> 打开文件表 -> v-node 表
网络
open listenfd 的流程:getaddrinfo, socket, bind, listen
IP 协议提供的是主机-主机的网络层服务,TCP 提供传输层协议
bind:绑定套接字到端口
listen:套接字从主动转化为监听
线程
- 保持跨越多个调用的状态的函数不是线程安全的
- fprintf 是线程安全的