※ 本文是否可提供台大同学转作其他非营利用途?(须保留原作者 ID)
(是/否/其他条件):是
哪一学年度修课:
110-2
ψ 授课教师 (若为多人合授请写开课教师,以方便收录)
黎士玮
λ 开课系所与授课对象 (是否为必修或通识课 / 内容是否与某些背景相关)
资讯工程学研究所
资讯网络与多媒体研究所
δ 课程大概内容
第1周 Introduction
第2周 Linux: bootstrapping, hardware basics, processes
第3周 Linux: isolation, system calls, exceptions, interrupts
第4周 Linux: synchronization
第5周 Linux: scheduling
第6周 Linux: virtual memory, memory management
第7周 Linux: memory management, devices, modules, io systems
第8周 清明节 (no classes)
第9周 Linux: io systems, file systems
第10周 Linux: security
第11周 operating systems variants (library OS, microkernel, kernel-bypass
OS)
第12周 google infrastructure
第13周 distributed systems
第14周 programming language and systems
第15周 systems security
第16周 systems security
第17周 formally verified systems
Ω 私心推荐指数(以五分计) ★★★★★
不会写 C: ☆
没修过作业系统跟系统程式设计: ★☆☆☆☆
只想听课没时间写作业: ★☆☆☆☆
整体授课内容: ★★★★★
η 上课用书(影印讲义或是指定教科书)
无
μ 上课方式(投影片、团体讨论、老师教学风格)
平常 YT 直播上课,会留档
前 11 周是讲课,后面都是分组报告
前几周还会比较仔细去 trace kernel code,之后就比较少了
只看授课内容的话有点像是特化 Linux 的 OS 课
σ 评分方式(给分甜吗?是扎实分?)
四份程式作业 50%
Paper Critque Report 五篇 25%
Paper Presentation 20%
Participation 5%
扎实甜,不调分,我原始分数 87 拿 A
有基础的话(本身实验室就做系统的之类的)'应该'不会觉得很硬,我自己觉得超硬 = =
ρ 考题型式、作业方式
hw1: 新增一个 system call 跟写一个很阳春的 shell
hw2: 写一个 rootkit 支援 hook/unhook system call, 修改 process name, hide/unhide LKM
hw3: 写一个 system call 可以偷别的 process 的 page table 然后 copy 到某个 process 的 userspace,最后做 code injection
hw4: 写一个 vfs
Paper Critique 就是从指定的论文中选五篇写 critique
Presentation 是团体报告,也是从指定论文中选一篇作为题目
前面三个作业还可以硬拼做完... 到最后一个作业完全不知道怎么写QQ 还好有神队友 carry,最后 code 有上千行...
ω 其它(是否注重出席率?如果为外系选修,需先有什么基础较好吗?老师个性?
加签习惯?严禁迟到等…)
一定要很熟 C,最好有修过 OS 跟 SP...
第一堂加签人蛮多的,没有签完,但是期中过后停修了不少...
Ψ 总结
老师上学期是开虚拟机器,这学期这门课根据老师说法是第一次也是最后一次开(?)
总之短期内应该不会再开了~可惜一门好课,好像也找不到相同性质的课了,感觉是教授跟助教觉得 loading 太重 (可能因为新教授?)
总体而言是个好课,作业很难,上课内容范围很大,所以不会讲非常细
我自己没修过 OS 跟 SP,C 也只有看过 P 教授影片跟修过 DSA 的程度... 完全负荷不了这门课的作业 loading = = 最后的作业是靠队友 carry,前面三个也是一直问助教...
论文阅读方面更是痛苦.. 然后 Presentation 跟我在台大修其他课很不一样,大家都超踊跃发问...问到爆那种QQ