收藏 分享(赏)

高级计算机基础之操作系统.ppt

上传人:fmgc7290 文档编号:9329635 上传时间:2019-08-02 格式:PPT 页数:101 大小:284KB
下载 相关 举报
高级计算机基础之操作系统.ppt_第1页
第1页 / 共101页
高级计算机基础之操作系统.ppt_第2页
第2页 / 共101页
高级计算机基础之操作系统.ppt_第3页
第3页 / 共101页
高级计算机基础之操作系统.ppt_第4页
第4页 / 共101页
高级计算机基础之操作系统.ppt_第5页
第5页 / 共101页
点击查看更多>>
资源描述

1、101-54-1,1,第1章 操作系统,操作系统是现代计算机系统中必不可少的、最重要的基本系统软件。 操作系统不断地完善与发展,被人们形象地喻为 “管家”,即计算机系统的管理者。 操作系统管理和控制了计算机系统的所有软件和硬件资源,是现代计算机系统的灵魂和核心。 操作系统也为用户提供了一个方便、灵活、安全、可靠地使用计算机的工作环境,如果让现代用户去使用一台没有配置操作系统的计算机,那是难以想象的。,101-54-2,2,第1章 操作系统,软件技术基础课群“重在应用、兼顾理论”的指导思想,本章虽然涉及一些操作系统的基本理论,但不作详细的展开,对操作系统特别感兴趣的读者,可以参看有关的操作系统书

2、籍。 本章将主要介绍操作系统在软件中的地位,操作系统的形成、类型、管理功能(包括进程管理、存储管理、设备管理和文件管理)、操作系统与用户的接口等基本概念,最后简单介绍几种常用的操作系统。,101-54-3,3,1.1 操作系统的概念,什么是操作系统?通俗地讲,操作系统相当于计算机系统的“管家”,而这位“管家”的主人就是计算机用户。 计算机系统由两部分系统资源组成,即硬件资源和软件资源。 硬件资源通常包括中央处理单元(简称处理机或CPU)、存储器(内存、外存)和各种外部设备。 软件资源包括系统软件和应用软件,主要是指以各种文件形式存储的程序集合。,101-54-4,4,1.1 操作系统的概念,所

3、以对于操作系统这位“管家”而言,要管理的事务就是计算机的硬件和软件资源,然而不只是管理硬件和软件资源,更重要的是控制和调度好这些资源,最终为了一个目标:为计算机用户服务。所以计算机操作系统是方便用户、管理和控制计算机软硬件资源的系统软件(或程序集合)。,101-54-5,5,1.1.1 操作系统在软件中的地位,从软件方面来看,计算机软件可以分为系统软件和应用软件两大类。计算机操作系统自身是一种软件,它属于系统软件,且是最重要的、大型的系统软件之一。 操作系统是系统软件,却又不同于其它的系统软件。 系统软件大致可分为3类,即操作系统、语言处理系统和常用的例行服务程序。 操作系统是最底层的系统软件

4、,对于任何一个通用计算机系统来说,可以没有其它系统软件,但决不可以没有操作系统。,101-54-6,6,1.1.1 操作系统在软件中的地位,一台只有硬件的计算机称为计算机“裸机”,在每加上一层软件后,就变成了一台新的、功能更强大的计算机,称为计算机系统,也可称为“虚拟计算机”。 所以计算机软件的作用就是将原来的计算机改造成具有更强功能的计算机(虚拟计算机)。操作系统是加在计算机硬件上的第一层软件,带有操作系统的计算机像是在计算机“裸机”上扩充了一层“硬件”的一台功能更强的虚拟计算机。,101-54-7,7,图1-1 操作系统在计算机系统中的地位,1.1.1 操作系统在软件中的地位,101-54

5、-8,8,作为软件,计算机操作系统实际上是一个加在计算机硬件上的自动管理软件,在方便用户使用计算机的前提下,管理和控制计算机软硬件资源。 从操作系统为用户服务的角度看,操作系统是用户和计算机之间的接口,即用户必须通过它才能与计算机进行操作。 例如:DOS和UNIX操作系统在显示器屏幕上给出的是命令提示符和闪动的光标,用户可以用命令与计算机进行交流; Windows操作系统的显示器屏幕上有桌面、开始菜单等,通过桌面上各种图标或开始菜单的命令,用户可以打开各种对话框和窗体与计算机进行交流。,1.1.1 操作系统在软件中的地位,101-54-9,9,从操作系统管理资源的角度看,操作系统是计算机中各种

