1 / 27

北京大学计算机科学技术系 Peking University

北京大学计算机科学技术系 Peking University. 操作系统原理 Principles of Operating System. Department of Computer Science & Technology Autumn 2004. 授课教师. 主讲教师: 陈向群 cherry@cs.pku.edu.cn 辅导教师:欧阳图 oyt@os.pku.edu.cn 徐冬 xudong@os.pku.edu.cn 陶立波 taolibo@icst.pku.edu.cn 地点:理科 1 号楼 1435 网址: os.pku.edu.cn.

Télécharger la présentation

北京大学计算机科学技术系 Peking University

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 北京大学计算机科学技术系Peking University 操作系统原理 Principles of Operating System Department of Computer Science & Technology Autumn 2004

  2. 授课教师 主讲教师: 陈向群cherry@cs.pku.edu.cn 辅导教师:欧阳图oyt@os.pku.edu.cn徐冬 xudong@os.pku.edu.cn 陶立波 taolibo@icst.pku.edu.cn 地点:理科1号楼1435 网址:os.pku.edu.cn

  3. 教材操作系统教程 陈向群 杨芙清 北京大学出版社Windows内核实验教程 陈向群等 机械工业出版社 • 参考教材现代操作系统 陈向群等译 机械工业出版社Windows操作系统原理 机械工业出版社操作系统教程 王素华 人民邮电出版社计算机操作系统教程 张尧学 史美林 清华大学出版社计算机操作系统教程 周长林 左万历 高等教育出版社操作系统基础 屠立德 屠祁 清华大学出版社操作系统教程 孟庆昌 西安电子科技大学出版社

  4. 参考教材计算机操作系统 汤子瀛等 西安电子科技大学出版社操作系统原理DOS篇 张昆苍 清华大学出版社操作系统教程 孙钟秀主编 高等教育出版社操作系统原理技术与编程 蒋静 徐志伟 机械工业出版社 Modern Operating System Andrew S.TanenbaumOperating Systems William StallingsOperating System Concept Abrahan Silberschatz,etcApplied Operating System Concept Abrahan Silberschatz,etc

  5. 课程形式主课、习题课、专题课、课堂讨论作业、小论文、源代码分析、上机实习课程形式主课、习题课、专题课、课堂讨论作业、小论文、源代码分析、上机实习 考试:笔试小考试(3次,10月8日、11月5日、12月3日)期末考试 学习要求:按时上课,认真听讲阅读参考书整理笔记思考,讨论,提问

  6. 成绩评定小考试,作业,上机实习,期末考试 比例:小考试 24% 作业和小论文 16%期末考试 60%(含上机实习、Linux源代码分析10%)课堂讨论 5%(加分)

  7. 4人一大组 每一章作业 Linux源代码分析 课堂讨论 2人一小组 上机实习 1人 小论文 上机实习 Windows 内核实习 7个小实习,1个大实习 组织结构

  8. 课程目的 不是 如何使用操作系统 而是 理解操作系统如何工作 • OS工作方式 • OS内部算法和数据结构 • 设计OS 过程中的问题、解决方案和折中权衡

  9. 操作系统课程的特点 实践性强(从实践总结出原理) 涉及面广(并行程序,性能问题,结构问题,程序方法论,软件工程,等等) 错综复杂:纵横交叉 如何学好操作系统?Learn OS concepts by coding them!

  10. 注意学习方式的变化 教师只指出要点 要通过自学、研读参考书掌握内容 整理笔记相当重要 不能只通过PowerPoint来复习课程 善于发现问题、提出问题 要努力寻求问题的答案

  11. 绪论 1. 操作系统的名称 监控(督)程序(系统)(Monitor)执行系统(程序)(Executive System(program))控制系统(程序)(Control System program))管理程序(Supervisor, Supervisory System)核心程序(Kernel)操作系统(Operating System)

  12. 2. 操作系统做什么? #include <stdio.h> int main(int argc, char *argv[]) { puts("hello world"); return 0; }

  13.  用户告诉操作系统执行hello程序  操作系统找到该程序,检查其类型  检查程序首部,找出正文和数据的地址  文件系统找到第一个磁盘块  父进程需要创建一个新的子进程,执行hello程序  操作系统需要将执行文件映射到进程结构  操作系统设置CPU上下文环境,并跳到程序开始处  程序的第一条指令执行,失败,缺页中断发生  操作系统分配一页内存,并将代码从磁盘读入,继续执行  更多的缺页中断,读入更多的页面

  14. 程序执行系统调用,在文件描述符中写一字符串  操作系统检查字符串的位置是否正确  操作系统找到字符串被送往的设备  设备是一个伪终端,由一个进程控制  操作系统将字符串送给该进程  该进程告诉窗口系统它要显示字符串  窗口系统确定这是一个合法的操作,然后将字符串转换成像素  窗口系统将像素写入存储映像区  视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)  显示器发射电子束  你在屏幕上看到hello world

  15. 3.为什么学习操作系统? • 设计操作系统 或者 修改现有的系统 存在人们意识不到的大量“操作系统” 嵌入式系统(Embedded OS) • 加深对使用的OS的理解,有利于深入编程 用户为了开发应用程序必须与操作系统打交道 • 编程时借鉴操作系统的设计思想和算法 操作系统中所用的许多概念和技巧可以推广应用到其他领域 • 选择购买操作系统 • 我们并不总使用Win95/NT/2000/XP

  16. 为什么学习操作系统? • 涉及到计算机科学的很多领域 计算机体系结构/硬件 软件设计 程序设计语言 数据结构 算法 网络 学习核心技术并能在其他地方应用之

  17. 为什么学习操作系统? • 思维方式的学习 抽象 操作系统具有一种魔力(magic) 提供了无限的CPUs 无限的内存 单一全球计算能力 等等

  18. 为什么学习操作系统? • 大型、复杂系统的系统设计 ① 性能 与 方便使用 ② 性能 与 简单性 ③ 硬件 与 软件 折衷权衡 Trade Off 操作系统是目前最复杂的软件成分 • 应聘工作

  19. 4.操作系统的工作 (1)程序的执行 负责启动每个程序,以及结束程序的工作 (2)完成与硬件有关的工作 (3)完成与应用无关的工作 易于使用,基本服务,统一性 (4)计算机系统的效率与安全问题

  20. 硬件相关 应用程序 -----------------------虚机器界面 操作系统 -----------------------物理机器界面 硬件 假如没有操作系统?怎样将目标代码送给硬件?怎样输出打印结果? →人们将对二进制程序操作 从二极发光管读答案

  21. 硬件相关(续1) 指实现代码中包含存储器的物理地址,包含对设备接口寄存器和设备接口缓冲区的读写等等 • 实现该工作的过程代码和硬件因素密切相关,即需要设置与测试、使用物理地址、设备接口寄存器等等 • 硬件相关必然复杂繁琐、代码量大 • 硬件相关的工作,其实现代码不通用

  22. 硬件相关(续2) • 问题:哪一个简单、方便? 从文件读数据块 和 移动磁头、等待放置下 • 例子:软盘I/O操作 • 控制芯片NEC PD765有16条命令 • 每一条命令向一个设备寄存器装入长度从1 到9 字节的特定数据(读写数据、移动磁头臂、格式化磁道,及初始化、检测状态、复位、校准控制器及设备等) • 以READ为例:13个参数 要读取的磁盘块地址、磁道的扇区数、物理介质的记录格式、扇区间隙、对已删除数据地址标识的处理方法 • 操作结束时,控制器芯片在7个字节中返回23个状态及出错字段 • 软盘程序员还要保持注意步进电机的开关状态

  23. 硬件相关(续3) 由于操作系统承担了上述工作,在其之上的各类程序就没有必要直接同硬件打交道了。硬件改变时,操作系统相应变化即可,其他的程序不用作出改变 硬件相关还表现在有关硬件的状态必定带来对应代码的变化

  24. 应用软件与现实硬件之间的软件 • 硬件抽象,可移植性 • 有限变为无限(接近) • 提供保护 一台等价的扩展机器(虚拟机),比底层硬件更容易编程 OS 硬件

  25. 与应用无关 任何一个程序都需要的、最基本的工作 它们 具有共性、工作过程相同、与具体应用无直接关系(即与用户所关心的应用目标无直接关系)

  26. 课程基本目的 1.介绍操作系统的基本概念、基本结构及运行环境 2.介绍操作系统原理、设计方法和实现技术 3.介绍操作系统的演化过程、发展研究动向、新技术以及新思想 4.介绍各种有代表性的、典型的操作系统实例 5.培养学生分析问题、解决问题的基本能力,培养创造型人才

  27. 预期学习收获 1.使学生对操作系统的基本概念、基本结构及运行环境有深入的认识,对操作系统这一课程有比较全面的把握 2.使学生深入到操作系统内部,理解并掌握操作系统的基本原理、设计方法和实现技术 3.使学生了解操作系统的演化过程、发展研究动向、新技术以及新思想,使学生具有透过变化看趋势、透过技术抓原理、把握学科发展脉搏的基本素质,为其今后在相关领域开展工作打下坚实的基础

More Related