教学课件·操作系统_第1页
教学课件·操作系统_第2页
教学课件·操作系统_第3页
教学课件·操作系统_第4页
教学课件·操作系统_第5页
已阅读5页,还剩310页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、操作系统的三个观点从用户观点来理解,操作系统是用户与计算机之间的接口;从资源管理观点来理解操作系统是管理和控制计算机系统的软件、硬件资源 ;从程序控制观点来理解操作系统是对程序的管理。二、 操作系统的定义操作系统的一般定义:合理组织计算机的工作流程有效控制和管理计算机的各类资源方便用户使用的程序的集合总之,计算机配置操作系统的目的是提高资源利用率。1.2 操作系统的发展推动操作系统发展的动力1不断提高资源利用率的需要 2方便用户操作 3硬件的不断更新换代 4计算机体系结构的不断发展 1.2.1 无操作系统阶段 1.人工阶段 在20世纪50年代末期以前的第一代(19461955)计算机中,操作系

4、统尚未出现,那里只是人工操作。操作员通过控制台上的各种开关来控制各部件的运行(如装入卡片或纸带、按电钮和查看存储单元等)。 ENIAC计算机 ( 美国宾夕法尼亚大学)运算速度: 5000次/每秒 真空管: 18000个 占地面积: 182平方米 重 量 : 130吨 功 耗 : 140kW 50年代早期出现了穿孔卡片,程序写在卡片上然后读入计算机。但计算过程则依然如旧。 早期计算机的工作,基本上采用人工操作方式:由操作员将纸带(或卡片)装入纸带输入机(或卡片输入机),把程序和数据输入计算机,当程序行完毕,由用户取走纸带和计算结果后,才让下一个用户上机操作。 人工操作方式具有以下特点: 用户独占

5、全机。 CPU等待人工操作。 串行性 人工操作方式具有以下缺点: 计算机的有效机时严重浪费 效率低 2.脱机输入/输出 脱机输入/输出阶段的技术是为解决CPU与I/O设备之间的速度不匹配而提出的。它减少了CPU的空闲等待时间,提高了I/O速度。外围机输入设备输出设备输入作业输出结果主机脱机输入/输出 20世纪50年代末至60年代初,计算机进入第二代(19551965)。 管理程序(能对计算机硬件和软件进行管理的调度程序 )。 批处理程序,解决了作业间的自动转换 。 早期的监管程序和这种批处理软件称为初级操作系统。 1.2.2 初级操作系统阶段 20世纪60年代,计算机进入第三代后1965198

6、0)。 IBM System 360上运行的OS/360操作系统被认为是真正的(完整的)操作系统 。 多道程序设计技术,提高CPU的利用率,充分发挥并行性 。 1.2.3 操作系统形成阶段 第四代计算机系统发展时期(19801994) ,其上配置的操作系统称为现代操作系统。 这一代最有代表性的操作系统是UNIX操作系统(分时系统)。 1.2.4 现代操作系统阶段 1.3 操作系统的分类批处理操作系统分时系统实时系统网络操作系统分布式操作系统1.3.1 批处理系统 批处理系统主要是采用了批处理技术。批处理技术是指计算机系统对一批作业自动进行处理的一种技术。方式:单道批处理系统:原理和特点多道批处

7、理系统:原理和特点/os/multimedia/learn.htm单道和多道程序运行情况单道程序用户程序监督程序I/O操作I/O请求程序A程序BCPU利用率CPU利用率I/O操作多道程序在单道批处理系统中,内存中仅有一道作业,它无法充分利用系统中的所有资源,致使系统性能较差。为了进一步提高资源的利用率和 系统吞吐量,在60年代中期又引入了多道程序设计技术,由此而形成了多道批处理系统。在该系统中,用户所提交的作业都先存放在外存上并排成一个队列, 称为“后备队列”;然后, 由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享 CPU 和系统中的各种资源。 /os/multime

