教学课件·操作系统.ppt

上传人(卖家):三亚风情 文档编号:3523479 上传时间:2022-09-11 格式:PPT 页数:315 大小:3.35MB
下载 相关 举报
教学课件·操作系统.ppt_第1页
第1页 / 共315页
教学课件·操作系统.ppt_第2页
第2页 / 共315页
教学课件·操作系统.ppt_第3页
第3页 / 共315页
教学课件·操作系统.ppt_第4页
第4页 / 共315页
教学课件·操作系统.ppt_第5页
第5页 / 共315页
点击查看更多>>
资源描述

1、操操 作作 系系 统统主讲教师:Operating System本章教学目标 了解操作系统的发展过程 掌握操作系统的定义和基本类型 熟悉操作系统的主要功能和特征第第1章章 操作系统概述操作系统概述本章主要内容 1.1 操作系统的概述 1.2 操作系统的发展 1.3 操作系统的分类 1.4 操作系统的特征 1.5 操作系统的基本功能1.1 操作系统的概述 1.1.1 计算机系统的组成1.1.1 计算机系统的组成 计算机系统组成 硬件系统 计算机硬件是指组成计算机系统的设备或机器,是“看得见,摸得着”的物理部件,它是组成计算机系统的基础。计算机硬件一般包括中央处理器(CPU)、内存储器、外存储器、

2、输入设备和输出设备,其中CPU与内存储器合称为主机,外存储器、输入设备和输出设备合称为外部设备。软件系统 计算机软件是指组成计算机系统的程序、数据和文档。程序是指令的有序集合;数据是信息在计算机中的表示,是计算机处理的对象;文档是各种说明文本,是软件操作的辅助性资源。系统软件:是支持和管理计算机硬件的软件,是服务于硬件的,它创立的是一个平台。系统软件包括操作系统、数据库管理系统、计算机编译语言和各种系统服务性程序。应用软件:应用软件是完成用户某项要求的软件,是服务于特定用户的,它满足某一个应用领域。应用软件包括计算机源程序和应用软件包。1.1.2 什么是操作系统 一、理解操作系统的三个观点 二

3、、操作系统的定义 一、理解操作系统的三个观点 从用户观点来理解,操作系统是用户与计算机之间的接口;从资源管理观点来理解操作系统是管理和控制计算机系统的软件、硬件资源;从程序控制观点来理解操作系统是对程序的管理。二、操作系统的定义操作系统的一般定义:合理组织计算机的工作流程合理组织计算机的工作流程 有效控制和管理计算机的各类资源有效控制和管理计算机的各类资源 方便用户使用的程序的集合方便用户使用的程序的集合总之,计算机配置操作系统的目的是提高总之,计算机配置操作系统的目的是提高资源利用率。资源利用率。1.2 操作系统的发展 推动操作系统发展的动力1不断提高资源利用率的需要 2方便用户操作 3硬件

4、的不断更新换代 4计算机体系结构的不断发展 1.2.1 无操作系统阶段 1.人工阶段 在20世纪50年代末期以前的第一代(19461955)计算机中,操作系统尚未出现,那里只是人工操作。操作员通过控制台上的各种开关来控制各部件的运行(如装入卡片或纸带、按电钮和查看存储单元等)。ENIAC计算机计算机(美国宾夕法尼亚大学)运算速度:运算速度:5000次/每秒 真空管:真空管:18000个 占地面积:占地面积:182平方米 重重 量量:130吨 功功 耗耗:140kW 50年代早期出现了穿孔卡片,程序写在卡片上然后读入计算机。但计算过程则依然如旧。早期计算机的工作,基本上采用人工操作方式:由操作员

5、将纸带(或卡片)装入纸带输入机(或卡片输入机),把程序和数据输入计算机,当程序行完毕,由用户取走纸带和计算结果后,才让下一个用户上机操作。人工操作方式具有以下特点特点:用户独占全机。CPU等待人工操作。串行性 人工操作方式具有以下缺点缺点:计算机的有效机时严重浪费 效率低 2.脱机输入脱机输入/输出输出 脱机输入/输出阶段的技术是为解决CPU与I/O设备之间的速度不匹配而提出的。它减少了CPU的空闲等待时间,提高了I/O速度。外围机输入设备输出设备输入作业输出结果主机脱机输入/输出 20世纪50年代末至60年代初,计算机进入第二代(19551965)。管理程序(能对计算机硬件和软件进行管理的调

6、度程序)。批处理程序,解决了作业间的自动转换。早期的监管程序和这种批处理软件称为初级操作系统。1.2.2 初级操作系统阶段 20世纪60年代,计算机进入第三代后19651980)。IBM System 360上运行的OS/360操作系统被认为是真正的(完整的)操作系统。多道程序设计技术,提高CPU的利用率,充分发挥并行性。1.2.3 操作系统形成阶段 第四代计算机系统发展时期(19801994),其上配置的操作系统称为现代操作系统。这一代最有代表性的操作系统是UNIX操作系统(分时系统)。1.2.4 现代操作系统阶段 1.3 操作系统的分类 批处理操作系统 分时系统 实时系统 网络操作系统 分