6、软硬件资源的管理者,负责资源的登记、状况的记录、分配、回收以及维护其完整性等,并控制和协调其工作。根据计算机软硬件资源存在状况,一般操作系统在资源管理方面分为4种,即处理机管理、存储管理、设备管理和文件管理。 从操作系统是管理者的角度看,操作系统是计算机技术和管理技术的结合,即设计操作系统既需要计算机知识也需拥有管理知识。,1.1.1 操作系统在软件中的地位,101-54-10,10,1.1.2 操作系统的形成,操作系统是由监控程序发展而来,其最早仅是为了管理计算机的硬件资源,特别是外部设备。 三种最基本的操作系统:多道批处理操作系统、分时操作系统和实时操作系统。 网络操作系统和分布式操作系统

7、也应运而生。,101-54-11,11,1.1.3 操作系统的类型,操作系统在形成过程中,逐渐形成发展有5类操作系统,这5类操作系统分别为:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。 1批处理操作系统 (Batch Processing Operating System)批处理操作系统也称批量系统或作业流处理系统。所谓批处理是指用户作业的成批输入并处理,即系统将作业一批一批地输入系统并暂存在外存中,组成一个后备作业队列,每次按一定的调度原则从后备作业中挑选一个或多个装入主机处理,作业完成后退出主机,作业的装入和退出均由系统自动实现。,101-54-12,12,1

8、.1.3 操作系统的类型,2分时操作系统(Time Sharing Operating System)安装有分时操作系统的计算机能为多个终端用户服务,同时可保证每个用户都能经常与计算机进行交互。分时操作系统的特点是计算机规定或制约用户,工作的主动权掌握在计算机手里。在分时系统中,要有给定的合理响应时间,时间片的大小在一定程度上取决于时间片的切换速度。所以在使用多用户分时系统时要注意操作系统厂商提供的最多用户数目。,101-54-13,13,1.1.3 操作系统的类型,分时操作系统与批处理操作系统的主要区别在于:在批处理系统中,一个作业可以长时间地占用CPU直至该作业执行完成;而在分时操作系统中

9、,一个作业只能在一个时间片内占用CPU,时间一到,系统将剥夺作业的CPU使用权,把CPU分配给其它的作业使用。所以分时操作系统具有以下基本特征。 多路性:多路性也是同时性,指将一台主机连接上若干台终端,系统按时间分片的原则为每个终端服务。,101-54-14,14,1.1.3 操作系统的类型,独占性:由于CPU处理的速度大大高于用户操作的速度,所以尽管CPU按时间分片为多个用户轮流服务,每个用户仍然感觉自己好像独占着计算机系统。 及时性:由于时间片很短,每个作业等待运行的时间不会很长,所以系统对每一个用户的输入请求能作出及时的响应。 交互性:分时系统中用户的操作方式是联机方式。即用户通过终端采

10、用人机会话的方式直接控制程序运行,所以在程序运行中,系统与用户可以及时进行广泛的人机对话。,101-54-15,15,1.1.3 操作系统的类型,3实时操作系统(Real Time Operating System)与分时操作系统正好相反,实时操作系统的工作主动权掌握在用户手里,特点是用户规定或制约计算机。实时操作系统追求的则是在尽量短的时间内完成用户所要求的工作或作出响应,不延误用户的工作要求。实时系统又分为实时控制系统和实时信息系统两种。,101-54-16,16,1.1.3 操作系统的类型,实时系统与分时系统的主要区别在于:实时系统一般是专用的,其交互能力比较差,只允许用户访问数量有限的

11、专用程序,但系统响应时间要求极高。而分时系统具有很强的通用性,有很强的交互功能,但响应时间可以稍长,以不超过用户的忍受范围为限。总的来说,批处理系统、分时系统和实时系统是操作系统的三种基本类型。而一个实用的操作系统可以是独立的一种系统,也可以是两两结合或三者兼而有之的通用操作系统。,101-54-17,17,1.1.3 操作系统的类型,4网络操作系统(Network Operating System)网络操作系统是在原来各自计算机操作系统的基础上,按照网络体系结构提供计算机网络管理、通信、资源共享、系统安全和多种网络应用服务。网络操作系统除了具有基本类型操作系统中所应具备的管理功能和服务功能外

12、,还具有网络管理和服务功能。,101-54-18,18,1.1.3 操作系统的类型,主要包括如下几点: 网络资源共享 网络通信 作业迁移,101-54-19,19,1.1.3 操作系统的类型,5. 分布式操作系统(Distributed Operating System)真正的分布式操作系统,其定义应为运行在不具有共享主存的多台计算机上,而在用户眼里却像是一台计算机。其运行的基础是一群联网的计算机,其行为像是一台虚拟的单处理计算机,用户不必关心计算机的资源在什么地方、什么时间工作以及资源如何调配等工作。分布式操作系统也是通过通信网络将物理上分布的具有自治功能的数据处理系统或计算机系统互联起来,