8、dia/learn.htm多道程序设计的基本思想:在计算机内存中同时存放若干道已开始运行且尚未结束的程序,它们交替运行,共享系统中的各种硬、软资源,从而使处理机得到充分利用。 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、复执行同样的程序,其结果相同程序的并发执行:多个程序同时在一台计算机中运行,各程序不再独自占有所需资源,而是在轮流使用共享资源时相互制约,执行过程往往是走走停停,失去了封闭性和可再现性,但是却提高了资源利用率。2.1.1 程序的执行2.并发执行输入第一批输入第二批输入第三批处理第一批处理第二批处理第三批输出第一批输出第二批输出第三批并发性。即指系统中有多个程序同时执行。在单个CPU系统中,多个并发执行的程序虽然从宏观上并行执行,但是从微观上来看,它们是分时,轮流地占用CPU时间,所以是串行的。随机性。在多道程序环境下,尤其是在多用户环境下,程序和数据的输入与执行时间都是随机的。资源共享。任何一

15、个计算机系统中的软、硬件资源数量总是有限的,这就要求系统资源允许被多个并发执行的程序所共享。进程与程序的关系 1.程序是静态的概念,进程是动态的概念; 2.进程是一个能独立运行的单位,能与其他进程并发执行而程序则不能 3.程序和进程无一一对应的关系 4.各进程在并发执行中会产生相互制约,而程序本身是静态的,没有这种异步特征。进程是一个程序在一个数据集上的一次运行。2.1.2 进程概念的引入进程的特征动态性:进程有一定的生命期,“它由创建而产生,由调度而执行,由撤消而消亡”。并发性:多个进程并发执行。独立性:能独立运行、独立分配资源和独立调度的基本单位。异步性:进程按各自独立的、不可预知的速度向

16、前推进,按异步方式运行。结构特征:进程实体包括程序段、数据集和进程控制块。2.1.3、进程的状态及其转换进程的基本状态:就绪态、运行态、阻塞态。各状态的相互转换: 就绪运行 运行阻塞 阻塞就绪 运行就绪等待某事件发生进程调度时间片到所等待事件发生运行就绪阻塞2.1.4、进程控制块进程组成:进程控制块,程序段,数据集合。 进程控制块 进程标识信息、说明信息、现场信息和管理信息(进程名、 状态信息、调度优先权、通信信息、现场保护区、资源供求和分配控制信息、族关系信息等) 程序段 各种基本结构组成的指令集合 数据集合 各种类型的数据 PCB程序部分数据集合 PCB是进程存在的唯一标识思考题: 为什么

17、PCB是进程存在的唯一标识?提示:操作系统根据PCB对进程实施控制和管理;进程队列:将具有相同状态的PCB按一定的方式组织起来,构成的队列。分三种队列:执行队列、就绪队列、阻塞队列。2.1.5 进程队列执行队列头指针PCB4就绪队列头指针PCB2PCB3PCB5PCBn阻塞队列头指针PCB1PCB6-1-1图 PCB的各种队列线性方式:线性队列链接方式:链接表索引方式:索引表线性表队列250036004800250025022504链接表队列索引表PCB0PCB1PCB2 PCBn 内存中的专用区域2.1.6 进程控制原语操作:机器指令编制的一段完成特殊功能的系统程序。进程控制的作用:系统对所

18、有进程整个生命期的有效管理和控制。 1、创建原语 2、撤销原语 3、阻塞原语 4、唤醒原语 1 创建原语 一个进程可借助于创建原语来创建一个新进程。创建一个新进程的主要工作是: 申请一空闲PCB无空闲PCB,则创建失败;否则产生PID(进程标识)申请必要的资源初始化PCB插入就绪队列 2 撤消进程原语找出被撤消进程的PCB该进程若正在执行,则终止该进行的执行该进程若有子进程,则撤消其所有子进程将该进程所拥有的全部资源,归还给父进程或系统将被撤消进程的PCB从所在队列(或链表)中清除,放回到空闲PCB队列。3进程的阻塞原语 正在执行的进程,当出现请求操作系统服务、启动某种操作、新数据尚未到达、无