7、布式操作系统1.3.1 批处理系统 批处理系统主要是采用了批处理技术。批处理技术是指计算机系统对一批作业自动进行处理的一种技术。方式:单道批处理系统:原理和特点 多道批处理系统:原理和特点http:/ 在单道批处理系统中,内存中仅有一道作业,它无法充分利用系统中的所有资源,致使系统性能较差。为了进一步提高资源的利用率和 系统吞吐量,在60年代中期又引入了多道程序设计技术,由此而形成了多道批处理系统。在该系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享 CPU 和系统中的各种资源。http:/

8、 多道程序设计的基本思想:多道程序设计的基本思想:在计算机内存中同时存放若干道已开始运行且尚未结束的程序,它们交替运行,共享系统中的各种硬、软资源,从而使处理机得到充分利用。1.3.2 分时操作系统 概念:所谓分时系统就是采用了分时技术的操作系统。一台主机连接多台带显示器和键盘及控制器的本地或远程终端,每个用户可以在自己的终端按时间片轮流地以交互的方式使用主机,共享系统资源,典型代表UNIX系统。(OS成熟期)分时:两个或多个事件按时间的划分轮流使用计算机某一资源。时间片:系统规定进程一次使用处理机的最长时间 分时系统的特征 有多路性、独立性、及时性和交互性。1.3.3 实时系统 概念 实时系

9、统是指系统能及时响应外部事件的请求,在规定的时间内,完成对该事件的处理,并控制所有实时任务协调一致地运行。类型 实时控制系统 实时信息处理系统 实时系统的特征 有多路性、独立性、及时性、交互性和可靠性。1.3.4 网络操作系统 概念 网络操作系统用于管理网络中的各种资源,为用户提供各种服务。其主要功能有网络通信管理、网络资源管理、网络安全管理和网络服务等。功能 网络通信:这是网络最基本的功能。资源管理:对网络中的共享资源实施管理,使资源在各用户间合理的流通、使用。网络服务:主要有电子邮件服务,文件传输、存取和管理服务,共享硬盘服务等。网络管理:最基本的是通过各种方法实现网络安全管理,防止用户有

10、意或无意地对网络资源造成破坏。1.3.5 分布式操作系统 概念:分布式处理系统是指由多个分散的处理单元经互联网络的连接而形成的系统。在分布式系统上配置的操作系统称为分布式操作系统。特征 分布式系统最基本的特征是在处理上的分布,其实质是资源、功能、任务和控制都是分布的。还有并行性、共享性强,系统处理的透明度高、效率高以及易于维护等优点。1.4 操作系统的特征 1并发性并发性 在多道程序环境下,并发性是指两个或多个事件在同一时间间隔内发生,即宏观上有多道程序同时执行,而微观上,在单处理机系统中每一个时刻仅能执行一道程序。(并发、并行)2共享性共享性 共享是指系统中的资源可供多个用户或并发执行的进程

11、同时使用。3虚拟性虚拟性 是指通过某种技术把一个物理实体变成若干个逻辑上的对应物。如虚拟内存,虚拟处理机等 4异步性(不确定性)异步性(不确定性)也称不确定性,是指在多道程序环境下,允许多个进程并发执行,由于资源的限制,进程的执行不是“一气呵成”的,是“走走停停”的。1.5 操作系统的基本功能 操作系统是用户与硬件之间的桥梁,它主要负责管理计算机系统中的所有资源,并负责它们的调度和使用,充分发挥这些资源的作用和方便用户使用计算机。从资源管理的角度来看,操作系统的功能主要有 处理机的管理处理机的管理:协调系统中多个程序正确有效地占用处理机。存储器的管理存储器的管理:内存的分配与回收,程序相对地址

12、到绝对地址的转换,内存的共享与保护及逻辑扩充。设备的管理设备的管理:I/O设备的分配、共享、驱动调度和方便使用。文件的管理文件的管理:文件存储介质的管理,文件的存取、保护和共享等。接口管理接口管理:用户提供使用计算机的手段,命令接口和程序接口。本章小结本章小结 计算机系统由硬件系统和软件系统组成。软、硬件系统的组成就是计算机系统资源,当不同的用户使用计算机时都要占用系统资源并且有不同的控制需求。操作系统就是计算机系统的一种系统软件,由它统一管理计算机系统的资源并控制程序的执行。操作系统的形成过程:早期没有操作系统原始汇编系统管理程序操作系统,可以看到,操作系统是随着计算机硬件的发展和应用需求的

