本文档涵盖了 OSSU 计算机科学中的核心系统课程,它提供了计算机体系结构、操作系统和网络方面的基础知识。这些材料弥合了理论计算机科学概念与实际系统实现之间的差距,为学生学习高级系统编程和体系结构课程做好准备。
有关课程中涵盖的系统编程语言信息,请参阅核心编程。有关高级系统课程和专业方向,请参阅高级系统。
核心系统课程向学生介绍了现代计算机系统背后的基本概念。学生将从构建基本的数字电路开始,逐步深入了解复杂的操作系统内部机制和网络协议。这种循序渐进的设计旨在提供对软件和硬件在多个抽象层次上如何交互的全面理解。
核心学习目标
核心系统课程遵循精心设计的渐进式结构,逐步建立知识
硬件基础课程从基本的逻辑门开始构建完整的计算机系统
| 课程组成部分 | 持续时间 | 重点领域 | 主要成果 |
|---|---|---|---|
| 第一部分:硬件 | 6周 | 布尔代数、门逻辑、内存、计算机体系结构 | 可运行的计算机模拟 |
| 第二部分:软件 | 6周 | 虚拟机、高级语言、编译器 | 完整的软件栈 |
涵盖的主题
过程式编程手动内存管理布尔代数门逻辑内存计算机体系结构汇编机器语言虚拟机高级语言编译器OSTEP 课程提供两条不同的学习路径,以适应不同的职业目标
基本方法要求
扩展方法先决条件
来源:coursepages/ostep/README.md1-47
对于选择扩展方法的学生,课程包含实践内核编程
主要项目组成部分
initial-utilities:C 语言编程评估processes-shell:具有进程管理、重定向和并行命令功能的 Unix Shellxv6 内核项目:用于调度、内存管理、并发的直接内核修改ostep-homework:模拟练习和理论问题来源:coursepages/ostep/README.md66-133
网络部分涵盖协议实现和网络体系结构
涵盖的主题
网络协议TCP/IP 协议栈实现路由算法网络安全基础分布式系统概念实践组成部分
来源:README.md216
核心系统课程有严格的先决条件要求
| 先决条件领域 | 所需知识 | 验证方法 |
|---|---|---|
| 编程 | 类 C 编程语言 | 从与非门到俄罗斯方块第一部分 |
| 数学 | 代数、概率、计算机科学基础 | 计算机网络 |
| 工具 | 命令行、版本控制 | 完成计算机科学工具课程 |
| 扩展路径 | 高级 C 语言、x86 汇编 | initial-utilities 项目 |
先决条件流程
来源:README.md213-216 coursepages/ostep/README.md49-54
核心系统是多个高级领域的基础
顺序依赖
并行学习机会
来源:README.md64-67 README.md193-304
学生通过以下方式验证其系统知识
时间投入