V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
amiwrong123
V2EX  ›  程序员

做 6.828 课程,选择 x86 版本还是 RISCV 版本,差别大吗?

  •  
  •   amiwrong123 · 26 天前 · 1323 次点击

    https://pdos.csail.mit.edu/6.828/2018/xv6.html

    目前选择的是 2018 版,也就是最后一年的 x86 版本。目前完成了 lab1 的大部分练习。

    在完成 lab1 的过程中,会直接接触一些 架构上老旧的东西,比如实模式和 32 位保护模式,但这个东西对学习操作系统本身来说是没有帮助的。

    所以我有点担心,因为选择了 x86 版本,后续的 lab 过程,还会学习到这种老旧的东西(之所以说它老旧,是因为这种东西一般都是因为 x86 的历史原因才保留下来的东西)。( PS: https://blog.csdn.net/qicaiyuwu/article/details/108653923 , 比如这篇博客里,有什么调用门、中断门、陷阱门、任务门,然后我就感觉 x86 里面这些东西好绕)

    我主要想问大家:

    1. 选择 x86 版本还是 RISCV 版本,差别大吗?其实对我来说没有区别,甚至感觉选择了 RISCV 后还能顺便学习下 RISCV (个人有比较好的 arm 架构基础,应该比较好入门 RISCV 吧)
    2. 继续 x86 版本,后面会遇到这种老旧的东西吗?
    7 条回复    2024-05-29 01:37:53 +08:00
    kokutou
        1
    kokutou  
       26 天前 via Android
    学完再说 不要想那么多
    x86 老东西那些屎山代码 还是有点意思的
    mooyo
        2
    mooyo  
       26 天前
    看你的目的吧,如果是想学着玩的话 riscv 吧,想拿来当校招面试项目的话就 x86 ,跟面试官唠嗑的时候有的多唠一点
    PTLin
        3
    PTLin  
       26 天前
    其实现在 uefi 启动可以直接跳过实模式 保护模式直接进入 ia32e 模式,假如你对“老旧”的东西指的是 16 位和 32 位代码,那进入 ia32e 后就碰不到了。
    那些门你能碰到的也就一个中断门和陷阱门,任务门对应的 TSS 在 ia32e 的功能只有存 0 特权级的栈地址,至于 gdt idt 一般初始化完成几个就完事了。
    augustheart
        4
    augustheart  
       26 天前
    操作系统课程,考究的不是操作系统本身么?我觉着将来面试除非你打算做硬件底层,否则人家也不会多问你汇编方面的东西,问的也是操作系统层面上的东西。
    机器码只是一个底层,最后都是用机器码搭出一个体系。没啥本质区别。
    jackgoudan
        5
    jackgoudan  
       25 天前
    知道保护模式那回事儿就差不多了吧。 不如 rsicv ,x86 有些历史包袱。
    vcfh
        6
    vcfh  
       25 天前
    建议学新的,学完之后你可以再去看另外一种。
    levelworm
        7
    levelworm  
       25 天前
    都学?反正写进去了也没啥巨大的差别。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2272 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 02:11 · PVG 10:11 · LAX 19:11 · JFK 22:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.