实验过程的自动评测和管理

在线虚拟实验环境

借助虚拟机管理平台实现多节点实验服务器快速部署,避免了软件版本冲突问题,节约学生安装实验环境花费的时间,随时随地在线流畅使用。实验后能够长期保存学生实验过程资料。

内核实验自动评测

利用git和虚拟机,实现作业自动发布、提交、编译、运行、评测,并将测试结果、可能发生错误的代码反馈给学生,整个过程不需要人工参与。

实验过程自动化管理

操作系统内核实验是一个互相衔接的体系,学生通过了某个实验评测,系统自动发布下一次实验的内容, 让有能力的同学尽早开始高难度实验,实现个体差异化培养,提升整体实验课效果。

师资培训服务

联合新工科联盟,每年暑期举办师资培训班, 2018《操作系统课程设计》师资培训

小型操作系统实验体系

采用分层设计原则,设计了6个相互关联的操作系统实验,学生可以从简单到复杂,最终构造出一个相对完整的操作系统。 每个操作系统实验都设置多个不同难度级别的挑战性任务,并自动评测,节省教师工作量的同时,让学生获得内核开发的成就感。

实验1:启动和系统初始化

通过分析硬件启动过程,理解操作系统内核的链接、加载和重定位。通过实现一个串口输出函数。

实验2:内存管理实验

理解MIPS内存布局,实现操作系统对物理内存和虚拟内存空间的管理。

实验3:进程管理

实现时钟中断处理程序,编写进程创建、进程中止和进程调度程序,实现进程管理。

实验4:系统调用

掌握MIPS 平台上系统调用的实现方法,实现相关系统调用。

实验5:文件系统

实现一个简单的文件系统,掌握文件系统的实现方法。

实验6:命令解释程序

实现一个具有基本功能的命令解释程序,将6部分链接起来,使之成为一个可运行的操作系统。

完善的高质量的操作系统教学资源

操作系统原理

操作系统原理课程可以配套北京航空航天大学计算机学院教师撰写的优秀教材,并提供讲义和习题。

  • 教学内容选择——注重基础性、先进性、系统性。既致力于传统操作系统基本概念、技术和方法的阐述,又融合现代操作系统最新技术发展和应用的讨论。
  • 教学内容组织——注重完整性、关联性,以提炼教学内容的主线,以问题为导向,形成对操作系统全局清晰的框架,使得教学内容条理清晰、脉络分明,克服其内容庞杂的弊病。
操作系统应用型实验

涵盖Linux应用的运维和开发:Linux常用命令、Bash脚本实验、Linux系统编程。

操作系统实验清单

操作系统实验涵盖了从内核实验、系统编程、操作系统应用的完整实验体系,按照难度梯度分为4大类实验:操作系统内核实验、操作系统模拟实验、操作系统编程实验以及操作系统应用实验。

实验分类 实验名称 实验内容 实验手册 实验代码
操作系统内核实验
内核、Boot和printf 通过分析硬件启动过程,理解操作系统内核的链接、加载和重定位。通过实现一个串口输出函数。
内存管理 理解MIPS内存布局,实现操作系统对物理内存和虚拟内存空间的管理。
进程与异常 实现时钟中断处理程序,编写进程创建、进程中止和进程调度程序,实现进程管理。
系统调用与fork 掌握MIPS 平台上系统调用的实现方法,实现相关系统调用。同时,实现fork函数。
文件系统 实现一个简单的文件系统,掌握文件系统的实现方法。
管道与Shell 实现一个具有基本功能的命令解释程序,将6部分链接起来,使之成为一个可运行的操作系统。
操作系统模拟实验
进程管理 在模拟框架内,补充进程管理相关数据结构,实现进程创建、运行原语。
处理机调度(进程调度) 在模拟框架内,实现5类常见处理机(进程)调度算法。
分区存储管理 在模拟框架内,补充分区存储管理相关数据结构,实现分区存储管理的3类算法。
段式存储管理 在模拟框架内,实现段式存储管理的分配、回收算法,实现对多进程的支持。
请求页式存储管理 在模拟框架内,实现请求页式存储管理的3类页面置换算法,并分析这3类算法在不同情况下的表现。
设备管理 在模拟框架内,实现设备管理相关数据结构,实现设备分配、回收算法。
文件管理 在模拟框架内,实现磁盘块的分配算法和回收算法。实现小型文件系统需要的基本接口,并可进行演示。
操作系统应用实验
Bash脚本实验 Bash变量,Bash传递参数,Bash数组,Bash运算符,Bash中字符串处理,Bash逻辑运算,Bash算数运算,Bash分支语句,Bash循环语句,Bash函数,Bash输入输出重定向,开机启动脚本。