13、实现信息交换和资源共享、协作完成任务。,101-54-20,20,1.1.3 操作系统的类型,分布式操作系统的特征如下: 需要一个全局的文件系统 所有CPU上运行同样的内核,统一的管理和控制机构,进行优化的协调工作; 要有一个单一的、全局的进程通信机制,提供选择和优化本地和远地的资源利用; 有全局的保护机制。分布式操作系统是当今操作系统发展的一个重要方向,目前还不存在完全满足该定义的分布式操作系统,有些系统也只能称作半分布式系统,但已经开始研究一些原型机。,101-54-21,21,1.1.3 操作系统的类型,五大类型的操作系统,从面向用户服务的人机交互时效功能来看,与社会服务行业可作一些“类

14、比”: 批处理操作系统对用户的服务有点像批发商店; 分时操作系统的管理有点像零售商店; 实时操作系统的管理有点像24小时“全天候”服务的饭店或商店; 网络操作系统的管理有点像眼下时兴的“电视购物”或网上“电子商务”购物; 分布式操作系统的管理有点像新兴的社区服务公司或咨询公司。,101-54-22,22,1.2 操作系统的用户接口,所谓“作业”,就是用户让计算机干的一件事,类似日常工作中的“任务”,这件事可大可小、可多可少。通常我们的用户在使用计算机时看到的是操作系统的用户界面,也称为用户接口。具体地说:用户是通过命令(命令接口)或者程序(系统调用)向计算机发出请求,多个用户的请求以用户作业的

15、方式在后备存储设备中等待;当计算机收到用户请求后,利用操作系统提供的命令解释来调用相应的处理程序,有序有效地使用各种系统资源,完成用户作业的处理。,1.2.1操作系统的作业管理,101-54-23,23,1.2.1操作系统的作业管理,作业是由用户程序、数据及某种形式的控制所组成,是指用户在一次计算过程或在一次事务处理过程中,要求计算机系统所做工作的集合。操作系统作业管理的任务是为方便用户建立作业(或任务),组织调用系统内部资源执行,并在完成任务后将其撤销。一个作业的建立过程一般是作业的输入和系统建立起作业控制块的管理控制两个过程。作业输入方式主要有3种方式:脱机输入联机输入假脱机输入,101-

16、54-24,24,一个作业从进入系统到运行完成,通常要经历“进入”、“后备”、“运行”和“终止”四个阶段,相应地作业就有四种状态。 进入状态:当用户的作业通过某种输入方式将作业输入到外存上时,称此阶段为作业处于进入状态。 后备状态:当作业所需全部信息已输入到外存,由作业建立程序为之建立了作业控制块,并插入到后备作业队列中等待调度运行为止。把作业在后备队列上等待调度的状态称为后备状态。,1.2.1操作系统的作业管理,101-54-25,25,运行状态:作业调度程序从处于后备状态的作业队列中选出一个作业调入内存,并为之建立相应的进程后,由于此时的作业已具有独立运行的资格,如果处理机空闲,便可立即开

17、始执行,故称此时的作业进入了运行状态。 作业的运行状态又可进一步分为“就绪”、“执行”和“阻塞”三个基本状态。 终止状态:当作业的运行正常或异常结束时便自我终止,或被迫终止,此时作业便进入终止状态。处于终止状态的作业被作业终止程序回收其作业控制块并回收已分配给它的所有资源,作业随之消亡。,1.2.1 操作系统的作业管理,101-54-26,26,总体来说,作业由进入状态到后备状态的转换,是由作业建立程序完成的;从后备状态转变为运行状态是由作业调度程序完成的;而作业由运行状态自愿或被迫转变为终止状态,则是在有关作业终止的系统调用的作用下完成的。,1.2.1操作系统的作业管理,101-54-27,

18、27,操作系统的作业管理为用户提供了两类接口:一类是为一般用户提供的操作命令接口,包括联机的键盘操作命令和脱机的作业控制命令,简称命令接口;另一类是为编程人员提供的在程序模式下的系统调用接口,用它们来请求操作系统服务,简称程序接口。,1.2.1操作系统的作业管理,101-54-28,28,1.2.2操作系统的命令接口,操作系统是用户和计算机之间的接口。其中一类是为一般用户提供的操作命令接口,包括联机的键盘操作命令和脱机的作业控制命令或称为作业控制语言。操作系统的命令接口有两个基本任务, 判别和解释用户输入的操作命令,并将相应的命令操作转向对应的命令处理程序; 接收从操作系统传来的信息,然后通过

