课程介绍 实验环境
操作系统是现代计算机系统中最重要、最基本的系统软件。内核,作为操作系统的中枢模块,负责执行操作系统的核心功能,对系统资源进行综合管理和统一调配。深入分析操作系统内核源代码,了解关键数据结构和操作,有助于加深对操作系统原理的理解。
本课程推行既统领全局又兼顾细节的原则,以开放源码的Linux操作系统为原型,引导学生学习现实操作系统源代码的分析方法,目标是培养学生掌握现实操作系统内核的设计与安全机制实现的基本技能。
教学团队
- 教师:游伟 副教授
- 助教:袁江风(2020级硕士研究生)
课程目标
- 分析:对Linux内核有一个整体的把握,理解Linux的设计思路,掌握源代码中的关键数据结构和核心算法
- 安全:对Linux内核安全机制的设计与实现有基本的认知,对内核漏洞的挖掘、利用、修复与防御有基本的了解
- 实践:亲自动手玩转Linux内核,能够修改/新增内核功能,能够分析/检测内核安全问题
课程特色
- 与操作系统入门课程的区别:简要回顾操作系统的基本概念;以Linux内核为例,深入探究操作系统概念的实现
- 与Unix环境高级编程的区别:不关注用户态程序如何使用内核对外提供的API;关注内核如何安全地实现系统资源的管理
- 理论和实践相结合:每堂课前2/3课时课程讲解,后1/3课时实验展示;请同学们上课时带上笔记本电脑
课程考核
- 平时课堂(30%):考勤互动、实验报告
- 实践任务(30%):任务1:内核Rootkit的实现与检测;任务2:内核漏洞的挖掘与利用;任务3:内核安全机制实现的探索;三选一
- 课程报告(40%):报告一篇顶会论文,将报告整理成文字