课程大纲

课程大纲

高级操作系统

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

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

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

大纲内容
第一章 操作系统简介 武延军
第1节 操作系统简史 1学时
第2节 引导程序 1学时
第3节 操作系统基本结构和映像布局 1学时
第4节 操作系统的启动过程 1学时
第5节 内核编程环境 2学时
第二章 内存管理 武延军
第1节 地址空间与寻址方式 1学时
第2节 页式内存管理机制 2学时
第3节 核心数据结构和算法 1学时
第4节 内存操作的常见问题 2学时
第三章 进程管理 武延军
第1节 进程 1.5学时
第2节 线程 1.5学时
第3节 内核进程隔离 1学时
第4节 同步 1.5学时
第5节 信号量 1.5学时
第6节 IPC 1学时
第7节 调度 1学时
第四章 中断和异常管理 武延军
第1节 内核的中断与异常机制 1学时
第2节 寄存球 1学时
第3节 中断处理过程 1学时
第4节 下半部 1学时
第5节 系统调用 1学时
第6节 信号 1学时
第五章 内核时间管理 武延军
第1节 内核时钟基础 1学时
第2节 内核定时器 1学时
第3节 内核实时性和时延 1学时
第六章 内存系统实验讲评 武延军
第1节 内存系统实验讲评 3学时
第七章 设备管理 武延军
第1节 硬件设备抽象 1学时
第2节 块设备 1学时
第3节 USB设备 1学时
第4节 操作系统安全相关 3学时
第八章 文件系统 武延军
第1节 VFS基础 0.5学时
第2节 Ext4文件系统解析 0.5学时
第3节 F2FS文件系统解析 0.5学时
第4节 EROFS文件系统解析 0.5学时
第5节 NFS文件系统解析 0.5学时
第6节 分布式文件系统Ceph解析 0.5学时
第九章 网络管理 武延军
第1节 内核网络栈协议 2学时
第2节 网络数据在内核中的传递 1学时
第3节 Netfilter和BPF的原理和实现 1学时
第十章 内核虚拟化 武延军
第1节 虚拟化基础 1学时
第2节 QEMU 1学时
第3节 KVM 1学时
第4节 容器 1学时
第十一章 操作系统扩展 武延军
第1节 机器人操作系统ROS 1.5学时
第2节 机器人抓取与SLAM 1.5学时
第3节 机器人操作系统实验展示与讲评 3学时
第十三章 进程实验讲评 武延军
第1节 进程实验讲评 3学时
第十四章 期末考试 武延军
第1节 随堂开卷考试 3学时

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

参考书
1、

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