Week 4
ASST1: Synchronization
15%
在 OS161 中利用同步原语解决经典的‘理发师问题’或‘猫狗进餐问题’。
COMP3231
课程定位 COMP3231/9201 是 UNSW 计算机专业公认的‘最硬核、难度最高’的课程。它剥开了软件与硬件之间的最后一层神秘面纱。如果你想成为顶级的系统架构师、内核开发者或者在面试中秒杀所有的底层原理题,这门课是你的终极修炼场。它是通往《高级操作系统》的唯一前导,也是计算机科学灵魂的真正所在。 技术栈与学习内容 课程围绕‘资源管理与并发控制’展开。核心内容包括:进程与线程模型、复杂的同步机制(Locks, Semaphores, Condition Variables)、虚拟内存实现(多级页表、TLB、置换算法)、文件系统架构(Inode、VFS)、中断与系统调用、以及 I/O 设备管理。课程以 OS161(一个简化的教学系统内核)为载体,要求学生在真实内核中编写 C 语言代码来实现核心系统功能。 课程结构 10 周理论与地狱级实验(Assignments)结合。前三周死磕同步与并发,中期全面攻克地址空间与虚拟内存(这是全课最大的难点),后期转向文件系统。评估由每周的知识点小测、三个权重极大的内核编程项目(ASST1 同步, ASST2 系统调用, ASST3 虚拟内存)以及一场极其考验智力极限的期末大考组成。该课极其强调‘底层 Debug’能力。 适合人群 计算机、软件工程专业。必须具备极其扎实的 C 语言 (COMP1511/1521) 功底。如果你对‘系统崩溃’、‘内存溢出’背后的底层原理痴迷,这门课会带你进入圣殿。建议每周投入 25 小时以上,做好通宵调试的心理准备。
Course decision
先看考核重心、截止节奏和入门要求,再决定这门课是否适合你的学期安排。
考核总权重
100%
4 项考核
最高单项
40%
Final Examination
期末考试
有
以官方 outline 为准
Hurdle
1 项
需要单独满足
Deadline map
按截止周排列作业节点;持续考核会保留在下方完整考核结构中。
Week 4
15%
在 OS161 中利用同步原语解决经典的‘理发师问题’或‘猫狗进餐问题’。
Week 7
20%
实现 Fork, Exec, Wait 等核心系统调用,管理用户空间进程。
Week 10
25%
实现完整的按需分页虚拟内存管理系统,难度全课之冠。
Week 11
40%
综合考察同步逻辑推导、地址映射计算及文件系统原理的闭卷考试。
Syllabus
默认只展示每周独有的知识重点;节奏、考核、Tutorial 和避坑信息按需展开。
内核 vs 用户空间,系统调用流程,线程模型初步,竞争条件 (Race Conditions) 案例。
互斥锁 (Locks)、信号量 (Semaphores) 的实现,生产者-消费者模型,死锁判定与预防。
OS161 内核架构,中断处理流程,Trap 机制,线程切换的硬件寄存器保存。
PCB 结构,调度算法(Round Robin, 多级反馈队列),上下文切换开销测算。
分页 (Paging) 机制,多级页表,虚拟地址到物理地址的映射,TLB 缓存逻辑。
复习同步逻辑,全力攻克 ASST2 系统调用项目,练习 C 指针强转。
缺页中断处理,页面置换算法 (LRU, Clock),写时复制 (Copy-on-write) 技术。
磁盘结构,VFS 抽象层,Inode 节点设计,文件分配方法 (FAT vs Indexed)。
中断驱动 I/O,DMA 技术,磁盘调度算法,系统性能瓶颈诊断技巧。
访问控制,微内核架构趋势;全学期硬核考点闭环总结。
Assessment
ASST1: Synchronization
在 OS161 中利用同步原语解决经典的‘理发师问题’或‘猫狗进餐问题’。
Week 4
ASST2: System Calls
实现 Fork, Exec, Wait 等核心系统调用,管理用户空间进程。
Week 7
ASST3: Virtual Memory
实现完整的按需分页虚拟内存管理系统,难度全课之冠。
Week 10
Final ExaminationHurdle
综合考察同步逻辑推导、地址映射计算及文件系统原理的闭卷考试。
Week 11
From Seniors
基础信息谁都查得到,真正值钱的是过来人的经验。
比你早一年的学长留下的真实经验 —— ChatGPT 给不了。
这门课还没有学长经验,你可以是第一个 —— 注册后在课内分享。
这门课暂无往年考点记录。
下面是匠人学院毕业生整体去过的公司分布(来自脱敏校友证言)。这是全平台的总体去向,不代表选这门课的人一定去这些公司。
统计自 317 份脱敏校友证言
岗位:Graduate Program · Graduate Consulting · Platform Engineer · Web developer · Platform engineer
岗位:Frontend Dev · junior frontend developer · Front-end Developer · Full Stack Developer
岗位:Full-stack Developer · Data Engineer · Consultant
关于这块数据,我们说实话
雇主墙来自脱敏毕业生证言(testimonials)的整体分布,无法关联到具体学员或其所选课程;仅作为毕业生去向的总体社会证明展示。
我们没有"某位学长选了这门课、后来进了哪家公司"这种可查询的个人去向档案 —— 校友证言是脱敏的,无法关联到具体的人或他选过的课。所以这里只给整体分布,不给个人路径,不编。