19、屏幕提示等方式提供给用户。总之,各种操作系统命令的功能基本类似,但具体格式各不相同,同时命令还有不少选择项参数,记忆使用比较麻烦。,101-54-29,29,1.2.2操作系统的命令接口,操作系统人机交互界面的功能应从以下几个方面去考虑: 实现高效的人机通信 改善计算机的可用性、可学性和有效性 支持3维及多媒体技术人的生活空间是3维的,头脑在进行思维时又可进入多维的空间。而当今计算机的屏幕是二维的。虽然通过图形用户界面已提供了一些仿三维的按钮等界面元素,但界面仍难以进行3维操作。需要有语音、图像和动画等多媒体支持。,101-54-30,30,1.2.3 操作系统的程序接口,操作系统的另一类接口

20、是为编程人员提供的在程序模式下的系统调用接口,用它们来请求操作系统服务,简称程序接口。操作系统的程序接口通常采用若干系统调用组成,也称为编程接口。,101-54-31,31,1.3 操作系统的管理功能,操作系统的用户接口起到了沟通用户和计算机系统的“桥梁”作用,但从操作系统是管理者的角度来说,其职能还必须管理计算机系统的软硬件资源。本小节将介绍操作系统这个“管家”的管理功能,即进程管理、存储管理、设备管理和文件管理。,101-54-32,32,1.3.1 进程管理(Process Management),处理机是操作系统管理的最重要的硬件资源之一。多道程序系统中处理机管理的主要任务是如何安排多

21、任务使用处理机,即如何把处理机合理的分配给多个任务使用。目前,大多数操作系统的设计都基于进程的概念,处理机的分配对象也大都是进程,因此处理机管理被归结为进程管理。进程是操作系统分配软件资源及硬件资源的基本单位,在多道程序环境下,多个进程并发运行,争夺处理机和共享其它有限的系统资源,因此进程管理是操作系统中最重要且最复杂的管理。,101-54-33,33,1.3.1 进程管理(Process Management), 进程的定义进程已经成为操作系统乃至并发程序设计中最核心的概念,它是对正在运行的程序的抽象,操作系统的其它所有内容都是围绕着进程展开的。进程至今没有一个统一的定义。许多学者从不同的角

22、度对进程下过各式各样的定义:,101-54-34,34,1.3.1 进程管理(Process Management),进程是程序的一次执行; 进程是可以与其它计算并发执行的计算; 进程是一个程序及其数据在处理机上顺序执行时发生的活动; 进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位; 进程是进程实体的一次活动。,101-54-35,35,1.3.1 进程管理(Process Management),一般被大家所公认的进程定义为:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是操作系统进行资源分配的单位。,101-54-36,36,1.3.1 进程

23、管理(Process Management), 进程的5大特征: 动态性 并发性 独立性 异步性 结构特性:进程控制块(PCB),101-54-37,37,1.3.1 进程管理(Process Management), 进程的状态操作系统给进程设置了三种状态,以代表进程生命周期存在的基本状态:即就绪状态、执行状态、阻塞状态。 就绪状态 执行状态 阻塞状态,101-54-38,38,1.3.1 进程管理(Process Management), 进程状态的转换,101-54-39,39,1.3.1 进程管理(Process Management),就绪、执行、阻塞是进程的三种基本状态。执行状态是

24、进程的物理运行,就绪状态和阻塞状态是进程的逻辑运行,宏观上它们都是活动的(即都处在运行之中)。(1)处于就绪状态的进程,在进程调度程序为它分配处理机后,进程由就绪状态变为执行状态,该进程运行。,101-54-40,40,1.3.1 进程管理(Process Management),(2)正在运行的进程,一当分配给它的CPU时间片用完,则进程变回就绪状态;若在执行过程中需要等待某一事件的发生(如请求访问某临界资源,而该资源正被其它进程访问,该进程只能等待这个资源的可用)而使正在执行的进程受阻,无法继续执行下去,则进程将变为阻塞状态。 (3)处于阻塞状态的进程,在其等待的事件已经发生或完成后,则进

25、程就由阻塞状态变为就绪状态。,101-54-41,41,1.3.1 进程管理(Process Management), 进程与程序的区别进程定义为程序在并发环境中的执行过程,它与程序有着完全不同的概念,但又密切相关,通过以下几点来对它们加以联系与区别:,101-54-42,42,1.3.1 进程管理(Process Management),(1)进程是动态的,而程序是静态的,即进程是程序的执行过程,而程序是指令的有序集合。 (2)程序是永久的,而进程是有生命周期的,且是短暂的。 (3)程序是指令代码的集合,而进程实体包括:程序、数据及进程控制块。 (4)进程具有动态性、并发性、独立性和异步性等