13、推动而形成的。按照操作系统提供的服务,大致可以把操作系统分为以下几类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。其中批处理操作系统、分时操作系统、实时操作系统是基本的操作系统。作 业 1、操作系统的定义2、操作系统的功能3、操作系统的基本类型4、操作系统的特征第二章 进程管理 2.1 进程管理 2.2 线程 2.3 作业管理 2.4 作业与进程的区别本章目标本章目标 理解和掌握进程的定义、状态、进程控制块和进程队列等知识。理解和掌握进程的调度算法。理解线程知识。理解作业管理和作业调度。2.1 进程管理 1.程序的顺序执行:程序在机器中严格按顺序执行并独占系统资源

14、;程序执行的速度与结果无关。v封闭性:程序一旦执行,其结果只取决于程序本身;v可再现性:机器在同一数据集上重复执行同样的程序,其结果相同v程序的并发执行:多个程序同时在一台计算机中运行,各程序不再独自占有所需资源,而是在轮流使用共享资源时相互制约,执行过程往往是走走停停,失去了封闭性和可再现性,但是却提高了资源利用率。2.1.1 程序的执行程序的执行2.并发执行输入第一批输入第二批输入第三批处理第一批处理第二批处理第三批输出第一批输出第二批输出第三批并发性。即指系统中有多个程序同时执行。在单个CPU系统中,多个并发执行的程序虽然从宏观上并行执行,但是从微观上来看,它们是分时,轮流地占用CPU时

15、间,所以是串行的。随机性。在多道程序环境下,尤其是在多用户环境下,程序和数据的输入与执行时间都是随机的。资源共享。任何一个计算机系统中的软、硬件资源数量总是有限的,这就要求系统资源允许被多个并发执行的程序所共享。进程与程序的关系 1.程序是静态的概念,进程是动态的概念;2.进程是一个能独立运行的单位,能与其他进程并发执行而程序则不能 3.程序和进程无一一对应的关系 4.各进程在并发执行中会产生相互制约,而程序本身是静态的,没有这种异步特征。进程进程是一个程序在一个数据集上的一次运行。2.1.2 进程概念的引入进程概念的引入进程的特征进程的特征 动态性:进程有一定的生命期,“它由创建而产生,由调

16、度而执行,由撤消而消亡”。并发性:多个进程并发执行。独立性:能独立运行、独立分配资源和独立调度的基本单位。异步性:进程按各自独立的、不可预知的速度向前推进,按异步方式运行。结构特征:进程实体包括程序段、数据集和进程控制块。2.1.3、进程的状态及其转换 进程的基本状态:就绪态、运行态、阻塞态。各状态的相互转换:就绪运行 运行阻塞 阻塞就绪 运行就绪等待某事件发生进程调度时间片到所等待事件发生运行运行就绪就绪阻塞阻塞2.1.4、进程控制块进程组成:进程控制块,程序段,数据集合。进程控制块 进程标识信息、说明信息、现场信息和管理信息(进程名、状态信息、调度优先权、通信信息、现场保护区、资源供求和分

17、配控制信息、族关系信息等)程序段 各种基本结构组成的指令集合 数据集合 各种类型的数据 PCB程序部分数据集合 PCB是进程存在的唯一标识思考题:为什么PCB是进程存在的唯一标识?提示:操作系统根据PCB对进程实施控制和管理;进程队列:将具有相同状态的PCB按一定的方式组织起来,构成的队列。分三种队列:执行队列、就绪队列、阻塞队列。2.1.5 进程队列执行队列头指针PCB4就绪队列头指针PCB2PCB3PCB5PCBn阻塞队列头指针PCB1PCB6-1-1图 PCB的各种队列 线性方式:线性队列 链接方式:链接表 索引方式:索引表线性表队列250036004800250025022504链接表

18、队列索引表PCB0PCB1PCB2 PCBn 内存中的专用区域2.1.6 进程控制进程控制 原语操作:机器指令编制的一段完成特殊功能的系统程序。进程控制的作用:系统对所有进程整个生命期的有效管理和控制。1、创建原语 2、撤销原语 3、阻塞原语 4、唤醒原语 1 创建原语创建原语 一个进程可借助于创建原语来创建一个新进程。创建一个新进程的主要工作是:申请一空闲PCB无空闲PCB,则创建失败;否则产生PID(进程标识)申请必要的资源初始化PCB插入就绪队列 2 撤消进程原语撤消进程原语找出被撤消进程的PCB该进程若正在执行,则终止该进行的执行该进程若有子进程,则撤消其所有子进程将该进程所拥有的全部

