操作系统 ().ppt
《操作系统 ().ppt》由会员分享,可在线阅读,更多相关《操作系统 ().ppt(346页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章 计算机操作系统概述n1、操作系统概述n2、操作系统发展历程n3、操作系统分类n4、操作系统功能和特征一、操作系统概述n1、操作系统的几种观点n(1)用户观点n(2)资源管理观点n(3)进程观点n2、操作系统的定义n操作系统是位于硬件层之上,所有其它软件层之下的一个系统软件,他是这样一些程序模块的集合他们管理和控制计算机系统中的硬件及软件资源,合理的组织计算机工作流程,以便有效的利用这些资源为用户提供一个功能强、使用方便的工作环境,从而在计算机和用户之间起到接口的作用。用户1用户2用户n硬件操作系统应用程序n3、操作系统在计算机系统中的地位二、操作系统发展历程手工操作阶段批量处理阶段执行
2、系统阶段系统形成阶段早期批处理脱机批处理多道程序设计分时系统三、操作系统分类批量处理系统分时系统实时系统网络操作系统分布式操作系统1.单道批处理2.多道批处理1.实时控制类2.实时处理类四、操作系统的功能和特征n操作系统的功能n1、进程管理、进程管理n2、作业管理、作业管理n3、存储管理、存储管理n4、文件系统、文件系统n5、设备管理、设备管理n操作系统的特征n1、并发性、并发性n2、共享性、共享性n3、不确定性、不确定性n4、虚拟性、虚拟性作业n题一:在操作系统中引入并发可以提高系统效率,若有两个程序 A和B。 A程序执行时所作的工作按次序需要用:CPU:10秒、DEV1:5秒、CPU:5秒
3、、DEV2:10秒B程序执行时所作的工作按次序需要用:DEV1 :10秒、CPU:10秒、DEV2:5秒、CPU:5秒、DEV2:10秒1、如果在顺序环境下执行A、B两个程序,CPU的利用率为多少? 2、如果在并发环境下执行A、B两个程序,假设A程序先执行,则CPU的利用率为多少? 作业n题二:在有一台CPU和2台I/O设备I/O1、I/O2,且能够实现抢先式多任务并行工作的多道程序环境下,投入运行优先级由高到底的3个作业P1,P2,P3。他们使用设备的先后顺序和占用设备时间分别是: P1:I/O2(30ms)、CPU(10ms)、I/O1(30ms)、CPU(10ms)P2:I/O1(20)
4、、CPU(20)、I/O2(40)P3:CPU(30)、I/O1(20)假设在系统中仅有着3个作业投入运行,各设备的利用率指该设备的使用时间同作业进程组全部完成所占用最长时间的比率。在控制程序介入时间可以忽略不计的假设下,作业P1、P2、P3从投入运行到完成所用的时间分别是多少?3个作业从投入运行到全部完成,CPU、I/O1、I/O2的利用率分别是多少?A、30%B、40% C、50% D、60%A、99%B、89% C、79% D、69%第二章 进程管理第二章 进程管理n1、进程的概念及描述n2、进程控制n3、进程的互斥和同步n4、进程通信n5、进程死锁n6、进程的实例一、进程的概念和描述n
5、1、进程的引入n2、进程的定义n3、进程的描述n4、进程状态及其转换n程序的顺序执行n程序的并发执行n进程概念的引入程序的这种顺序执行过程可以描述为: Repeat IR Mpc pc pc+1 Until CPU halt其中,IR为指令寄存器;pc为程序计数器,M为存储器。n程序顺序执行的三个特点:n顺序性n封闭性n可再现性返回n即上一条指令的执行结束是下一条指令执行开始的充分必要条件,程序总是严格按照给定的指令序列顺序执行的。即使要改变执行顺序,也是通过程序本身的指令(如转移指令、循环指令等)来实现的。返回n程序一旦开始运行,就必然独占所有的系统资源,其执行结果由给定的初始条件决定,而不
6、会受到外界因素的影响。返回n这是指程序执行的结果与执行速度无关。也就是说,只要给定的初始条件相同,无论在什么机器上,在任何时间,以任何速度,多次重复执行程序都必然得到相同的结果。n这种单道程序系统环境下,系统资源是以程序为单位进行分配的,而且被获得了全部资源而运行的程序所独占,也就不存在资源共享、多个程序同时运行以及用户程序执行的随机性问题,操作系统的设计和功能也因此变得非常简单。但在这种系统中,资源利用率极低也是显而易见的。例:n如图所示。从时间上来看,该程序的执行过程中不可能使输入机、处理器、打印机同时处于忙碌状态,如输入数据时,处理器和打印机是空闲的,而在打印数据时,输入机和处理器又在空
7、等。返回n为了增强计算机系统的处理能力,提高资源利用率,我们可以让多个程序同时在系统中运行,这种多个程序的同时操作技术就称为程序的并发执行。 例n有A、B、C三个程序同时在系统中运行,我们可以让这三个程序按下图所示的顺序分时地占用CPU。程序A程序B程序C程序A程序B程序CCPU时间(t)宏观上程序并行执行微观上串行使用CPUn在多道程序系统中,程序的执行环境还具有n并发性 n随机性、n资源共享等特点。n即指系统中有多个程序同时执行。在单CPU系统中,多个并发执行的程序虽然从宏观上来看是并行执行的,但是从微观上来看,它们是分时、轮流地占用CPU时间,所以是串行的。返回n 在多道程序环境下,尤其
8、是在多用户环境下,程序和数据的输入与执行时间都是随机的。在实时系统中更是如此,系统必须在一个被允许的短时间内对随机的输入做出反应。返回n 任何一个计算机系统中的软、硬件资源数量总是有限的,这就要求系统资源允许被多个并发执行的程序所共享。 例:n设有堆栈S,栈指针top,栈中当前存放数据的情况如图(a)所示。设有两个程序段getdata(top)和reldata(x),其中getdata(top)是从top所指的栈顶中取出数据;而reldata(x)是将数据x存放到堆栈S中。这两个程序段可分别描述为:procedure procedure reldata(x)reldata(x)beginbeg
9、in t o p t o p top+1top+1 ( t o p ) ( t o p ) x xendendp r o c e d u r e p r o c e d u r e getdata(top)getdata(top)beginbegin local r local r r (top) r (top) top top-1 top top-1 return (r) return (r)endendn1、作业的状态及其转换4321toptop执行语句执行语句top top+1top top+1 top4321GetdataGetdata取数据失败取数据失败( a a )( b b )(
10、 c c )返回在某些情况下,程序的并发执行会使得程序顺序执在某些情况下,程序的并发执行会使得程序顺序执行时本应具有的封闭性和可再现性遭到破坏,造成行时本应具有的封闭性和可再现性遭到破坏,造成程序运行的结果出现错误。程序运行的结果出现错误。第三章 作业管理第三章 作业管理n1、作业与作业步n2、用户界面n3、交互式作业与批处理作业n4、作业调度n5、作业的实例一、作业和作业步从用户角度说,我们把用户要求计算机系统处理的一个问题称为一个作业,在一个作业处理过程中所相对独立的加工步骤就称为作业步。从计算机系统角度来看,作业是用户在一次“算题”过程中要求计算机所要完成工作的集合,系统通过作业说明书,
11、控制文件形式程序和数据进行各项处理,最后将执行的结果输出告诉用户。作业由程序、数据和作业说明书三部分组成。 二、用户界面n1、操作系统是用户和计算机之间的接口n2、系统调用的实现n3、用户界面 1、操作系统是用户和计算机之间的接口 用户接口通常分为命令接口和程序接口两类:n命令接口:即作业控制一级的各种操作命令。是指在用户和操作系统之间提供高级通信的基础上来控制一组程序的处理。用户可以通过输入一系列命令,告诉系统应该执行哪些功能。n)作业控制语言JCL。采用脱机方式时,用户上机前必须准备好用作业控制语言书写的作业申请书,操作说明书以及程序和数据等。系统根据作业申请书来分配作业所需资源。n)键盘
12、命令。用户通过终端输入键盘命令,向系统提出各种要求.。系统接受命令并解释执行该命令。n程序接口:又叫系统调用命令、源程序一级的接口。所谓系统调用是指用户在源程序一级调用操作系统的子功能。是操作系统提供给编程人员的接口。它管理和控制运行的程序,并为这些程序与系统控制的资源和提供的服务之间实现交互作用。返回2、系统调用的实现 系统调用命令按其功能大致可分为五种类型: 1)有关进程管理和控制; 2)有关外部设备的输入输出服务; 3) 有关磁盘管理; 4)有关文件管理; 5)有关存储空间的申请和释放。系统为了保证操作系统的安全及程序运行的正常,系统通常设置二种机器状态:管态和目态 当操作系统程序运行时
13、,机器处于管态; 当用户程序运行时,机器处于目态。 它们是可以改变的。因此,用户想在自己的程序中调用操作系统的子功能,就必须改变机器的状态。此时就必须要用到一种特殊的调用方式:访管方式。为了实现这种调用,系统提供一条自愿进管指令(访管指令),当CPU执行到这条指令时就发生中断,称为自愿进管中断(访管中断),它表示正在运行的程序对操作系统提出某种要求。此时就可以改变机器的状态,即由目态转为管态。为了使控制能跳到用户当前所需要的那个例行子程序去,就需要指令提供一个地址码,用这个地址码表示系统调用的功能号。它也是操作系统提供的例行子程序的编号。然后在访管指令中输入相应的号码,以完成用户当前所需要的服
14、务。因此,一个带有一定功能号的访管指令就定义了一条系统调用命令。它不由硬件来直接提供,而是由软件来实现的,也可说是由操作系统中的某段程序来实现的。亦可称为广义指令或系统宏指令。n系统调用的实现步骤: 1.设置系统调用命令所需的入口参数,安排一条调用命令,并给出对应的功能号。2.在执行调用命令时根据给定的功能号,由软件解释。 返回 3、用户界面n用户界面其实也是一种接口,用户通过用户界面来使用操作系统提供的各种服务。用户界面有一个发展过程:n1)命令行界面和编程人员在程序中的系统调用n用户使用计算机,第一步是要熟悉一整套操作命令,不同的操作系统其命令是不同的,操作员记忆及敲击键盘,命令的使用差别
15、很大,例如DOS和UNIX操作系统。多数命令行又设计有很多不同的控制功能。n2).图形界面n它以一种可视化的界面出现,非常方便用户操作使用计算机,在显示器上可以建立很多形象化的图标(icon),当用户要打开某一程序时,只需用鼠标点击就能达到目的 3).虚拟现实的界面虚拟现实(Virtual Reality,简称VR ),是以浸没感、交互性和构想为基本特征的计算机高级人机界面。他综合利用了计算机图形学、仿真技术、多媒体技术、入工智能技术、计算机网络计算机、并行处理技术和多传感器技术,模拟人的视觉、听觉、触觉等感官功能,使人能够沉浸于计算机生成的虚拟境界中,并能够通过语言、手势等自然的方式与之进行
16、实时交互,创建了一种适人化的多维信息空间。使用者不仅能够通过虚拟现实系统感受到客观物理世界中所经历的身临其境的逼真性,而且能够突破空间、时间和其他客观限制,得到在真实世界中无法亲身经历的体验。用户通过鼠标操作就好象用手去按“真实”的仪器一样,例如,可视电话和网络视频会议(NetMeeting)等。返回三、交互式作业和批处理作业n1、交互式作业n2、批处理作业 交互式作业又称为终端式作业或会话式作业。 在分时操作系统的环境下,用户在终端上利用键盘命令控制和监督作业的运行,而系统把作业运行的情况和结果也及时在终端上告诉用户。在一个兼顾分时操作和批处理的实际操作系统中,常把终端用户作业作为前台作业。
17、 交互式作业的特点主要是主要表现在交互性上,它采用人机对话的方式工作。 交互式作业的控制有两种,一种是操作使用接口,另一种是命令解释执行。返回 批量式作业有两种,即利用作业说明书实行自动控制方式的作业(脱机作业)和利用控制台键盘操作命令直接控制的作业称为联机作业。在一个兼顾分时操作和批处理的实际操作系统中,常把批量式作业称为后台作业。 批处理作业的控制包括如下步骤: 1、按用户提交的作业控制说明书控制作业的执行。 2、一个作业步的工作往往由多个进程的合作来完成。 3、一个作业步的工作完成后,继续下一个作业步的作业,直至作业执行结束。 返回四、作业的调度n1、作业的状态及其转换n2、作业调度的功
18、能n3、调度算法的影响因素n4、调度算法作业调度必须注意两个问题:()作业调度选取一个作业的必要条件是,系统现有未被分配的资源可以满足该作业的资源要求;()作业调度所选的作业只是有资格获得处理机,但并不一定能占有它并在其上运行。提交状态。又叫进入状态。将某作业从外部设备输入到外存的过程中,为其建立作业控制块JCB。由JCB在后备作业队列中排队,等待作业调度。后备状态。作业在后备作业队列中随时等待作业调度程序的调度。当作业将全部信息由输入设备进入辅存后,该作业处于后备状态。执行状态。由作业调度程序根据一定的策略从后备作业队列中挑选出若干作业,调入内存,并为其分配必要的资源。从而完成作业的各种活动
19、。完成状态。作业运行结束输出结果或由于发生错误而终止时,系统回收作业运行所占有的资源,包括回收JCB、该作业占用的资源和撤消作业控制块等,完全退出程序,此时作业完成运行。完成状态的结束,意味着该作业在系统内消失。返回n1、采用作业控制块(job control block,JCB)表格,记录进入系统的各作业的情况。n2、根据选定的调度算法,从后备作业中选出一部分(多道情况)或一个作业投入运行。n3、利用存储管理、设备管理和处理机管理的功能为被调度的作业分配运行所必须的资源,使被选中的作业有获得使用处理机的资格。n4、作业运行结束后回收作业所占用的系统资源及记帐等。 返回 1. CPU利用率 C
20、PU利用率CPU有效工作时间CPU总的运行时间 CPU总的运行时间为有效工作时间与空转时间之和。 2.吞吐量:吞吐量是指单位时间内平均完成的作业数。 吞吐量完成的作业道数完成的时间 3. 作业的平均周转时间 衡量作业调度的一个标准是作业的平均周转时间,作业的平均周转时间越短,系统的效率越高、吞吐能力越强。一个作业的周转时间是指该作业由提交到完成所花费的时间,即: 作业的周转时间作业完成时间作业提交时间 也可表示为: 作业的周转时间作业运行时间作业等待时间 而作业的平均周转时间是将全部作业周转时间累加起来再除以作业的个数。即: 作业平均周转时间()n4.作业的平均带权周转时间 n作业i的带权周转
21、时间n作业周转时间作业的运行时间n则作业的平均带权周转时间n()。返回n先来先服务调度算法(FIFO)。n该算法按作业进入作业后备队列的先后顺序来进行挑选,先来的作业优先被选中。 n最短作业优先(SJF)调度算法。n系统以要求运行的时间来衡量作业的长短。这种调度算法总是优先调度要求运行时间最短的作业作为下一次服务的对象。使用该算法时,系统首先要求用户对作业所需运行的时间预先做一个估计,并在控制说明书中注明。 n响应比高者(HRN)优先算法 响应比作业响应时间作业执行时间 (作业执行时间作业等待时间)作业执行时间n (作业等待时间作业执行时间)n优先数调度算法。n系统根据作业的计算时间、等待时间
22、、缓急程度及对资源的要求等为每个作业确定一个优先数,存放于作业控制块,优先数高的作业优先被调用。n事件驱动法。n每当发生一些事件就进入相应的调度程序工作。从用户角度看,若把作业定义为让计算机做一件事情,作业可由许多工作步协调完。 n例:假定在一个CPU上执行以下个作业, 作业号到达时间运行时间当分别采用FCFS、SJF和HRN三种调度算法时,试(1)画出调度图;(2)计算每个作业的周转时间和带权周转时间;(3)计算平均周转时间和平均带权周转时间。n解:调度图如下:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 201FCFS23451SJF2
23、5341HRN2354作业号作业号12345平均平均到达时间Ta02468运行时间Ts36452FCFS完成时间Tf331.0971.171392.2518122.4201268.62.56周转时间Tq带权周转时间Tq/TsSJF完成时间Tf331.0971.1715112.7520142.801571.57.61.84周转时间Tq带权周转时间Tq/TsHRN完成时间Tf331.0971.171392.2520142.801573.58.002.14周转时间Tq带权周转时间Tq/Ts返回五、作业的实例n1、LINUX系统n2、Win98系统nLinux系统中,一旦用户登录系统,作业也就形成,我
24、们曾经定义,作业是用户交给计算机的具有独立功能的任务。从用户登录系统到用户退出系统的整个过程,可以多次形成作业,用户每输入一条指令或运行一段程序都代表着一个作业步。n1Linux系统的Linux shell的使用nLinux的shell作为操作系统的外壳,也是用户和计算机操作系统内核间的一种接口。是命令语言、命令解释程序和程序设计语言的集合。用户通过它来使用操作系统提供的各种服务。Shell是一个命令语言解释器,拥有自己的内部命令集,也能被系统中应用程序和系统程序调用。n2利用Linux shell编制程序 n利用Linux系统可以编制各种复杂的程序,如配置系统、处理文件等,对于时间性要求不太
25、高与进程关系不大的作业,都可通过shell编程来实现。 返回nWindows 98中没有明显的作业概念,而只有任务、进程、线程的概念。任务通常由图标来表示,该图标连接着任务所对应的程序,通过点击图标可以启动任务的执行。返回第四章 存储管理n1、实用系统中的存储管理n2、存储管理概述n3、存储器的连续分配方式n4、存储器的离散分配方式n5、虚拟存储器管理一、实用系统中的存储管理n1、MS-DOS存储管理n2、Win98存储管理二、存储管理概述n1、基本概念n2、存储管理功能n3、地址重定位三、存储器的连续分配方式n1、单一连续分配n2、固定式分区分配方式n3、可变式分区分配方式四、存储器的离散分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统
限制150内