UniMate AI

COMP3301

操作系统架构

2 学分难度

课程定位 COMP3301(Operating Systems Architecture)是 UQ 课程体系中兼顾理论与实践的一门难课程,核心目标是把“会看懂”升级为“会分析、会实现、会解释”。课程通常承担承上启下作用:前接基础概念,后接更高阶专题或项目。对准备走软件、数据、工程或研究路径的同学来说,这类课程的价值不只在分数,更在于建立可迁移的方法框架和稳定交付能力。 技术栈与学习内容 学习内容通常覆盖该方向的关键概念、方法与工具链,并通过练习或作业落实到具体场景。常见会使用 Python、R、MATLAB、C/C++ 或课程指定软件(以官方课纲为准)。课程强调的不只是“得到答案”,还包括假设条件、步骤完整性、结果解释与复现性。也就是说,你需要同时训练知识准确度、实现质量和表达清晰度。 课程结构 课程一般按周推进,前段搭建概念框架,中段进入题型训练与案例应用,后段做综合整合与评估冲刺。考核常见组合为 Quiz/Lab、作业、报告和期末评估。评分不仅看正确率,也看分析逻辑、书写/代码规范与结论表达。多数同学真正拉开差距的阶段在中后期:是否能持续输出,而不是临近截止日突击。 适合人群 适合希望夯实底层能力、提升问题拆解与建模能力、并改善学术或工程表达的同学。若你计划继续修读高阶课程,或希望在实习与求职中提升“把事情做对并讲清楚”的竞争力,这门课很值

Course decision

选课先看

先看考核重心、截止节奏和入门要求,再决定这门课是否适合你的学期安排。

考核总权重

100%

4 项考核

最高单项

30%

Project Milestone

期末考试

未注明

以官方 outline 为准

Hurdle

未列出

当前考核表没有 Hurdle 标记

What you learn

学完能做什么

学习成果来自官方 Unit Outline,关键词来自这门课的逐周主题。

课程能力关键词