19、新工作可做等事件时,由于无法继续运行,于是自己便通过调用block原语,把自己阻塞起来。保存CPU现场置该进程的状态被阻塞进程入等待队列转进程调度。4进程的唤醒原语 被阻塞进程等待的事件到,由与之相关的进程将其唤醒(被阻塞的进程不能自己唤醒自己)把被阻塞进程从相应阻塞队列中取出;将现行状态由阻塞改为就绪;然后插入到就绪队列;根据优先情况调整调度标志调度算法 先来先服务(FCFS)调度算法:这种调度算法是按照进程进入就绪队列的先后次序来选择可占用处理器的进程。时间片轮转:将所有的就绪进程按到达的先后顺序排队,并将CPU的时间分成固定大小的时间片,如果一个进程被调度选中后用完了时间片,但并未完成要

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

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

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

23、先(SJF) (3)响应比高者优先(HRN) (4)优先级法2.4 作业与进程区别 (1)作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业后,系统将它放入外存中的作业等待队列中等待执行。而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在于内存中。(2)一个作业可由多个进程组成,且必须至少由一个进程组成,反过来则不成立。(3)作业的概念主要用在批处理系统中,像UNIX这样的分时系统中就没有作业的概念。而进程的概念则用在几乎所有的多道程序系统中。本章小结1、进程的引入、定义、进程控制块、进程状态及状态间的转换,进程调度算法。2、

24、线程的概念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 存储管理的功能3.1.3 地址重定位 多级存储器体系示意图3.1.1 存储器的层次结构内存空间的分配和保护。内存储器中允许同时容纳各种软件和多个用户程序时,必须解决内存空间如何分配以及各存储区域内的信息如何保护等

26、问题。内存空间的重定位。配合硬件做好地址转换工作,把一组逻辑地址空间转换成绝对地址空间,以保证处理器的正确执行。内存空间的共享。在多道程序设计的系统中,同时进入内存储器执行的作业可能要调用共同的程序。内存空间的扩充。提供虚拟存储器,使用户编制程序时不必考虑内存储器的实际容量,使计算机系统似乎有一个比实际内存储器容量大的多的内存空间。 3.1.2 存储器的功能1程序的装入(1)绝对装入方式。也称直接分配方式。这种方式指程序在编写程序或编译程序对源程序编译时采用实际存储地址。采用这种方式,必须事先划定作业的可用空间,因此这种绝对装入方式的存储分配,存储空间的利用率不高,对用户使用也不方便。(2)可

27、重定位方式。也称静态分配方式。在将作业装入内存时才确定它们在内存中的位置。也就是说,存储空间的分配是在作业装入内存时实现的。采用这种装入方式,在一个作业装入时必须分配其要求的全部存储量;如果没有足够的存储空间,就不能装入该作业。此外,作业一旦进入内存后,在整个运行过程中不能在内存中移动,也不能再申请内存空间。这种装入方式实际上就是静态重定位。(3)动态运行时装入方式。 3.1.3 地址重定位2地址重定位基本概念(1)逻辑地址 一个应用程序经编译后,通常会形成若干个目标程序,这些目标程序再经过连接而形成可装入程序。这些程序的地址都从“0”开始的,程序中的其他地址都是相对于起始地址计算;由这些地址

28、所形成的地址范围称为地址空间,其中的地址称为逻辑地址或相对地址。(2)绝对地址 当用户把作业交给计算机执行时,存储管理就为其分配一个合适的内存空间,这个分配到的内存空间可能是从“A”单元开始的一个连续地址空间,称为“绝对地址”空间,其中的地址称为物理地址或绝对地址。(3)地址重定位 由于逻辑地址经常与分到的内存空间的绝对地址不一致,而且对于每个逻辑地址在内存储器中也没有一个固定的绝对地址与之对应。因此,不能根据逻辑地址直接到内存储器中去存取信息。由于处理器执行指令是按绝对地址进行的,为了保证作业的正确执行,必须根据分配到的内存区域对它的指令和数据进行重定位,即把逻辑地址转换成绝对地址。把逻辑地