26、,而程序不具有这些特性。 (5)进程可以生成其它进程,而程序不能生成新的程序,进程和程序并非一一对应。,101-54-43,43,1.3.1 进程管理(Process Management),总之,程序是静态的概念,而进程是动态的概念。程序可以长期保存,而进程是短暂存在的,它动态地产生、变化和消亡。程序和相应进程之间,有点像乐谱和相应演奏之间的关系,乐谱可以长期保存,而演奏是个动态的过程。,101-54-44,44,1.3.1 进程管理(Process Management), 线程自从进程概念产生以后,在操作系统中一直作为能独立运行的基本单位。但在程序并发执行时所付出的时空开销还较大,人们为

27、了进一步提高程序的并发执行程度,提高系统的吞吐量,提出了比进程更小的能独立运行的基本单位线程。,101-54-45,45,1.3.1 进程管理(Process Management),线程是由进程进一步派生出来的一组代码(指令组)的执行过程。一个进程可以产生多个线程,这些线程都共享该进程的内存地址空间,它们可以并发、异步地执行。采用线程可以使同一个进程能有几个并发执行的路径,执行速度得到了更大的提高,且线程需要的系统开销比进程要小。,101-54-46,46,1.3.1 进程管理(Process Management),线程拥有进程所具有的许多特征,故又称为轻型进程,故可以把进程称为重型进程。

28、下面从4个方面比较线程与进程。 (1)拥有资源 (2)调度 (3)并发性 (4)系统开销,101-54-47,47,1.3.1 进程管理(Process Management), 进程的控制和调度进程控制亦即进程管理,也就是对进程在整个生命周期中各种状态之间的转换进行有效的控制和管理。进程控制的主要任务是负责进程的创建、撤销以及实现进程之间的状态转换和进程通信等功能,这是操作系统的基本功能,是由系统内核中的相应程序完成的。,101-54-48,48,1.3.1 进程管理(Process Management),由于处理机是个可以抢占方式使用的资源,即系统可以将处理机从正在运行的进程手中抢夺过来

29、给另一个进程,因此处理机的使用方式有两种:不可抢占方式与可抢占方式。后者的调度性能更好,是目前常用的一种。另外进程调度程序的运行频率很高,典型情况是几十毫秒一次。,101-54-49,49,1.3.1 进程管理(Process Management),目前常用的调度算法有先来先服务调度算法、优先级调度算法和时间片轮转调度算法等,这是3种基本的调度算法。现在也有些操作系统使用综合性的调度算法,如多级反馈队列调度算法等。,101-54-50,50,1.3.1 进程管理(Process Management),这里主要介绍这4种算法。 先来先服务调度算法 优先级调度算法 时间片轮转调度算法 多级反馈

30、队列调度算法,101-54-51,51,1.3.1 进程管理(Process Management), 进程的协调和通信在操作系统中进程之间不可避免地会有某种联系或通信,为使并发执行的进程能有条不紊地运行,系统必须对它们进行协调。在相互合作的进程之间,也往往需要交换一定的信息,这种在进程之间进行的信息交换,称为进程通信。由于进程合作与资源共享,使得并发执行的多个进程间产生互斥或同步的相互制约关系,即产生的间接制约关系和直接制约关系。 (1)间接制约关系 (2)直接制约关系,101-54-52,52,1.3.1 进程管理(Process Management),进程之间的信息交换称为进程通信,指

31、的是进程之间可以直接以较高的速率传输较多数据的信息交换方式。这种高级的进程通信方式的主要优点是:效率高和使用方便。下面主要介绍消息缓冲通信、信箱通信和管道通信3种方式。 消息缓冲通信 信箱通信 管道通信,101-54-53,53,1.3.1 进程管理(Process Management), 死锁计算机系统中的各种资源(硬件和软件))都是由操作系统进行管理和分配的。进程所需要的资源是在进程运行时根据实际需求来分配的,也就是根据进程执行情况动态地申请资源。在多道程序系统中,计算机系统的有限资源与众多请求分配资源的进程之间会产生矛盾,如果管理和分配不当会引起进程相互等待所需资源而无法继续执行的情况