OS architecture taxonomy (monolithicmicrokernelhybrid)kernel space vs user spacesystem callsProcess vs Threadprocess states (new/ready/running/waiting/terminated)PCB (Process Control Block)context switch overheadscheduling algorithms (FCFSVirtual address spacepage tables (single/multi-level)TLB (Translation Lookaside Buffer)page faults

Syllabus

每周大纲

默认只展示每周独有的知识重点;节奏、考核、Tutorial 和避坑信息按需展开。

  1. 1

    Introduction to OS Architecture & Kernel Concepts

    ### 🖥️ 核心知识点:操作系统架构与内核概念 本周介绍课程使用的操作系统平台(OpenBSD)和开发环境(C 语言)。理解 monolithic kernel vs microkernel 架构的核心区别。 - **核心概念**: OS architecture taxonomy (monolithic, microkernel, hybrid), kernel space vs user space, system calls, OpenBSD overview, C programming for systems (pointers, memory layout), development environment setup (SSH, make, gdb) ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 10h(Lecture 2h + Tutorial 1h + Lab 2h + 自学 3h + 环境搭建 2h) 🎯 **考试关联**: Exam 会考 kernel 架构对比和 system call 机制 🧪 **Lab**: 搭建 OpenBSD 开发环境,编译运行第一个 kernel module,熟悉 make 和 gdb 📌 **作业关联**: Assignment 1(kernel programming)从 Week 3 开始,本周打基础 ⚠️ **易错点**: OpenBSD 与 Linux 有细微但关键的差异(头文件路径、系统调用命名);C 指针错误在 kernel 中会导致 panic

    OS architecture taxonomy (monolithicmicrokernelhybrid)kernel space vs user spacesystem calls
  2. 2

    Process Management & Scheduling

    ### 🔄 核心知识点:进程管理与调度 本周学习进程(Process)的生命周期和 CPU 调度算法。这是 OS 最核心的抽象之一。 - **核心概念**: Process vs Thread, process states (new/ready/running/waiting/terminated), PCB (Process Control Block), context switch overhead, scheduling algorithms (FCFS, SJF, Round Robin, Priority, MLFQ), OpenBSD scheduler ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 10h(Lecture 2h + Tutorial 1h + Lab 2h + 自学 3h + 编程 2h) 🎯 **考试关联**: 调度算法的对比(turnaround time, response time, fairness)是必考大题 🧪 **Lab**: 在 OpenBSD 上用 fork/exec/wait 创建进程树,用 ps 和 top 观察调度行为 📌 **作业关联**: Assignment 1 可能涉及进程管理相关的 kernel 修改 ⚠️ **易错点**: fork() 返回值在 parent 和 child 中不同;忘记 wait() 导致 zombie processes

    Process vs Threadprocess states (new/ready/running/waiting/terminated)PCB (Process Control Block)context switch overheadscheduling algorithms (FCFS
  3. 3

    Memory Management & Virtual Memory

    ### 🧠 核心知识点:内存管理与虚拟内存 本周深入 OS 最复杂的子系统之一 — 内存管理。虚拟内存让每个进程以为自己独占全部内存。 - **核心概念**: Virtual address space, page tables (single/multi-level), TLB (Translation Lookaside Buffer), page faults, page replacement algorithms (FIFO, LRU, Clock), demand paging, memory-mapped files, OpenBSD pmap ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 11h(Lecture 2h + Tutorial 1h + Lab 2h + 自学 4h + Assignment 1 启动 2h)🔥 高压周 🎯 **考试关联**: 地址转换(virtual → physical)手动计算是 Exam 必考题;page replacement trace 也常考 🧪 **Lab**: 实现简单的 page replacement 模拟器,比较 FIFO/LRU/Clock 的 page fault 率 📌 **作业关联**: Assignment 1 发布 — kernel 级编程任务 ⚠️ **易错点**: 多级页表的地址位分割容易算错;TLB miss ≠ page fault(TLB miss 后查页表可能命中)

    Virtual address spacepage tables (single/multi-level)TLB (Translation Lookaside Buffer)page faultspage replacement algorithms (FIFO
  4. 4

    Concurrency & Synchronization

    ### 🔒 核心知识点:并发与同步 本周学习多线程并发编程中最关键的问题 — 同步。Race condition 是最难调试的 bug 类型之一。 - **核心概念**: Race conditions, critical sections, mutex locks, semaphores, condition variables, monitors, deadlock (必要条件, prevention, avoidance, detection), producer-consumer problem, readers-writers problem, pthread API ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐⭐ | 预计投入 12h(Lecture 2h + Tutorial 1h + Lab 2h + 自学 4h + Assignment 1 3h)🔥 课程难度巅峰之一 🎯 **考试关联**: Deadlock 的四个必要条件和同步原语的使用是 Exam 高频考点 🧪 **Lab**: 用 pthread mutex/semaphore 实现 producer-consumer;制造并修复一个 race condition 📌 **作业关联**: Assignment 1 可能需要处理 kernel 中的并发问题 ⚠️ **易错点**: 忘记释放 mutex 导致 deadlock;semaphore 初始值设错;signal 和 wait 顺序反了

    Race conditionscritical sectionsmutex lockssemaphorescondition variables
  5. 5

    Device Drivers & I/O Subsystem

    ### 💾 核心知识点:设备驱动与 I/O 子系统 本周学习 OS 如何与硬件设备通信。设备驱动开发是这门课的特色 — 直接在 kernel 中写代码控制硬件。 - **核心概念**: I/O hardware (ports, buses, controllers), device driver architecture, character vs block devices, interrupt handling (top-half/bottom-half), DMA (Direct Memory Access), OpenBSD device driver framework, ioctl ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐⭐ | 预计投入 12h(Lecture 2h + Tutorial 1h + Lab 2h + 自学 4h + Assignment 1 冲刺 3h)🔥 高压周 🎯 **考试关联**: Interrupt 处理流程和设备驱动架构是 Exam 常考内容 🧪 **Lab**: 编写一个简单的 character device driver(OpenBSD),实现 open/close/read/write 📌 **作业关联**: Assignment 1 截止临近 — 可能涉及设备驱动实现 ⚠️ **易错点**: Kernel 中不能用标准库(no printf, no malloc — 用 kernel 等价物);interrupt handler 中不能 sleep

    I/O hardware (portsbusescontrollers)device driver architecturecharacter vs block devices
  6. 6

    File Systems Design & Implementation

    ### 📁 核心知识点:文件系统设计与实现 本周学习文件系统 — OS 如何将磁盘上的物理块组织成用户看到的文件和目录结构。 - **核心概念**: File system interface (open/read/write/close), directory structures, inode-based file systems (UFS/FFS), block allocation (contiguous, linked, indexed), free space management, journaling concepts, VFS (Virtual File System) layer ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 11h(Lecture 2h + Tutorial 1h + Lab 2h + 自学 4h + Assignment 2 准备 2h) 🎯 **考试关联**: Inode 结构和 block allocation 策略是 Exam 必考内容 🧪 **Lab**: 分析 OpenBSD FFS 文件系统结构,用 stat/debugfs 查看 inode 信息 📌 **作业关联**: Assignment 2 发布 — 可能涉及文件系统相关的 kernel 修改 ⚠️ **易错点**: 间接块(indirect block)的层级计算容易出错;inode 中的 block 指针数和文件最大大小的关系

    File system interface (open/read/write/close)directory structuresinode-based file systems (UFS/FFS)block allocation (contiguouslinked
  7. 7

    Networking Stack & Socket Programming

    ### 🌐 核心知识点:网络协议栈与 Socket 编程 本周学习 OS 中的网络子系统。从 TCP/IP 协议栈在 kernel 中的实现到用户空间的 socket API。 - **核心概念**: OSI/TCP-IP layer model in kernel, socket API (socket/bind/listen/accept/connect), TCP vs UDP, network buffer management (mbuf in BSD), kernel network stack path (packet reception → protocol processing → user delivery) ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 11h(Lecture 2h + Tutorial 1h + Lab 2h + 自学 3h + Assignment 2 3h) 🎯 **考试关联**: TCP 连接建立和 kernel 网络路径是 Exam 考点 🧪 **Lab**: 用 C socket API 实现 client-server 程序;用 tcpdump 在 OpenBSD 上抓包分析 📌 **作业关联**: Assignment 2 进行中 ⚠️ **易错点**: 忘记处理 byte order(htonl/ntohs);accept() 阻塞导致单线程服务器只能服务一个客户端

    OSI/TCP-IP layer model in kernelsocket API (socket/bind/listen/accept/connect)TCP vs UDPnetwork buffer management (mbuf in BSD)kernel network stack path (packet reception → protocol processing → user delivery)
  8. 8

    Security & Protection Mechanisms

    ### 🔐 核心知识点:安全与保护机制 本周学习 OS 如何实现安全防护。从访问控制到 privilege escalation 攻击,理解安全是 OS 设计的基本考量。 - **核心概念**: Access control (DAC, MAC), file permissions (UNIX rwx), capabilities, privilege rings, ASLR (Address Space Layout Randomization), stack canaries, OpenBSD security features (pledge, unveil, W^X) ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 11h(Lecture 2h + Tutorial 1h + Lab 2h + 自学 3h + Assignment 2 3h) 🎯 **考试关联**: 访问控制模型和 OpenBSD 安全特性是 Exam 考点 🧪 **Lab**: 使用 pledge() 和 unveil() 限制进程权限;分析一个简单的 buffer overflow 示例 📌 **作业关联**: Assignment 2 冲刺 ⚠️ **易错点**: setuid 程序的安全风险容易被忽视;ASLR 不是万能的(信息泄露可以绕过)

    Access control (DACMAC)file permissions (UNIX rwx)capabilitiesprivilege rings
  9. 9

    Distributed Systems Fundamentals

    ### 🌍 核心知识点:分布式系统基础 本周从单机 OS 扩展到分布式系统。学习多台机器如何协同工作的基本原理。 - **核心概念**: Distributed system models, RPC (Remote Procedure Call), network file systems (NFS), distributed naming, consistency models (strict, sequential, eventual), CAP theorem, clock synchronization (Lamport timestamps) ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 11h(Lecture 2h + Tutorial 1h + Lab 2h + 自学 3h + Assignment 2 提交 3h)🔥 Assignment 2 Due 🎯 **考试关联**: CAP theorem 和 consistency models 是 Exam 常考概念题 🧪 **Lab**: 用 RPC 实现简单的分布式服务;配置 NFS 挂载 📌 **作业关联**: Assignment 2 截止 ⚠️ **易错点**: CAP 定理中 P(分区容忍)不是可选的 — 网络总会出问题;eventual consistency 不代表 "最终一定一致"

    Distributed system modelsRPC (Remote Procedure Call)network file systems (NFS)distributed namingconsistency models (strict
  10. 10

    Real-Time Operating Systems

    ### ⏱️ 核心知识点:实时操作系统 本周学习实时计算 — 对时间有严格约束的系统(航空、医疗、工业控制)。实时 OS 的调度策略与通用 OS 截然不同。 - **核心概念**: Hard real-time vs soft real-time, rate monotonic scheduling, earliest deadline first (EDF), priority inversion (Mars Pathfinder case), priority inheritance protocol, RTOS examples (FreeRTOS, VxWorks), QNX microkernel ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 10h(Lecture 2h + Tutorial 1h + Lab 2h + 自学 3h + Assignment 3 启动 2h) 🎯 **考试关联**: 实时调度算法(RMS, EDF)的可调度性分析是 Exam 考点 🧪 **Lab**: 用 EDF 算法模拟实时任务调度,验证是否满足所有 deadline 📌 **作业关联**: Assignment 3 发布 ⚠️ **易错点**: Priority inversion 可以让高优先级任务饿死(Mars Pathfinder 真实案例);RMS 的 CPU 利用率上界 ≈ 69%,不是 100%

    Hard real-time vs soft real-timerate monotonic schedulingearliest deadline first (EDF)priority inversion (Mars Pathfinder case)priority inheritance protocol
  11. 11

    OS Design Case Studies

    ### 📚 核心知识点:操作系统设计案例分析 本周对比不同 OS 的设计哲学和权衡。从商业 OS 到开源项目,理解 "没有最好的设计,只有最合适的权衡"。 - **核心概念**: Linux kernel architecture, Windows NT kernel, macOS/XNU hybrid kernel, OpenBSD security-first design philosophy, software ownership models (GPL, BSD, proprietary), kernel module vs monolithic compilation ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 10h(Lecture 2h + Tutorial 1h + Lab 2h + 自学 3h + Assignment 3 2h) 🎯 **考试关联**: OS 设计对比和 software ownership models 是 Exam 常考概念题 🧪 **Lab**: 对比 Linux 和 OpenBSD 的同一功能实现(如进程创建),分析设计差异 📌 **作业关联**: Assignment 3 进行中 ⚠️ **易错点**: GPL vs BSD license 的核心区别(GPL 要求衍生作品也开源,BSD 不要求);不要混淆 microkernel 和 modular monolithic

    Linux kernel architectureWindows NT kernelmacOS/XNU hybrid kernelOpenBSD security-first design philosophysoftware ownership models (GPL
  12. 12

    Virtualization, Containers & Review

    ### ☁️ 核心知识点:虚拟化、容器与课程回顾 最后一周覆盖现代 OS 的前沿话题 — 虚拟化和容器化,以及全课程回顾。 - **核心概念**: Hypervisor (Type-1: bare-metal, Type-2: hosted), hardware virtualization (VT-x), paravirtualization, containers (namespaces, cgroups), Docker vs VM overhead comparison, unikernels, comprehensive review ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 12h(Lecture 2h + Tutorial 1h + Lab 2h + Assignment 3 提交 3h + 复习 4h)🔥 Assignment 3 Due + 备考 🎯 **考试关联**: Exam 覆盖全部 12 周。虚拟化 vs 容器的对比是常考题。重点复习:调度算法、虚拟内存、同步原语、文件系统、安全机制 🧪 **Lab**: 体验 OpenBSD vmm/vmd 虚拟化;Assignment 3 最终调试 📌 **作业关联**: Assignment 3 截止 — 这是最后一个编程作业 ⚠️ **易错点**: VM 有完整 OS 开销,container 共享 host kernel;Docker 不是虚拟机;考试时间管理很重要

    Hypervisor (Type-1: bare-metalType-2: hosted)hardware virtualization (VT-x)paravirtualizationcontainers (namespaces

Assessment

考核结构

Project Milestone

里程碑交付,重点在架构与技术可行性。

30%

Major Project

核心项目实现,考察系统化工程能力。

30%

Report/Presentation

技术报告或展示,评估分析与表达能力。

20%

Final Evaluation

期末综合评估。

20%

Assignments

作业详情

Assignment 1: Core Implementation

COMP3301 Operating Systems Architecture 的核心模块实现与单元测试。

重点: 从需求拆解到可运行原型,重视代码风格和边界处理。

要求:提交可运行代码、README、关键设计说明。

⏱ 预计 30 小时

Assignment 2: Integrated Project

完成一个综合项目或系统扩展,并进行结果验证。

重点: 模块协作、性能/安全/可维护性权衡、测试覆盖。

要求:包含测试证据、架构说明、复盘文档。

⏱ 预计 40 小时

From Seniors

学长留下的

基础信息谁都查得到,真正值钱的是过来人的经验。

学姐说

比你早一年的学长留下的真实经验 —— ChatGPT 给不了。

这门课还没有学长经验,你可以是第一个 —— 注册后在课内分享。

往年考点 / 踩坑

这门课暂无往年考点记录。

毕业生去向(整体)

下面是匠人学院毕业生整体去过的公司分布(来自脱敏校友证言)。这是全平台的总体去向,不代表选这门课的人一定去这些公司。

统计自 317 份脱敏校友证言

Deloitte

6 位校友

岗位:Graduate Program · Graduate Consulting · Platform Engineer · Web developer · Platform engineer

Zerologix

4 位校友

岗位:Frontend Dev · junior frontend developer · Front-end Developer · Full Stack Developer

Servian

4 位校友

岗位:Full-stack Developer · Data Engineer · Consultant

关于这块数据,我们说实话

雇主墙来自脱敏毕业生证言(testimonials)的整体分布,无法关联到具体学员或其所选课程;仅作为毕业生去向的总体社会证明展示。

我们没有"某位学长选了这门课、后来进了哪家公司"这种可查询的个人去向档案 —— 校友证言是脱敏的,无法关联到具体的人或他选过的课。所以这里只给整体分布,不给个人路径,不编。