这是一个创建于 456 天前的主题,其中的信息可能已经有所发展或是发生改变。
几年前在学堂在线学过一点贵清的操作系统课程。
当时是在 x86-32 机器上跑。
几个实验颠来倒去没搞明白。
被保护模式,段机制,折磨到不行。
后来上了一下 mit 的 xv6 的课程。
某些地方还是大大简化的。
贵清的 lab3 ,已经是在做 page fault 缺页中断的情况,把应用程序部分数据 page out 写到磁盘里,在做页面置换算法了。(当时完全没搞清楚,现在回过头来,感觉确实复杂,作为 lab3/8 个 lab 有点太难了吧)
而 xv6 压根就没有处理 page fault 。(只有一个实验让做了一下 page fault 的 copyOnWrite )
上完 xv6 的感觉是学到了挺多的。
贵清的卡在内存段页就没搞明白。
最近想看 linux 代码,在看的一本书讲的 2.6 的 linux ,可能绕不过 x86 架构,又想回头去看贵清的课程。
发现现在 2022 已经在教 riscv 架构了。而且粗看了一下代码,跟 xv6 的一毛一样的简化版。
贵清还是牛逼,还有 rust 版本的可供选择。
4 条回复 • 2022-12-30 04:23:41 +08:00
|
|
1
nightwitch 2022-12-29 11:10:57 +08:00 via Android
因为 xv6 的文件系统部分在后面。mmap 的 lab 涉及到写回数据
|
|
|
2
Cola98 2022-12-29 15:45:05 +08:00
mit xv6 的也有不同体系结构的版本,清华的 lab 个人感觉会比较难点,mit 的话,会稍微简单点
|
|
|
4
noogler67 2022-12-30 04:23:41 +08:00
你说的也许 xv6 早年有 x86 版本。这个倒是
|