19、资源,归还给父进程或系统将被撤消进程的PCB从所在队列(或链表)中清除,放回到空闲PCB队列。3进程的阻塞原语进程的阻塞原语 正在执行的进程,当出现请求操作系统服务、启动某种操作、新数据尚未到达、无新工作可做等事件时,由于无法继续运行,于是自己便通过调用block原语,把自己阻塞起来。保存CPU现场置该进程的状态被阻塞进程入等待队列转进程调度。4进程的唤醒原语进程的唤醒原语 调度算法调度算法 先来先服务(FCFS)调度算法:这种调度算法是按照进程进入就绪队列的先后次序来选择可占用处理器的进程。时间片轮转:将所有的就绪进程按到达的先后顺序排队,并将CPU的时间分成固定大小的时间片,如果一个进程被

20、调度选中后用完了时间片,但并未完成要求的任务,则它将自行释放自己所占的CPU而重新排列就绪队列的末尾,等待下一次调度。优先级调度算法:为进程设置不同的优先级,就绪队列按进程优先级的不同而排列,每次总是从就绪队列中选取优先级最高的进程运行。2.1.7 进程调度进程调度2.2 线程 2.2.1 线程的概念 1.定义:线程是进程中的一个可执行实体,是系统进行调度和执行的基本单位。2.状态:就绪、运行、阻塞。3.线程与进程比较2.2.2 线程的种类与实现(了解)线程与进程的区别可以归纳为以下几点:1)地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可

21、见。2)通信:线程间可以直接读写进程数据段(如全局变量)来进行通信需要进程同步和互斥手段的辅助,以保证数据的一致性。3)调度和切换:线程上下文切换比进程上下文切换要快得多。4)在多线程OS中,进程不是一个可执行的实体。2.3 作业管理2.3.1 什么是作业和作业步 从用户角度说,作业作业是要求计算机系统处理的一个问题或一个事务处理过程中要求计算机系统所做工作的集合,包括用户程序、所需的数据及命令等。把计算机系统在完成一个作业过程中所做一些相对独立的工作称为作业步作业步。2.3.2 作业的状态作业的状态作业状态的相互转换时间片完等待某个事件发生等待事件结束等待就绪运行进 程 调度作 业 调度后备

22、状态后备状态作 业 提交完成状态完成状态作 业 调度运行状态运行状态2.3.3 作业调度作业调度1.处理器的两级调度处理器的两级调度(1)高级调度 高级调度又称为作业调度。其主要功能是根据一定的算法,把处于后备队列中的那些作业调入内存,分配必要的资源,并为它们建立相应的用户作业进程和为其服务的系统的进程(如输入/输出进程),然后将创建的进程送入就绪队列,等待进程调度程序对其执行调度,并在作业完成后作善后处理工作,回收系统资源。(2)低级调度 低级调度又称进程调度,这在前面我们已经介绍过。这里就不再重复讲述。2.作业调度 作业调度的主要功能是按照某种原则从后备作业队列中选取作业进入内存,并为作业

23、做好运行前的准备工作和作业完成后的处理工作。常见的作业调度算法有:(1 1)先来先服务()先来先服务(FCFSFCFS)(2)短作业优先()短作业优先(SJF)(3)响应比高者优先()响应比高者优先(HRN)(4)优先级法)优先级法2.4 作业与进程区别(1)作业是用户向计算机提交任务的任务实体任务实体。在用户向计算机提交作业后,系统将它放入外存中的作业等待队列中等待执行。而进程则是完成用户任务的执行实体执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在于内存内存中。(2)一个作业可由多个进程组成,且必须至少由一个进程组成,反过来则不成立。(3)作业的概念主要

24、用在批处理系统中,像UNIX这样的分时系统中就没有作业的概念。而进程的概念则用在几乎所有的多道程序系统中。本章小结本章小结 1、进程的引入、定义、进程控制块、进程状态及状态间的转换,进程调度算法。2、线程的概念 3、作业、作业步、作业状态、作业调度第3章 存储管理 本章学习目标 3.1 存储管理概述 3.2 连续分配存储管理方式 3.3 页式存储器管理 3.4 段式存储管理 3.5 段页式存储管理 3.6 虚拟存储器 3.7 请求分页存储管理 3.8 请求分段存储管理本章目标本章目标 理解与掌握存储管理的功能。理解与掌握单用户连续、固定分区和可变分区存储管理方式。理解与掌握页式存储管理方式。了

25、解段式、段页式存储管理方式。理解请求页式虚拟存储管理方式。本章学习目标 本章首先介绍了存储管理的研究对象和目的,明确了存储管理的基本功能和有关的基本概念;然后从实存和虚存两个角度,分别介绍了常用的几种存储管理方案;最后对各种存储管理方案存在的问题,主要是碎片和抖动问题进行了总结。本章的主要内容如下:(1)存储管理的目的和四大基本功能。(2)实存管理中讲述了固定分区存储管理、可变式分区存储管理、纯分页存储管理三种存储管理方案的实现原理(3)虚存管理以请求式分页存储管理为重点 (4)总结各种存储管理方案中存在的碎片和抖动问题及解决方法3.1 存储管理的概述 3.1.1 存储器的层次结构 3.1.2