29、址转换成绝对地址的工作称为地址转换或地址重定位或地址映射。 3静态、动态重定位 重定位的方式可以有静态定位和动态定位两种。(1)静态重定位 静态重定位在装入一个作业时,把作业中的指令地址和数据地址全部转换成绝对地址。由于地址转换工作是在作业执行前集中一次完成的,所以在作业执行过程中就无需进行地址转换工作。这种定位方式称静态重定位。 (2)动态重定位 动态重定位是在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址。由于重定位过程是在程序执行期间随着指令的执行逐步完成的,故称为动态重定位。 150011001250作业地址空间存储地址空间0LOAD 1,25031

30、002505001000LOAD 1,12503图3.3 动态重定位过程重定位寄存器具+逻辑地址作业地址空间存储地址空间0LOAD 1,25031002505001000LOAD 1,125031100125015002501000(b)采用动态重定位时内存空间及地址重定位示意图 (a)采用静态重定位后的内存空间 静态地址重定位和动态地址重定位示意图3.2 连续分配存储管理方式 3.2.1 单用户连续存储管理3.2.2 固定分区存储管理3.2.3 可变分区存储管理1. 单用户连续存储管理 单用户连续存储管理方式是一种最简单的存储管理方式,它只能用于单用户、单任务的操作系统中。在这种管理方式下操

31、作系统占了一部分内存空间,其余剩下的内存空间都分配给一个作业使用,即在任何时刻内存储器中最多只有一个作业。 3.2.1 单用户连续存储管理单用户连续存储管理示意图用户区作业队列cb0aOS区用户作业空闲区CPU界限寄存器a作业1作业2覆盖技术示意图cb0aOS区覆盖区1驻留区用户区D可覆盖的段覆盖区2主程序段DCAB2. 覆盖(Overly)技术 所谓覆盖就是指一个作业中的若干程序段和数据段共享内存的某个区域。其实现的方法是将一个大的作业划分成一系列的覆盖(程序段),每个覆盖是一个相对独立的程序单位,执行时并不要求同时装入内存的覆盖组成一组,并称其为覆盖段,将一个覆盖段分配到同一存储区域。 3

32、.交换(Swapping)技术 交换(对换)技术就是把暂时不用的某个程序或数据部分(或全部)从内存移到外存中去, 以便腾出必要的内存空间;或把指定的程序或数据从外存读到相应的内存中,并将控制权转给它,让其在系统上运行的一种内存扩充技术 。 内存外存交换交换示意图 固定分区存储管理是在作业装入前,内存用户区被划分成若干个大小不等连续区域,每一个连续区称为一个分区,每个分区可以存放一个作业。一旦划分好后,内存储器中分区的个数就固定了。各个分区的大小可以相同,也可以不同,每个分区的大小固定不变,因此,也把固定分区称为静态分区。各分区的使用情况,用“分区分配表”来说明 。3.2.2 固定分区存储管理固

33、定分区存储管理示意图e作业队列b0aOS区CPU上限寄存器d作业1作业2c3下限寄存器正运行作业分区分区1分区2分区3空闲区d分区号起始地址长度占用标志1aL102bL203cL31分区分配表 下限地址绝对地址块号 页内地址p页表始址 页表长度bmnbd物理地址越界中断页号 页内地址逻辑地址pdCPU+3.3.3 快表具有快表地址变换机构示意图快表页号 块号b页表块号 页内地址p页表始址 页表长度页表寄存器bmnbd物理地址越界中断页号 页内地址逻辑地址pd输入寄存器内存 分页式存储管理把内存储器的可分配区域按页面大小分成若干块,分配内存空间按块为单位。可用一张内存分配表来记录已分配的块和尚未