32、,在某种条件下,这种等待永远不能结束,系统进入“停止”状态,这种情况称为死锁。,101-54-54,54,1.3.1 进程管理(Process Management),死锁最终可能导致整个系统处于瘫痪,因此,死锁是操作系统设计中必须认真考虑的问题。,101-54-55,55,1.3.2 存储管理(Storage Management),现代计算机系统一般把存储器分为内存、外存和高速缓存3种。内存也即主存储器,容量一般要比外存小得多,但是进程驻留与活动的地方,一直以来与处理机的地位类似,也是计算机系统中对系统性能影响很大的瓶颈资源之一。外存是程序和数据可以长期保存在的地方,容量最大,但是程序只有

33、进入内存才能被处理机执行和处理。高速缓冲存储器只是处理机与内存之间的缓冲区域,它容量小,主要暂存系统当前用的某些关键数据和预取的指令等,不能存放完整的程序。,101-54-56,56,1.3.2 存储管理(Storage Management),如何让容量有限的内存被多任务安全高效地共享是现代操作系统存储管理的核心任务。计算机系统运行期间,操作系统程序(主要是其内核程序)与其它程序一起共享内存,为安全起见,多道程序系统常常由操作系统把内存初始化成一个系统区和一个用户区两大块。系统区用于存放操作系统的程序和数据;用户区则还要被操作系统继续划分,以供多个用户程序使用。不同的操作系统用不同的方法对用

34、户区进行划分。,101-54-57,57,1.3.2 存储管理(Storage Management),采用静态划分法的存储管理方式主要有:固定分区存储管理方式分页存储管理方式采用动态划分法的存储管理方式主要有:可变分区存储管理方式分段存储管理方式,101-54-58,58,1.3.2 存储管理(Storage Management), 操作系统的存储管理功能操作系统的存储管理必须具有以下4个功能: 内存分配与回收内存分配的主要任务是为每道程序分配内存空间,提高存储器的利用率,允许正在运行的程序申请附加内存空间,以适应程序或数据动态增长的需要。当内存中某个进程撤离或主动归还内存空间时,系统必须

35、及时回收它所占有的全部或部分的内存空间。,101-54-59,59,1.3.2 存储管理(Storage Management), 地址映射由于用户程序中使用的是逻辑地址,而处理机执行程序时要按物理地址访问内存,所以存储管理必须配合硬件进行地址转换工作,把一组逻辑地址转换成物理地址(即地址映射),以保证处理机的正确执行。地址映射有两种方式,即静态重定位和动态重定位。 内存共享与保护有共享才需要保护,有保护才能正确地实现共享,存储保护为多个程序共享内存提供了保证,存储保护确保多道程序都在各自分配到的存储区内工作,互不干扰。,101-54-60,60,1.3.2 存储管理(Storage Mana

36、gement),存储保护的工作由软件和硬件配合实现,操作系统把进程可访问的区域通知硬件,进程执行时由硬件检查是否允许访问,若允许则执行,否则产生“地址越界”中断,由操作系统的中断处理程序进行处理。对内存区域的保护可采取如下3种措施: 进程执行时对属于自己的内存区既可读又可写; 进程执行时对共享区域中的信息只能读不能写; 进程执行时对属于其它进程的非可共享的内存区既不可读又不可写。,101-54-61,61,1.3.2 存储管理(Storage Management), 内存扩充内存容量总是有限的。为了既满足大作业的存储要求,又能实现在内存中存放尽可能多的用户程序,系统常采用虚拟存储技术或其它自

37、动覆盖技术,逻辑上扩充内存容量,为用户提供比物理内存空间大得多的地址空间。简单地说内存扩充技术可以解决“小内存”运行“大作业”的问题,为用户提供一个比实际内存的容量大的虚拟存储器,起到了逻辑扩充内存空间的作用。,101-54-62,62,1.3.2 存储管理(Storage Management), 操作系统的存储管理方式操作系统的存储管理方式有许多,一般可分为实存模式和虚存模式两大类。采用实存模式的系统,要求进程运行时全部在内存;而虚存模式下进程运行时只需部分在内存。按照对内存划分策略的不同来分类,到目前为止使用的存储管理方式有4种类型:分区存储管理页式存储管理段式存储管理段页式存储管理,1

38、01-54-63,63,1.3.2 存储管理(Storage Management), 分区式存储管理分区式存储管理是由操作系统对内存进行分区,规定每个分区只能装入一个进程的存储管理方式,是一种连续分配方案。具体又可分为单一连续区、固定分区和可变分区存储管理等3种方式。 单一连续区存储管理是一种最简单的只有一个用户分区的存储管理方式。在这种管理方式下,内存中除操作系统占用的一部分存储空间外,其余的用户区域作为一个连续的分区每次分配给一个作业或进程使用,即在任何时刻内存中最多只有一个用户作业或进程。故单一连续区存储管理主要适用于单用户的情况。优点:简单易于实现,缺点内存利用率低,101-54-6

39、4,64,1.3.2 存储管理(Storage Management),固定分区管理方式是把内存中可分配的用户区域预先划分成若干个连续的分区,每个连续区的大小可以相同,也可以不同。但是,一旦划分好分区之后,内存中分区的个数就固定,且每个分区的大小也固定不变。这种分区法属于一种静态分区法。固定分区管理的优点是技术简单,易于实现。缺点是用固定分区方式管理内存时,由于很多作业的尺寸比所占用的分区尺寸小,因此造成这些分区内部有一部分空间闲置不用,这种分区内的空闲部分称为内碎片,严重影响了内存空间的利用率,即内存利用率不高。,101-54-65,65,1.3.2 存储管理(Storage Managem

40、ent),可变分区管理方式不是把作业装入已经划分好的分区中,而是在作业要求装入内存时,根据作业需要的内存容量和当时内存空间的使用情况决定是否可以装入该作业。当内存有足够的空间能满足作业要求时,则按作业需求量划出一个分区给该作业。由于分区的大小是按照作业的实际需求量来定的,故在作业占用的分区里没有内碎片。这种分区法属于动态分区法,分区的长度根据作业的大小而变。,101-54-66,66,1.3.2 存储管理(Storage Management),在可变分区管理方式的系统中,系统初始化时,内存中除操作系统占用的区域外,其余部分是用户空闲区。当有作业要装入内存时,从空闲区中划出一个与作业长度一致的

41、分区来装作业,剩余部分仍为空闲区。当某作业执行结束后,它所占的分区被收回,成为一个与被收回作业大小一致的空闲区。随着作业不断地进出内存,内存空间被分成了许多区,有的分区被占用,有的分区空闲。这样运行一段时间后,可能在许多被作业占用的分区之间出现一些无法装入任何作业的小的空闲区,这些小的无法装入任何作业的空闲区称为外碎片。,101-54-67,67,1.3.2 存储管理(Storage Management),分区管理小结:分区管理实现了多道程序共享内存,提高了CPU的利用率,管理算法简单,容易实现。但分区式存储管理的最大缺点是碎片问题严重,内存利用率低。而分区管理出现碎片的主要原因在于连续分配

42、的限制,即它要求每个作业或进程在内存中必须占用一个连续的分区,为了打破连续分配的限制,应运而生了页式存储管理方式。,101-54-68,68,1.3.2 存储管理(Storage Management),分页式存储管理 分页式存储管理的出发点是为了消除碎片而打破存储分配的连续性,使得一个作业的地址空间可以分布在若干离散的内存块上,从而充分利用内存空间,提高了内存利用率。页式存储管理的基本思想是结合固定分区管理方式和离散存储方式而产生的,可以基本解决碎片问题。它允许一个进程在内存中占有多个不连续的但是大小相等的区域,从而可以消除外碎片,而且内碎片也很少。分页式存储管理具体又分为实分页和虚分页两种

43、存储管理方式。,101-54-69,69,1.3.2 存储管理(Storage Management),实分页式存储管理的基本思想是:将整个系统的内存空间划分成一系列大小相等的块,每一块称为一个物理块、物理页或实页,也可称为页架或页帧,简称为块。每个进程的地址空间也划分成一系列与内存块一样大小的块,每一块称为一个逻辑页或虚页,也可称为页面,简称为页。当一个进程的总页数不大于内存中的可用块数时,系统就可以对它实施分配,在装入进程时,进程的一页分配内存的一块,进程的所有页所占的块可以在内存中不连续。系统同时为这个进程建立一个页号与块号的对照表,称为页表。,101-54-70,70,1.3.2 存储

44、管理(Storage Management),实分页式存储管理是一种实存模式下的存储管理方式,其最大优点就是内存利用率高,实现简单、程序运行快,实现过程对用户是透明的。不存在外碎片;最后一页中有部分空间未被利用,称为页内碎片。页式存储管理无外碎片,而且页内碎片也很少,是目前内存利用率较高的一种存储管理方式。在实分页式存储管理中一个进程必须一次同时装入内存,当内存中的块数小于进程中的页数时,则该进程就不能装入内存,即产生小内存不能运行大程序的问题,或同时并发执行的进程数将减少。,101-54-71,71,1.3.2 存储管理(Storage Management),虚拟页式存储管理把进程的一部分

