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

212 天前
 amiwrong123

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 版本,后面会遇到这种老旧的东西吗?
1590 次点击
所在节点    程序员
7 条回复
kokutou
212 天前
学完再说 不要想那么多
x86 老东西那些屎山代码 还是有点意思的
mooyo
212 天前
看你的目的吧,如果是想学着玩的话 riscv 吧,想拿来当校招面试项目的话就 x86 ,跟面试官唠嗑的时候有的多唠一点
PTLin
212 天前
其实现在 uefi 启动可以直接跳过实模式 保护模式直接进入 ia32e 模式,假如你对“老旧”的东西指的是 16 位和 32 位代码,那进入 ia32e 后就碰不到了。
那些门你能碰到的也就一个中断门和陷阱门,任务门对应的 TSS 在 ia32e 的功能只有存 0 特权级的栈地址,至于 gdt idt 一般初始化完成几个就完事了。
augustheart
212 天前
操作系统课程,考究的不是操作系统本身么?我觉着将来面试除非你打算做硬件底层,否则人家也不会多问你汇编方面的东西,问的也是操作系统层面上的东西。
机器码只是一个底层,最后都是用机器码搭出一个体系。没啥本质区别。
jackgoudan
211 天前
知道保护模式那回事儿就差不多了吧。 不如 rsicv ,x86 有些历史包袱。
vcfh
211 天前
建议学新的,学完之后你可以再去看另外一种。
levelworm
211 天前
都学?反正写进去了也没啥巨大的差别。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1044510

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX