V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
noogler67
V2EX  ›  问与答

关于贵清的操作系统课程

  •  
  •   noogler67 · 2022-12-29 06:35:27 +08:00 · 1389 次点击
    这是一个创建于 730 天前的主题,其中的信息可能已经有所发展或是发生改变。
    几年前在学堂在线学过一点贵清的操作系统课程。
    当时是在 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
    nightwitch
        1
    nightwitch  
       2022-12-29 11:10:57 +08:00 via Android
    因为 xv6 的文件系统部分在后面。mmap 的 lab 涉及到写回数据
    Cola98
        2
    Cola98  
       2022-12-29 15:45:05 +08:00
    mit xv6 的也有不同体系结构的版本,清华的 lab 个人感觉会比较难点,mit 的话,会稍微简单点
    noogler67
        3
    noogler67  
    OP
       2022-12-30 04:21:34 +08:00
    @Cola98 现在只有 riscv 了吧我说的是 6.S081
    noogler67
        4
    noogler67  
    OP
       2022-12-30 04:23:41 +08:00
    你说的也许 xv6 早年有 x86 版本。这个倒是
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1307 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:54 · PVG 01:54 · LAX 09:54 · JFK 12:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.