26、 存储管理的功能 3.1.3 地址重定位 多级存储器体系示意图多级存储器体系示意图3.1.1 存储器的层次结构内存空间的分配和保护。内存储器中允许同时容纳各种软件和多个用户程序时,必须解决内存空间如何分配以及各存储区域内的信息如何保护等问题。内存空间的重定位。配合硬件做好地址转换工作,把一组逻辑地址空间转换成绝对地址空间,以保证处理器的正确执行。内存空间的共享。在多道程序设计的系统中,同时进入内存储器执行的作业可能要调用共同的程序。内存空间的扩充。提供虚拟存储器,使用户编制程序时不必考虑内存储器的实际容量,使计算机系统似乎有一个比实际内存储器容量大的多的内存空间。3.1.2 存储器的功能1程序

27、的装入(1)绝对装入方式。也称直接分配方式。这种方式指程序在编写程序或编译程序对源程序编译时采用实际存储地址。采用这种方式,必须事先划定作业的可用空间,因此这种绝对装入方式的存储分配,存储空间的利用率不高,对用户使用也不方便。(2)可重定位方式。也称静态分配方式。在将作业装入内存时才确定它们在内存中的位置。也就是说,存储空间的分配是在作业装入内存时实现的。采用这种装入方式,在一个作业装入时必须分配其要求的全部存储量;如果没有足够的存储空间,就不能装入该作业。此外,作业一旦进入内存后,在整个运行过程中不能在内存中移动,也不能再申请内存空间。这种装入方式实际上就是静态重定位静态重定位。(3)动态运

28、行时装入方式。3.1.3 地址重定位2地址重定位基本概念地址重定位基本概念(1)逻辑地址)逻辑地址 一个应用程序经编译后,通常会形成若干个目标程序,这些目标程序再经过连接而形成可装入程序。这些程序的地址都从“0”开始的,程序中的其他地址都是相对于起始地址计算;由这些地址所形成的地址范围称为地址空间,其中的地址称为逻辑地址逻辑地址或相对地址。(2)绝对地址)绝对地址 当用户把作业交给计算机执行时,存储管理就为其分配一个合适的内存空间,这个分配到的内存空间可能是从“A”单元开始的一个连续地址空间,称为“绝对地址”空间,其中的地址称为物理地址或绝对地址。(3)地址重定位)地址重定位 由于逻辑地址经常

29、与分到的内存空间的绝对地址不一致,而且对于每个逻辑地址在内存储器中也没有一个固定的绝对地址与之对应。因此,不能根据逻辑地址直接到内存储器中去存取信息。由于处理器执行指令是按绝对地址进行的,为了保证作业的正确执行,必须根据分配到的内存区域对它的指令和数据进行重定位,即把逻辑地址转换成绝对地址。把逻辑地址转换成绝对地址的工作称为地址转地址转换换或地址重定位地址重定位或地址映射地址映射。3静态、动态重定位静态、动态重定位 重定位的方式可以有静态定位静态定位和动态定位动态定位两种。(1)静态重定位)静态重定位 静态重定位在装入一个作业时,把作业中的指令地址和数据地址全部转换成绝对地址。由于地址转换工作

30、是在作业执行前集中一次完成的,所以在作业执行过程中就无需进行地址转换工作。这种定位方式称静态重定位静态重定位。(2)动态重定位)动态重定位 动态重定位是在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址。由于重定位过程是在程序执行期间随着指令的执行逐步完成的,故称为动态重定位动态重定位。150011001250作业地址空间存储地址空间0LOAD 1,25031002505001000LOAD 1,12503图3.3 动态重定位过程重定位寄存器具+逻辑地址作业地址空间存储地址空间0LOAD 1,25031002505001000LOAD 1,1250311001

31、25015002501000(b)采用动态重定位时内存空间及地址重定位示意图(a)采用静态重定位后的内存空间 静态地址重定位和动态地址重定位示意图静态地址重定位和动态地址重定位示意图3.2 连续分配存储管理方式 3.2.1 单用户连续存储管理 3.2.2 固定分区存储管理 3.2.3 可变分区存储管理1.单用户连续存储管理单用户连续存储管理 单用户连续存储管理方式是一种最简单的存储管理方式,它只能用于单用户、单任务的操作系统中。在这种管理方式下操作系统占了一部分内存空间,其余剩下的内存空间都分配给一个作业使用,即在任何时刻内存储器中最多只有一个作业。3.2.1 单用户连续存储管理单用户连续存储

