跳转至

NJU OS(操作系统)

这是一份示例页,演示笔记里常用的几种写法。照着改成你自己的内容即可。

课程笔记

进程与线程

操作系统通过上下文切换在多个执行流之间切换。每次切换需要保存和恢复寄存器、程序计数器等状态。1

展开:什么是上下文切换(context switch)?

上下文切换指 CPU 从执行一个进程/线程转去执行另一个时,保存当前执行状态、加载下一个执行状态的过程。它有开销——寄存器保存/恢复、缓存失效、TLB 刷新等,所以频繁切换会拖慢系统。

这一段是预先写好的解释(构建时静态生成)。等到你接入实时 AI 问答(二期)时,这里可以换成一个动态组件。

一段参考代码(不需要运行,写在笔记里即可)

// 一个极简的自旋锁
void lock(int *lk) {
    while (xchg(lk, 1)) ;   // (1)
}
void unlock(int *lk) {
    xchg(lk, 0);
}
  1. xchg 是原子交换指令,返回旧值。旧值为 1 说明锁已被占用,继续自旋等待。

一点公式

调度里常用的平均周转时间:

\[ \bar{T} = \frac{1}{n}\sum_{i=1}^{n}(C_i - A_i) \]

其中 \(C_i\) 是完成时间,\(A_i\) 是到达时间。

AI 笔记链接

lecture-to-notes 生成的 PDF 放到 docs/assets/pdfs/ 后,这样链接(把路径换成你的真实文件名):

- 📄 [第 1 讲:操作系统概览(PDF)](../../assets/pdfs/lec01.pdf)

  1. 时间溯源示例——可以在脚注里写视频时间戳或 slides 页码,方便日后回查。