34、分配的块以及当前剩余的空闲块数。由于块的大小是固定的,所以可以用一张“位示图”来构成内存分配表。 3.3.4 分页式存储空间的分配与回收0310/10/10/10/10/10/10/10/10/10/1剩余块数0/10/10/10/10/10/1分页存储管理内存分配表 分页存储管理能方便地实现多个作业共享程序和数据。 页的共享可节省内存空间,但实现信息共享必须解决共享信息的保护问题。通常的办法是在页表中增加一些标志,指出该页的信息可读/写、只读、只可执行等等。3.3.5 页的共享与保护第100块第200块内存作业1页表页号标志块号0只执行1001读/写2002读/写3003只读30作业2页表页

35、号标志块号0只执行1001读/写2322读/写4243读/写5684只读200共享程序共享数据 目前,大多数计算机系统都支持非常大的逻辑地址空间。在这样的环境下,页表就变得非常大,要占用很大的内存空间。而且页表还要求存放在连续的存储空间中,显然这是不现实的,可以采用以下两种途径解决这一问题。 (1)对页表所需的内存空间,采用离散的分配方式; (2)只将当前需要的部分页表项调入内存,其余的页表项当需要时再调入。 3.3.6 两级和多级页表两级页表:对于支持32位逻辑地址空间的计算机系统可以采用两级页表。就是将页表再分页,形成两级页表,。比如当一个32位系统的页大小为4KB,那么逻辑地址被分为20

36、bit的页号和12bit页内地址。如果采用两级页表结构,对页表进行再分页,使每个页中包含1024个页表项,最多允许有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开始编址的单一连续的逻辑地址。虽然操作系统可把程

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

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

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

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

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

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

43、,引起空间局部性的典型原因是程序的顺序执行。3.6.1 局部性原理3.6.2 虚拟存储器的定义和特征1.虚拟存储器定义 :就是指把用户的作业的一部分装入内存便可运行作业的存储系统。其实际上用户看到的大容量只是一种感觉,是虚的,故而称为虚拟存储器。2. 虚拟存储器特征(1)离散性。指在内存分配时采用离散分配方式。(2)多次性。指一个作业运行时分成多次装入内存。(3)对换性。指作业运行过程中在内存和外存的对换区之间换进换出。(4)虚拟性。指能够从逻辑上扩充内存容量,使用户感觉到的存储器容量远远大于实际的内存容量。 3.6.3 虚拟存储器的实现方法(1)请求页式存储管理 请求页式存储管理是在页式存储

44、管理基础上增加了请求调页功能、页面置换功能所形成的页式虚拟存储分配系统。程序启动运行时装入部分用户程序页和数据页,在以后的运行过程中,访问到其他逻辑页时,再陆续将所需的页调入内存中。请求调页和置换时,需要页表机构、缺页中断机构、地址变换机构等硬件支持。(2)请求段式存储管理 请求段式存储管理是在段式存储管理方式的基础上增加了请求调段和分段置换功能而形成的段式虚拟存储管理,只需装入部分程序段和数据段即可启动运行,以后出现缺段时再动态调入。实现请求分段同样需要分段的段表机制、缺段中断机构、地址变换机构等软硬件支持。3.7 请求分页存储管理3.7.1 页表机制3.7.2 缺页中断3.7.3 地址变换

45、3.7.4 页面分配3.7.5 页面淘汰算法3.7.1 页表机制 在请求分页存储管理的方式中,页表仍然是重要的数据结构,其主要作用是实现用户逻辑地址空间中逻辑地址到内存空间中的物理地址的变换。在虚拟存储器中,由于应用程序并没有完全调入内存,所以页表结构根据虚拟存储器的需要增加了若干项,如图所示。其中:(1)状态位P用于该页是否已调入内存,供程序访问时参考;(2)访问字段A用于记录本页在一段时间内被访问的次数,或最近多长时间未被访问,供转换算法选择换出页面时参考;(3)修改位M表示该页在调入内存后是否被修改过。(4)外存地址用于指出该页在外存上的地址,通常是物理块(簇)号,供调入该页时使用。请求

46、分页虚拟存储管理方式的页表结构页号块号状态位P访问字段A修改位M外存地址3.7.2 缺页中断 在请求分页存储管理中,当所要访问的页不在内存时,便要产生缺页中断,请求操作系统将所缺页调入内存。缺页中断与一般中断不同,区别如下。 (1)缺页中断是在执行一条指令期间时产生的中断,并立即转去处理,而一般中断则是在一条指令执行完毕后,当发现有中断请求时才去响应和处理; (2)缺页中断处理完成后,仍返回到原指令去重新执行,因为那条指令并未执行。而一般中断则是返回到下一条指令去执行,因为上一条指令已经执行完毕了。3.7.3 地址变换 请求分页系统中进行地址变换时,首先要检测该页面是否在内存,如果该页面在内存

47、中,则地址变换方式与页式存储管理方式相同;如果该页不在内存中,则进行缺页中断处理。进行缺页中断处理时首先判断内存空间是否够用,如果内存没有可用空间,必须进行置换以腾出可用空间。越界中断NNY开始(程序访问第一页)页号页表长度?访问页面Y页是否在内存?调整页表形成物理地址地址变换结束从外存中找到缺页缺页中断处理NY内存满否?淘汰一个页面Y该页是否修改过?N将该页写回内存将缺页调入内存调整页表请求分页存储管理的地址变换过程3.7.4 页面分配 在为进程分配物理块时,首先考虑的是:保证进程能正常运行所需要的最少物理块数。若系统为某进程分配的物理块数小于此值时进程将无法运行。其次,要考虑的问题是页面的

48、分配和置换策略。在请求分页存储管理中可采用固定和可变两种分配策略。在进程置换时,也可采用全局置换和局部置换两种策略。组合成如下三种策略。 (1)固定分配局部置换策略 (2)可变分配全局置换策略 (3)可变分配局部置换策略3.7.5 页面淘汰算法 发生缺页时,就要从外存上把所需要的页面调入到内存。如果当时内存中有空闲块,那么页面的调入问题就解决了;如果当时内存中已经没有空闲块可供分配使用,那么就必须在内存中选择一页,然后把它调出内存,以便为即将调入的页面让出块空间。这就是所谓的“页面淘汰”问题。选择淘汰对象有很多种策略可以采用,比如: 1.先进先出(FIFO)页面淘汰算法 (first in f

49、irstout,FIFO) 2. 最近最久未使用页面淘汰算法(Least Recently Used,LRU) 3. 最近最少用页面淘汰算法(Least Frequently Used,LFU) 4. 最佳页面淘汰算法(Optimal,OPT)1最优算法(OPT算法)最理想的页面置换算法是:从内存中移出以后不再使用的页面;如无这样的页面,则选择以后最长时间内不需要访问的页。这就是最优算法的思想。这种算法本身不是一种实际的方法,因为页面访问的顺序是很难预知的。但是,可把它作为一种评价标准,比较其他实用方法的优劣,所以,最优算法只具有理论上的意义。2先进先出算法(FIFO算法)这种算法的基本思想是

50、:总是先淘汰那些驻留在内存时间最长的页面,即先进入内存的页面先被置换掉。理由是:最先进入内存的页面不再被访问的可能性最大。 3最久未使用页面置换算法(LRU算法)这种算法的基本思想是,如果某一页被访问了,那么它很可能马上又被访问;反之,如果某一页很长时间没有被访问,那么最近也不太可能会被访问。这种算法考虑了程序设计的局部性原理。其实质是,当需要置换一页时,选择在最近一段时间最久未使用的页面予以淘汰。实现这种算法可通过周期性地对“引用位”进行检查,并利用它来记录一页面自上次被访问以来所经历的时间t,淘汰时选择t最大的页面。 4LRU近似算法这种算法,只要在存储分块表(或页表)中设一个“引用位”,

