




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统的功能处理机管理 存储管理 设备管理 文件管理(无大题) 用户接口(无大题)功能一、处理机管理完成处理机资源的分配调度等功能,单位可为进程。进程控制:创建、撤销、改变进程的状态进程调度:作业和进程的运行切换,以充分利用处理机资源和提高系统性能;(未必是进程控制操作所引起,例如时间片轮转、I/O操作)进程同步:协调并发进程之间的推进步骤,以协调资源共享;(交换信息能力弱)进程通信:进程之间传送数据,以协调进程间的协作;(交换信息能力强,也可以用来协调进程之间的推进)并发与并行概念并发:两个或多个事件在同一时间间隔内发生;并行:两个或多个事件在同一时刻内发生处理机管理单道与多道资源利用率进
2、程与程序的区别进程-动态,程序-静态:作为程序的执行,进程通常不可在计算机之间迁移;作为有序代码集合,程序对应的文件是静态的和可复制的。进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。进程能真实描述并发执行,程序不能:进程是独立调度并能和其他进程并行执行的单位进程可以创建其它进程,而程序不能;进程是暂时的,程序是永久的:进程是一个状态变化的过程,程序可长久保存。进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。进程的组成,基本状态,三状态模型,五状态模型进程的组成(代码+PCB+数据)状态运行状态(Running):
3、占用处理机资源;暂停状态(Not-Running):等待进程调度分配处理机资源;转换进程创建(Enter):系统创建进程,形成PCB,分配所需资源,排入暂停进程表(可为一个队列);调度运行(Dispatch):从暂停进程表中选择一个进程(要求已完成I/O操作),进入运行状态;暂停运行(Pause):用完时间片或启动I/O操作后,放弃处理机,进入暂停进程表;进程结束(Exit):进程运行中止;三状态模型运行和暂停对应的两状态模型无法区分暂停进程表中的就绪和阻塞,运行、就绪和阻塞三状态模型就是对暂停状态的细化。就绪态(Ready): 一个进程已经具备运行条件,但由于无CPU暂时不能运行的状态(当调
4、度给其CPU时,立即可以运行)运行态(Running)-执行: 当进程已分配到除CPU以外的所有必要资源时,它便处于就绪状态,一旦获得CPU,便立即执行。阻塞态(Blocked): 指进程因等待某种事件的发生而暂时不能运行的状态。五状态模型-挂起状态的加入单纯的阻塞状态和就绪状态在实际系统当中并不是很符合需求。原因如下: (1) 终端用户的请求:比如,用户希望进程等待一定时间在执行。 (2) 父进程请求:比如,程序的设计要求父进程能决定子进程的执行状态。 (3) 负荷调节的需要:比如,进程需要长时间等待,那操作系统就不希望在进程调度时被干扰。 (4) 操作系统的需要:比如,某些设备在相当长的时
5、间内不能被用户进程使用。进程控制块和进程控制块的组织方式进程控制块(PCB)一个专门的数据结构目的:系统管理和设置进程。内容:描述该进程情况和控制进程运行所需的全部信息。特征:进程与PCB是一一对应的特征:OS中存在PCB表,其能存放PCB总数受到限制。特征:P处于OS核心中,程序不能直接操作,一般需要利用系统调用来操作。目前常用的组织方式有以下两种: 按链接方式组织PCB (队列) 不同状态进程分别组成队列:运行队列、就绪队列、等待队列 具有相同状态的PCB用其中的链接字,链接成一个队列。按索引方式组织PCB (表) 对具有相同状态的进程,分别设置各自的PCB索引表,表明PCB在PCB表中的
6、地址其他方式:线性表或链表原语在操作系统中,某些调用操作具有不可中断的需要,否则就会引发操作错误,并造成系统混乱。原语:是由若干条机器指令构成的用于完成特定功能的一段程序。不可分割或不可中断(断电等高级中断例外)是原语的根本属性,即原子操作。实现某个特定功能是原语的需求,例如建立和撤消原语、改变进程状态原语、实现进程同步和通信的原语等。线程的概念以及和进程的区别线程的基本概念:线程是进程的一个实体,是CPU调度的基本单位。线程自己基本上不拥有系统资源,只留有几个寄存器,但它可以与同属同一个进程的其他线程共享进程所拥有的全部资源。线程又被称为轻权进程(Light weight process:L
7、WP)。进程和线程的比较1、进程是资源分配的基本单位。线程与资源分配无关,它只属于某一个进程,并与进程内其他线程一起共享进程的资源。2、进程发生调度时,不同的进程拥有不同的虚拟地址空间,而同一进程内的不同线程共享同一地址空间。3、进程包含了PCB,用户地址空间和堆栈。线程只由相关的堆栈(用户栈和系统栈)、寄存器和线程控制表TCB组成。4、进程切换时将涉及到有关资源指针的保存以及地址空间的变化等问题。线程切换时,由于同一进程内的线程共享资源和地址空间,将不涉及上述内容的保存,故减少了操作系统的开销时间。5、进程的调度与切换都是由操作系统内核完成,而线程则既可由操作系统内核完成,也可由用户程序进行
8、。进程调度:分配处理机是由进程调度程序完成的。它是操作系统设计的中心问题之一高中低三级调度高级调度:对于分时操作系统来说,高级调度决定:是否接受一个终端用户的连接;一个程序能否被计算机系统接纳并构成进程;一个新建态的进程是否能够加入就绪进程队列。有的分时操作系统虽没有配置高级调度程序,但上述的调度功能是必须提供的。中级调度:引进目的:提高内存利用率和作业吞吐量功能:决定那些进程被允许参与竞争处理器资源,起到短期调整系统负荷的作用。使用方法:通过把一些进程换出主存,从而使之进入“挂起”状态,不参与进程调度,起到滑系统的作用低级调度:又称进程调度、短程调度。低级调度主要功能是按照某种原则把处理器分
9、配给就绪进程或内核级线程。进程调度程序是操作系统最为核心的部分,进程调度策略的优劣直接影响到整个系统的性能。五种调度算法:FIFO、最短CPU运行期、优先权调度、时间片轮转法 、多级反馈队列 先进先出(FIFO)算法先来先服务算法是按照进程进入就绪队列的先后次序来分配处理器。先进入就绪队列的进程优先被挑选,运行进程一旦占有处理器将一直运行下去直到运行结束或阻塞。这种算法容易实现,但效率不高,显然不利于I/O频繁的进程。优点:实现简单缺点:没考虑进程的优先级最短CPU运行期优先调度算法该算法从就绪队列中选出“下一个CPU执行期”最短的进程,为之分配处理机。该算法虽可获得较好的调度性能,但难以准确
10、地知道下一个CPU执行期,而只能根据每一个进行的执行历史来预测。最高优先权优先调度算法该算法总是把处理机分配给就绪队列中具有最高优先权的进程。常用以下两种方法来确定进程的优先权(优先级根据优先数来决定):1、静态优先数法静态优先数法:静态优先权是在创建进程时确定的,在整个运行期间不再改变。依据有:2、动态优先数法动态优先数法:在进程创建时创立一个优先数,但在其生命周期内优先数可以动态变化。(如等待时间长优先数可改变)时间片轮转法把CPU划分成若干时间片,并且按顺序赋给就绪队列中的每一个进程,进程轮流占有CPU,当时间片用完时,即使进程未执行完毕,系统也剥夺该进程的CPU,将该进程排在就绪队列末
11、尾,同时系统选择另一个进程运行。临界资源、临界区、临界区访问临界资源(critical resource ):一次仅供一个进程使用的资源。在进程中涉及到临界资源的程序段叫临界区临界区的访问过程进入区(entry section):在进入临界区之前,检查可否进入临界区的一段代码。如果可以进入临界区,通常设置相应“正在访问临界区”标志临界区(critical section):进程中访问临界资源的一段代码。退出区(exit section):用于将"正在访问临界区"标志清除。剩余区(remainder section):代码中的其余部分。使用临界区的原则空闲让进:当无进程在临界
12、区时,任何有权使用临界区的进程可进入忙则等待:不允许两个以上的进程同时进入临界区多中择一:当没有进程在临界区,而同时有多个进程要求进入临界区,只能让其中之一进入临界区,其他进程必须等待有限等待:任何进入临界区的要求应在有限的时间内得到满足让权等待:处于等待状态的进程应放弃占用CPU,以使其他进程有机会得到CPU的使用权同步与互斥同步进程之间的一种通信方式,有时序上的制约关系,或者说是进程之间为了协同工作而存在的一种等待关系。互斥进程之间对临界资源的一种竞争关系,排他性地对资源的访问方式。锁同步工具锁操作法实现互斥的一种软件方法是采用锁机制,即提供一对上锁(Lock)和开锁(UnLock)原语,
13、以及一个锁变量X。锁有两种状态: X =0 表示锁已打开; X =1 表示锁被关闭。 P/V:s值的含义,信号量代表可用资源实体的数量。信号量:semaphore是一个数据结构定义如下: struc semaphore int value; pointer_PCB queue; ;信号量说明: s:semaphore;P、V操作为原语操作 执行必须是连续的,在执行过程中不允许被中断 实现:开关中断信号量的使用: 必须置一次且只能置一次初值;初值不能为负数;只能执行P、V操作设s(semaphore)代表一个可共享的存储单元,s的初始值为1S=-3,为等待3次信号量的物理含义:S>0表示有
14、S个资源可用S=0表示无资源可用S<0则| S |表示S等待队列中的进程个数信号量的初值应该大于等于0当为互斥操作时,同处于同一进程当为同步操作时,不在同一进程中出现P.V操作必须成对出现,有一个P操作就一定有一个V操作当为互斥操作时,它们同处于同一进程当为同步操作时,则不在同一进程中出现如果P(S1)和P(S2)两个操作在一起,那么P操作的顺序至关重要,一个同步P操作与一个互斥P操作在一起时同步P操作在互斥P操作前而两个V操作无关紧要管道管程的组成局部于该管程的共享数据,数据表示相应资源的状态;局部于该管程的若干过程,每个过程完成关于上述数据的某种规定操作。条件变量:每个独立的条件变量
15、是和进程需要等待的某种原因(或说条件)相联系的,当定义一个条件变量时,系统就建立一个相应的等待队列。两种操作:wait(x)和signal(x),其中x为条件变量。wait把调用者进程挂在与x相应的等待队列上,signal唤醒相应等待队列上的一个进程。消息缓冲消息缓冲通讯技术是由Hansen首先提出的,其基本思想是:根据“生产者-消费者”原理,利用内存中公用消息缓冲区实现进程的信息交换。系统负责管理公用消息缓冲区以及消息的传递。进程使用消息缓冲区。一个进程可以给若干个进程发送消息,反之,一个进程可以接收不同进程发来的消息。进程中关于消息队列的操作是临界区。死锁的概念和结论如果在一个进程集合中的
16、每个进程都在等待只能由该集合中的其他一个进程才能引发的事件,则称这一组进程或系统此时发生了死锁。一组进程中,每个进程都在无限等待被该组进程中另一个进程所占有的永远不会释放的资源,这种现象称系统处于死锁状态,简称死锁。处于死锁状态的进程就称为死锁进程.结论:参与死锁的进程最少是两个(或是两个以上进程)参与死锁的进程至少有两个已经占有资源参与死锁的所有进程都在等待资源如果死锁发生,会浪费大量系统资源,甚至导致系统崩溃。死锁的四个必要条件原因:系统资源不足;进程推进顺序不合适;必要条件 : 互斥控制(资源独占) 非剥夺控制(不可剥夺)请求和保持(部分分配,占有申请) 环路条件(循环等待)预防死锁:静
17、态,资源有序静态资源分配(第一个必要条件)解决方法:要求每一个进程在开始执行前就申请它所需要的全部资源,仅当系统能满足进程的资源申请要求且把资源分配给进程后,该进程才能开始执行。 进程在执行过程中不再申请资源,故不可能出现占有了某些资源再等待其他资源的情况,即能使得“占有并等待”的条件不成立,从而防止死锁的发生缺陷:降低资源的利用率。资源有序分配法(第四个必要条件)解决方法:把系统中所有资源排序加以全局编号,进程申请资源时必须严格按资源编号的递增次序进行,否则操作系统不予分配。具体为,低优先级的资源申请高于高级资源,释放资源的顺序和申请资源的次序相反。占用高级资源时,若要申请低级资源,则高级资
18、源需要先行释放。缺陷:进程实际使用资源的顺序不一定与资源的编号一致,会造成资源浪费。安全状态和不安全状态如果系统能按某种顺序为每个进程分配其所需的资源,直至所有进程都能运行完成,称系统处于安全状态。若不存在这样一个安全序列称系统处于不安全状态。银行家算法功能二、存储管理目标:提高利用率、方便用户使用、提供足够的存储空间、方便进程并发运行。存储分配与存储无关性:地址重定位(地址映射)存储保护:保证进程间互不干扰、相互保密;如:访问合法性检查等,必须有硬件提供支持;存储扩充(覆盖、交换和虚拟存储):提高主存利用率、扩大进程的主存空间;存储机构的基本问题:分配、再定位、共享、保护、扩充。存储分配问题
19、。 重点是研究存储共享和各种分配算法。地址再定位问题。 研究各种地址变换机构, 以及静态和动态再定位方法。存储共享问题。 研究多个进程如何共享内存。存储保护问题。 研究保护各类程序、 数据区的方法。存储扩充问题。 主要研究虚拟存储器问题及其各种调度算法。 分配算法:连续性-离散性;驻留性-交换性;一次性-多次性连续性 离散性驻留性 交换性一次性 多次性防止地址越界:两个寄存器地址再定位:静态、动态静态分配和静态再定位程序中列出各个需要重定位的地址单元和相对地址值。当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换(一般在装入内存时由软件完成)。即:装入时根据所定位的内存地
20、址去修改每个重定位地址项,添加相应偏移量。动态分配和动态再定位在程序执行过程中,占用的存储空间大小与位置均是可变的。程序中虚拟内存地址,装入和执行时通过硬件地址变换机构,完成虚拟地址到实际内存地址的变换。虚拟存储的概念虚拟存储器的基本思想是把作业地址空间和实际主存的存储空间,视为两个不同的概念。一个计算机系统采用一定技术为程序员提供了一个足够大的地址空间,而完全不必考虑实际主存的大小。根据地址空间结构不同, 虚拟存储器有两种形式。 单段式虚存多段式虚存五种存储方式单一连续 分区:固定,变动,再定位,多重分页 分段 段页式工作原理和差异性分配算法首次适应算法(First Fit: FF)-简单将
21、自由区按存贮顺序链成一个队列,用一指针指向队首,分配时将找到的第一个满足要求的空白区分配给它。循环首次适应(Next fit: NF)将自由区组成环状队列,按循环顺序寻找自由区。(与FF区别,头指针从低地址开始向高地址循环移动)NF特点:使得小的自由区均匀分布,易于与其它自由区合并。最佳适应算法(Best fit: BF)将自由区按大小排成队列,寻找时总是以最小的自由区开始,找到第一个合适的分区。特点:最佳地利用分区,查找效率低,碎片多而小。要求:有四块自由区,为一程序分配19k内存。最坏适应算法(Worst fit: WF)将自由区排序(按从大到小),并寻找最大自由区域进行分配。BF特点:不
22、会出现小的自由区。名空间 逻辑空间 存储空间程序 逻辑地址(相对地址,虚地址) 物理地址(绝对地址,实地址)地址映射将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。当程序装入内存时, 操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物理地址不一致, 而CPU执行指令时,是按物理地址进行的,所以要进行地址转换。内存紧缩将各个占用分区向内存一端移动。使各个空闲分区聚集在另一端,然后将各个空闲分区合并成为一个空闲分区。对占用分区进行内存数据搬移占用CPU时间如果对占用分区中的程序进行"浮动",则其重定位需要硬件支持。紧缩时机:每个分区释放后,或
23、内存分配找不到满足条件的空闲分区时覆盖引入:其目标是在较小的可用内存中运行较大的程序。常用于多道程序系统,与分区存储管理配合使用。原理:一个程序的几个代码段或数据段,按照时间先后来占用公共的内存空间。将程序必要部分(常用功能)的代码和数据常驻内存;可选部分(不常用功能)在其他程序模块中实现,平时存放在外存中(覆盖文件),在需要时才装入到内存;不存在调用关系的模块不必同时装入到内存,从而可以相互覆盖。(即不同时用的模块可共用一个分区)缺点:编程时必须划分程序模块和确定程序模块之间的覆盖关系,增加编程复杂度。从外存装入覆盖文件,以时间延长来换取空间节省。交换引入:多个程序并发执行,可以将暂时不能执
24、行的程序送到外存中,从而获得空闲内存空间来装入新程序,或读入保存在外存中而目前到达就绪状态的进程。交换单位为整个进程的地址空间。原理:暂停执行内存中的进程,将整个进程的地址空间保存到外存的交换区中,而将外存中由阻塞变为就绪的进程的地址空间读入到内存中,并将该进程送到就绪队列。优点:增加并发运行的程序数目,并且给用户提供适当的响应时间;编写程序时不影响程序结构;缺点:对换入和换出的控制增加处理机开销;程序整个地址空间都进行传送,没有考虑执行过程中地址访问的统计特性。与覆盖技术相比,交换技术不要求用户给出程序段之间的逻辑覆盖结构;而且,交换发生在进程或作业之间,而覆盖发生在同一进程或作业内。此外,
25、覆盖只能覆盖那些与覆盖段无关的程序段。页面变换表列出了作业的逻辑地址与其在主存中的物理地址间的对应关系快表访问主存,首先必须访问页表,读出表目,之后根据形成的实际地址再访问主存。提高效率,加快速度-一组硬件寄存器,块表(相联存储器)目的:存放当前访问过的页的表目,保存正在运行进程的页表的子集(部分表项)。每次访问主存时,首先查找快表,若找到所需的表目,则快速形成物理地址。否则从页表中查找后形成物理地址,同时把页描述子写入快表。如果设计得当,快表的命中率可以很高置换算法当要放一页面到全满的主存块时,系统需淘汰一页。用来选取淘汰哪一页的规则,叫置换算法。先进先出置换算法 最近最久未用置换算法(LR
26、U) 近似的LRU算法(NRU算法)颠簸(抖动) 在虚存中,页面在内存与外存之间频繁调度,以至于调度页面所需时间比进程实际运行的时间还多,此时系统效率急剧下降,甚至导致系统崩溃。这种现象称为颠簸或抖动原因:页面淘汰算法不合理分配给进程的物理页面数太少功能三、设备管理目标:方便设备使用、提高CPU与I/O设备利用率;设备无关性:提供统一的I/O设备接口,使应用程序独立于物理设备,提高可适应性;设备分配与回收:在多用户间共享I/O设备资源。设备分配的三种方式:独享、共享、虚拟技术。虚拟设备:设备由多个进程共享,每个进程如同独占。设备的传输控制:利用设备驱动程序(通常在内核中)完成对设备的操作。缓冲
27、区管理:匹配CPU和外设的速度,提高两者的利用率。(SPOOLING技术)I/O性能经常成为系统性能的瓶颈CPU性能不等于系统性能:响应时间也是一个重要因素CPU性能越高,与I/O差距越大 弥补:更多的进程进程切换多,系统开销大操作系统庞大复杂的原因操作系统庞大复杂的原因之一:资源多、杂,并发,均来自I/O外设种类繁多,结构各异输入输出数据信号类型不同速度差异很大设备管理的主要任务1) 选择和分配设备以便进行数据传输操作;2) 控制设备和CPU(或内存)之间交换数据;3) 为用户提供一个友好的透明接口;4) 提高设备和设备之间、CPU和设备之间以及进程和进程之间的并行操作度,以使操作系统获得最
28、佳效率。设备的分类:分类的方式,虚设备(3)按资源分配角度分 独占设备 在一段时间内只能有一个进程使用的设备,一般为低速I/O设备(如打印机,磁带等) 共享设备 在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高(如硬盘) 虚设备 在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备 目的:将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率(实例:SPOOLing技术,利用虚设备技术 用硬盘模拟输入输出设备)设备控制器的组成:I/O逻辑(4)从数据传输率角度分 低速设备 指其传输速率仅为每秒钟几个字节
29、至数百个字节的一类设备。如键盘、 鼠标器、语音的输入和输出等设备。中速设备 指其传输速率在每秒钟数千个字节至数万个字节的一类设备。如行式打印机、激光打印机等。高速设备 指其传输速率在数百万个字节至数十兆字节的一类设备。如磁带机、 磁盘机、 光盘机等。通道独立于中央处理器,专门负责数据I/O传输的处理机它对外设实现统一代替CPU对I/O操作进行控制使CPU和外设可以并行工作通道又称为I/O处理机引入通道的目的:为了使CPU从I/O事务中解脱出来同时为了提高CPU与设备、设备与设备之间的并行度DMA输入/输出软件的层次结构:中断处理程序设备驱动程序与设备无关的I/O软件用户层的输入/输出软件数据传
30、送控制方式:程序直接控制方式中断方式DMA方式通道控制方式程序直接控制方式由处理器提供I/O相关指令来实现I/O处理单元处理请求并设置I/O状态寄存器相关位不中断处理器,也不给处理器警告信息处理器定期轮询I/O单元的状态,直到处理完毕I/O软件包含直接操纵I/O的指令控制指令: 用于激活外设,并告诉它做什么状态指令: 用于测试I/O控制中的各种状态和条件数据传送指令: 用于设备和主存之间来回传送数据主要缺陷:处理器必须关注I/O处理单元的状态,因而耗费大量时间轮询信息,严重地降低了系统性能中断方式为了解决程序控制I/O方法的主要问题,应该让处理器从轮询任务中解放出来,使I/O操作和指令执行并行
31、起来。 具体作法:当I/O处理单元准备好与设备交互的时候,通过物理信号通知处理器,即中断处理器。DMA方式通道控制方式通道相当于一个功能简单的处理机,包含通道指令(空操作,读操作,写操作,控制,转移操作),并可执行用这些指令编写的通道程序控制方式的工作流程和差异设备驱动程序:地位设备密切相关的代码放在设备驱动程序中,每个设备驱动程序处理一种设备类型每一个控制器都设有一个或多个设备寄存器,用来存放向设备发送的命令和参数。设备驱动程序负责释放这些命令,并监督它们正确执行设备驱动程序的任务是接收来自与设备无关的上层软件的抽象请求,并执行这个请求。在设备驱动程序的进程释放一条或多条命令后,系统有两种处
32、理方式,多数情况下,执行设备驱动程序的进程必须等待命令完成,这样,在命令开始执行后,它阻塞自已,直到中断处理时将它解除阻塞为止。而在其它情况下,命令执行不必延迟就很快完成设备独立的软件:范围,功能,接口没有标准的和有标准的驱动程序接口应用:1.独立于设备的软件的基本任务是实现所有设备都需要的功能,并且向用户级软件提供一个统一的接口2.如何给文件和设备这样的对象命名是操作系统中的一个主要课题。独立于设备的软件负责把设备的符号名映射到正确的设备驱动上(linux上文件映射)3.设备保护:系统防止无权存取设备的用户存取设备4.不同的磁盘可以采用不同的扇区尺寸。设备独立软件向较高层软件掩盖这一事实并提
33、供大小统一的块尺寸。它可将若干扇区合成一个逻辑块。较高层的软件只与抽象设备打交道,独立于物理扇区的尺寸而使用等长的逻辑块5.缓冲技术 6.设备分配 7.出错处理用户层的IO软件尽管大部分IO软件都包含在操作系统中,但仍有一小部分是由与用户程序连接在一起的库过程,甚至完全由运行于核外的程序构成。系统调用,包括IO系统调用,通常由库过程实现这些过程所做的工作只是将系统调用时所用的参数放在合适的位置,由其它的IO过程实际实现真正的操作设备分配:设备分配与回收 当某进程向系统提出I/O请求时,设备分配程序按一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主机和设备间信息交换强调 设备独立性
34、即:不能因为设备的忙碌、故障或更换而影响程序的运行, 向用户屏蔽物理设备, 呈现给用户一个操作简单的逻辑设备强调 抽象的I/O 操作 即:设计一类通用的I/O指令,它们的含义对不同类型设备作不同解释,而且,在操作系统中,提供了若干I/O系统调用,由系统将抽象的I/O 操作映射到专门的设备驱动程序流程:设备控制表DCT、系统设备表SDT、控制器表COCT、通道控制表CHCTI/O控制和缓冲技术:速度不匹配I/O控制过程在系统中可以按三种方式实现作为请求I/O操作的进程的一部分实现作为当前进程的一部分实现I/O控制由专门的系统进程 I/O进程完成:每类(个)设备设一专门的I/O进程,且该进程只能在
35、系统态下执行整个系统设一I/O进程,全面负责系统的数据传送工作每类(个)设备设一个专门的I/O进程,但该进程既可在用户态也可在系统态下执行(1) 缓冲技术的引入: 凡是数据到达和离去速度不匹配的地方均可采用缓冲技术在操作系统中采用缓冲是为了实现数据的I/O操作,以缓解CPU与外部设备之间速度不匹配的矛盾,提高资源利用率减少了I/O设备对处理器的中断请求次数简化了中断机制节省了系统开销(2)缓冲的种类 单缓冲 当用户进程发出I/O请求时,操作系统在主存的系统空间为该操作分配一个缓冲区,可以实现预读和滞后写 双缓冲 可以实现用户数据区缓冲区之间交换数据和缓冲区外设之间交换数据的并行 多缓冲: 多个
36、缓冲区连接起来组成两部分(输入和输出) 缓冲池: (又称循环缓冲) 多个缓冲区连接起来统一管理,既可输入,也可输出功能四、文件管理目标:解决软件资源的存储、共享、保密和保护。文件存储空间管理:解决如何存放信息,以提高空间利用率和读写性能。目录管理:解决信息检索问题,方便用户按名存取。文件的读写管理和存取控制:解决信息安全问题。系统设口令"哪个用户"、用户分类"哪个用户组"、文件权限"针对用户或用户组的读写权"软件管理:软件的版本、相互依赖关系、安装和拆除等文件和目录:文件是指具有符号名的数据信息的集合结构:字节序列,记录序列,树类型:
37、可执行文件,存档文件存储:顺序存取(sequential access):不允许跳过一部分内容,也不能不顺序存取。例如,磁带。随机存取(random access):可直接访问文件任意位置,read给出具体位置,seek操作设定当前位置。例如,数据库操作:文件系统不应要求用户必须了解文件的物理组织才能使用文件,而应方便用户,提供给用户按其逻辑组织形式来使用文件。分类:按文件用途分类系统文件、库文件、用户文件按文件中数据分类源文件、目标文件、可执行文件按文件保护方式分类只读文件、读写文件、不保护文件按文件保存时间分类临时文件、永久文件文件的转储和恢复文件系统中不论是硬件还是软件都会发生损坏和错误
38、,为使至关重要的系统文件万无一失,应对保存在外存中的系统文件采取一些保护措施,如: “定期转储”。全量转储(backup)增量转储文件的恢复利用转储的文件进行恢复。(restore)物理转储:从磁盘的第0块开始,将全部磁盘块按顺序输出到存储设备上,直到最后一块复制完毕。逻辑转储:从一个或几个指定的目录开始,并递归的转储其自给定基准日期后,有所更改的全部文件和目录。目录的分级:一级,二级,多级,目的。(1)一级目录结构 为所有文件建立一个目录文件(组成一线性表)优点:简单,易实现缺点:限制了用户对文件的命名文件平均检索时间长限制了对文件的共享(2)二级目录结构 为改变一级目录文件目录命名冲突,并
39、提高对目录文件检索速度而改进 目录分为两级:一级称为主文件目录,给出用户名,用户子目录所在的物理位置;二级称为用户文件目录(又称用户子目录),给出该用户所有文件的FCB文件的结构:物理结构,逻辑结构优点:解决了文件的重名问题和文件共享问题 用户名|文件名 查找时间降低缺点:增加了系统开销(3)多级目录结构(树型目录)优点: 层次结构清晰,便于管理和保护;有利于文件分类;解决重名问题;提高文件检索速度;能进行存取权限的控制 缺点:查找一个文件按路径名逐层检查,由于每个文件都放在外存,多次访盘影响速度连续、随机、串联的保存方式从系统的角度来看文件,从文件在物理介质上的存放方式来研究文件(1)连续文
40、件(顺序结构) 文件的信息存放在若干连续的物理块中 优点: 简单 支持顺序存取和随机存取 顺序存取速度快 所需的磁盘寻道次数和寻道时间最少缺点: 文件不能动态增长 预留空间:浪费 重新分配和移动不利于文件插入和删除外部碎片问题 存储压缩技术(2)串联文件(链接结构) 一个文件的信息存放在若干不连续的物理块中,各块之间通过指针连接,前一个物理块指向下一个物理块 优点:提高了磁盘空间利用率,不存在外部碎片问题 有利于文件插入和删除 有利于文件动态扩充缺点:存取速度慢,不适于随机存取 可靠性问题,如指针出错 更多的寻道次数和寻道时间 链接指针占用一定的空间链接结构的一个变形:文件分配表FAT(3)随
41、机文件(索引结构) 直接地址结构、索引地址结构、计算寻址结构 一个文件的信息存放在若干不连续物理块中,系统为每个文件建立一个专用数据结构-索引表,并将这些块的块号存放在一个索引表中 一个索引表就是磁盘块地址数组,其中第i个条目指向文件的第i块优点: 保持了链接结构的优点,又解决了其缺点即能顺序存取,又能随机存取满足了文件动态增长、插入删除的要求能充分利用外存空间缺点:较多的寻道次数和寻道时间索引表本身带来了系统开销,如内外存空间,存取时间FCB,磁盘空间管理管理手段:空白盘区链 ,空白盘区目录 ,位示图安全性和保护机制文件存取控制矩阵 ,文件存取控制表,用户权限表 ,文件口令 ,文件加密磁盘存
42、储器管理:主要任务分配空间提高磁盘储存空间的利用率提高I/O速度保证文件系统的可靠性磁盘调度算法:先来先服务思想:根据进程请求访问磁盘的先后次序进行调度。优点:简单,公平,不会出现长期得不到满足的情况。缺点:平均寻道距离较大。效率不高,相临两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利。最短寻道时间优先思想:优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先。优点:每次寻道时间最短,改善了磁盘平均服务时间。缺点:饥饿现象,造成某些访问请求长期等待得不到服务扫描算法思想:当设备无访问请求时,磁头不动;当有访问请求时,磁头按一个方向移动,在移动过程中对
43、遇到的访问请求进行服务,然后判断该方向上是否还有访问请求,如果有则继续扫描;否则改变移动方向,并为经过的访问请求服务,如此反复。优点:克服了最短寻道优先的缺点,既考虑了距离,同时又考虑了方向。循环扫描算法思想:总是从0号柱面开始向里扫描按照各自所要访问的柱面位置的次序去选择访问者移动臂到达最后个一个柱面后,立即带动读写磁头快速返回到0号柱面返回时不为任何的等待访问者服务返回后可再次进行扫描廉价冗余磁盘阵列:五种,使用的技术RAID0 数据分条技术 整个逻辑盘的数据被分散分布在多个物理盘上,并行读写。(没有冗余能力) 至少两个盘RAID1把一个磁盘的数据镜像到另一个磁盘上。(两个盘上实施,数据冗余)50%RAID0+1 4个盘 RAID3 3个盘(一个专为校验盘) RAID5 无专门校验盘,校验数据分布在多个盘上 至少3个盘,(N-1)/N 一个磁盘故障时,控制器可从其他尚存的磁盘上重新恢复/生成丢失的数据而不影响数据的可用性功能五、用户接口目标:提供一个友好的用户访问操作系统的接口。系统命令:供用户用于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南昌航空大学《旋律写作基础(1)》2023-2024学年第二学期期末试卷
- 上海市华二附中2025年高三年级下学期十月份月考英语试题含解析
- 上海海洋大学《普通动物学》2023-2024学年第二学期期末试卷
- 江苏省南通如皋市2025届高三二模(4月)英语试题含解析
- 濮阳石油化工职业技术学院《生物医用材料概论》2023-2024学年第二学期期末试卷
- 丽水学院《ACCASBR战略商务报告》2023-2024学年第二学期期末试卷
- 共享员工协议书合同书协议书
- 二零二五集体林地承包租赁合同
- 抵押借款合同范例范例
- 二零二五版餐饮出租简单合同范例
- 不动产登记数据安全保密责任书
- 部编版七年级下册历史复习提纲(重点考察知识点)
- 大学文化主题辩论赛巅峰对决辩论辩答ppt模板
- 物业小区保洁清洁方案
- 双盘摩擦压力机的设计(全套图纸)
- 原地面高程复测记录表正式版
- 高等学校建筑学专业本科(五年制)教育评估标准
- 品质周报表(含附属全套EXCEL表)
- 商铺装修工程施工方案.
- MQ2535门座起重机安装方案
- 一针疗法高树中著精校版本
评论
0/150
提交评论