专栏文章 UCB CS61C L18-L20 操作系统相关

magicyang · 2021年01月26日 · 1848 次阅读

这课真心不适合入门。。。没基础的慎入。。。
Silde: https://cs61c.org/su20/lectures/?file=lec19.pdf

操作系统和虚存简介:

整体框架

机器启动:

应用启动

理解用户态、内核态、Linux 从用户态切换到内核态需要走系统调用
在 cs61c 中使用了 venus,对应的 syscall 是 risc-v 的 ecall 指令。

调度的概念:

虚存

虚存的引入:

内存的结构:

五级流水线基于虚存的修改。

虚存总结:

L18 总结:

L19 虚存详解

虚存和物理内存的缩写:

地址转化:

虚存的地址表示:

page table 的设计:


多层 Page Table 设计:

地址转化的方法:

多层 page table 示例:

因为单层 page table 中 pages 的数目过大,且不紧凑。
示例:

虚存存在的问题:

解决方法:TLB(Translation lookaside buffer)
TLB 和 CACHE 的理念相近:

TLB 在内存映射中的位置:

TLB 的设计字段:

通过 TLB 读取内存的流程:

什么是 page fault

Context 切换

需要将 TLB 清空

评价指标


对比 cache miss 和 page fault:

L19 总结


共收到 0 条回复 时间 点赞
magicyang 关闭了讨论 01月26日 18:35
magicyang 重新开启了讨论 01月27日 13:15
magicyang 关闭了讨论 01月28日 13:21
magicyang 重新开启了讨论 01月28日 13:21
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册