45、装入内存进行运行,能同时使更多的进程进入内存,内存利用率得到提高,彻底解决小内存不能运行大程序的问题。虚拟页式存储管理技术也称为请求分页存储管理技术,其基本思想是系统自动地将进程的地址空间分页,将系统的内存空间分块,页与块大小相等。进程运行时,只在内存中装入初始需要的一部分页面,若运行中需要访问当前不在内存的页面时则会产生缺页中断,由缺页中断服务程序将所需的页面调入内存。虚拟页式存储管理中增加请求调入和置换页的功能,以实现虚拟存储管理。,101-54-72,72,1.3.2 存储管理(Storage Management),虚分页式存储管理实际上是实分页技术与虚拟存储技术相结合的产物,其分页思

46、想与实分页是一样的,但在请求调入和置换功能的实现上要比实分页技术复杂。采用虚拟页式存储管理方式时,进程是在一个比内存大得多的虚拟存储器中运行,即进程在运行时,不但在内存中,而且有一部分在外存中,解决了小内存运行大程序的问题。所以虚拟页式存储管理是目前最流行的内存管理方式,但实现较复杂,且程序运行速度较慢,这是虚拟页式存储管理方式的缺点。,101-54-73,73,1.3.2 存储管理(Storage Management),段式存储管理 段式存储管理方式是结合可变分区和离散存储的思想而产生的,它支持段的动态增长,便于实现段的共享。它对内存以作业地址空间中的段为单位进行动态分区,规定每一个段可以

47、装入内存中的一个分区,一个作业所有的段在内存中所占分区可以不连续,是一种支持用户分段(例如主程序段、子程序段、数据段等),即模块化编程的存储管理方式,得到了许多编译器的支持。段式存储管理可分为实分段式存储管理与虚拟段式存储管理两种方式。,101-54-74,74,1.3.2 存储管理(Storage Management),实分段式存储管理也即实模式的段式存储管理方式。其管理内存的思想与可变分区方式相似,段相当于可变分区管理中的作业,可能产生外碎片,离散存储方式又与分页管理相似。实模式的分段存储管理方式是当把作业从其地址空间全部装入内存时,以其地址空间中各个长度不一的段为单位进行动态分区,每个

48、段在内存占有连续区域,但一个作业所有段在内存中可以不连续。作业地址空间中的每个段与其所装入的内存连续区域的对应情况记录在段表中。段表记录一个作业的各个段与其所装入的内存区域的映射情况,每个段有一个表目,其中记录了该段在内存中的起始地址和段的长度。作业运行时,以动态重定位方式进行地址转换。,101-54-75,75,1.3.2 存储管理(Storage Management),在实分段式存储管理中段是有逻辑意义的,所以易于实现共享同一内存块里的程序或数据,即两个或以上的作业可访问同一个段。分段系统与分页系统有许多相似之处,它们都采用离散分配方式,都用硬件的动态重定位机构实现地址转换等,但它们在概

49、念上是不同的,从以下2个方面加以区分:页是信息的物理单位,页的内容通常无完整的逻辑意义;段是信息的逻辑单位,段的内容具有完整的逻辑意义;分页是静态的,而分段是动态的。页的大小固定,且由操作系统决定;段的长度不固定,决定于用户所写的程序,常由编译器根据信息的性质来划分;分页是为了节省内存,而分段是为了满足用户编程的需要。,101-54-76,76,1.3.2 存储管理(Storage Management),虚拟段式存储管理与虚拟页式存储管理相似,只是将页变化为段。其基本原理是作业运行前只需将主程序段装入内存,其它段仍在外存。当作业运行时所需访问的段如果不在内存,则将其动态调入,如果此时内存空间

50、不够,则可采用如下两种方法获取内存空间:紧缩,即将内存中所有空闲区合并;淘汰,即将内存中某段移出至外存。虚拟段式存储管理是实分段和虚拟存储技术结合的产物。其优点是:提高了运行效率,可以方便地按段共享、支持可变的数据结构;但所有分段方式的内存利用率都与可变分区方式的差不多,会产生外碎片。,101-54-77,77,1.3.2 存储管理(Storage Management), 段页式存储管理 段页式存储管理可以实现分段、分页管理的优势互补,方便用户,提高内存利用率。也就是将段式存储管理和页式存储管理结合在一起,保持二者的优点,克服二者的缺点,形成一种更佳的管理模式。段页式存储管理技术的基本思想是用分段的方法来管理虚拟存储器,用分页的方法来分配和管理实际存储器。这样既可以获得分段技术在逻辑上的优点,保持段地址空间所带来的好处;又可获得分页技术在存储空间管理方面的优点,即解决了碎片问题。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报