《【教学课件】第四章操作系统基础.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第四章操作系统基础.ppt(97页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章 操作系统基础 4.1 操作系统概述 直接使用裸机不仅不方便,并且效率低下。操作系统是为裸机配置的系统软件,为了建立用户和计算机之间的接口。一 操作系统定义操作系统的功能(1)有效控制和管理计算机系统中的各种硬件和软件资源,使之得到更有效地利用。(2)合理组织计算机系统的工作流程,以改善系统性能。(3)提供用户与计算机之间的接口,使计算机更易于使用。二 操作系统的形成1人工操作方式由操作员将纸带装入输入机,把数据和程序输入计算机,当程序运行完毕,用户取走纸带和计算结果,下一个用户才能上机。用户独占计算机资源,利用率低、CPU等待人工操作。慢速手工和快速CPU矛盾人机矛盾,CPU和I/O设
2、备速度不匹配。2 操作系统(1)单道批处理操作员将若干个待处理的作业合成一批输入到外存,批处理系统将其中的一个作业调入内存并运行。当作业运行完毕或因错误无法运行时,输出信息,并调入下一个作业运行,直到这一批作业全部处理完毕。特点:只有一个作业在内存中运行。大大减少了人工操作时间,提高了机器利用率。缺点:当一个作业发出输入输出请求时,CPU必须等待I/O完成。利用率低。2 操作系统(2)多道批处理多道程序技术:同时将多个作业放入内存,允许交替执行,共享系统中的各种资源,当一道程序因某种原因(如I/O请求)而暂停执行时,CPU立即转去执行另一个程序。多道批处理系统是引进了多道程序技术的批处理系统。
3、主存中可以同时有多道作业在运行,作业可以随时被调入系统,存放在外存中形成队列。操作系统按一定的原则从作业队列中调入一个或多个作业进入内存运行。2 操作系统(3)分时操作系统批处理系统中,用户以脱机方式使用计算机,提交了作业后,即使出现问题,也不能进行干预,直到作业处理结束。如果有错,还得重复该过程,不方便。用户希望以联机方式使用计算机。分时系统将处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。若作业在一个时间片内不能完成其计算,只能暂时中断,把处理机让给另一个作业,等待下一轮时间再继续其运行。由于机器速度很高,轮转地也很快,用户好像独占了计算机。2 操作系统(4)实
4、时操作系统对外来信息能够以足够快的速度进行处理,并快速作出响应。三 操作系统分类批处理系统、分时操作系统和实时操作系统是操作系统的三种基本类型。四 操作系统的功能处理机管理、存储器管理、设备管理、文件管理、用户接口 4.2 处理机管理一、单道批处理特点:封闭性:封闭性:一次只运行一个程序,独占资一次只运行一个程序,独占资源;源;可再现性可再现性:同一程序在同样的数据上运同一程序在同样的数据上运行,运行结果是可再现的;行,运行结果是可再现的;顺序性顺序性 操作按程序规定的顺序执行。操作按程序规定的顺序执行。程序顺序执行举例一设有一个程序有三个程序段,分别执行设有一个程序有三个程序段,分别执行 I
5、(输入)、(输入)、C(计算)和(计算)和P(输出)操作。(输出)操作。执行顺序为:执行顺序为:I C P 只有只有输入输入了数据了数据 ,才能,才能计算计算这些这些数据,也只有数据,也只有计算计算产生了结果,才能产生了结果,才能输出输出它们。这些逻辑关系(顺序)是它们。这些逻辑关系(顺序)是不能随意改变的。不能随意改变的。结果结果 数据数据 程序顺序执行举例二 假设有假设有n个作业,每个作业都由三个程序段:输个作业,每个作业都由三个程序段:输入段入段Ii、计算段、计算段Ci、输出段、输出段Pi。在早期单道程序。在早期单道程序系统中,作业执行流为:系统中,作业执行流为:作业作业1 I1 C1
6、P1 作业作业2 I2 C2 P2 作业作业n In Cn Pn作作业业执执行行顺顺序序二、程序并发执行程序并发执行举例设有三个程序,它们的执行步骤和顺序相同,设有三个程序,它们的执行步骤和顺序相同,都是都是Ii(输入)、(输入)、Ci(计算)、(计算)、Pi(输出)。(输出)。当第当第1个程序的输入操作个程序的输入操作I1执行完、执行执行完、执行C1时,时,输入机空闲,这时候可以执行第输入机空闲,这时候可以执行第2个程序的个程序的输入操作输入操作I2;在时间上,操作;在时间上,操作C1和和I2时重叠时重叠的。当的。当C1执行完、执行执行完、执行P1时,处理机空闲,时,处理机空闲,若这时若这时
7、I2已完成,就可以执行已完成,就可以执行C2,与此同时,与此同时,输入机又空闲,可以执行第输入机又空闲,可以执行第3个程序的个程序的I3。这。这样一来,在时间上,样一来,在时间上,P1、C2和和I3是重叠操作是重叠操作的。的。程序并发执行举例示意图程序程序1:I1 C1 P1程序程序2:I2 C2 P2程序程序3:I3 C3 P3 从示意图中可以看出,从示意图中可以看出,C1和和I2、P1、C2和和I3、P2和和C3在时间上都是重叠操作的。在时间上都是重叠操作的。Tt1t3t2三、多道批处理系统或分时系统特点在多道批处理系统或分时系统中,多道程序在同时运行,同样的程序和数据,其运行结果是不可再
8、现的。失去封闭性,共享资源,资源的状态由多个程序改变。程序并发执行,共享资源、相互合作,形成了相互制约的关系。为了描述程序的运行过程,引入进程的概念。对处理机的管理主要是对进程的管理。1、失去了程序的封闭性 begin int N;N=0;begin begin L1:program A L2:program B N=N+1;printf(“%d”,N);goto L1;N=0;end goto L2;end end 并发程序段并发程序段A 并发程序段并发程序段B2、运行结果是不可再现的分析:分析:若先执行程序若先执行程序A,N值大于值大于0;再执行程序;再执行程序B时,先输出一个大于时,先输
9、出一个大于0的的N值,然后,值,然后,N值变值变为为0。若先执行程序若先执行程序B,N值等于值等于0,先输出一个,先输出一个 0的的N值;再执行程序值;再执行程序A时,时,N值变为值变为1。由于程序由于程序A和程序和程序B都是以各自独立的速度都是以各自独立的速度运行,则因速度不同而结果不同。所以并发运行,则因速度不同而结果不同。所以并发执行程序失去了顺序程序的封闭性。执行程序失去了顺序程序的封闭性。3、程序并发执行时的相互制约程序程序1:I1 C1 P1程序程序2:I2 C2 P2程序程序3:I3 C3 P3 从图中可以看出,从图中可以看出,P1、C2和和I3是并发执行的程序段。是并发执行的程
10、序段。如果如果C1未完成,未完成,P1和和C2就无法执行。就无法执行。还可以看出,还可以看出,Ii,Ci和和Pi分别共享同一个输入机、处理分别共享同一个输入机、处理机和打印机,因此,一旦机和打印机,因此,一旦C2占用处理机,在它未完成占用处理机,在它未完成之前,之前,C3就无法启动。由此可见,程序并发执行时是就无法启动。由此可见,程序并发执行时是相互制约的,将导致并发程序具有相互制约的,将导致并发程序具有“执行执行暂停暂停执行执行”这样的活动规律。这样的活动规律。t2Tt1t3四、进程1、进程定义:进程是程序在一个数据集合上的运行过程。是系统进行资源分配和调度的一个独立单位。2、进程特点 1
11、动态性:是程序的一次运行,因创建而产生,因调度而执行,因得不到资源而暂停,最后因撤消而消亡。2 并发性:系统内多个进程可以随机、并发产生和消亡,并可并行活动。3 独立性:进程在逻辑上是独立的,是进行资源分配和调度的独立单位。4 异步性:在获得所需的资源后,就可以按照各自的、不可预知的速度向前推进。5 制约性:由于共享资源和某些协同动作。3、进程状态进程执行是间断的,有三种状态:就绪状态:获得了除处理机外的所有资源,分配到处理机就可以立即执行。执行状态:也称运行状态。获得必要的资源,并占有处理机,就运行。阻塞状态:也称等待状态。执行态的进程,由于某事件无法执行下去(如等待输入/输出完成),而所处
12、的状态。进程的的状态随自身的推进和外界条件的变化而发生变化。4、进程状态变化 处于就绪状态的进程由于进程调度程序为其分配了处理机,就进入执行状态。执行态的进程由于某事件的发生,由执行态变为阻塞态。阻塞态的进程,等待的事件已经发生,由阻塞态变为就绪态。执行态的进程,由于时间片完,由执行态变为就绪态。进程状态转换示意图 运行状态运行状态等待状态等待状态 就绪状态就绪状态 进程调度进程调度 等待资源等待资源时间用完时间用完获得资源获得资源 进程调度进程调度 程序程序 来自作业来自作业 调度调度 交作业交作业 管理管理进程在整个生存周期中,由进程调动程序控制,在这进程在整个生存周期中,由进程调动程序控
13、制,在这三种状态之间进行转换。三种状态之间进行转换。五、进程控制块 为了描述和控制进程,引入了一个数据结构,称为进程控制块PCB。创建进程就是为某程序及其数据设置一个PCB,用于对该进程进行控制和管理。进程执行完毕,系统收回PCB,就消亡。PCB是进程存在的唯一标志。1、进程控制块内容进程标识符:每个进程有唯一的进程标识符。进程当前状态:如运行、就绪等,作为进程调度程序分配处理机的依据。CPU现场保护区:当进程释放CPU时,CPU现场信息被保存在该区域,当该进程重新获得CPU时能继续执行。1、进程控制块内容占有资源表:列出进程已经分配的资源和所需资源。进程优先级:进程要求CPU的紧急程度、重要
14、性,优先级高的进程可以优先获得处理机。进程家族信息:有的系统允许进程创建子进程,形成继承家族树。在PCB中要指明进程和家族的关系,如子进程与父进程的标识。通信信息:记录在执行过程中与别的进程所发生的信息交换情况。2、进程组成进程是程序在一个数据集合上的运行过程,它由三进程是程序在一个数据集合上的运行过程,它由三部分组成:部分组成:程序 它主要用于描述进程所要完成的功能。它主要用于描述进程所要完成的功能。数据集合 它包括程序执行时所需要的数据和工作区。它包括程序执行时所需要的数据和工作区。进程控制块(PCBProcess Control Block)它记录进程控制信息,是进程动态特性的反映它记录
15、进程控制信息,是进程动态特性的反映。六 进程的调度和控制1进程调度在多道程序环境下,进程的数目往往多于处理机的数目,他们竞争处理机。要按照某种算法将处理机分配给就绪队列中的一个进程,使之执行。这由调度处理程序来完成。进程的调度算法有多种,如先来先服务、最高优先权优先、时间片轮转算法等。2 进程控制进程控制是对系统中的全部资源实施有效管理,包括进程的创建、撤消、阻塞、唤醒等。这些功能由各种原语来实现。原语是由若干条指令组成,完成一特定的功能,不可分割的。3、静态与动态优先数法静态优先数法静态优先数法 进程优先数是在系统创建进程时确定的,进程优先数是在系统创建进程时确定的,一经确定,在进程运行期间
16、就不再改变。一经确定,在进程运行期间就不再改变。动态优先数法动态优先数法 进程优先数在进程运行中,随进程特性的进程优先数在进程运行中,随进程特性的变化不断修改进程的优先数,实现更精确变化不断修改进程的优先数,实现更精确的调度。的调度。4、进程调度方式剥夺方式剥夺方式 当当“重要重要”或或“系统系统”的进程的进程出现时,便暂停正在执行的进程,立即出现时,便暂停正在执行的进程,立即将将CPU分配给分配给“重要重要”或或”系统系统“的进的进程程。非剥夺方式非剥夺方式 让正在执行的进程继续执行,让正在执行的进程继续执行,直到该进程完成或发生其它事件,而改直到该进程完成或发生其它事件,而改变为其它状态后
17、,才移交变为其它状态后,才移交CPU控制权。控制权。5、进程控制块PCB的组织形式 为了便于对进程调度管理,必须对进程进为了便于对进程调度管理,必须对进程进行合理的组织。进程控制块行合理的组织。进程控制块PCB是定长记录,是定长记录,采用两种组织方式。采用两种组织方式。顺序表结构顺序表结构 PCB组织形式组织形式 链表结构链表结构PCB顺序表结构 PCB1PCB2PCB3PCB4PCBiPCBi+1PCBi+2 就绪表就绪表 等待表等待表 就绪表就绪表起始地址起始地址等待表等待表起始地址起始地址PCB线性表的特点 1、简单、易实现 2、插入、删除操作费时 3、随机查找 PCB1 PCB2 PC
18、B3 PCBi PCBi+1删除删除 后面的元素统统后面的元素统统 前移一个位置前移一个位置PCB链表结构 运行队列运行队列 就绪队列就绪队列 等待队列等待队列PCBr队头队头指针指针PCBsPCBs+1PCBs+2PCBtPCBt+1PCBt+2PCB链表的特点 1、插入、删除操作简单、插入、删除操作简单 2、需要增加额外的存储空间,实现较复杂、需要增加额外的存储空间,实现较复杂 (存放地址指针)(存放地址指针)3、顺序查找、顺序查找插入插入操作操作PCB5PCB4PCB1PCB2PCBi PCB6 删除删除操作操作删除删除DOS的进程管理 DOS是单用户、单任务OS,因此进程管理任务非常简
19、单;进程独享系统资源,不需要复杂的调度管理和调度算法。UNIX的进程管理 UNIX是多用户、多任务的OS。为了更好的实现管理,它将进程的状态细分为六种。运行状态运行状态1暂停状态暂停状态运行状态运行状态2终止状态终止状态睡眠状态睡眠状态高优先高优先 低优先低优先等待等待状态状态唤醒唤醒就绪就绪状态状态选中选中落选落选撤消撤消挂起挂起置运行置运行跟踪跟踪WINDOWS98的进程管理Win98 OS中使用了进程和线程相结合的设计技术。每个进程至少包括一个线程,在执行时给每个线程分配时间片。Win98是多任务OS,采用抢占式的多任务调度算法来实现多任务操作。任务调度程序将处理机分配给等待队列中优先级
20、最高的线程。在Win98有两种调度程序:主调度程序和时间片调度程序;前者选择最高优先级的线程运行(优先级为031);后者依据线程的处理顺序及虚拟机的当前状态,分配一个时间片给被选线程,并执行。4.3 内存管理 内存是计算机中宝贵而紧俏的资源,内存管理是操作系统的一项重要功能。一一 存储管理的功能存储管理的功能1 内存空间的分配与回收为进程的程序和数据分配内存空间,并在不需要时回收。系统会建立一张内存空间表,记录空间的使用情况。一 存储管理的功能(续)2 实现地址转换实现地址转换 将用户使用的逻辑地址转换成处理器能访问的绝对地址。3 空间的共享与保护空间的共享与保护 共享指若干进程共同访问公共区
21、。保护指各道作业都在自己的空间内运行,互不干扰。4 空间扩充空间扩充 采取某种措施解决内存不足的问题。二 重定位 逻辑地址与物理地址一般是不同的,必须将逻辑地址转换为物物理理地址,程序才能正确执行,这种转换称为重定位。1 静态重定位静态重定位 在程序装入时由装入程序完成的。将逻辑地址加上程序在内存中的起始地址。2 动态重定位动态重定位 装入主存的程序仍然保留逻辑地址,是在程序执行过程中,将要执行的程序或访问的数据的逻辑地址转换为物理地址。通常要借助一个基址寄存器。可以实现程序浮动。三 存储管理方法 1 单一连续分配单一连续分配 适用于单用户、单任务。除操作系统占用一部分外,全部存储空间作为一个
22、连续分区,全部分配给一个作业。简单,利用率低。单一连续区分配法示意图 2000CPU+操作系统操作系统 自由空间自由空间用用户户区区域域主存空间主存空间定位寄存器定位寄存器1500(逻辑地址)(逻辑地址)2000 3500(绝对地址)(绝对地址)说明:说明:绝对地址绝对地址=基地址基地址+逻辑地址逻辑地址基地址不同产生的绝对地址就不同。基地址不同产生的绝对地址就不同。2 多连续区分配 将内存划分为多个区域,操作系统占用一个,其余的每个分区分配给一个作业。分固定分区和可变分区两种。(1)固定分区)固定分区 划分为固定大小的区域(可同也可不同)。当一个分区空闲时,从就绪队列中选择一个作业调入该分区
23、。要建立分区说明表,记录可分配分区的数目、大小、起始地址及状态。固定分区示意图 区号区号长度长度 起址起址状态状态1 8K 20K 已分已分2 14K 30K 已分已分3 28K 50K 已分已分4 76K 80K 未分未分分分 区区 表表操作系统操作系统作业作业A作业作业B作业作业C第第1分区分区第第2分区分区第第3分区分区未分区未分区20K30K50k80K主存主存“垃圾垃圾”(1)固定分区(序)分配:首先检索分区表,找一个能满足要求的未分配的分区给该程序,并修改该分区表项的状态。当程序执行完毕,将该分区的状态改为未分配。特点:管理调度简单、分区策略适合于特点:管理调度简单、分区策略适合于
24、工作负荷比较确定的系统。工作负荷比较确定的系统。每个已分配的分区有一部分被浪费,利用率低。(2)动态分区分配也称可变分区分配。也使用分区表来记录各分区的使用情况。还将内存中的空闲分区单独构成一个空闲分区表或链。分配时,首先从空闲分区分区表中选出一个满足作业需求的分区,分配给作业。如果分区比需求的量大,将一分为二,一部分给作业,剩下的流在空闲分区表中,并进行信息的修改。解决碎片的方法是拼接(紧缩、紧凑),将已分配的分区移动到主存的一端,使本来分散的空闲分区连成一个大的空闲区。多连续区分配法示意图 已已分分配配分分区区表表P未未分分配配分分区区表表 F区号区号 长度长度 起始地址起始地址 状态状态
25、 1 8K 20K 已分已分 2 16K 28K 已分已分 4 124K 108K 已分已分区号区号 长度长度 起始地址起始地址 状态状态 1 64K 44K 可用可用 2 24K 232K 可用可用 3 -空表目空表目 4 5 操作系统 作业作业1 作业作业220K28K 5 44K 可用分区1108K 操作系统操作系统 可用分区可用分区1 作业作业3 可用分区可用分区2232K3 页式存储管理分区存储产生碎片、空间管理复杂。其原因是将作业要放置在一片连续的区域中。页式存储将作业划分为若干个相等的部分,称为页,内存空间也划分为若干个与页长度相等的区域,叫做块。给作业分配存储空间时,是以页(块
26、)为单位。如果没有足够的块,作业等待。建立页表,记录每个页面对应的物理块。将逻辑地址分为页号和页内位移两部分。由页号找到块号,块号加页内位移就形成了物理地址。避免了紧缩带来的开销。动态地址变换示意图 控制寄存器控制寄存器 作业地址空间作业地址空间 作业页表作业页表1 2 3 4LOAD l,2500页表长度页表长度 页表始址页表始址有效地址有效地址 2 452页号 块号0 41 62 8 8 452物理地址物理地址=8644页号页号 2500=2*1024+452 1 100 1K 2K 2500 3K4 段式存储管理一个程序常由若干个独立的功能模块组成,称为段。每段存放在连续的内存空间。各段
27、长度不等,同一程序的各段之间不要求连续。建立一个段表,实现从逻辑地址到物理地址的转换。每个表目描述一个段信息,包括段号、段长和该段的内存起始地址。地址变换:根据段号从段表中找到段在内存中的起始地址,将该起始地址与段内位移相加,得到物理地址。地址是二维的,段和段内偏移量。分段管理示意图6 0 1K 0100500 0300 0200LOAD 1,1|100 Y:12345C:0段段1段段2段段3段段段号长度段号长度 起始地址起始地址 0 1K 6K 1 500 8K 2 300 4K 3 200 9200分段地址空间分段地址空间分段表分段表OS 0 2K 4K 6k 8k 8292 92002段
28、LOAD1,1|1000段段1段段3段段123458292=1024*8+100主存空间主存空间分配算法简介首次适应算法首次适应算法 从第从第1个空白区开始查寻,个空白区开始查寻,直到找到第直到找到第1个适应要求的空白区为止。个适应要求的空白区为止。最佳适应算法最佳适应算法 空白区按大小递增顺序链空白区按大小递增顺序链接,指针总是指向最小的一个;因此总是从接,指针总是指向最小的一个;因此总是从最小的一个开始。这样,第最小的一个开始。这样,第1次找到的满足次找到的满足要求的空白区必然是最合适的。要求的空白区必然是最合适的。存储空间的分区保护在多道程序系统的在多道程序系统的主存中,为了保护主存中,
29、为了保护系统程序的安全,系统程序的安全,系统程序和用户程系统程序和用户程序实际使用的区域序实际使用的区域是隔开的。是隔开的。这种分割是靠硬件这种分割是靠硬件实现的。用户程序实现的。用户程序只能使用用户区域只能使用用户区域的存储空间。的存储空间。系统系统区域区域用户用户区域区域主存空间的分区主存空间的分区 保护示意图保护示意图主存空间的扩充 在计算机中,主存总是常数,要想处理在计算机中,主存总是常数,要想处理大、多的作业,就要想办法扩充主存的空大、多的作业,就要想办法扩充主存的空间。主导思想是:如何在有限的主存空间间。主导思想是:如何在有限的主存空间中,处理大于主存的作业。中,处理大于主存的作业
30、。“自动覆盖自动覆盖”技术和技术和“虚拟存储虚拟存储”技术是扩充主存常用的、有效的方法。技术是扩充主存常用的、有效的方法。自动覆盖技术这种方法的主要作法是将大的程序划这种方法的主要作法是将大的程序划分为相对独立的程序段,将目前需要分为相对独立的程序段,将目前需要的程序段装入主存中,其他暂时放入的程序段装入主存中,其他暂时放入外存,需要时再装入内存,而将其他外存,需要时再装入内存,而将其他部分覆盖。部分覆盖。虚拟存储器(Virtual Storage)它的基本思想是把作业的地址空间和物理地址它的基本思想是把作业的地址空间和物理地址空间视为两个不同的概念,采用内、外存结合空间视为两个不同的概念,采
31、用内、外存结合的办法,把部分外存作为主存使用,以此为用的办法,把部分外存作为主存使用,以此为用户提供了足够大的地址空间户提供了足够大的地址空间虚存空间虚存空间。用户可以在这个地址空间内编程,而完全不考用户可以在这个地址空间内编程,而完全不考虑主存的大小。虑主存的大小。虚拟存储器技术虚拟存储器技术是在硬件和软件的共同支持是在硬件和软件的共同支持下实现的。下实现的。硬件硬件负责虚实地址的转换;负责虚实地址的转换;软件软件负责实存(主存)和虚存(外存)之间的信息负责实存(主存)和虚存(外存)之间的信息调度管理。调度管理。DOS的主存管理采用单一连续分区的方法,但却综合运用了多连续分区的管理技术(覆盖
32、)。UNIX的主存管理 采用分段管理方法,存储分配采用优先适应算法。UNIX不支持虚拟存储器。为运行大程序,采用主存与外存调入调出的对换技术。Windows98存储器管理Windows98 OS不仅支持常规内存、扩不仅支持常规内存、扩展内存和扩充内存管理,还支持虚拟展内存和扩充内存管理,还支持虚拟内存管理(内存管理(VM)。)。当一个进程所需要的存储空间超过了可用的空间时,虚拟内存管理器使用换页技术在物理内存和硬盘之间交换数据。它能够寻址它能够寻址4GB空间,包括硬盘空间。空间,包括硬盘空间。4.4 设备管理 对硬件资源中,除CPU、存储器之外的所有设备进行管理。一、设备分类 从工作特性分为:
33、存储设备和输入/输出设备。从从属关系分为:系统设备和用户设备。系统设备:配置的标准设备,操作系统生成时已经登记在系统中的标准设备,如键盘、显示器、打印机等。用户设备是操作系统生成时未登记在系统中的非标准设备,如鼠标、绘图仪、扫描仪等。一、设备分类(续)从共享属性分为独占设备、共享设备、虚拟设备。虚拟设备是通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户进程同时使用。按交换信息单位分为:块设备和字符设备。二、设备管理的功能制定设备分配和使用的策略,为I/O操作的进程分配一条传输信息的通路,合理控制I/O操作,最大限度地实现并行操作。达到的目标:(1)方便性:用户无须了解物理设备的细节
34、。(2)并行性:CPU与I/O设备工作时间高度重叠,设备之间并行操作,提高设备利用率。(3)均衡性:使CPU和I/O设备的忙闲程度保持相对平衡。三、设备控制方式也称I/O控制方式,从低级发展到高级经历了由简到繁、由低级到高级的发展过程,分为四种。1 程序直接控制方式:循环检测方式不需要附加的硬件,当进程需要输入数据时,处理机向设备控制器发出一条I/O指令,启动设备进行输入,然后,处理机循环检测设备状态寄存器的忙闲标志位,当值显示设备输入完成,便将数据寄器中的值取出,送入内存指定单元,然后再启动设备去读下一个数据。当用户进程需要输出数据时,也同样。特点:无论设备工作与否,CPU一直是忙碌的,忙等
35、待,与设备只能是串行工作。2 中断方式CPU启动设备后,就可以去进行其他工作。当设备工作结束后,就向CPU发送中断信号,打断正在处理的任务,通知CPU设备已经处于闲状态,CPU就可以向设备安排新任务,输出下一个数据。CPU就返回刚被中断的任务。特点:在一定程度上,实现了CPU与外设的并行,还可以实现多台外设间的并行 3 DMA方式直接存储访问(Direct Memory Access)方式。中断方式中,CPU干涉一次,只传送一个数据。DMA方式中,CPU干涉一次,在DMA控制器的控制下,传送一个数据块。直接内存存取方式示意图 DMA1设备设备1 主存主存CPUDMA2DMAn设备设备n设备设备
36、2.占用总线控制权,直接存取内存占用总线控制权,直接存取内存4 I/O通道方式在DMA方式中,传送一个数据块CPU干涉一次。为了传送一组数据块,CPU只干涉一次,引入通道方式。通道是能控制一台或多台外设与CPU并行工作的硬件部件。当需要传送数据时,CPU只需执行一条命令启动通道,而真正的数据传送则由通道控制。当数据传送结束时,再向CPU发出中断。通道控制示意图四级连接、三级控制主存CPU通道通道通道控制器控制器控制器控制器设备设备设备设备设备设备设备CPUCPU控制控制“通道通道”、“通道通道”控制控制“控制器控制器”、“控制器控制器”控制控制“设备设备”四 缓冲技术在CPU和设备之间交换数据
37、时,数据的到达率和离去率不匹配,设置一缓冲区,以暂时存放数据,腾出CPU,然后让外设慢慢地把数据读入或取出缓冲区。缓解了CPU和外设之间的速度不匹配的矛盾,提高了CPU与设备、设备与设备之间并行工作的程度,提高了系统效率。Spooling技术:联机情况下实现的同时外围操作,也称为假脱机操作。实现虚拟设备。五 设备的分配按照一定的策略为请求设备的进程分配合适的设备。要考虑设备的属性。1 独占设备:独占分配。将一个设备分配给某进程后,一直由它独占,直至该进程完成或释放该设备。如打印机。2 共享设备:可同时分配给多个进程使用,如磁盘。提高了设备的利用率,但要合理调度。五 设备的分配(续)3 虚拟设备
38、 当进程申请独占设备时,系统只分配给其一部分存储空间。将交换的信息放在存储空间中,在适当的时候,将信息从设备传送到存储空间或将存储空间中的信息传送到设备。分配算法:先请求先服务 优先级高者优先。4.6 文件管理文件系统:操作系统与用户关系最密切的一部分,对用户来说,它是操作系统中最直观的部分。一 文件文件是具有符号名的一组信息,比如源程序、数据、目标程序等。文件是操作系统进行信息管理的基本单位,信息管理也就是文件管理。二 文件类型为便于管理和控制文件,将文件分成若干类型:1 按用途划分系统文件:构成系统软件的文件。大多数系统文件只允许用户调用,而不允许读或修改。库文件:由系统提供给用户使用的各
39、种标准过程、函数和应用程序。只允许用户调用、不允许修改。用户文件:用户委托文件系统保管的文件。如源程序、目标程序、数据等。2 按文件的保护级别划分只读文件:读写文件:执行文件不保护文件:3 按信息流向划分输入文件:如键盘上或读卡机上的文件。输出文件:如打印机上的文件,只能写出。输入/输出文件:磁盘、磁带上的文件,能读和写。4 按文件中的数据形式划分源程序、目标程序(源程序经过编译程序编译形成的目标代码组成的文件,未经过链接的)、可执行文件(目标文件经过链接形成的)。DOS文件系统的存储结构在在DOS下,文件主要存放在磁盘上,而磁盘在下,文件主要存放在磁盘上,而磁盘在使用之前要先进行格式化处理。
40、使用之前要先进行格式化处理。DOS的格式化的格式化处理包括处理包括“物理格式化物理格式化”和和“逻辑格式化逻辑格式化”。物理格式化是建立计算机能够识别的标准格式;物理格式化是建立计算机能够识别的标准格式;划分为磁道和扇区。划分为磁道和扇区。逻辑格式化也称高级格式化,是在物理格式化逻辑格式化也称高级格式化,是在物理格式化的基础上,建立文件系统可以识别的逻辑格式。的基础上,建立文件系统可以识别的逻辑格式。逻辑格式化建立的存储结构 引导区 存放启动计算机的引导记录和有关磁盘存放启动计算机的引导记录和有关磁盘存储介质的描述信息。计算机启动时自动跳转存储介质的描述信息。计算机启动时自动跳转到此处执行引导
41、程序。到此处执行引导程序。FAT 文件分配表,文件分配表,DOS文件系统组织结构中重文件系统组织结构中重要的组成部分。用于存放文件链表的地址信息要的组成部分。用于存放文件链表的地址信息(簇号)。一个文件若有(簇号)。一个文件若有N个链块(簇),则占个链块(簇),则占N个表项。个表项。FDT 文件目录表,用于存放文件的目录项信文件目录表,用于存放文件的目录项信息。一个文件占一个表项。息。一个文件占一个表项。引导区FAT1 FAT2 FDT 第1簇 第2簇 .DATA区UNIX文件系统的存储结构UNIX文件系统的存储结构与文件系统的存储结构与DOS的的很类似,应该说很类似,应该说DOS的系统设计借
42、鉴的系统设计借鉴了了UNIX系统的设计思想。系统的设计思想。UNIX文件文件系统的功能比系统的功能比DOS系统要强得多,系系统要强得多,系统构成也复杂得多。统构成也复杂得多。UNIX系统的特点之一是文件和设备系统的特点之一是文件和设备的一致性。在的一致性。在UNIX下,文件、目录下,文件、目录和和I/O设备都作为文件对待,从而简设备都作为文件对待,从而简化了系统设计,也方便了用户的使用。化了系统设计,也方便了用户的使用。四、文件系统的保护与使用 文件保护有两重含义:文件保护有两重含义:防止文件被非法读取防止文件被非法读取 防止文件被有意或无意的破坏如删除。防止文件被有意或无意的破坏如删除。在文
43、件系统中,通常采用在文件系统中,通常采用“访问权限访问权限”保护机制来实现对文件的保护。保护机制来实现对文件的保护。1、DOS的文件保护机制 DOS通过外部命令通过外部命令UNDELETE设置了三级文件保护机设置了三级文件保护机制;分别为制;分别为“警卫、追踪和一般保护警卫、追踪和一般保护”。“一般保护一般保护”措施可以有条件的恢复被删除的文件;措施可以有条件的恢复被删除的文件;即删除文件后,还没有做过改变磁盘存储分配的操即删除文件后,还没有做过改变磁盘存储分配的操作这样一种情况下,被删除的文件可以恢复。否则,作这样一种情况下,被删除的文件可以恢复。否则,就不能恢复。就不能恢复。“警卫保护警卫
44、保护”和和“追踪保护追踪保护”是在内存和磁盘中开辟是在内存和磁盘中开辟出专用空间,存留被删除的文件,两者不同之处在出专用空间,存留被删除的文件,两者不同之处在于开辟的空间大小不同而已。它们都是以系统资源于开辟的空间大小不同而已。它们都是以系统资源为代价,换取保护文件的。为代价,换取保护文件的。系统、隐藏、只读。系统、隐藏、只读。2、UNIX的文件保护机制UNIX用文件的存取权限限定对文用文件的存取权限限定对文件操作,为此,设定了件操作,为此,设定了“两种用两种用户户”、“三个等级三个等级”、“三种存三种存取权限取权限”。1)两种用户 特权用户 可以随意存取任何用户的文件、包括可以随意存取任何用
45、户的文件、包括 修改和删除;修改和删除;普通用户 只能对自己的文件进行操作;而对其只能对自己的文件进行操作;而对其 它目录下的文件只能进行授权的操作。它目录下的文件只能进行授权的操作。2)三个等级 文件所有者 文件的创建者(主人),对自己的文件有处理全权;文件的创建者(主人),对自己的文件有处理全权;同组人 与文件所有者是同组关系(例如,同课题组、同教研与文件所有者是同组关系(例如,同课题组、同教研室),对同组文件可进行文件主人授权的操作。室),对同组文件可进行文件主人授权的操作。其他人 与文件所有者无关的人。只能进行文件主人授权的操与文件所有者无关的人。只能进行文件主人授权的操作;若没有被授
46、权,则无法对文件进行任何操作。作;若没有被授权,则无法对文件进行任何操作。3)三种存取权限 阅读权(r)只能读、显示文件名及目录;只能读、显示文件名及目录;写入权(w)除具有读权限外,还可以建除具有读权限外,还可以建 立文件和目录,修改立文件和目录,修改 文件;文件;执行权(x)最高权限;除具有读、写权最高权限;除具有读、写权 外还可以执行文件、删除文外还可以执行文件、删除文 件。件。权限组合三个等级、三种存取权限可以组成三个等级、三种存取权限可以组成9种不同的种不同的存取权限代码,其格式为:存取权限代码,其格式为:1位位 3位位 3位位 3位位 类型类型 所有人所有人 同组人同组人 其他人其
47、他人 f r w x r w x r w x 其中,其中,f是类型标志位:是类型标志位:-表示是普通文件表示是普通文件 b 表示是块设备文件表示是块设备文件 c 表示是字符设备文件表示是字符设备文件 d 表示是子目录表示是子目录 3、Windows的文件管理FAT Windows文件系统仍支持MS-DOS的FATFAT32 为了支持更高容量的磁盘,windows采用了FAT32文件系统,但仍保持与FAT文件格式的兼容,可使磁盘容量使用率提高10%。NTFS Windows采用NTFS文件系统,与FAT不兼容。4.7 用户接口操作系统为用户提供两类接口:命令接口和程序接口。一 命令接口是操作员级
48、的,用户使用命令来组织和控制程序的执行或管理计算机系统。二 程序接口是程序员级的,也称系统调用。由一组系统调用命令组成,用户在程序中使用系统调用请求操作系统服务。UNIX用户接口UNIX传统用户界面是基于文本的命令行界面,即shell。Shell即可方便编程操作,又可以联机作为交互命令使用。UNIX 还为用户提供图形界面,主要是X Windows系统,它被开发成为UNIX平台的标准GUI。DOS用户接口DOS操作系统基本上都是字符界面接口。Windows用户接口现行的Windows界面是基于GUI的用户接口,已经成为一种开放化系统的用户接口。程序员接口程序员与计算机进行交互的接口称为程序员接口API(Application Program Interface)。API实质是一套函数调用,是程序员可用的编程接口,用于创建其他程序。API为程序员或计算机用户提供了使用计算机时低层次、高效率的服务接口。作业1、思考第4章的13,1214。2、作业第4章的68、16。思考题OS存储管理的对象与任务是什么?什么是实存储管理和虚存储管理?常用的主存管理方法有哪几种?各自的特点是什么?OS设备管理包括哪些基本任务?主处理机与设备的信息交换有哪几种基本方法,各有何特点?什么是设备分配和驱动?