操作系统复习资料文档格式.docx
- 文档编号:6334844
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:28
- 大小:670.68KB
操作系统复习资料文档格式.docx
《操作系统复习资料文档格式.docx》由会员分享,可在线阅读,更多相关《操作系统复习资料文档格式.docx(28页珍藏版)》请在冰点文库上搜索。
(2)提高了I/O速度。
当CPU在运行中需要数据时,是直接从高速的磁带或磁盘上将数据调入内存的,不再是从低速I/O设备上输入,极大地提高了I/O速度,从而缓和了CPU和I/O设备速度不匹配的矛盾,进一步减少了CPU的空闲时间。
联机:
在主机的直接控制下进行输入输出的方式
多道程序系统和多处理系统(Multi-ProcessingSystem)的区别:
前者指多个程序同时在内存中交替运行,后者指多个处理器。
并发:
两个或多个事件在同一时间间隔内发生。
并行:
并行是指两个或多个事件在同一时刻发生。
操作系统的主要功能:
处理机管理存储器管理设备管理文件管理用户接口
常用的操作系统结构设计方法:
无结构、模块化、分层式和微内核结构。
OSExamples:
DosWindowsUnixSolarisLinuxNetwareMacOS
试说明操作系统与硬件、其他系统软件以及用户之间的关系。
答:
操作系统是覆盖在硬件上的第一层软件,它管理计算机的硬件和软件资源,并向用户提供良好的界面。
操作系统与硬件密切相关,它直接管理着硬件资源,为用户完成所有与硬件相关的操作,从而极大地方便了用户对硬件资源的使用并提高了硬件资源的利用率。
操作系统是一种特殊的系统软件,其他系统软件运行在操作系统的基础之上,可获得操作系统提供的大量服务,也就是说操作系统是其他系统软件与硬件之间的接口。
而一般用户使用计算机除了需要操作系统支持外,还需要用到大量的其他系统软件和应用软件,以使其工作更方便和高效。
第二章:
程序并发执行时的特征:
1、间断(异步)性:
“执行——暂停——执行”,一个程序可能走到中途停下来,失去原有的时序关系。
由于程序并发执行时共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的程序之间,形成了相互制约的关系。
2、失去封闭性:
共享资源,受其他程序的控制逻辑的影响。
如:
一个程序写到存储器中的数据可能被另一个程序修改,失去原有的不变特征。
3、失去可再现性:
失去封闭性→失去可再现性;
外界环境在程序的两次执行期间发生变化,失去原有的可重复特征。
进程为:
进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
进程与程序的区别:
1、进程是动态的,程序是静态的:
程序是有序代码的集合;
进程是程序的执行。
通常进程不可在计算机之间迁移;
而程序通常对应着文件、静态和可以复制。
2、进程是暂时的,程序是永久的:
进程是一个状态变化的过程,程序可长久保存。
3、进程与程序的组成不同:
进程的组成包括程序、数据和进程控制块(即进程状态信息)。
4、进程与程序的对应关系:
通过多次执行,一个程序可对应多个进程;
通过调用关系,一个进程可包括多个程序。
进程实体由程序段、相关的数据段和PCB(进程控制块)三部分构成。
进程的特征:
动态性并发性独立性异步性
进程的挂起:
系统在超过一定的时间没有任何动作。
进程的阻塞:
进程因等待某一件事情(如等待I/O设备)而暂时不能运行的状态,此时即使处理机空闲,进程也无法使用。
系统中处于阻塞态(又称封锁态、等待态、睡眠态)的进程也可以有多个。
进程的创建状态和终止状态:
1)创建状态
创建过程一般包括两个步骤:
首先,为一个新进程创建PCB,并填写必要的管理信息;
其次,把该进程转成就绪状态并插入就绪队列中。
当新进程被创建时,系统已为其分配了PCB,填写了进程标识等信息,但由于该进程所必需的资源或其它信息,如主存资源尚未分配等。
此时,进程已拥有了自己的PCB,但进程自身还未进入主存,即创建工作尚未完成,进程还不能被调度运行。
该状态即为创建状态。
2)终止状态
进程的终止包含两个步骤:
首先等待操作系统进行善后处理,然后将其PCB清零,并将PCB空间返还系统。
如果进程到达了自然结束点,或出现了无法克服的错误,或被操作系统所终结,或是被其他有终止权的进程所终结,将进入终止状态。
虽然进入终止状态的进程不能再执行,但是在操作系统中依然保留一个记录,其中保持状态码和一些计时统计数据,供其他进程收集。
一旦其他进程完成了对终止状态进程的信息提取之后,操作系统将删除该进程。
进程控制块中的信息:
进程标识符
处理机状态
进程调度信息
进程控制信息
处理机状态信息:
主要是由处理机的各种寄存器中的内容组成的。
处理机运行时,许多信息都存放在寄存器中。
当处理机被中断时,所有这些信息都必须保存在PCB中,以便该进程重新执行时,能从断点继续执行。
这些寄存器包括:
通用寄存器:
用户可视寄存器,用于暂存信息,用户程序可以访问;
指令计数器:
存放了要访问的下一条指令的地址;
程序状态字PSW:
其中包含了状态信息,如条件码、执行方式、终端屏蔽标志等;
用户栈指针:
每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。
栈指针指向栈顶。
在PCB中还存放一些与进程调度和进程对换有关的信息,包括:
进程状态指明进程的当前状态,作为进程调度和对换时的依据;
进程优先级优先级高的进程应先获得处理机
进程调度所需的其它信息与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、进程已执行的时间总和等;
事件即阻塞原因,指进程由执行状态转变为阻塞状态所等待发生的事件。
进程控制信息:
程序和数据的地址:
指进程的程序和数据所在的内存或外存地址,以便再调度到该程序执行时,能从PCB中找到其程序和数据;
进程同步和通信机制:
指实现进程同步和通信必需的机制,如消息队列指针、信号量等;
资源清单:
是一张列出了使用CPU以外的、进程所需的全部资源及已经分配到该进程的资源的清单;
链接指针:
它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。
进程控制块的组织形式:
链接方式和索引方式
原语(Primitive):
是由若干条指令组成的,用于完成一定功能的一个过程。
它是原子操作(ActionOperation),指一个操作中的所有动作要么全做,要么全不做。
是一个不可分割的基本单位,执行过程中不允许中断。
原子操作需要常驻内存。
进程的创建:
进程创建原语Creat()来创建进程——
申请空白PCB。
为新进程分配资源
初始化进程控制块
将新进程插入到就绪队列
进程的终止:
1)正常结束
2)异常结束指的是出现某些错误和故障而迫使进程终止。
常见的异常有:
越界错误;
保护错;
非法指令;
特权指令错;
运行超时;
等待超时;
算术运算错和I/O故障。
3)外界干预指的是进程应外界的请求而终止执行。
常见的干预包括:
操作员或操作系统干预;
父进程请求;
父进程终止等。
进程的挂起:
挂起原语suspend()将指定进程或处于阻塞状态的进程挂起——
检查被挂起进程的状态,若处于活动就绪状态,则将其改为静止就绪;
对于活动阻塞状态的进程,则将其改为静止阻塞。
把该进程的PCB复制到某指定的内存区域;
若被挂起的进程正在执行,则转向调度程序重新调度。
进城的激活:
激活原语active()将指定进程激活
将进程从外存调入内存;
检查该进程的现行状态,若是静止就绪,便将之改为活动就绪;
若为静止阻塞,则将其改为活动阻塞。
临界资源一次只允许一个进程访问的资源
临界区访问临界资源的那段代码
信号量机制:
整型信号量、记录型信号量、AND型信号量和信号量集
管程(Mointors):
一个管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改变管程中的数据。
在使用PV操作实现进程同步时,特别要当心P操作的次序,而V操作的次序倒是无关紧要的。
一般来说,用于互斥的信号量上的P操作,总是在用于合作的P操作之后执行。
哲学家进餐解决方法:
1最多允许4个哲学家同时坐在桌子周围
2仅当一个哲学家左右两边的筷子都可用时,才允许他拿筷子()
3给所有哲学家编号,奇数号的哲学家必须首先拿左边的筷子,偶数号的哲学家则反之。
信号量集:
S为信号量,t为下限值,d为需求值。
Swait(Sn,tn,dn)
线程作为调度、分派和切换的基本单位,则可以有效地改善系统性能。
线程是进程中的一个实体,是进程上下文中执行的代码序列,是被系统调度的基本单元!
进程通信概念:
指进程之间的信息交换,其所交换的信息量少者是一个状态或数值,多者则是成千上万个字节。
第三章:
处理机三种调度方式:
1高级调度(长程调度、作业调度)2中级调度(中程调度)3低级调度(短程调度、进程调度)
无论是批处理系统,还是分时系统或实时系统,都必须配置低级调度。
低级调度的主要功能如下:
1保存处理机的现场信息;
2按某种算法选取进程;
3把处理器分配给进程;
1)只有进程调度队列模型:
适用于多用户分时系统和实时处理系统。
2)具有高级与低级调度队列模型:
适用于多道批处理系统,后备队列按优先级排列。
3)具有三级调度队列模型:
适用于通用OS系统(分时、实时、批处理)
进程周转时间Ti=完成时间–到达时间
平均周转时间
Tsi=服务时间Ti>
=Tsi
平均带权周转时间
处理机调度算法(先来先服务FCFS、短进程优先SPF、高响应比优先HRRN、时间片轮转RR、多级反馈队列、优先级)
产生死锁的原因:
竞争资源。
当系统中供多个进程共享的资源如打印机、公用队列等,其数目不足以满足诸进程的需要时,会引起诸进程对资源的竞争而产生死锁。
进程间推进顺序非法。
进程在运行过程中,请求和释放资源的顺序不当,也会导致产生进程死锁。
死锁的发生具备下列四个必要条件:
①互斥条件:
指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只供一个进程占用。
如果此时其他进程请求该资源,请求者只能等待—(资源独占)
②请求和保持:
指进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又已被其它进程占用,此时请求进程阻塞,但又对自己已获得的其它资源保持不放—(部分分配,占有申请)
③不剥夺条件:
指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放;
④环路等待条件:
指在发生死锁时,必然存在一个进程—资源的环形链,即进程集合{P0,P1,P2,…,Pn}中的P0正等待一个P1占用的资源,P1正等待一个P2占用的资源,…,Pn正等待已被P0占用的资源。
处理死锁的方法
鸵鸟算法:
指像鸵鸟一样对死锁视而不见,即不理睬死锁。
预防死锁:
指通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或几个条件,来防止死锁的发生。
避免死锁:
指在资源的动态分配过程中,用某种方法去防止系统进入不安全状态,从而避免死锁的发生。
检测死锁:
允许系统在运行过程中发生死锁,但可设置检测机构及时检测死锁的发生,并采取适当措施加以清除。
解除死锁:
当检测出死锁后,便采取适当措施将进程从死锁状态中解脱出来。
第四章:
程序的三种装入方式:
绝对装入方式、可重定位装入方式、动态运行时装入方式
程序的链接:
静态链接在程序运行之前,先将各目标模块及它们所需的库函数,链接成一个完整的装入模块,以后不再拆开。
动态链接装入时动态链接;
运行时动态链接
装入时动态链接将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的链接方式。
运行时动态链接对某些目标模块的链接,是在程序执行中需要该(目标)模块时,才对它进行的链接。
连续分配方式:
固定分区分配—是一种最简单的可运行多道程序的存储管理方式。
将内存用户空间划分成若干个固定大小的区域,在每个分区中只装入一道作业,这样,用户空间分成了几个分区,便允许有几道作业并发运行。
有空闲分区时,便可以再从外存的后备作业队列中选择一个适当大小的作业装入该分区,当该作业结束时,又可从后备队列中找到另一作业调入内存。
动态分区分配
数据结构:
①空闲分区表:
每个空闲分区占一个表目,表目中包括分区序号、分区始址及分区大小等数据项。
②空闲区(块)链表:
将所有的空闲区链成一个链表。
③位示图表示法Map(i,j):
用一位(bit)表示一个空闲块(页框)(0:
空闲,1:
占用)
动态分区分配算法分类:
(1)首次适应算法:
要求空闲区按首址递增的次序组织空闲区表(队列)。
申请:
取最小可满足区域;
尽量使用小空闲区,保持大空闲区。
缺点:
可能形成碎片
(2)最佳适应算法:
要求按空闲区大小从小到大的次序组成空闲区表(队列)。
(3)最坏适应算法
要求空闲区按大小递减的顺序组织空闲区表(或队列)。
取最大可满足区域;
防止形成碎片。
分割大空闲区域。
可重定位分区分配
经过紧凑后的某些用户程序在内存中的位置发生了变化,此时若不对程序和数据的地址加以修改,则程序必将无法执行。
为此,每次紧凑后,都必须对移动了的程序和数据进行重定位。
对换:
把内存中暂时不能运行的进程或者暂时不用的程序和数据调出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据调入内存。
(1)进程的换出每当一进程由于创建子进程而需要更多的内存空间,但又无足够的内存空间等情况发生时,系统应将某进程换出。
其过程是:
系统首先选择处于阻塞状态且优先级最低的进程作为换出进程,然后启动磁盘,将该进程的程序和数据传送到磁盘的对换区上。
(2)进程的换入系统应定时地查看所有进程的状态,从中找出“就绪”状态但已被换出的进程,将其中换出时间最久(换出到磁盘上)的进程作为换入进程,将之换入,直至已无可换入的进程或无可换出的进程为止。
如果离散分配的基本单位是页,则称为分页存储管理方式;
如果离散分配的基本单位是段,则称为分段存储管理方式;
如果没有页面对换功能,则称为基本的分页存储管理;
如果有页面对换功能,则称为请求分页存储管理;
基本分页存储管理方式:
地址长度为32位,其中0~11位为页内地址,即每页的大小为4KB(212);
12~31位为页号,地址空间最多允许有1M(220)页。
分页存储管理方式的地址变换:
1、基本的地址变换机构:
页表寄存器PTR(Page-TableRegister):
其中存放页表在内存的始址和页表长度。
进程未执行时,页表的始址和页表长度存放在本进程的PCB中。
当调度程序调度到某进程时,才将这两个数据装入页表寄存器。
2、具有快表的地址变换机构:
CPU给出有效地址后,由地址变换机构自动地将页号P送入高速缓冲寄存器,并将此页号与高速缓存中的所有页号进行比较,若其中有与此相匹配的页号,便表示所要访问的页表项在快表中。
于是,可直接从快表中读出该页所对应的物理块号,并送到物理地址寄存器中。
如在快表中未找到对应的页表项,则还须再访问内存中的页表,找到后,把从页表项中读出的物理块号送地址寄存器;
同时,再将此页表项存入快表的一个寄存器单元中,亦即,重新修改快表。
但如果联想寄存器已满,则OS必须找到一个老的且已被认为不再需要的页表项,将它换出。
两级和多级页表引入的原因及实现方法:
逻辑地址空间的扩大导致单页表不可用
32位逻辑地址空间采用分页系统时,若页面大小为标准值(4KB),则每个进程页表中的页表项将有1M个,每项占用一字节时,存储页表需要1MB空间。
而且还要求是连续的。
解决办法
离散存放解决难以找到一块连续的大内存空间的问题
按需调入页表项只将当前需要的部分页表项调入内存,其余的页表项仍驻留在磁盘上,需要时再调入。
(以两级页表为例,外层页表必须调入内存,内层页表只调入需要的若干页,内层页是否调入内存需要在外部页表的对应表项的状态位中有所体现,程序运行时若发现该位为“尚未调入”,则产生中断,请求OS调入该页)
基本分段存储管理方式
段式管理优越性:
分段
页式管理和段式管理的比较
1.分页是出于系统管理的需要,分段是出于用户应用的需要。
2.一条指令或一个操作数可能会跨越两个页的分界处,而不会跨越两个段的分界处。
3.页大小是系统固定的,而段大小则通常不固定。
4.逻辑地址表示:
1)分页是一维的,各个模块在链接时必须组织成同一个地址空间;
2)分段是二维的,各个模块在链接时可以每个段组织成一个一维地址空间。
3)通常段比页大,因而段表比页表短,可以缩短查找时间,提高访问速度。
段页式存储管理方式:
既具有分段系统的便于实现、分段可共享、易于保护、可动态链接等优点,又能像分页系统那样很好地解决内存的外部碎片,以及可为各个分段离散地分配内存等问题。
基本原理:
结合分段和分页思想,先将用户程序分成若干段并分别赋予段名,再将这些段分为若干页
地址结构:
由段号、段内页号和页内地址三项共同构成地址
虚拟存贮器(P143):
是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
引入虚拟存储技术的好处
运行大程序:
可在较小的可用内存中执行较大的用户程序.
大的用户地址空间:
提供给用户可用的虚拟内存空间通常大于物理内存.
并发:
可在内存中容纳更多程序并发执行.
请求分页存储管理方式
缺页中断机构:
在请求分页系统中,每当所要访问的页面不在内存时,便产生一缺页中断,请求OS将所缺之页调入内存。
缺页中断同样需要经历保护CPU环境、分析中断原因、转入缺页中断处理程序进行处理、恢复CPU环境等几步。
但缺页与一般中断相比,有着明显的区别,主要表现在:
(1)在指令执行期间产生和处理中断信号。
(2)一条指令在执行期间,可能产生多次中断。
如图所示例子。
页面置换算法
1最佳置换算法(OPT,optimal):
选择被置换页面:
“未来不再使用的”或“在未来最长时间内不再访问的”。
实际中是无法预知的,因而不能实现。
可用作某算法性能评价的依据。
2先进先出页面置换算法(FIFO):
选择进入内存最早的页面被置换。
可以通过链表来表示各页的建立时间先后。
性能较差。
较早调入的页往往是经常被访问的页,这些页在FIFO算法下被反复调入和调出。
并且有Belady现象(会出现分配的物理块增多,缺页率反而提高的异常现象。
Belady现象的原因:
FIFO算法的置换特征与进程访问内存的动态特征是矛盾的,即被置换的页面并不是进程不会访问的。
)
3最近最久未使用置换算法:
选择内存中最久未使用的页面被置换。
这是局部性原理的合理近似,性能接近最佳算法。
但由于需要记录页面使用时间的先后关系,硬件开销太大。
硬件机构如:
(一个特殊的栈:
把被访问的页面移到栈顶,于是栈底的是最久未使用页面。
每个页面设立移位寄存器:
被访问时左边最高位置1,周期右移并且最高位补0,于是寄存器数值最小的是最久未使用页面。
请求分段存储管理方式:
1)存取权限:
如读R,写W,执行X
2)A访问字段:
段访问统计,在近期内被访问的次数,或近一次访问到现在的时间间隔.为淘汰算法提供依据.
3)M修改位:
该段被写过否.
4)P存在位(状态位):
该段在主存否.
5)增补位:
该段动态增长过否.
6)外存始址:
该段外存起始盘块号.
缺段中断处理:
(参看P156图4-32)
1.当指令给出访问地址:
S|W,地址变换机构首先检查SMT的存在位.
2.当存在位表示该段不在内存,则产生缺段中断请求:
①CPU响应中断,进入中断处理,把缺的段调入内存,修改SMT和内存空闲区链表.
②若内存无合适空闲区,则拼接或置换某段,形成合适的空闲区,调入新段,修改SMT和内存空闲链表.
分段保护的实现:
1)越界检查2)存取控制检查3)环保护机构
第五章:
设备、设备控制器、通道、总线之间的数据传递
设备控制器的地位和作用
1.设备控制器的地位
它是cpu与I/O设备之间的接口,它接收从cpu发出来的命令,并去控制I/O设备工作,以使处理机从繁杂的设备控制事务中解脱出来。
2.设备控制器的作用
1)接收和识别命令
2)数据交换
3)标识和报告设备的状态
4)地址识别
5)数据缓冲
6)差错控制
通道的定义:
其主要目的是为了建立独立的I/O操作,不仅使数据的传送能独立于CPU,而且也希望有关对I/O操作的组织、管理及其结束处理尽量独立,以保证CPU有更多的时间去进行数据处理;
实际上,I/O通道是一种特殊的处理机,它具有执行I/O指令的能力,并通过执行通道(I/O)程序来控制I/O操作。
但I/O通道又与一般的处理机不同,主要表现在以下两个方面:
一是其指令类型单一,这是由于通道硬件比较简单,其所能执行的命令主要局限于与I/O操作有关的指令;
二是通道没有自己的内存,通道所执行的通道程序是放在主机的内存中的,换言之,是通道与CPU共享内存。
通道类型:
字节多路通道;
数组选择通道;
数组多路通道
四种I/O控制方式
1.程序I/O方式:
CPU忙等待方式(查询方式)—在程序控制下进行信息传送
2.中断驱动方式:
CPU与外设并行操作,适用于慢速设备
3.DMA方式:
CPU与块设备并行操作
4.I/OCH方式:
CPU与CH并行操作,适用于各类设备。
四种缓冲机制
1、在单缓冲情况下,每当用户进程发出一I/O请求时,操作系统便在主存中为之分配一缓冲区。
2、为了加快输入和输出速度,提高设备利用率,引入了双缓冲机制。
在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区。
此时OS可从第一缓冲区中移出数据,并送入用户进程。
接着,由CPU对数据进行计算。
3、循环缓冲:
1、属于专用的缓冲(如:
用于生产者/消费者),服务于特定进程之间的通信。
2、每个缓冲区只能存放一种类型的数据:
输入数据、或输出数据。
(当循环缓冲过多时,缓冲区利用率低。
4、缓冲池:
1、池中全部缓冲区为各种类型的进程共享。
2、即可用于输入、又可用于输出。
I/O软件所包含的四层:
设备独立性的基本含义是:
应用程序独立于具体使用的物理设备。
实现方法:
系统为每个进程设置一张“逻辑设备表”(L
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 复习资料