51、当存储分块表中的某一页被访问时,该位由硬件自动置1,并由页面管理软件周期性把所有引用位置0。这样,在一个时间周期T内,某些被访问过的页面其引用位为1,而未被访问过的页面其引用位为0。因此,可根据引用位的状态来判别各页面最近的使用情况。当需要置换一页面时,选择其引用位为0的页,如图4.21所示的算法 。图4.22是这种近似算法的一个例子。 【例题】在请求页式存储管理系统中,设一个作业访问页面的序列为4,3,2,1,4,3,5,4,3,2,1,5,设分配给该作业的存储空间有4块,且最初未装入任何页。试计算FIFO和LRU算法的缺页率。 解: 采用FIFO页面淘汰算法,该作业运行时缺页情况如表所示时

52、刻123456789101112访问页面432143543215内存页面432111543215432221543214333215432444321543缺页+从表中可以看出,缺页中断次数为10;缺页率为f=10/12=83% 采用LRU页面淘汰算法,该作业运行时缺页情况如表所示 时刻123456789101112访问页面432143543215内存页面432143543215432143543214321435432432111543缺页+从表中可以看出,缺页中断次数为8;缺页率为f=8/12=67% 3.8.1请求分段存储管理基本思想 3.8.2 缺段中断 3.8.3 地址变换和共享保护

53、 3.8 请求分段存储管理 3.8.1请求分段存储管理基本思想 为了实现请求分段存储管理方式,段表中增加一些控制项,如图所示,请求分段表项,缺段中断处理和地址变换机构也有相应的变化。 其中:(1)存取方式:用于标记本分段存取属性是只执行、只读或读/写;(2)访问字段:用于记录该字段被访问的频繁程度;(3)修改位:用于表示该段进入内存后是否被修改过;(4)增补位:用于表示本段在运行过程中是否进行过动态增长;(5)外存地址:指示本段在外存中的起始地址。请求分段虚拟存储管理方式的页表结构段号段长段的基址存取方式访问字段修改位存在位增补位外存地址3.8.2 缺段中断在被访问的段不在内存时产生一个缺段中

54、断。缺段中断的处理与缺页中断处理类似,但比缺页中断复杂。因为各段的段长不固定,系统在处理缺段中断时,首先在内存中查找是否有足够大的空闲区分给该段,如果有则将该段调至这个空闲分区,否则查找空闲分区的总和。如果能够满足需要则对空闲分区进行拼接,形成一个合适的空闲分区,然后调入该段。如果空闲分区总和仍不能满足要求,则必须置换出内存中的一个或几个分段后再进行拼接,其后再调入该段 。3.8.3 地址变换和共享保护1. 地址变换 段号、段长和内存起始地址这三个信息是进行段式地址变换所必须的。当要访问的段在内存时,地址变换过程与分段存储管理相同;当要访问的段不在内存时,则先将该段调入内存后再进行地址变换,这

55、样的话,在地址变换机构中增加了某些功能,如缺段中断的请求及处理等。2. 分段的共享与保护 实现分段共享需要在段表中设置相应的表项来指向共享段在内存中的起始地址。为了分段共享,应配置相应的共享段表,用来对共享段进行操作。本章小结 本章介绍各种常用的内存管理办法,它们是单一用户连续存储管理、固定分区、可变分区存储管理、页式存储管理、段式存储管理和段页式存储管理。内存管理的核心问题是如何解决内存和外存的统一,以及它们之间的数据交换问题。内存和外存的统一管理使得内存的利用率得到提高,用户程序不再受内存可用区大小的限制。与此相关联,内存管理要解决内存扩充、内存的分配与释放、虚拟地址到内存物理地址的变换、