32、管理示意图用户区作业队列cb0aOS区用户作业空闲区CPU界限寄存器a作业1 作业2 覆盖技术示意图cb0aOS区覆盖区1驻留区用户区D可覆盖的段覆盖区2主程序段DCAB2.覆盖(覆盖(Overly)技术)技术 所谓覆盖覆盖就是指一个作业中的若干程序段和数据段共享内存的某个区域。其实现的方法是将一个大的作业划分成一系列的覆盖(程序段),每个覆盖是一个相对独立的程序单位,执行时并不要求同时装入内存的覆盖组成一组,并称其为覆盖段,将一个覆盖段分配到同一存储区域。3.交换(交换(Swapping)技术)技术 交换(对换)技术就是把暂时不用的某个程序或数据部分(或全部)从内存移到外存中去,以便腾出必要

33、的内存空间;或把指定的程序或数据从外存读到相应的内存中,并将控制权转给它,让其在系统上运行的一种内存扩充技术。内存外存交换交换示意图 固定分区存储管理是在作业装入前,内存用户区被划分成若干个大小不等连续区域,每一个连续区称为一个分区,每个分区可以存放一个作业。一旦划分好后,内存储器中分区的个数就固定了。各个分区的大小可以相同,也可以不同,每个分区的大小固定不变,因此,也把固定分区称为静态分区。各分区的使用情况,用“分区分配表”来说明。3.2.2 固定分区存储管理固定分区存储管理示意图e作业队列b0aOS区CPU上限寄存器d作业1 作业2c3下限寄存器正运行作业分区分区1分区2分区3空闲区d分区

34、号起始地址长度占用标志1aL102bL203cL31分区分配表分区分配表 下限地址绝对地址块号 页内地址p页表始址 页表长度bmnbd物理地址越界中断页号 页内地址逻辑地址pdCPU+3.3.3 快表具有快表地址变换机构示意图快表页号 块号b页表块号 页内地址p页表始址 页表长度页表寄存器bmnbd物理地址越界中断页号 页内地址逻辑地址pd输入寄存器内存 分页式存储管理把内存储器的可分配区域按页面大小分成若干块,分配内存空间按块为单位。可用一张内存分配表来记录已分配的块和尚未分配的块以及当前剩余的空闲块数。由于块的大小是固定的,所以可以用一张“位示图”来构成内存分配表。3.3.4 分页式存储空

35、间的分配与回收0310/10/1 0/1 0/1 0/10/1 0/1 0/1 0/1 0/1剩余块数0/10/10/10/10/10/1分页存储管理内存分配表 分页存储管理能方便地实现多个作业共享程序和数据。页的共享可节省内存空间,但实现信息共享必须解决共享信息的保护问题。通常的办法是在页表中增加一些标志,指出该页的信息可读/写、只读、只可执行等等。3.3.5 页的共享与保护第100块第200块内存作业1页表页号 标志块号0只执行 1001读/写2002读/写3003只读30作业2页表页号 标志块号0只执行 1001读/写2322读/写4243读/写5684只读200共享程序共享数据 目前,

36、大多数计算机系统都支持非常大的逻辑地址空间。在这样的环境下,页表就变得非常大,要占用很大的内存空间。而且页表还要求存放在连续的存储空间中,显然这是不现实的,可以采用以下两种途径解决这一问题。(1)对页表所需的内存空间,采用离散的分配方式;(2)只将当前需要的部分页表项调入内存,其余的页表项当需要时再调入。3.3.6 两级和多级页表两级页表:两级页表:对于支持32位逻辑地址空间的计算机系统可以采用两级页表。就是将页表再分页,形成两级页表,。比如当一个32位系统的页大小为4KB,那么逻辑地址被分为20bit的页号和12bit页内地址。如果采用两级页表结构,对页表进行再分页,使每个页中包含1024个

37、页表项,最多允许有1024个页表分页,或者说,外层页表中的外层页内地址p2为10位,外层页号p1也为10位。多级页表多级页表:两级页表结构适合32位的机器,但是对于64位机器,两级页表结构就不再合适了。外层页号外层页内地址页内地址31 2221 1211 0p1p2d两级页表地址结构3.4 段式存储管理 3.4.1 引入的原因 3.4.2 段式存储管理基本思想 3.4.3 地址变换机构与存储保护3.4.1 引入的原因 在分页存储管理中,用户程序的地址空间是从0开始编址的单一连续的逻辑地址。虽然操作系统可把程序划分成若干个页面,但是页面与源程序无逻辑关系,也就难以实现对源程序以模块为单位进行分配

