操作系统原理课件chap01a

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

北京大学计算机科学技术系PekingUniversityDepartmentofComputerScience&TechnologySpring2003操作系统原理PrinciplesofOperatingSystem授课教师主讲教师:陈向群cherry@cs.pku.edu.cn辅导教师:胡建钧hujj@os.pku.edu.cn王俊wj@cs.pku.edu.cn夏星球xqxia@cs.pku.edu.cn朱伟zhuwei@os.pku.edu.cn网址:os.pku.edu.cn教材操作系统教程陈向群杨芙清北京大学出版社Windows内核实验教程陈向群等机械工业出版社参考教材现代操作系统陈向群等译机械工业出版社Windows操作系统原理机械工业出版社操作系统教程王素华人民邮电出版社计算机操作系统教程张尧学史美林清华大学出版社计算机操作系统教程周长林左万历高等教育出版社操作系统基础屠立德屠祁清华大学出版社操作系统教程孟庆昌西安电子科技大学出版社参考教材计算机操作系统汤子瀛等西安电子科技大学出版社操作系统原理DOS篇张昆苍清华大学出版社ModernOperatingSystemAndrewS.TanenbaumOperatingSystemsWilliamStallingsOperatingSystemConceptAbrahanSilberschatz,etcAppliedOperatingSystemConceptAbrahanSilberschatz,etc课程形式主课,习题课,专题课,课堂讨论,作业上机实习学习要求:按时上课,认真听讲阅读参考书整理笔记思考,讨论,提问考试:笔试小考试(3次),期末考试成绩评定小考试,作业,上机实习,期末考试比例:小考试24%作业16%期末考试60%(含上机实习10%)课堂讨论5%(加分)组织结构4人一大组每一章总结每一章作业课上讨论2人一小组上机实习上机实习Windows内核实习7个小实习,1个大实习操作系统课程的特点:涉及面广(并行程序,性能问题,结构问题,程序方法论,软件工程,等等)实践性强(从实践总结出原理)错综复杂:纵横交叉如何学好操作系统?注意学习方式的变化教师只指出要点要通过自学、研读参考书掌握内容整理笔记相当重要不能只通过PowerPoint来复习课程善于发现问题、提出问题要努力寻求问题的答案绪论监控(督)程序(系统)(Monitor)执行系统(程序)(ExecutiveSystem(program))控制系统(程序)(ControlSystemprogram))管理程序(Supervisor,SupervisorySystem)核心程序(Kernel)操作系统(OperatingSystem)1.操作系统的名称2.操作系统做什么?#includestdio.hintmain(intargc,char*argv[]){puts(helloworld);return0;}用户告诉操作系统执行hello程序操作系统找到该程序,检查其类型检查程序首部,找出正文和数据的地址文件系统找到第一个磁盘块父进程需要创建一个新的子进程,执行hello程序操作系统需要将执行文件映射到进程结构操作系统设置CPU上下文环境,并跳到程序开始处程序的第一条指令执行,失败,缺页中断发生操作系统分配一页内存,并将代码从磁盘读入,继续执行更多的缺页中断,读入更多的页面操作系统检查字符串的位置是否正确操作系统找到字符串被送往的设备设备是一个伪终端,由一个进程控制操作系统将字符串送给该进程该进程告诉窗口系统它要显示字符串窗口系统确定这是一个合法的操作,然后将字符串转换成像素窗口系统将像素写入存储映像区视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)显示器发射电子束你在屏幕上看到helloworld程序执行系统调用,在文件描述符中写一字符串3.为什么学习操作系统?•设计操作系统或者修改现有的系统存在人们意识不到的大量“操作系统”嵌入式系统(EmbeddedOS)•加深对使用的OS的理解,有利于深入编程用户为了开发应用程序必须与操作系统打交道•编程时借鉴操作系统的设计思想和算法操作系统中所用的许多概念和技巧可以推广应用到其他领域•选择购买操作系统•我们并不总使用Win95/NT/2000/XP•涉及到计算机科学的很多领域计算机体系结构/硬件软件设计程序设计语言数据结构算法网络学习核心技术并能在其他地方应用之•抽象操作系统具有一种魔力(magic)提供了无限的CPUs无限的内存单一全球计算能力等等•思维方式的学习•大型、复杂系统的系统设计①性能与方便使用②性能与简单性③硬件与软件折衷权衡TradeOff操作系统是目前最复杂的软件成分(1)程序的执行负责启动每个程序,以及结束程序的工作(2)完成与硬件有关的工作(3)完成与应用无关的工作易于使用,基本服务,统一性(4)计算机系统的效率与安全问题4.操作系统的工作硬件相关:应用程序-----------------------虚机器界面操作系统-----------------------物理机器界面硬件假如没有操作系统?怎样将目标代码送给硬件?怎样输出打印结果?→人们将对二进制程序操作从二极发光管读答案应用软件与现实硬件之间的软件硬件抽象,可移植性有限变为无限(接近)提供保护OS硬件硬件相关(续1):指实现代码中包含存储器的物理地址,包含对设备接口寄存器和设备接口缓冲区的读写等等实现该工作的过程代码和硬件因素密切相关,即需要设置与测试、使用物理地址、设备接口寄存器等等硬件相关必然复杂繁琐、代码量大硬件相关的工作,其实现代码不通用硬件相关(续2):由于操作系统承担了上述工作,在其之上的各类程序就没有必要直接同硬件打交道了。硬件改变时,操作系统相应变化即可,其他的程序不用作出改变硬件相关还表现在有关硬件的状态必定带来对应代码的变化与应用无关:是指这些工作是任何一个程序都需要的、最基本的工作它们具有共性,工作过程相同与具体应用无直接关系,即与用户所关心的应用目标无直接关系小结:操作系统做什么扩展的机器隐藏硬件细节向用户提供虚拟机,方便使用资源管理者时间空间基本目的1.介绍操作系统的基本概念、基本结构及运行环境2.介绍操作系统原理、设计方法和实现技术3.介绍操作系统的演化过程、发展研究动向、新技术以及新思想4.介绍各种有代表性的、典型的操作系统实例5.培养学生分析问题、解决问题的基本能力,培养创造型人才学习收获1.使学生对操作系统的基本概念、基本结构及运行环境有深入的认识,对操作系统这一课程有比较全面的把握2.使学生深入到操作系统内部,理解并掌握操作系统的基本原理、设计方法和实现技术3.使学生了解操作系统的演化过程、发展研究动向、新技术以及新思想,使学生具有透过变化看趋势、透过技术抓原理、把握学科发展脉搏的基本素质,为其今后在相关领域开展工作打下坚实的基础第一章操作系统概述•操作系统的基本概念•操作系统的特征•研究操作系统的几种观点•操作系统的技术发展过程•著名的操作系统•操作系统的分类•操作系统的功能一、操作系统的地位计算机系统由硬件和软件组成操作系统在硬件基础上的第一层软件是其他软件和硬件之间的接口游戏MIS。。。编译器命令解释器网络,数据库操作系统机器语言微程序物理设备操作系统设计者应用软件设计者应用软件设计者二、操作系统的定义操作系统是计算机系统中的一个系统软件,是一些程序模块的集合——它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效地运行有效:系统效率,资源利用率(如:CPU利用的充足与否,内存、外部设备是否忙碌)合理:公平与否,如果不公平则会产生“死锁”或“饥饿”方便:两种角度:用户界面编程接口三、操作系统的特征并发:在计算机系统中同时存在多个程序宏观上:这些程序是同时在执行的微观上:任何时刻只有一个程序在执行即微观上这些程序在CPU上轮流执行并行:(与并发相似,但多指硬件支持)操作系统特征(续)共享:操作系统与多个用户的程序共同使用计算机系统中的资源(共享有限的系统资源)操作系统要对系统资源进行合理分配和使用资源在一个时间段内交替被多个进程所用互斥共享(如音频设备)同时访问(如可重入代码,磁盘文件)资源分配难以达到最优化虚拟:一个物理实体映射为若干个对应的逻辑实体--分时或分空间。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率操作系统特征(续)CPU--每个用户(进程)的虚处理机存储器--每个进程都占有的地址空间(指令+数据+堆栈)显示设备--多窗口或虚拟终端随机性:操作系统必须随时对以不可预测的次序发生的事件进行响应如何考虑周密、设计适当操作系统特征(续)进程的运行速度不可预知:分时系统中,多个进程并发执行,“走走停停”,无法预知每个进程的运行推进快慢难以重现系统在某个时刻的状态(包括重现运行中的错误)性能保证:实时系统与分时系统相似,但通过资源预留以保证性能四、研究操作系统的几种观点作为软件来看的观点资源管理的观点进程的观点虚机器观点服务提供者观点1.作为软件来看的观点软件的特性外在特性:软件是种语言,是界面界面:使用方式(命令,系统调用等)内在特性:软件的结构a.由有几部分组成b.每个部分的功能c.部分之间的关系2.资源管理的观点操作系统---资源管理者硬件资源:CPU,内存,外部设备(I/O设备,外存,时钟,网络接口等)软件资源:硬盘上的文件,信息管理资源记录资源使用状况如哪些资源空闲,好坏与否,被谁使用,使用多长时间等合理的分配资源静态分配策略(在程序运行前分配,但效率不高)动态分配策略(在程序运行过程中何时用资源,何时分配。其缺点是会出现死锁)具体完成分配回收资源资源管理的目的实现资源共享提高资源利用率操作系统功能CPU(进程)管理存储管理文件管理设备管理作业管理处理机管理完成处理机资源的分配调度等功能(处理机调度的单位可为进程或线程)进程控制:创建、撤销、挂起、改变运行优先级等--主动改变进程的状态进程同步:协调并发进程之间的推进步骤,以协调资源共享;--交换信息能力弱进程通信:进程之间传送数据,以协调进程间的协作;--交换信息能力强,也可以用来协调进程之间的推进进程调度:作业和进程的运行切换,以充分利用处理机资源和提高系统性能;--未必是进程控制操作所引起(可能是时间片轮转、I/O操作)同一类型内的公平性、高效率(吞吐量大)、作业周转时间等存储管理存储分配与回收存储保护:保证进程间互不干扰、相互保密;如:访问合法性检查、甚至要防止从垃圾中窃取其他进程的信息地址映射(变换):进程逻辑地址到内存物理地址的映射内存扩充(覆盖、交换和虚拟存储):提高内存利用率、扩大进程的内存空间管理目标:提高利用率、方便用户使用、提供足够的存储空间、方便进程并发运行设备管理设备操作:利用设备驱动程序(通常在内核中)完成对设备的操作。设备独立性:提供统一的I/O设备接口,使应用程序独立于物理设备,提高可适应性;在同样的接口和操作下完成不同的内容(如FAXModem作为Windows上的打印机设备)设备分配与回收:在多用户间共享I/O设备资源虚拟设备:设备由多个进程共享,每个进程如同独占缓冲区管理:匹配CPU和外设的速度,提高两者的利用率(单缓冲区、双缓冲区和公用缓冲区)设备管理的目标是:方便的设备使用、提高CPU与I/O设备利用率信息管理文件存储空间管理:解决如何存放信息,以提高空间利用率和读写性能目录管理:解决信息检索问题。文件的属性(如文件名)、单一副本赋予多文件名文件的读写管理和存取控制:解决信息安全问题。系统设口令、用户分类、文件权限软件管理:软件的版本、相互依赖关系、安装和拆除等解决软件资源的存储、共享、保

1 / 115
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功