《2022年操作系统知识点整理》由会员分享,可在线阅读,更多相关《2022年操作系统知识点整理(37页珍藏版)》请在金锄头文库上搜索。
1、第一章 操作系统概述1)一个完整的电脑系统是由硬件系统和软件系统两大部分组成2)电脑软件是指程序和与程序相关的文档的集合3)按功能可把软件分为“系统软件”和“应用软件”两部分系统软件:操作系统语言处理程序,数据库管理系统应用软件:各种管理软件,用于工程计算的软件包,辅助设计软件4)通常把未配置任何软件的电脑称为“裸机”5)操作系统可以被看作是电脑系统的核心,统管整个系统资源,制定各种资源的分配策略, 调度系统中运行的用户程序,协调它们对资源的需求,从而使整个系统在高效、有序的环境里工作。6)发展的动力:(1)提高电脑资源的利用率的需要(2)方便用户使用电脑的需要(3)硬件技术不断发展的需要(4
2、)电脑体系结构发展的需要7)操作系统是在“裸机”上加载的第一层软件,是对电脑硬件系统功能的首次扩充8)操作系统的定义:操作系统是控制和管理电脑硬件和软件资源,合理地组织电脑工作流程,以及方便用户使用电脑的一个大型程序9)操作系统的功能:?处理机管理:进程控制,进程同步,进程通信、调度、实施CPU分配?存储器管理:内存分配,内存保护,地址映射,内存扩充精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 37 页?设备管理:缓冲管理,设备分配,设备管理?文件管理:存储空间管理,目录管理,读写管理和保护?与用户有关的接口:用户接口,程序接口,人机
3、交互10)操作系统另一种定义:操作系统是一组能有效地组织和管理电脑硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合操作系统的种类:1)单道批处理系统特点:单路性、独占性、自动性、封闭性、顺序性缺点:系统的资源得不到充分的利用2)多道批处理系统特点:多路性、共享性、自动型、封闭性、无序性、调度性好处:?提高 CPU的利用率?提高内存和I/O 设备的利用率?增加系统吞吐量缺点:平均周转时间长,无交互能力3)分时系统分时系统是指在一台主机上连接了多个配有显示器和键盘的终端,由此所组成的系统, 该系统允许多个用户同时通过自己的终端,以交互方式使用电脑,共享主机中的资源。采用了“时
4、间片轮转”的处理机调度策略精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 37 页4)实时系统实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行第二章 处理机管理1)进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令,数据和堆栈等组成的,是一个能独立运行的活动实体,多个进程可以并发执行和交换信息2)程序是一个在时间上严格有序的指令集合3)在单道程序设计下,系统具有的特点a.资源的独占性b.执行的顺序性c.结果的再现性在多道程序设计环境下,系统具有:a.执行的并
5、发性b.相互的制约性c.状态的多变性不可再现性5)并发、并行、串行a.从宏观上看是并行,同时在内存的多个程序都在执行着,互不影响b.从微观上看是串行,由于CPU 在任何时刻只能执行一个程序,因此这些程序轮流占用CPU ,交替执行着c.我们把 “逻辑上相互独立的程序,在执行时间上相互重叠,一个程序的执精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 37 页行还没有结束, 另一个程序的执行已经开始”的这种特性称为程序执行的并发性6)对进程的描述a.进程是程序的一次执行过程b.进程的运行活动是建立在某个数据集合上的c.进程是在获得资源的基础上
6、从事自己的运行活动7)进程的特征结构特征、动态性、并发性、独立性、异步性进程是一个动态的概念不同进程可以执行同一个程序每一个进程都有自己的生命周期进程之间具有并发性,进程间会相互制约8)程序和进程的区别a.程序是指令的有序集合,是静态的, 进程是程序在处理机上的一次执行过程,是动态的。 程序的存在时永久的,而进程是有生命周期的,它因创建而产生,因调度而运行,因撤销而消亡b.进程是程序的一次执行过程,程序是进程赖以存在的基础c.进程具有并发性,而程序并发执行会失去可再现性d.进程是系统分配和调度的独立单位,进程由程序、 数据集合和进程控制块组成9)系统进程的使用级别高于用户进程10) 进程的状态
7、精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 37 页创建、就绪、运行、阻塞a.一个进程从运行状态变为就绪状态,一定会引起另一个进程从就绪变为运行b.一个进程从运行状态变为阻塞状态,一定会引起另一个进程从运行状态变为就绪状态;这种因果变迁绝对不可能发生,因为一个CPU 不可能真正同时运行两个进程c.一个进程从阻塞状态变为就绪状态,不一定会引起另一个进程从就绪状态变为运行状态11) 进程的三个组成部分:程序、数据集合、进程控制块PCB 12) 进程控制块是进程存在的唯一标示a.作用:通过 PCB ,是原来不能独立运行的程序,成为一个可以
8、独立运行的基本单位,一个能够并发执行的进程b.其中的信息:进程标识符、处理机状态、进程调度信息、进程控制信息精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 37 页13) 操作系统中把做出“决定把CPU分配给谁用”的程序称为“进程调度程序”14) 常用的进程调度算法:a.先来先服务调度算法b.时间片轮转调度算法: 为就绪队列中的每一个进程分配一个称为“时间片”的时间段,它是允许该进程占用CPU的最长时间长度c.优先数调度算法:优先数高的先调度,假设相同则先来先服务d.多级队列调度算法:时间片调度和优先数调度算法的结合15) 进程调度程序
9、的主要功能a.记录系统中所有进程的有关情况,比方进程的当前状态,优先数等b.确定分配处理机的算法c.完成处理机的分配d.完成处理机的回收16) 把处理剂分配给进程后,还有一个允许它占用多长时间的问题,有两种处理方式,一种是不可剥夺方式,另一种是剥夺方式17) 为了对进程进行有效的管理和控制,操作系统要提供假设干基本的操作以便能创建进程、撤销进程、阻塞进程、唤醒进程,把具有这种特性的程序称为“原语”,原语的不可分割性,通常利用屏蔽中断的方法18) 程序接口:操作系统在程序一级给予用户的支持命令接口:操作系统在控制一级给予用户的支持19) CPU指令系统中的指令分为两类a.操作系统和用户都能使用的
10、指令,非特权指令b.只能由操作系统使用的指令,特权指令精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 37 页20) CPU的两种工作状态:管态、目态a.当 CPU处于管态时,可以执行包括特权指令在内的一切机器指令b.当 CPU处于目态时,禁止使用特权指令21) 访管指令系统调用命令的程序属于操作系统,它应该在管态下执行用户程序只有通过电脑系统提供的访管指令才能实现由目态转为管态,进而调用这些功能程序的目的访管指令属于非特权指令,功能是执行它就会产生一个软中断,促使中央处理机由目态转为管态,进入操作系统并处理该中断22) 从功能上看,可
11、以把系统调用命令分为五大类:a.一是关于进程管理和控制的b.二是关于外部设备输入/输出的c.三是关于磁盘文件管理的d.四是关于访问系统信息的e.五是关于存储申请与释放的23) 从形式上看, 操作系统提供的系统调用与一般的过程调用子程序调用 相似,但它们有着明显的区别作业管理:1)把一个作业提交给系统时,系统要开辟一个作业控制块JCB ,以便随时记录作业的信息精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 37 页2)被系统接纳的作业,在没有投入运行之前,称为后备作业。 这些作业存放在辅助存储器中,并由他们的JCB连接在一起,形成所谓的后
12、备作业队列3)作业调度: 按照某种规则, 从后备作业队列中挑选作业进入内存,参与处理机的竞争,这个过程称为作业调度4)作业的状态:a.提交状态: 进入辅助存储器,作业的信息还没有全部进入系统,系统也没有为它建立JCB ,感知不到它的存在b.后备状态:建立起了JCB ,并将 JCB排到后备作业队列中c.运行状态:阻塞、运行、就绪都属于运行状态d.完成状态:也是一个暂时性的状态5)作业的调度算法:a.先来先服务:以作业进入后备作业队列的先后次序周转时间 =完成时间 -到达时间注:假设分配一定的内存,且不允许作业在内存中移动时,要考虑所占内存大小b.短作业优先:从后备作业队列中挑选所需CPU 时间最
13、少且资源能够得到满足的作业注:如果所有作业“同时”到达后备作业队列,那么采用短作业优先的作业调度算法总会获得最小的平均周转时间c.响应比高着优先:先调度响应比高着响应比 =已等待时间 / 所需 CPU时间6)在确定作业调度算法时应注意的问题:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 37 页a.公平对待后备作业队列中的每一个作业,防止无故或无限期的延迟一个作业的执行,使各类用户感到满意b.使进入内存的多个作业,能均衡地使用系统中的资源,防止出现有的资源没有作业使用,有的资源却被多个作业争抢的“忙闲”不均的情况c.力争在单位时间内为
14、尽可能多的作业提供服务,提高整个系统的吞吐能力第三章 存储管理1)电脑操作系统的存储器:CPU寄存器,主存,辅存2)在考虑电脑存储器的设计时,必须顾及a.价格、容量、访问时间b.存取时间越快,价格越高,容量越小3)高速缓存: 介于寄存器和存储器之间的存储器,主要用于备份主存中较常用的数据,以减少处理机对主存储器的访问次数,提高程序执行速度高速缓存容量远大于寄存器,比内存约小两到三个数量级左右为了缓和内存与处理机CPU速度的不匹配4)字字长:一次传送数据的长度16、32、64依系统而定主内存储器和高速缓存之间是以“块”为单位传递数据的高速缓存与CPU之间则以“字”为单位传递数据5)存储器管理的功
15、能:a.内存的分配与回收b.存储的保护和共享c.地址定位d.存储扩充精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 37 页6)内存储器由一个个存储单元组成,一个存储单元可存放假设干个二进制的位bit , 8 个二进制位被称为一个字节byte7)在操作系统中, 把用户程序指令中的相对地址变为所在绝对地址空间中的绝对地址的这个过程,称为地址重定位8)地址的定位方式:a.绝对定位方式: 是在程序装入内存之前,程序指令中的地址就已经是绝对地址,已经正确地反映了它将要进入的存储区的位置,不适用于多道程序设计环境b.静态重定位多道程序环境下根据内
16、存的具体情况将装入模块装入到内存的适当位置,会使装入模块中的所有逻辑地址与实际装入内存后的物理地址不同。这种地址重定位是在程序执行前完成的c.动态重定位将地址重定位的时间推迟到程序执行时再进行所以装入内存的所有地址都仍是逻辑地址连续分配存储方式:1)单一连续分配静态重定位a.单道程序环境下,总体上把内存储器分为两个分区:系统区和用户区b.系统总是把整个用户区分配给一个用户使用,把分配给了用户但未被使用的区域称为“内部碎片”c.单一连续分区存储管理的缺点:a)由于每次只能有一个进入内存,故它不适用于多道程序设计,工作效精选学习资料 - - - - - - - - - 名师归纳总结 - - - -
17、 - - -第 10 页,共 37 页率不高,资源利用率低b)只要作业比用户区小,在用户区里就会形成碎片,造成资源浪费c)大作业无法在小内存中运行d.为缓解大作业小内存的情况提出覆盖技术和对换技术a)覆盖技术:允许一个作业的假设干个程序段使用同一个存储区b)对换技术:以辅助存储器作为内存的后援硬盘2)固定分区存储管理静态:分区数目、大小固定a.预先把内存储器中可供分配的用户区划分成假设干个连续分区,每个分区的尺寸可以相同,可以不同。 每个分区中只允许装入一个作业运行,系统可以为每一个分区设置一个后备作业队列,一个作业到达时, 总是进入到“能容纳该作业的最小分区”的那个后备队列中去排队b.分区的
18、分配与释放方案:a)在队列中挑选出第一个可容纳的作业进入i.优点:选择效率高ii.缺点:小作业 -大内存b)在这个队列中进行搜索,找到这个分区能够容纳的最大的那个作业,让它进入运行i.优点:存储空间利用率高,产生内部碎片尽可能的小ii.缺点:选择效率低c)在系统中至少保留一个小的分区,以防止因为运行小作业而被迫分配精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 37 页打分去的发生d)为具体管理各个分区,并建立一个“分区分配表”,其中包括每个分区的起始位置大小及状态c.特点a)它是最简单的,具有“多道”色彩的存储管理方案,提高资源利用
19、率b)当把一个分区分配给某个作业时,该作业的程序将一次性的全部装入到分配给他的连续分区里c)静态重定位,在分区内的程序不能随意移动d.缺点a)进入分区的作业尺寸不见得与分区的长度相吻合,势必产生内部碎片,引起资源的浪费b)如果到达作业的尺寸比任何一个分区的长度都大,它就无法运行3)可变分区存储管理:分区的边界划分随作业的需求可变,分区的数目随着进入作业的多少可变,消灭了内部碎片可能会产生内部碎片。外部碎片是指无法分配给用户使用的存储区a.基本思想: 在作业要求装入内存储器时,如果当时内存储器中有足够的存储空间满足该作业的需求,就划分出一个与作业相对地址空间同样大小的分区,并分配给它b.要解决的
20、问题a)采用一种新的地址重定位技术,动态地址重定位,以便程序能够在内精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 37 页存储器中随意移动,为空闲区的合并提供保证b)记住系统中各个分区的使用情况c)给出分区分配算法c.地址动态重定位过程在程序执行时动态完成a)为实施地址动态重定位,硬件要增加一个地址转换机构,这个机构一般由地址转换线路和一个定位寄存器基址寄存器组成b)地址的静态重定位和动态重定位的比较i.地址转换时刻:静态重定位是在程序运行之前完成地址转换的,而动态重定位是在程序执行时完成ii.谁来完成任务: 静态重定位是由软件完成
21、地址转换工作的,而动态重定位则是由一套硬件提供的地址转换机构来完成iii.完成的形式: 静态重定位是在装入时一次性集中地把程序指令中所有要转换的地址加以转换;而动态重定位则是每执行一条执行时,就对其地址加以转换iv.完成的结果:实施静态重定位,原来的指令地址部分被修改了,而动态重定位只是按照所形成的地址去执行这条指令,并不对指令本身做任何修改d.空闲区的合并e.分区的管理a)表格法:一张已分配表,一张空闲表分区号,分区大小,分区起始地址、状态b)单链表法: 一个存放该分区的长度,另一个存放它下一个空闲分区的起始地址c)双链表法:还存放上一个空闲区起始地址精选学习资料 - - - - - - -
22、 - - 名师归纳总结 - - - - - - -第 13 页,共 37 页f.空闲分区的分配算法a)最先适应算法: 要求空闲分区链以地址递增的次序链接对大作业不利b)最正确适应算法:每次为作业分配内存时,总是把能满足要求,又是最小的空闲分区分配给作业,防止“大材小用”按其容量c)最坏适应算法: 挑选一个最大的空闲区,从中分割一部分存储空间给作者使用, 以至于存储器中缺乏大的空闲分区,照顾中小作业的需求d)循环首次适应算法:从上次分配的位置之后开始查找g.可变分区存储管理的特点a)作业一次性的全部装入到一个连续的存储分区中b)分区是按照作业对存储的需求划分的,所以不会出现内部碎片c)为了确保作
23、业能够在内存中移动,要有硬件的支持, 实行指令地址的动态重定位h.缺点:a)仍然没有解决小内存裕兴大作业的问题,只要作业的存储需求大于系统提供的整个用户区,该作业就无法投入运行b)虽然防止了内部碎片,但有可能出现极小的翻去暂时分配不出去的情形,引起了外部碎片,c)为了形成大的分区, 可变分区存储管理通过移动程序来到达分区合并的目的, 然而程序的移动是很花费时间的,增加了系统在这方面的投入与开销4)分页式存储管理:需要两次访问内存,目的是提高内存利用率精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 37 页a.分页式储存管理是将固定分区
24、方法与动态重定位技术结合在一起,需要硬件支持基本思想: 首先把整个内存储器划分成大小相等的许多分区,每个分区称为“一块”b.在分页式存储管理中,块是存储分配的单位a)用户作业仍然是相对于“0”进行编址,形成一个连续的相对地址空间b)用户程序相对地址空间中的每一个分区被称为“页” ,用户相对地址空间中的每一个相对地址,都可以用页号, 页内位移 这样的数对来表示i.物理地址 =页的大小 *页号 +页内位移ii.页号 =相对地址 /块尺寸iii.页内位移 =相对地址 %块尺寸c.页与块对应关系表称为“页表”a)快速寄存器组单独起名为“相联寄存器”,简称“快表”b)快表与页表联合工作,先查找快表, 假
25、设无再查找页表并把数据写入快表c)访问页表时间+访问一次内存时间 * 命中率 +访问快表时间*命中率=平均内存存取时间d)页面尺寸大多项选择在512byte 到 64kb 之间d.特点:a)内存储器实现被划分成相等尺寸的块,它是进行存储分配的单元b)用户作业的相对地址空间按照块的尺寸划分成页,这是在系统内部进精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 37 页行的,用户感觉不到c)相对地址空间中的页可以进入内存中的任何一个空闲块,并且分页式存储管理实行的是动态重定位,因此它打破了一个作业必须占据连续的存储空间的限制,作业在不连续的
26、存储区里,也能够得到正确的运行e.缺点:a)平均每一个作业要浪费半页大小的存储块,会产生内部碎片b)作业虽然可以不占据连续的存储区,但是每次仍然要求一次全部进入内存。因此,如果作业很大,其存储需求大于内存,仍然存在小内存不能运行大作业的问题5)分段式存储管理:a.目的:方便用户使用编程,存储共享,存储保护,动态增长,动态链接b.要求用户将自己的整个作业程序以多个相互独立的称为“段”的地址空间提交给系统,每个段都是一个从“0”开始的一维地址空间,长度不一,操作系统按照段长为作业分配内存空间c.段表:段号、段长、该段在内存的基址起始地址段号,段内位移a)物理地址 =段的起始地址 +段内地址b)逻辑
27、地址 =段号 +段内地址d.分段与分页的区别:a)页是信息的物理单位,段是信息的逻辑单位i.分页提高内存的利用率,仅仅是系统管理上的需要,用户不可见。段是信息的逻辑单位,它通常包括的是一组意义相对完整的信息,分段段的目的主要在于能更好地满足用户的需要b)页的尺寸由系统决定,段的尺寸因段而异精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 37 页i.段的长度取决于用户编写的程序,通常由编译程序在对源程序进行编译时根据信息的性质来划分c)页的地址空间是一维的,段的地址空间是二维的i.分页:用户必须通过链接编辑程序,把各程序段链接成一个相对
28、于 0 编址的线性空间, 程序中是通过地址编号来确定空间中的位置的。因此用户向系统提供的是一个一维的逻辑地址空间。ii.分段:用户不把各程序段链接成一个相对于0 进行编制的一维线性空间,各程序段之间是通过段号,段内位移进行访问的。因此,用户向系统提供的是一个二维的逻辑地址空间6)段页式存储管理:三次访问内存a.基本原理: 分段和分页原理的结合,即先将用户程序分成假设干个段,再把每个段分成假设干个页,并为每一个段赋予一个段名。a)作业地址空间结构:主程序段,子程序段,数据段b)地址结构:段号,段内页号,页内地址b.系统设置了位示图、段表和页表,记录主存的使用情况和作业分配情况a)逻辑地址 =段号
29、 +页号 +页内位置b)块号 *块长 +页内地址c.虚拟存储器: 是具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统,其逻辑容量由内存容量和外存容量之和所决定,其运行速度接近于内存速度。a)特征:多次性、对换性、虚拟性、离散性d.请求分页式存储管理需要硬件支持a)是基于分页式存储管理的一种虚拟存储器精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 37 页“请求分页式” 是指当程序运行中需要某一页时,再把它从辅助存储器里调入内存使用,解决了小内存与大作业的矛盾,但会产生内部碎片b)缺页中断是指在指令执行期间,假设
30、发现所要访问的指令或数据不在内存时, 便立即产生和处理缺页中断信号,以便能及时将所缺之页面调入内存e.缺页中断与一般中断的区别缺页中断率 =缺页次数 /页面总数 a)缺页中断是在执行一条指令中间时产生的中断,并立即去处理, 一般中断则是一条指令执行完毕后,当发现有中断请求时,才去响应和处理b)缺页中断处理完成后,仍返回到原指令去执行,因为那条指令并未执行;而一般中断则是到下一条指令去执行,因为上一条指令已经执行完毕了f.影响缺页中断次数的因素:a)分配给作业的内存块数b)页面尺寸c)程序的实现7)页面淘汰置换算法:页面淘汰是由缺页中断引起的,但缺页中断不见得一定引起页面淘汰a.先进先出页面淘汰
31、置换算法FIFO 淘汰最先进入内存的页面3 个内存块都为空,3 次缺页中断b.最近最久未用页面淘汰置换算法LRU 总是把最长时间未被访问过的页面淘汰出去需要寄存器和栈精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 37 页c.最近最少用页面淘汰置换算法LFU总是把当前使用的最少的页面淘汰出去为每个内存中的页面设置一个计数器移位寄存器加 1d.最优最正确页面淘汰置换算法OPT把以后不再使用的或最长时间内不会用到的页面淘汰出去理论上, 不会实现注:对于FIFO页面淘汰算法,有时增加分配给作业的可用内存块数,它的缺页次数反而上升,通常称为异
32、常现象第四章 设备管理1“设备”泛指电脑系统中的各种外部设备,外设即主机以外的其他所有设备在众多的 I/O 设备中,并不是所有的设备都是可以共享的,可以借助于磁盘,把只能独享的设备变为共享,这就是所谓的“虚拟设备”SPOOLing技术 2设备是指电脑中用以在机器之间进行传送和接收信息,完成用户输入/输出 I/O操作的那些部件。比方磁盘、磁带、打印机、显示器、鼠标、键盘3电脑 I/O 系统的组织结构:(1)底层是具体的设备和硬件接口(2)中间是系统软件与设备相关软件、与设备无关软件(3)用户程序4I/O 设备一般是由执行I/O 操作的机械部分和执行控制I/O 的电子部件组成(1)执行 I/O 操
33、作的机械部分就是一般的I/O 设备(2)执行控制I/O 的电子部件称为设备控制器或适配器精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 37 页 为了能够使CPU设备控制器中的各个寄存器进行通信,通常采用“单独的I/O 空间”和“内存映射I/O”两种方法 设备控制器是CPU 与外围设备之间的接口,是一个可编址设备,每一个地址对应一个设备功能:?接收和识别命令?数据交换?标识和报告设备的状态?地址识别?数据缓冲区?过失控制组成:?设备控制器与处理机CPU 的接口?设备控制器与设备的接口?I/O 逻辑:用于实现对设备的控制5设备驱动程序:
34、6设备处理方式:(1)为每一类设备设置一个进程,专门用于执行这类设备的I/O 操作(2)在整个系统中设置一个I/O 进程,专门用于执行系统中所有各类设备的I/O 操作(3)不设置专门的设备处理进程,而只为各类设置相应的设备驱动程序,供用户或系统进程调用7设备驱动程序的处理过程精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 37 页(1)将抽象要求转换为具体要求(2)对服务请求进行校验,即检查I/O 请求的合法性(3)检查设备的状态(4)传送必要的参数(5)启动 I/O 设备(6)工作方式的设置I/O 接口程序:是操作系统中与设备无关的
35、软件,它从上层接收用户对设备提出的I/O 请求,然后负责吧I/O 请求转变成所需要的I/O 命令,调用具体的设备驱动程序去执行系统都是用主设备号和次设备号组成“逻辑设备名”操作系统提供的设备无关性的优点:?方便用户?提高设备的利用率8电脑设备的分类(1)基于设备的从属关系a.系统设备键盘、显示器、打印机、磁盘驱动b.用户设备(2)基于设备的分配特性a.独享设备打印机b.共享设备精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 37 页c.虚拟设备 SPOOLing技术(3)基于设备的工作特性a.输入 /输出设备字符设备b.存储设备块设备
36、磁盘、磁带(4)按信息交换的单位a.块设备:用于存储信息,属于结构设备。磁盘、磁带以块为单位传送信息b.字符设备:以单个字符为单位来传送信息。键盘9设备管理的目标a.提高外部设备的利用率b.为用户提供便利、统一的使用界面10设备管理的功能a.提供一组I/O 命令b.进行设备的分配和回收c.对缓冲区进行管理d.实现真正的I/O 操作11输入输出管理步骤(1)用户在程序中使用系统提供的输入/输出命令发出I/O 请求(2)输入输出管理程序接受这个请求(3)“设备驱动程序”来具体完成所要求的的I/O 操作(4)实现设备中断处理程序来处理这个请求设备的输入输出管理程序由3 块内容组成:接受用户的I/O
37、请求,组织管理输入输精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 37 页出进行,输入输出的善后处理设备控制:1)设备控制块DCB 中存放的是一台具体设备的有关信息,找到一个设备的DCB ,就得到了该设备的特性,各种参数,使用情况等,所以DCB 是设备管理中最重要的一条数据结构2)独享设备中具有排他性,只能采取“静态分配”的策略a.静态分配: 用户作业开始之前,由系统一次分配给该作业所需的设备,控制器和通道,不会发生死锁b.动态分配:在进程执行过程中进行的设备分配,可能造成死锁对独享设备采用的分配算法:?先来先服务?优先级高者先服务
38、3)共享磁盘的调度磁盘是一种典型的共享存储设备,允许多个作业进程同时使用,而不是让一个作业在整个运行期间独占。“同时使用” 是指当一个作业进程暂时不用时,其他作业进程就可以使用。每一个时刻只有一个作业用4)调度算法a.“先来先服务”调度算法并不理想移臂调度,减少查找时间以 I/O 请求到达的先后次序作为磁盘调度的顺序b.“最短查找时间”调度算法把距离磁头当前位置最近的I/O 请求作为下一次调度的对象精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 23 页,共 37 页c.“电梯”调度算法SCAN 总是沿着此案移动臂的移动方向选择距离磁头当前位置最近
39、的I/O 请求,作为下一次调度的对象d.“单向扫描”调度算法循环扫描CSCAN 总是从 0 号柱面开始往里移动移动臂,遇到有 I/O 请求就进行处理,直到到达最后一个请求柱面,然后移动臂立即带动磁头不做任何服务地快速返回到0号柱面,开始下一次扫描对 I/O 设备的控制方式数据传输方式1)程序循环测试方式程序查询式是指用户进程使用start 指令启动设备后,不断地执行test 指令,去测试所启动设备的状态寄存器。只有在状态寄存器出现了所需要的状态后,才停止测试工作,完成输入/输出。数据寄存器:用来存放传输的数据状态寄存器:用来记录设备当前所处状态2)中断方式所谓“中断”是一种使CPU暂时中止正在
40、执行的程序而转去处理特殊时间的操作。引起中断的时间称为中断源。程序中产生的中断,由 CPU的某些错误结果 如, 电脑溢出 产生的中断称为 “内中断”,由外部设备控制器引起的中断称为“外中断”3)直接存储器存取方式DMA 方式特点:能使I/O 设备直接和内存储器进行成批数据的快速传输。单位:块数据DMA 控制器包括四个寄存器:数据寄存器,状态寄存器,地址寄存器,字节计数器精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 24 页,共 37 页DMA 控制器的组成: 主机与 DMA 控制器的接口; DMA 控制器与块设备的接口;I/O控制逻辑4)通道方式
41、通道方式能够使CPU彻底从 I/O 中解放出来。CPU进行善后处理和启动。通道是一个独立于CPU的,专门用来管理输入/输出操作的处理机。通道是通过执行通道程序并与设备控制器共同实现对I/O 设备的控制的。它规定了设备应该执行的各种操作的顺序。由一系列通道指令所构成,CPU对 I/O请求只去做启动和蔼后处理工作,输入/输出的管理以及数据传输等事宜,全部由通道独立完成。缓冲:1)原因:a.缓和 CPU与 I/O 设备间速度不匹配的矛盾b.减少对 CPU的中断频率,放宽对CPU中断响应时间的限制c.解决数据粒度不匹配的问题d.提高 CPU和 I/O 设备之间的并行性2)缓冲的实现a.采用专门的硬件寄
42、存器,比方设备控制器里的数据寄存器,“硬件缓冲”b.在内存储器中开辟出n 个单元,作为专用的I/O 缓冲区,以便存放输入/输出的数据,这种缓冲区就是“软件缓冲”精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 25 页,共 37 页c.根据缓冲区的个数:单缓冲区、双缓冲区、多缓冲区、缓冲池3)虚拟设备a.通过多道程序技术可将一台物理CPU虚拟为多台逻辑CPU,需要硬件的支持。作为后援的硬盘大容量,具有设备与CPU并行工作的能力4)SPOOLing技术a.在主机的直接控制下,实现以前的脱机输入/输出功能, 此时的外围操作与CPU对数据的处理同时进行,我
43、们把这种在联机情况下实现的同时外围操作的技术称为 SPOOLing技术,或假脱机技术b.SPOOLing技术是对脱机输入/输出系统的模拟。SPOOLing系统建立在通道技术和多道程序技术的基础上,以高速随机外存通常为磁盘为后援存储器5)设备无关性:应用程序中所用的设备,不局限于使用某个具体的物理设备。为每个设备所配置的设备驱动程序是与硬件紧密相关的软件。为了实现设备独立性,必须再在设备驱动程序上设置一层软件,称为与设备无关的I/O 软件或设备独立性软件6)操作系统中实现虚拟设备的软件功能模块由3 部分组成a.预输入程序b.缓输出程序c.井管理程序7)SPOOLing系统由四部分组成a.输入井和
44、输出井精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 26 页,共 37 页在磁盘上开辟出来的两个存储区域,输入数据,输出数据b.输入缓冲区和输出缓冲区在内存中开辟的两个缓冲区c.输入进程和输出进程模拟外围控制机d.井管理程序特点:?提高了 I/O 的速度?将独占设备改造为共享设备?实现了虚拟设备的功能第五章 文件管理1)目标:提高外存储空间的利用率主要任务: 对用户文件和系统文件进行管理,方便用户使用, 并保证文件的安全性文件存储设备是以块为单位进行管理的2)所谓“文件” 是指具有完整逻辑意义的一组相关信息的集合,它是在磁盘上保存信息,而且能方便
45、以后读取的方法,文件用符号名加以标识,这个符号名就被称为 “文件名”3)文件是指由创建者所定义的,具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件两种。在有结构的文件中,文件由假设干个相关记录组成而无结构精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 27 页,共 37 页文件则被看成是一个字符流。文件在文件系统中是一个最大的数据单位,它描述了对象集文件属性:文件类型、文件长度、文件的物理位置、文件的建立时间最后一次的修改时间4)文件名: 在不同的系统之间,对文件名的规定是不同的。一个文件名是在创建该文件时由用户给出的,操作系统将向用户
46、提供组成文件名的命名规则5)很多操作系统采用句点.隔开成两部分的文件名形式,句点之前的部分称为文件名,句点后面的部分称为文件的“扩展名”。又称后缀名,用于指示文件的类型.bak 备份文件.bas ABSIC源程序.bin 可执行的二进制文件.cC源程序.dat 数据文件.doc 文档文件.hlp 帮助文件.obj 目标文件.pas Pascal文件.txt一般文本文件.tmp 临时文件1)文件被存在大容量的辅助存储器外存 中,当用户需要使用时,就通过文件名把相应的文件读到内存2)“文件系统” 是指操作系统中与文件管理有关的那部分软件,被管理的文件, 以及管理文件所需要的数据结构目录、索引表的总
47、体3)对文件的分类a.按文件的性质和用途:系统文件、用户文件、库文件b.按文件中数据的形式:源文件、目标文件、可执行文件c.按存取控制属性分类:只执行文件、只读文件、读写文件d.按文件的保护性质:只读文件、读写文件、可执行文件、不保护文件e.按文件的保护期限:临时文件、档案文件、永久文件f.按文件的存取方式:顺序存取文件、随机存取文件精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 28 页,共 37 页g.按设备的类型:磁盘文件、磁带文件、打印文件h.按文件的物理结构:连续文件、链接文件、索引文件i.按文件的内容组织形式和处理方式:普通文件、目录文
48、件、特殊文件j.按文件的逻辑结构:流式文件、记录式文件4)文件的逻辑结构a.从用户使用的角度出发组织的文件,被称为是文件的逻辑结构,一类是有结构的文件,这是指由一个以上的记录构成的文件,故又称为记录式文件b.从文件的组织方式来分,可以分为顺序文件,索引文件,索引顺序文件c.UNIX 操作系统总是以流失作为文件的逻辑结构5)文件的物理结构a.文件按不同的组织方式在辅存上存放,就会得到不同的物理结构,文件的物理结构有时也称为文件的“存储结构”b.文件在辅存 外存 上可以有3 种不同的存放方式:连续存放、链接块存放以及索引表存放c.对应地文件就有3 种物理结构, 分别叫做顺序结构,链接结构和索引结构
49、,也叫作连续文件,串联文件,索引文件6)存放方式a.连续存放连续文件不足之处:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 29 页,共 37 页?必须预先知道文件的最大长度?会造成磁盘碎片b.链接块存放串联文件不会因为磁盘碎片而浪费存储空间,但使用的指针要占去一些字节,每个磁盘块存储数据的字节数不再是2 的幂,从而降低了系统的运行效率c.索引表存放索引文件7)文件的存取a.顺序存取b.随机存取8)磁盘空间的管理a.磁盘是以块为单位进行分配的b.磁盘与内存之间是以磁盘块为信息传输的单位c.选定了块的大小,还要对它们进行管理,即要记住哪些已经分配,
50、哪些仍然空闲。d.常采用的磁盘存储空间管理方案有:位示图,空闲块表,空闲块链9)文件的操作:创建文件、删除文件、打开文件、关闭文件、读文件、写文件10)系统是通过文件的目录来管理文件的文件目录也是一种数据结构,用于标识系统中的文件及其物理地址11)为每一个文件开辟一个存储区,在它的里面记录着该文件的有关信息。我们把该存储区称为“文件控制块”FCB 也是一个目录项精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 30 页,共 37 页随系统的不同,一个文件的FCB中所包含的内容及大小也不尽相同包含内容:?文件名称?文件在辅存中存放的物理位置?文件的逻辑
51、结构?文件的物理结构?文件的存取控制信息?文件管理信息12)目录的层次结构如果把所有文件的FCB都登记在一个文件目录中,这样由文件名查文件目录项,直接就能够找到所需要的文件,那么就成这种文件目录为一级目录结构a)优点:i.简单,能实现目录管理中最基本的功能按名存取b)缺点:i.查找速度慢,不允许重名,不便于实现文件共享二级目录结构:由“主目录”与“用户目录”二级构成,在主目录根目录中,每个目录项的内容只是给出文件主名以及它的目录所在的磁盘地址。在一个个用户目录中,才是由问价的呢FCB组成的目录,用户目录,实际上就是一级目录1)两级目录结构的优点:a.提高了检索目录的速度精选学习资料 - - -
52、 - - - - - - 名师归纳总结 - - - - - - -第 31 页,共 37 页b.在不同的文件目录中,可以使用相同的文件名c.不同用户还可使用不同的文件名访问系统中的同一个共享文件2)缺点:a.假设一个用户可以拥有很多文件,则查找时间仍然很长b.用户无法对自己的文件进行再分类安排3)树型目录结构允许每个用户可以拥有多个目录,即在用户目录的下面可以再分子目录,子目录的下面还可以再有子目录。但每个文件目录中,只能有一个根目录,每个文件和每个目录都只能有一个父目录4)从根目录出发到具体文件所经过的各层名字,就构成了文件的“路径名”,从根目录出发的这个路径名,也称为文件的“绝对路径名”。
53、文件的绝对路径名必须从根目录出发,且是唯一的,从分隔符开头在 UNIX 系统中,路径名各部分之间是用“/”分隔在 MS-DOS系统中,路径各部分是用“”分隔在 MVLTICS系统中,路径各部分之间是用“”分隔在当前目录下的文件的路径名,称为文件的相对路径名5)文件的“共享”是指一个文件可以被多个授权用户共同使用分两种:?任何时刻只允许一个用户使用共享文件?允许多个用户同时使用同一个共享文件,只进行读操作精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 32 页,共 37 页第六章 进程间的制约关系1)在多道程序设计环境下,进程程序的执行具有并发性,在
54、相同的前提条件下,两次执行的结果有可能不相同,使得一个进程对另一个进程的影响无法预测,在操作系统里把这种由于时间因素的影响而产生的错误称为:“与时间有关的错误”2)进程间具有两种制约关系:互斥和同步a.由于对共享资源的争夺,导致进程之间出现互斥关系b.由于对任务的协调工作,导致进城之间出现同步关系3)把那些可以共享的资源文件、队列、缓冲区、表格、变量统称为共享变量或临界资源与一个共享变量 或共享资源 交往的多个进程,为了保证它们各自运行结果的正确性, 当其中的一个进程正在对该变量临界资源进行操作时,就不允许其他进程同时对它操作。进程的这种制约关系被称为“互斥”4)注意互斥进程a.作为具有互斥关
55、系的进程,它的一部分程序可能用于内部的计算以及内部的数据处理等, 那么只有设计共享变量的那一部分程序,才真正需要保证互斥地执行,把进程程序中 “真正需要保证互斥执行”的那一段程序或在每个进程中访问临界资源的那段代码称为该进程的临界区临界段b.具有互斥关系的进程,并不关心对方的存在,即使对方不存在,自己也能够正确地运行c.具有互斥关系的那些进程程序中的临界区,虽然都是针对同一个共享变量的程序,但在其上执行的操作可以相同也可以不同d.进程的临界区是相对于某个共享变量而言的,不同共享变量的临界区之间,不存在互斥关系信号量及其定义在信号量上的P、 V操作:精选学习资料 - - - - - - - -
56、- 名师归纳总结 - - - - - - -第 33 页,共 37 页1)如何来保证进程在临界区执行的互斥性,由信号量及其定义在信号量上的P、V 操作具体完成,但遵循如下规则a.如果有假设干个进程希望进入临界区时,至少应该允许一个进入,而不能谁也进不去b.每次只允许一个进程进入临界区c.进入临界区的进程不能无限期地把持临界区2)同步a.需要在某些点上协调相互的动作,谁先到达谁后到达是有顺序要求的b.这些进程都应该了解对方的工作,对方如果不存在,或任何一方单独运行,就会出现过失c.一方或双方的运行会直接地依赖于对方所产生的的信息,或发出的消息3)一个进程运行到某一点时,除非合作进程已经完成了某种
57、操作或发来了信息,否则就必须暂时等待那些操作的完成或信息的到来。进程间的这种关系被称为“同步”,暂停以取得同步的那一点称为“同步点”,需要等待一个进程完成的操作或发送的信息,称为“同步条件”4)一个信号量的建立必须经过说明,即应该准确说明S的意义和初值不能为负每个信号量都有相应的队列,在建立信号量时,队列为空可进行原子操作P(wait)、 V(signal)操作5)信号量 S上的 P 操作Vs = Vs-1,把当前信号量S的取值减 1假设 Vs = 0 ,则调用进程继续运行,假设Vs 0 ,则调用进程继续执行,假设Vs 0时, Vs的值就是这种资源的剩余数假设 Vs 0 时,表示现在已经没有资
58、源可以分配,申请资源的进程只能被阻塞到申请队列Vq 上去排队等待,Vs的绝对值表示提出资源请求,但没有分配到资源的进程个数V操作后,假设Vs = 0 ,表示申请资源的等待队列上有进程在等待该资源表示V操作之前 Vs 0,表示 V 操作之前Vs = 0,即资源等待队列上没有进程在等待,只是收回了一个资源精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 35 页,共 37 页1)死锁: 多个进程因竞争资源而造成的一种僵局,假设无外力作用,这些进程将无法向前推进2)定义: 即指系统中假设存在一组至少两个或以上进程,它们中的每一个都占用了某种资源而又都在等待
59、其中另一个所占用的资源,这种等待永远不会结束,这就是死锁3)产生死锁的4 个必要条件a.互斥条件: 进程对所分配的资源进行排它性使用,即在一段时间内,某资源只能被一个进程占用b.部分分配条件占用并等待:进程由于申请不到所需要的资源而等待时,仍然占据着已经分配到的资源c.非剥夺条件: 已经分配给进程的资源,别的进程不能强行夺取资源,只能被占用它的进程自己释放d.循环等待条件: 在多个进程之间,由于资源的占有和请求关系,从而形成了一个循环等待的态势4)处理死锁的方法:a.预防死锁:破坏产生死锁的4 个必要条件之一,使系统不具备产生思索的条件b.忽略死锁:任凭死锁出现,当系统中出现死锁时,就将系统重
60、新启动c.防止死锁: 在资源的动态分配过程中,用某种方法防止系统进入不安全状态,从而可以防止死锁d.检测死锁并恢复:在死锁发生后,采取相应措施加以恢复。如:撤销一些进程,回收它们的资源,将它们分配给已处于阻塞状态的进程,使其继续执行5)预防死锁:a.互斥条件是非共享设备所必须的,不仅不能改变,还应加以保证b.破坏占用并等待条件:所有进程在开始运行之前,必须一次性地申请其在整个过程中所需要的全部资源,一次性分配精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 36 页,共 37 页c.破坏“分剥夺条件”:当进程提出新的资源请求得不到满足时,它必须释放已经保持的所有资源,待以后需要时再重新申请d.破坏循环等待条件:将系统中的所有资源进行统一编号,进程按编号的顺序,由小到大提出对资源使用的申请6)在信号量上的P、V 操作,可以看作是进程间的一种通信方式,这种通信并不在进程间真正交换信息,而只是双方事先的一种约定。因此,用P、V 操作实现的通信,称为进程间的一种低级通信为了使进程间能够真正交换数据,操作系统备有高级通信命令,提供应用户在程序一级使用高级进程通信分为直接通信和间接通信两种方式间接通信是指通过信箱来传递消息精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 37 页,共 37 页