56、内存保护与共享、内外存之间数据交换的控制等问题。 系统地对几种存储管理方法所提供的功能和所需硬件支持作了一个比较。第4章 文件管理 本章学习目标 4.1 文件系统概述 4.2 文件的结构及存取方式4.3 目录管理4.4 文件的使用4.5 文件的共享与安全本章目标 理解与掌握文件与文件系统的基本知识。理解与掌握文件的存储结构和存取方式。理解与掌握文件的存储空间的管理。理解与掌握目录管理知识。本章学习目标文件、文件系统、文件目录、目录项、文件共享等基本概念及文件的分类文件的两种逻辑结构及两种存取方法文件的三种物理结构:连续结构、链接结构及索引结构三种目录结构:单级、两级、多级目录结构 文件的共享及

57、保护外存空间的管理方法 4.1 文件系统的功能 4.1.1 文件与文件系统4.1.2 文件的分类、文件名及属性4.1.3 文件系统的功能 4.1.1 文件与文件系统1. 文件的概念 文件是具有符号名的一段程序或数据的集合,通常存储在计算机系统的外存上。文件具有如下三个基本特征。 (1)文件的内容是一组信息的集合,比如源程序、可执行的二进制代码程序、待处理的数据、表格、声音及图像等。 (2)文件可以保存,文件被存放在如磁盘、磁带和光盘等存储介质上,内容可以被长期保存和多次使用。 (3)文件可按名存取,每个文件都具有自己的标识名,用户操作时可通过这个标识名来存取文件,而无需了解文件在存储介质上的具

58、有物理位置。2. 文件系统 操作系统中与文件有关的软件和数据称为文件系统。它由管理所需的数据结构、相应的管理软件和被管理的文件构成。它负责为用户建立文件,撤销、读写、修改和复制文件,还负责完成对文件的按名存取和进行存取控制。文件系统方便用户对信息进行存取和管理,用户即使不具备相应的存取设备知识,也能进行操作。 文件系统具有如下特点。 (1)提供友好的用户接口,包括命令、程序和菜单等接口,用户在对文件进行操作时,不需要了解文件的结构和存储位置。 (2)文件按名存取,方便用户操作,如对文件的存取、检索和修改等。 (3)某些文件可以被多个用户或进程共享,也能安全保护,防止文件被破坏和窃取。 (4)文

59、件系统通常使用磁盘等大容量存储介质,可存储大量信息。 4.1.2 文件的分类、文件名及属性1. 文件的分类 为了便于管理和控制文件,需要将文件分成多种类型。常见的文件分类方法有以下几种。按文件的用途分类: (1)系统文件(2)用户文件 (3)库文件。按文件的数据形式分类 (1)源文件(2)目标文件(3)可执行文件。 按操作保护分类: (1)只读文件 (2)读写文件 (3)执行文件。按文件的逻辑结构分类 (1)有结构文件 (2)无结构文件按文件的物理结构分类 (1)顺序文件 (2)链接文件 (3)索引文件 2.文件名 文件是具有符号名的一段程序或数据的集合。文件名由两部分组成:主文件名和扩展名。

60、主文件名一般由用户给定,操作系统和用户都利用主文件名来管理和使用文件;文件的扩展名,一般情况下都按照约定俗成使用,这样有利于对文件的正确使用。 3. 文件的属性 大多数操作系统设置了专门的文件属性用于文件的管理控制和安全保护,它们虽然不是文件的信息内容,但对于系统的管理和控制是十分重要的。不同的系统文件属性有所不同,但是通常都包括如下属性。 (1)文件的基本属性(2)文件的类型属性(3)文件的操作属性(4)文件的管理属性(5)文件的控制属性(1)文件存储空间的管理。(2)文件目录管理。(3)实现从文件到存储空间的映射。(4)实现文件的共享、保护和保密。(5)文件的读/写管理。(6)提供用户接口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论