38、、共享和保护。在段式存储管理中,段是一组逻辑信息(独立信息段)的集合。在单纯的分页存储管理中,这些信息都混在一起,并统一编址,显然,分页系统并不是编程人员愿意接受的信息组织方式。因此按照信息原有的方式组织数据是必要的,也是支持高级语言必要的。3.4.2 段式存储管理基本思想 在编制程序时每一段都可独立编制,每一段的逻辑地址都是从“0”开始编址,每段的长度不一定相同,形成了段内地址是连续段内地址是连续的,而段与段之间的地址是不连续段与段之间的地址是不连续的。当作业被装入内存储器时,以段为单位为作业的每一段分配一个连续的内存区域,各段之间也可不必连续,分配方法同可变分区方式。装入作业时,用一张段表

39、记录该作业每个分段在内存中起始地址和长度。31 16 15 0段号S段内地址d段式存储管理地址结构段式存储管理原理图作业空间040K120K160K200K210段长 基址8KB10KB5KB18KB120K160K200K40KS0段号3S1S2S3内存空间S0 18KBS2 10KBS3 5KBS1 8KB段表3.4.3 地址变换机构与存储保护1.地址变换机构地址变换机构段式地址变换过程0段号 段长 基址pp-1段表内存段表始址 段表长度段表寄存器m fsn物理地址越界中断段号 段内地址逻辑地址pdCPU2.共享与保护共享与保护 段是信息的逻辑单位,段式存储管理方式可以方便地实现内存的信息

40、共享,并进行有效的内存保护。段式存储管理的保护主要有地址越界保护和存取方式控制保护。段的共享200K400K100K200K内存作业1段表段长 标志始址200K 只执行 100K100K 读/写200K300K 读/写300K400K 只读50K作业2段表段长 标志始址200K 只执行 100K200K 读/写232K320K 读/写424K100K 读/写568K400K 只读200K共享程序共享数据始址 段长(1)页是信息的物理单位,分页是由于系统管理的需要。段是信息的逻辑单位,它含有意义相对完整的信息(程序段或数据段等)。分段的目的是为了更好的满足用户的需要;(2)页的大小是固定并且由系

41、统决定,段的长度不定,取决于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分;(3)页式在存储管理中的逻辑地址空间是一维的,段的逻辑地址空间是二维的;(4)页式存储管理的优点是在管理内存空间上,而段式存储管理的优点是在管理逻辑地址空间上。3.段式与页式存储的区别段式与页式存储的区别 3.5 段页式存储管理 3.5.1 段页式存储管理原理 3.5.2 地址变换3.5.1 段页式存储管理原理段页式存储管理原理 段页式存储管理基本原理是分段和分页相结合。内存采用分页存储管理方式,将内存划分成大小相等的物理块,用户程序的逻辑地址空间采用分段方式,按程序的逻辑关系把地址空间分成

42、若干个逻辑段,每一段不是按单一的连续整体存放到内存中,而是把每段再分成若干个页面,每一段不必占据连续的内存空间,可把它按页存放在不连续的内存块中,每一段中的所有页必须在其所在每一段中的所有页必须在其所在的段内,即段内的页是离散分配的的段内,即段内的页是离散分配的。段号s段内地址d段页式存储管理逻辑地址格式段内页号p内存段表段表寄存器段表长度 段表始址段号 状态 页表长度 页表始址0123页号 状态0123块号页号 状态0123块号操作系统段页式存储管理的地址映射 3.5.2 地址变换地址变换图3.32 段页式地址变换过程块号 块内地址p0121ss-1页表内存段表始址 段表长度段表寄存器mn物

43、理地址越界中断段号 页号 页内地址逻辑地址CPUspd 页表长度页表始址3.6 虚拟存储器 3.6.1 局部性原理 3.6.2 虚拟存储器的定义和特征 3.6.3 虚拟存储器的实现方法 早在1968年P.Denning就指出过,程序在执行时将呈现出局部性规律,即在一较短的时间内,程序的执行仅限于某个部分;相应的它所访问的存储空间也局限于某个区域。局部性表现如下。(1)时间局部性。如果程序中的某条指令一旦执行,则不久以后该指令可能再次被执行;如果某个存储单元被访问,则不久以后该存储单元可能再次被访问,产生时间局部性的典型原因是在程序中存在大量的循环操作。(2)空间局部性。一旦程序访问了某个存储单

44、元。则不久以后,其附近的存储单元也将被访问,即是程序在一段时间内访问的地址可能集中在一定范围内,引起空间局部性的典型原因是程序的顺序执行。3.6.1 局部性原理局部性原理3.6.2 虚拟存储器的定义和特征虚拟存储器的定义和特征1.虚拟存储器定义虚拟存储器定义:就是指把用户的作业的一部分装入内存便可运行作业的存储系统。其实际上用户看到的大容量只是一种感觉,是虚的,故而称为虚拟存储器。2.虚拟存储器特征虚拟存储器特征(1)离散性。指在内存分配时采用离散分配方式。(2)多次性。指一个作业运行时分成多次装入内存。(3)对换性。指作业运行过程中在内存和外存的对换区之间换进换出。(4)虚拟性。指能够从逻辑

