作者bh2142 (濒临绝种的Emacser)
看板NCTU-Teacher
标题[心得] 叶宗泰 - 作业系统总整与实作
时间Sun Jul 24 12:03:06 2022
⊕课名⊕
作业系统总整与实作 英文授课
▲教授▲
叶宗泰
★修课年度★
110-2
£教了什麽£(课程大概内容。或是额外学会了什麽东西。)
参考这个
https://oscapstone.github.io/osc2022/
◆上课方式◆(投影片、团体讨论、老师教学风格)
我没上过课,但似乎是实体课
有问题可以在 Discord 上问助教
▼考试作业▼
没有考试
总共8个 lab + 一个 final project
Lab
从0开始刻一个能在 rpi 上面跑的 os,会发一个 raspberry pi 3 b+ 和一个 uart 子卡,
在上板子测试之前可以先用 qemu 跑模拟,qemu 可以接 gdb 让你可以一个一个指令去检查
问题,但可能某些地方没有模拟的很完全,上板子还是可能会坏
每次 lab 都有分 basic 和 advanced task,满分会超过100分,前面比较简单的建议都做
,可以 cover 後面没做 advanced 的分数,我从 lab5 开始就没做 advanced 了
每次的 lab 都需要建立在前一次 lab 的成果上面,间隔大约两周,所以 basic 一定要做
,还有要注意 code 要写好一点,功能也要好好写不要用一些很烂的偷吃步,不然後面积木
堆上去垮了可能会疯掉
除了 page allocator 有复杂度的要求,其他的 lab 都没有要求效能,可以先求有再求好
Demo 时助教会问你怎麽做的说明你的 code,所以就算测资很弱也不要乱做,我每次都抽到
同一个助教,所以不知道其他助教是怎麽 demo 的
很多东西都可以参考这两个 repo
https://bit.ly/3RWbcwG
https://bit.ly/3Pv9UY3
很多东西像 page allocator 可以在 host 上面写好测好再移植到你写的 os 里面
很多东西可以设数量上限,先在 bss section里面 allocate 好比较不会坏掉
kmalloc 之类的东西一定要写好,效能不一定要好,但一定要可以好好的动,後面写起来才
不会被他脏到
Final Project
用 FUSE 模拟 SSD 的 FTL,目标是最小化 write amplification,会跟所有人比赛,第一
名可以获得 512G 的 SSD,这是跟群联的工程师合作的一个课程,只是写出来的话难度其实
比 lab 都低,一般这个东西都是做在 SSD 里面,当成这课的 Final Project 其实有点奇
怪,但总之很好拿分
Lab 和 Final Project 迟交一个礼拜只会扣1%的分数基本上跟没扣差不多,鼓励你做完,
也可以更弹性的分配时间
¥其他¥(是否注重出席率or严禁迟到?需要的基础?)
Final Project 请群联的工程师来上课的时候去会加分
其他时候不点名
要会写 C
要会 gdb,边做边学其实也行,因为不需要用到什麽高级功能
会 arm assembly 最好,但不会也没关系
最好要会看处理器之类的东西的 document,lab 说明里面都有附连结
最重要的是一颗清楚的脑袋
不然看到旧 code 或是在把你造的轮子兜起来的时候或是在想 context switch 的时候脑袋
可能会打结
¢最後想说的话¢
两周一个 lab,loading 不算轻,而且会需要花大把时间 debug (运气不好可能就要花个好
几天)
要做完 advanced 那就真的要花很多时间
我额外参考的东西有 musl, linux kernel, FreeRTOS, 4.4BSD 都非必要,但是像 vfs 你
直接看 spec 其实不太好想像他在干嘛
我 lab5678 都只有做 basic,还是可以 A+
但後面卡一堆期末所以大家的完成率不是很高
建议要修课的人找朋友一起比较好收割别人踩过的坑
明年这课可能会改版变简单,这篇可能会变废文,仅供参考
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.73.238.185 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/NCTU-Teacher/M.1658635389.A.F0E.html
1F:推 typipi: 推。感觉好困难07/25 10:15
2F:推 hyperbola: 膜拜系统组电神07/31 12:27
拜托双曲线老师教我写程式
※ 编辑: bh2142 (42.72.174.183 台湾), 08/03/2022 02:09:23
3F:推 cfzfnf: 推推08/06 10:50
4F:推 s094392: 好好喔09/02 16:07
5F:推 xxoooxx34567: 推好课 然後final project真的很怪 不管是侧资还是11/30 09:46
6F:→ xxoooxx34567: 它存在的意义11/30 09:46
※ 编辑: bh2142 (42.73.142.29 台湾), 01/20/2023 00:53:26