课程大纲

课程大纲

高级操作系统教程

课程编码:180086085405P2001H 英文名称:Advanced Operating System Course 课时:60 学分:3.00 课程属性:专业核心课 主讲教师:武延军等

教学目的要求
本课程是为计算机专业方向研究生的专业核心课程。本课程以当前产业界最为主流的开源操作系统Linux为例,使学生掌握操作系统的基本概念、原理与实现方法。本课程对学生的要求包括:了解操作系统的组成结构、主要模块、核心数据结构、关键机制的实现方法,具备基本的Linux操作系统内核编程能力,从代码级达到对操作系统的领会和掌握。同时,通过本课程学习,要求学生掌握大型复杂系统软件的架构设计原则,以及在性能、安全、可扩展等多种需求下的系统架构设计方法。

预修课程
操作系统、计算机体系结构、计算机组成原理、C语言程序设计、算法与数据结构

大纲内容
第一章 操作系统简介
第1节 开源、指令集和操作系统 3学时 武延军
第2节 引导程序 1学时 郑晨
第3节 操作系统基本结构和映像布局 1学时 郑晨
第4节 操作系统的启动过程 0.5学时 郑晨
第5节 内核编程环境 0.5学时 郑晨
第二章 内存管理
第1节 地址空间与寻址方式 2学时 郑晨
第2节 页式内存管理机制 2学时 郑晨
第3节 虚拟内存管理相关 2学时 郑晨
第三章 进程管理
第1节 进程 2学时 郑晨
第2节 线程 2学时 郑晨
第3节 内核进程隔离 1学时 郑晨
第4节 同步 2学时 郑晨
第5节 信号量 2学时 郑晨
第6节 IPC 1学时 郑晨
第7节 调度 2学时 郑晨
第四章 中断和异常管理
第1节 内核的中断与异常机制 1学时 郑晨
第2节 寄存器 1学时 郑晨
第3节 中断处理过程 1学时 郑晨
第4节 下半部 1学时 郑晨
第5节 系统调用 1学时 郑晨
第6节 信号 1学时 郑晨
第五章 操作系统研讨
第1节 操作系统前沿学术论文研讨 3学时 武延军
第六章 设备管理
第1节 硬件设备抽象 1学时 郑晨
第2节 块设备 1学时 郑晨
第3节 USB设备 1学时 郑晨
第七章 文件系统
第1节 VFS基础 1学时 李鹏
第2节 Linux典型文件系统解析 1学时 李鹏
第3节 NFS文件系统解析 0.5学时 李鹏
第4节 分布式文件系统Ceph解析 0.5学时 李鹏
第八章 网络管理
第1节 内核网络栈协议 1学时 李鹏
第2节 网络数据在内核中的传递 1学时 李鹏
第3节 Netfilter和BPF的原理和实现 1学时 李鹏
第九章 内核虚拟化
第1节 虚拟化基础 1学时 李鹏
第2节 QEMU和KVM 1学时 李鹏
第3节 容器 1学时 李鹏
第十章 机器人操作系统
第1节 机器人操作系统ROS 3学时 李鹏
第2节 机器人编程 3学时 李鹏
第十一章 操作系统前沿进展
第1节 操作系统前沿技术研讨 3学时 武延军
第十二章 大作业研讨
第1节 大作业讲评 3学时 武延军
第十三章 期末考试
第1节 随堂闭卷考试 3学时 武延军

教材信息
1、 操作系统导论 [美] 雷姆兹·H.阿帕希杜塞尔( Remzi H. Arpaci-Dusseau),[美]安德莉亚·C.阿帕希杜塞尔(Andrea C. Arpaci-Dusseau),王海鹏译 2019年6月

参考书

课程教师信息
武延军,中国科学院软件研究所研究员、博士生导师,现任副总工、智能软件研究中心主任。主要研究方向为操作系统和智能软件。作为负责人主持中科院先导专项项目、国家科技重大专项分课题、科技委创新特区重点课题等科研任务。连续四年获得腾讯公司高校合作计划资助。2013年主导设计了本科生课程《Linux内核编程》和《Linux系统编程》;2018年在中国大学MOOC网开设《机器人操作系统入门》在线课程,累计注册用户超过5万人;2019年受华为公司委托,共同开发《openEuler操作系统内核编程技术》课程体系。曾获中科院优秀毕业生、北京市科技新星、中科院青促会优秀会员等荣誉称号。已发表论文80多篇,申请专利及软件著作权30余项。
郑晨,中国科学院软件研究所副研究员。主要研究领域是数据中心操作系统、基准测试、网络安全等。先后参加了包括“973”、“863”、国家重点研发计划、华为A类合作项目等在内的多项横向、纵向科研项目。发表12篇国际学术论文,编撰发表两部学术专著,谷歌学术引用近千次。负责了两项操作系统前瞻研究项目,共取得6项国内发明专利,2项国际发明专利。
李鹏,中科院软件所副研究员,清华大学计算机系博士,北京大学博士后。