45、上扩充内存容量,使用户感觉到的存储器容量远远大于实际的内存容量。3.6.3 虚拟存储器的实现方法虚拟存储器的实现方法(1)请求页式存储管理 请求页式存储管理是在页式存储管理基础上增加了请求调页功能、页面置换功能所形成的页式虚拟存储分配系统。程序启动运行时装入部分用户程序页和数据页,在以后的运行过程中,访问到其他逻辑页时,再陆续将所需的页调入内存中。请求调页和置换时,需要页表机构、缺页中断机构、地址变换机构等硬件支持。(2)请求段式存储管理 请求段式存储管理是在段式存储管理方式的基础上增加了请求调段和分段置换功能而形成的段式虚拟存储管理,只需装入部分程序段和数据段即可启动运行,以后出现缺段时再动

46、态调入。实现请求分段同样需要分段的段表机制、缺段中断机构、地址变换机构等软硬件支持。3.7 请求分页存储管理 3.7.1 页表机制 3.7.2 缺页中断 3.7.3 地址变换 3.7.4 页面分配 3.7.5 页面淘汰算法3.7.1 页表机制页表机制 在请求分页存储管理的方式中,页表仍然是重要的数据结构,其主要作用是实现用户逻辑地址空间中逻辑地址到内存空间中的物理地址的变换。在虚拟存储器中,由于应用程序并没有完全调入内存,所以页表结构根据虚拟存储器的需要增加了若干项,如图所示。其中:(1)状态位P用于该页是否已调入内存,供程序访问时参考;(2)访问字段A用于记录本页在一段时间内被访问的次数,或

47、最近多长时间未被访问,供转换算法选择换出页面时参考;(3)修改位M表示该页在调入内存后是否被修改过。(4)外存地址用于指出该页在外存上的地址,通常是物理块(簇)号,供调入该页时使用。请求分页虚拟存储管理方式的页表结构页号块号状态位P访问字段A修改位M外存地址3.7.2 缺页中断缺页中断 在请求分页存储管理中,当所要访问的页不在内存时,便要产生缺页中断,请求操作系统将所缺页调入内存。缺页中断与一般中断不同,区别如下。(1)缺页中断是在执行一条指令期间时产生的中断,并立即转去处理,而一般中断则是在一条指令执行完毕后,当发现有中断请求时才去响应和处理;(2)缺页中断处理完成后,仍返回到原指令去重新执

48、行,因为那条指令并未执行。而一般中断则是返回到下一条指令去执行,因为上一条指令已经执行完毕了。3.7.3 地址变换地址变换 请求分页系统中进行地址变换时,首先要检测该页面是否在内存,如果该页面在内存中,则地址变换方式与页式存储管理方式相同;如果该页不在内存中,则进行缺页中断处理。进行缺页中断处理时首先判断内存空间是否够用,如果内存没有可用空间,必须进行置换以腾出可用空间。越界中断NNY开始(程序访问第一页)页号页表长度?访问页面Y页是否在内存?调整页表形成物理地址地址变换结束从外存中找到缺页缺页中断处理NY内存满否?淘汰一个页面Y该页是否修改过?N将该页写回内存将缺页调入内存调整页表请求分页存

49、储管理的地址变换过程3.7.4 页面分配页面分配 在为进程分配物理块时,首先考虑的是:保证进程能正常运行所需要的最少物理块数。若系统为某进程分配的物理块数小于此值时进程将无法运行。其次,要考虑的问题是页面的分配和置换策略。在请求分页存储管理中可采用固定和可变两种分配策略。在进程置换时,也可采用全局置换和局部置换两种策略。组合成如下三种策略。(1)固定分配局部置换策略 (2)可变分配全局置换策略 (3)可变分配局部置换策略3.7.5 页面淘汰算法页面淘汰算法 发生缺页时,就要从外存上把所需要的页面调入到内存。如果当时内存中有空闲块,那么页面的调入问题就解决了;如果当时内存中已经没有空闲块可供分配

50、使用,那么就必须在内存中选择一页,然后把它调出内存,以便为即将调入的页面让出块空间。这就是所谓的“页面淘汰”问题。选择淘汰对象有很多种策略可以采用,比如:1.先进先出(FIFO)页面淘汰算法(first in firstout,FIFO)2.最近最久未使用页面淘汰算法(Least Recently Used,LRU)3.最近最少用页面淘汰算法(Least Frequently Used,LFU)4.最佳页面淘汰算法(Optimal,OPT)1最优算法(最优算法(OPT算法)算法)最理想的页面置换算法是:从内存中移出以后不再使用的页面;如无这样的页面,则选择以后最长时间内不需要访问的页。这就是最

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(教学课件·操作系统.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|