操作系统支持第九章1PPT资料.ppt
《操作系统支持第九章1PPT资料.ppt》由会员分享,可在线阅读,更多相关《操作系统支持第九章1PPT资料.ppt(80页珍藏版)》请在冰豆网上搜索。
构筑开放环境:
操作系统通过遵循相关技术标准的方式支持体系结构的可伸缩性和可扩展性,支持应用程序在不同平台上的移植和互操作。
9.1.2操作系统的功能,操作系统的核心任务:
管理计算机系统中的资源。
从资源管理的角度来看,作为资源管理器的操作系统对计算机硬件资源的管理主要体现在以下三个方面:
处理器管理存储器管理设备管理,、处理机管理:
处理机是最重要的硬件资源,因为所有软件的执行和系统功能的实现都依赖于处理机。
因此,能否充分发挥处理机的效能,是系统功能和性能的关键。
早期的计算机系统都是单用户、单任务系统。
(单用户、单任务系统运行时处理机的使用效率),现代的计算机系统广泛采用多任务机制支持多个程序或多个用户并行使用计算机。
在引入多任务机制后:
当一个作业需等待I/O等外部操作时,处理机转去执行另一个作业,从而实现多任务的并行执行。
操作系统则负责组织多个任务的并行执行,并负责解决处理机的调度、分配和回收等问题。
(多任务系统运行两道程序时处理机的使用效率),处理数据1,送到内存,处理数据2,送到输出设备,、存储管理:
按照冯诺依曼体系结构,无论是指令还是操作数,都存储在内存储器中。
因此存储系统的性能对系统整体性能的影响非常大。
随着现代计算机系统的存储系统层次结构的复杂化,操作系统担负的存储管理任务也越来越繁杂,尤其在多任务系统中。
(1)存储分配:
即根据程序的需要为其分配存储器资源,在方便存储器使用的同时,保证存储器的高利用率。
(2)存储共享:
允许主存中的多个任务或多个用户程序共享存储器资源,这一方面可以提高存储器的利用率,另一方面又便于多任务间的数据交换。
存储管理的任务:
(3)存储保护:
确保用户程序不会有意或无意地访问或破坏操作系统的关键代码和数据。
各个用户程序之间也需要相互隔离、互不干扰。
(4)存储扩充:
基于存储器的层次结构,存储管理需要为用户提供与实际物理内存空间不直接相关的逻辑编程空间,并在主存和辅助存储器的支持下实现逻辑地址空间与物理地址空间之间的映射与变换,方便用户的编程和使用。
、设备管理:
设备管理的主要任务是进行各类外围设备的调度与管理,协调各个用户提出的I/O请求,提高各I/O设备操作与处理机运行的并行性,提高处理机和I/O设备的利用率。
设备管理还需提供每种设备的设备驱动程序,向用户屏蔽硬件使用细节。
9.1.3操作系统的特性及其需要解决的问题,操作系统作为计算机系统的管理者,必须解决一系列复杂的管理问题。
而计算机系统运行的特性决定着操作系统的策略。
操作系统需要解决的问题:
并发性、共享性、随机性。
操作系统课程中将详细讨论,1、并发性:
为了提高系统资源利用率,多任务系统采用并发技术消除计算机系统中部件和部件之间的相互等待:
两个或两个以上的程序可以在同一时间间隔内同时执行,设备的输入输出操作和处理机执行程序可以同时进行。
因此并发性是操作系统的重要特征。
2、共享性:
多个并发执行的程序需要共享系统中的硬件资源和信息资源。
3、随机性:
在多道程序环境中,随机性是显而易见的:
用户发出命令或输入数据的时间相对于指令的执行时间是随机的,程序运行发生错误或异常的时刻是随机的,外部中断事件发生的时刻是随机的,一个程序由于等待资源而被暂停执行的时间也是随机的。
9.1.4操作系统的硬件环境(自阅),操作系统的管理功能只有在专门的硬件支持下才能充分保证系统工作的高效与安全。
1、处理机状态控制:
为了支持操作系统的特权,中央处理机需要知道当前执行的程序是操作系统代码还是一般用户程序代码。
为此,处理机中设置了状态标志。
大多数系统把处理机的状态划分为管理状态又称超级用户状态、管态或特权状态和用户状态又称目标状态、常态、目态或解题状态。
2、特权指令:
为了防止用户程序执行有关资源管理的机器指令从而破坏系统正常工作状态,在多任务环境中,通常把指令系统中的指令分为两类:
特权指令(PrivilegedInstructions)和非特权指令。
特权指令是只能由操作系统核心程序执行的机器指令,用于系统资源管理与程序执行控制等操作,如启动输入输出设备、设置系统时钟、控制中断屏蔽位、设置存储管理状态、加载程序状态字等。
3、寄存器访问权限:
计算机系统的中央处理机内设置了很多寄存器,包括用于暂存数据的通用数据寄存器和用于存放处理器的控制和状态信息的控制寄存器。
后者主要有:
程序计数器PC、程序状态字寄存器PWSR、指令寄存器IR等,也包括和系统存储管理、中断管理等相关的寄存器。
4、程序状态字和程序执行现场:
为了记录计算机系统当前的工作状态,需要专门设置程序状态字(PSW)用于控制指令的执行并存储与程序有关的系统状态。
程序状态字寄存器保存的信息通常包括以下几类:
(1)当前正在执行的指令地址这由程序计数器给出。
(2)状态条件码表示指令执行结果的状态特征,例如算术运算指令运行结果是否为零、是否有溢出、是否是负数等。
(3)处理机状态指明当前的处理机状态,如目态或管态,是否允许某类中断,是否处于中断嵌套状态,当前的存储保护状态等。
(4)控制标志能够影响某些指令执行方式的一些标志位。
5、中断机制:
现代的计算机系统都支持中断(异常)。
通过检测中断源并进行中断响应,中断机制提供了一种程序随机切换的方式。
通过响应硬件定时器中断,操作系统可以执行周期性的例行管理任务,例如进程调度。
这可以确保某个进程不会独占系统资源。
以中断方式实现处理机与外界进行信息交换的握手联络,能保证CPU与外设的并行工作。
计算机工作时可能发生软件或硬件故障,故障发生的时间相对于CPU的指令执行是完全随机的。
常见的硬件故障有掉电、校验错、运算出错等;
常见的软件故障有运算溢出、地址越界、使用非法指令等。
一旦发生故障,由CPU执行中断处理程序进行处理。
6、存储管理:
系统硬件通过存储管理部件支持操作系统实现多级存储体系和存储保护功能。
9.2调度(略),9.2.1进程9.2.2调度的层次9.2.3处理机调度的实现,9.3存储管理,分区式存储管理交换技术和分页技术,存储管理主要解决存储器的分配与回收,存储器地址变换,存储器扩充,存储器共享与保护等问题。
内容包括:
9.3.1分区式存储管理,早期的操作系统将内存空间简单地分为两个区域:
系统区和用户区。
操作系统使用系统区;
应用程序则装入到用户区,并使用用户区全部空间。
这种方式管理简单,但存储区缺少管理,浪费内存空间。
为了支持多个程序并发执行,现代操作系统引入了分区式存储管理。
内存被分为若干个区域,操作系统占用其中一个分区,其余的分区则提供给应用程序使用,每个应用程序占用其中一个或几个分区。
分区式存储管理机制分为:
固定(大小)分区和动态分区两种类型。
动态分区:
在进程申请内存空间时按其要求的容量分配内存,或根据进程的要求在其执行过程中动态改变分区大小。
分区存储管理的优点是易于实现,但缺点是容易造成空间浪费,产生碎片。
9.3.2交换技术和分页技术,根据程序的局部性原理:
在一个较短的时间间隔内,程序所访问的存储空间的90%集中在存储器地址空间的10%范围内。
交换技术正是利用了程序的局部性原理实现多任务并发环境中的存储管理。
交换过程由换入和换出两个过程组成:
换入过程将外存交换区的数据和程序代码换至内存,而换出过程将内存中的数据换到外存交换区中。
操作系统将暂时不执行的程序代码保存在外存中,并将这些进程排入进程请求的长期调度队列中。
队列中的一部分进程被调到主存中执行。
当由于输入/输出操作等原因使得存储器中无进程处于就绪状态时,操作系统将部分进程换出至外存,并排入中期队列。
腾出的内存空间则换入中期队列或长期队列中的一个可执行的进程。
进程管理,交换技术的优点是增加了并发运行的进程数目。
缺点是换入和换出操作增加了处理机的时间开销;
而且交换的单位为整个进程的地址空间,没有考虑程序执行过程中地址访问的统计特性。
交换技术和早期采用的覆盖技术一样,虽然都是从逻辑上利用外存扩大主存空间,但并没有将主存和外存组成一个有机的整体。
分页技术则是一种非常重要的存储管理策略虚拟存储器(简称虚存)。
在存储管理部件(MMU)的支持下,虚拟存储器技术可以彻底解决存储器的调度与管理问题。
下面重点介绍:
虚拟存储器.,9.4虚拟存储器,1虚拟存储器的基本概念2页式虚拟存储器3段式虚拟存储器和段页式虚拟存储器4虚拟的替换算法,9.4.1虚拟存储器的基本概念,1.什么是虚拟存储器虚拟存储器:
是一个容量非常大的主存储器的逻辑模型,不是实际的物理主存储器。
它借助于硬盘、磁盘等辅助存储器来扩大主存的虚拟容量,使之为更大或更多的程序所使用。
特点:
采用“主存+外存”层次结构,以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间。
虚拟存储器,关于地址与空间的若干名词:
实存地址(又称物理地址):
是由CPU地址引脚送出,用于访问主存的实际地址。
(对应主存物理空间)虚拟地址(又称逻辑地址):
由编译程序生成的,是程序的逻辑地址。
工作在虚拟地址模式下的CPU理解这些虚拟地址,并能够将它们转换成实际物理地址。
若虚拟地址字长为n位,则虚拟地址空间为:
2n。
因虚拟存储器的内容保存在磁盘上,故其地址空间的大小只受到辅助存储器容量的限制。
(对应为主存逻辑空间),主存+外存层次的地址变换映射方法和替换策略,也是基于程序局部性原理。
它们遵循的原则是:
把程序中最近常用的部分驻留在高速的存储器中。
一旦这部分变得不常用了,把它们交换回到低速的存储器中。
这种换入换出是由硬件或操作系统完成的,对用户是透明的。
力图使存储系统在性能上接近高速存储器、在价格和容量上接近低速存储器。
高速存储器,
(1)“Cache+主存”的存储结构,主要目的是解决主存的工作速度问题;
而“主存+外存”的存储结构,则是主要解决主存的存储容量问题(可编程空间问题)。
(2)在虚拟存储系统中,主存未命中的性能损失要远大于Cache系统中的Cache未命中的损失。
(因为外存与主存的速度差异达近千倍,而主存与Cache的速度差异仅10倍左右)因此,两种存储器的管理方案的实施细节也有差异。
高速存储器,“主存+外存”存储系统与“Cache+主存”存储系统的主要区别:
2.主存-外存层次的基本信息传送单位,主存-外存层次的基本信息传送单位,通常采用几种不同的方案:
段式、页式或段页式。
注意到:
Cache/主存之间的信息交换,一般只以数据块的形式进行,高速存储器,1、段式:
将程序按照逻辑结构划分成的多个相对独立部分(段),作为独立的逻辑单位。
把段作为基本信息单位在主存-外存之间传送和定位。
每段都有名称、段起点、段长等。
段式管理:
把主存按段分配的存储管理方式,称为段式管理。
高速存储器,各方案特点:
优点:
段的逻辑独立性使它易于编译、管理、修改和保护,也便于多道程序共享;
某些类型的段具有动态可变长度,允许自