操作系统复习纲要.docx
《操作系统复习纲要.docx》由会员分享,可在线阅读,更多相关《操作系统复习纲要.docx(22页珍藏版)》请在冰豆网上搜索。
![操作系统复习纲要.docx](https://file1.bdocx.com/fileroot1/2023-2/25/137c6742-ec05-41a6-b0e9-ff8ec235eacf/137c6742-ec05-41a6-b0e9-ff8ec235eacf1.gif)
操作系统复习纲要
操作系统复习纲要
第一章
1、操作系统的概念:
✧操作系统(OS)是一种最基本和最重要的系统软件。
控制程序的执行,使用户能方便地使用硬件提供的计算机功能,尽可能地发挥硬件的功能。
✧操作系统管理计算机系统的硬件资源和软件资源,说明各种资源的使用状态,实现多用户共享计算机系统的各种资源。
✧操作系统是一组程序,是种管理计算机系统资源,合理组织计算机的工作流程,协调计算机系统各部分之间、系统与用户之间、用户与用户之间的头系,为用户提供方便、有效、友好的服务界面的系统软件。
2、操作系统的类型
✧典型的操作系统可分为批处理系统、分时系统、实时系统,以及随着微型计算机发展而形成的网络操作系统和分布式操作系统。
✧批处理系统又称批量处理系统。
可以分为单道批处理和多道批处理系统。
其中单道批处理系统中,每次只允许执行一个作业。
✧多道批处理系统具有如下的特征:
●作业存在的多道性。
内存中可同时驻留多道作业,并允许它的并发执行
●作业运行的无序性。
多个作业完成运算的先后顺序与它进入内存先后的顺序并无严格的对应关系。
●作业运行中的不可干预性。
作业一旦投入运行,人工就不能干预,当该作业在执行时发现出错,由操作系统通知用户重新修改后,再次装入执行。
✧多道批处理系统的优缺点:
●优点:
提高资源的利用率;增加单位时间内完成作业的吞吐量
●缺点:
作业运行平均周期长;人机交互能力差
✧分时系统
✧在计算机系统中两个或两个以上的事件按时间划分,轮流地使用计算机系统中的某一资源就称为时分。
✧在一个系统中,如果多个用户分时地使用同一计算机,那么这样的系统就称为分时系统。
✧在分时系统中每一个事件得到的分时时间单位叫做时间片。
✧分时系统一般分为单道分时系统、具有“前台”和“后台”的分时系统及多道分时系统。
●单道分时系统在内存中只驻留一道作业,其余作业则存放在外存中。
●具有前后台的分时系统中,内存被固定划分为“前台区”和“后台区”两部分,前台区存放批处理作业。
仅当前台调进、调出时,或前台无作业可运行时,才运行后台区的作业,从而充分提高CPU的利用率。
●多道分时系统可在内存中同时存放多道作业。
作业在内存中的占用量较少,作业切换在内存中进行。
✧分时系统具有如下特征:
●多路性
●独立性
●及时性
●交互性
●对某些作业不能作出即刻处理,实时响应性较为不足。
✧实时系统
✧实时控制系统(过程控制系统)和实时信息处理系统总称为实时系统
✧必须具有即刻、实时响应和实时处理的能力,因而实现时要注意以下方面:
●实时时钟管理
●连续人机对话
●过载的保护
●高可靠性。
✧网络操作系统
✧网络操作系统除了应具备通常操作系统所具有的功能外,还应具有网络管理模块,即通信软件和网络控制模块。
其主要功能如下:
●提供高效而可靠的网络通信能力。
●提供多种网络服务。
包括远程数据录入、多种系统服务、文件传输服务等
✧分布式操作系统
✧优点:
易于扩充、维护方便、效率高、经济性好。
✧操作系统的主要功能
●存储管理:
主要任务是对主存资源进行合理的分配和回收。
●处理器管理:
根据某种原则,作好处理器的调度。
●作业控制管理:
根据相关原则组织和调度作业,提高整个系统的工作效率。
●设备管理:
根据用户对各类不同外设的使用请求,结合设备当前的不同状态进行设备的分配。
(中断和通道技术)
●文件管理:
对用户文件和系统文件进行管理,以方便用户使用文件,并保证文件的安全性和可靠性。
3、本章习题
✧计算机系统包括哪些部分?
简要说明其主要内容。
✧什么是操作系统?
操作系统包括哪些主要类型?
操作系统的设计方式主要有哪几种?
✧操作系统有哪些主要功能?
这些功能的主要任务是什么?
第二章处理器管理
1、进程的概念
✧一个程序在一个数据集上的一次执行称为一个“进程”。
✧进程的5个基本特征:
●动态特征、并行特征、独立特征、异步特征、结构特征。
✧进程的状态:
就绪、阻塞、执行。
关系如下:
●
执行转换为阻塞:
等待外设工作的完成;等待资源;运行故障;
●阻塞转换为就绪:
外设工作结束;等待的资源得以满足;故障排除;
●执行转换为就绪:
时间片到;出现更高优先级进程;
●就绪转换为执行:
系统调度。
✧进程控制块(PCB)
●描述进程动态变化相联系的数据结构。
●PCB是进程存在的惟一标志。
(随进程的创建而产生)
●包括四类信息:
标识信息、说明信息、现场信息、管理信息。
✧进程队列:
执行队列、就绪队列和阻塞队列。
●执行队列中只能有一个PCB,队列PCB之间通过单向指针链接。
2、进程调度(处理器调度)
✧概念:
系统按某种调度算法,从就绪队列中选取某个处于就绪状态的进程,移出就绪队列获得CPU并列入执行队列,进程由就绪状态改为执行状态。
✧调度算法:
●
先来先服务算法
●优先数调度算法:
分为非抢占式和可抢占式有时混合使用
●时间片轮转法:
主要用于分时系统,系统设
置时钟中断。
时间片的长短取决于系统设计目标,时间片过长不利于系统及时响应,时间片过短则增加系统开销。
3、进程控制
✧知道进程家族树的结构图,了解父进程与子进程形成,fork()函数创建子进程
✧原语:
操作系统核心的重要组成,它常驻内存,用来实现某个特定的操作。
实现操作系统原语程序是不可中断的。
●创建原语:
用于创建新进程;
●撤销原语:
进程完成任务后,及时撤销,以便释放其所占用的各种资源。
注意:
撤销一个进程是指撤销该进程的PCB,而不是程序段。
●阻塞原语:
运行进程申请的资源或信息不足,通过调用此原语,把执行状态转换在阻塞状态,直到等待事件完成。
●唤醒原语:
调用该原语解除进程的阻塞状态转换成就绪。
4、本章习题
✧为什么要引入进程这一概念?
进程与程序的区别与联系是什么?
现代计算机系统中程序并发执行和资源共享的需要,使得系统的工作情况变得非常复杂,而程序作为机器指令集合,这一静态概念已经不能如实反映程序并发执行过程的动态性,因此,引入进程的概念来描述程序的动态执行过程。
区别:
1)程序是静态的,进程是动态的;
2)进程更能真实地描述并发,而程序不能;
3)一个程序可对应多个进程,反之亦然;
4)程序可作为软件资源长期保存,进程只是一次执行过程,是暂时的;
5)进程是系统分配调度的独立单位,能与其他进程并发执行;
6)进程具有创建其他进程的功能,而程序没有;
7)各个进程在并发执行时会产生制约关系,使各自推进的速度不可预测;而程序作为静态概念,不存在这种异步特征。
联系:
程序是构成进程的组成部分之一,一个进程的运行目标是执行它所对应的程序,如果没有程序,进程就失去了其存在的意义。
✧进程有哪几种基本状态?
它们之间是怎样实现相互转换的?
其对应的队列是什么?
✧什么是PCB?
为什么说PCB是进程存在的惟一标志?
✧什么是进程调度?
进程调度的时刻是什么?
有哪几种主要的调度算法?
✧进程控制中的原语是什么?
有哪几种原语,各自的作用是什么?
第3章进程并发
1、进行的并发性
✧若干作业并存于内存中且同时执行,每个作业的操作步骤都是由相应的进程完成,表现为一个进程的工作还没有全部完成之前,另一个进程就开始工作。
我们把这些可同时进行工作的进程称为“并发进程”。
✧并发执行的进程可是两个或多个
✧并发执行的进程,如果缺乏对进程执行顺序的控制,将可能出现错误的运行结果。
2、进程的互斥与同步
✧若干个进程都要使用某一共享资源时,任何时刻最多只允许一个进程使用,其他要使用该资源的进程必须等待,直到占有资源的进程释放了该资源,这就是进程的互斥。
✧具有互斥关系的进程并不是它们的所有操作都要互斥进行,只需要确保涉及共享变量操作的那一段程序实现互斥。
通常将这一段程序称为临界区或临界段。
✧进程互斥的实质上就是并发进程对临界区的访问是互斥的。
✧若干个并发进程临界区程序的执行准则如下:
●若干个进程都要求进入临界区访问共享变量时,只允许一个进程进入,其他进程必须等待。
●任何一个进入临界区的进程必须在有限的时间内退出临界区。
●当某一个进程退出临界区时,若有其他进程等待进入,则必须允许一个进程进入临界区。
✧P-V操作:
设S是一个信号量
●P(s)操作定义:
S:
=S-1(信号量S值减1);若S≥0,则表示有资源,当前进程继续运行;若S<0,表示已无资源,则当前进程由执行状态转变为阻塞状态。
●V(s)操作定义:
S:
=S+1(信号量S值加1);若S>0,则本进程继续执行;若S≤0,则信号量S相关的等待队列中移出列首的进程,将其由阻塞状态转变为就绪状态,当前进程仍继续执行。
✧进程的同步指一个进程的执行依赖于其他进程的执行状况,即并发进程中,一个进程在没有得到其他进程发来的消息时必须等待,直至另一个进程送来消息后才能继续执行。
3、进程通信
✧并发进程间交换信息的工作过程称作“进程通信”
●低级通信:
在进程通信中,交换信息量少的通信方式
●高级通信:
由专门的通信机制实现进程间信息交换的方法
✧消息缓冲通信(高级通信):
用发送原语Send(A)和接收原语Read(A)来表示
✧信箱通信:
信箱实际上是一个数据结构,在逻辑上可把信箱分成两部分,信箱头(或信箱者说明)以及信箱体。
4、死锁
✧所谓死锁,是指两个或两个以上的进程,因竟争系统的共享资源,而产生无止境地互相等待的现象。
✧产生死锁的跟本原因:
系统提供的资源比要求使用资源的进程数少,或者说,若干个进程要求资源的总数大于系统能提供的资源数。
✧死锁发生的四个必要条件:
●互斥的使用资源;等待资源;资源的非抢占式分配;循环等待资源。
✧死锁的防止:
静态资源分配法(预先分配进程所需全部资源)、资源顺序分配法(进程申请资源必须按编号递增)
✧死锁的解除:
资源剥夺方式、撤销进程方法
5、本章习题
✧什么是并发进程?
并发进程的特点是什么?
✧临界区和临界资源是如何定义的?
对临界区的管理应符合哪些要求?
✧P-V操作是如何定义的?
P操作和V操作的实质是什么?
(进程调度)
✧什么是进程的互斥和同步?
✧什么是死锁?
产生死锁的根本原因是什么?
✧产生死锁的必要条件是什么?
请举例说明系统将产生死锁的条件。
✧当系统死锁产生后,用什么方法解除?
第4章存储器管理
1、存储器的基本概念
✧存储管理的目的:
方便用户、提高内存利用率;
✧存储管理的功能:
●对主存空间的分配和管理
●实现地址变换
●实现对主存和信息的共享
●存储保护
●内存容量的“扩充”
✧重定位概念:
逻辑地址转换成物理地址的工作过程称之为“地址转换”
●逻辑地址:
用户可以认为自己作业的程序和数据都是存放在从“0”单元开始的一组连续地址空间。
或都称之为相对地址。
●物理地址:
作业提交执行时,由存储管理分配的一个从“N”单元开始的连续的主存存储空间。
或称之为绝对地址。
✧重定位的两种方式:
静态重定位和动态重定位
✧静态重定位:
逻辑地址的转换在程序执行前集中一次完成,作业执行过程中无转换。
优点:
实现容易,只要有软件装入程序,无需硬件支持;
缺点:
程序一经定位就不能再移动;程序分配的存储空间只能连续;多用户不能共享主存中的同一程序段。
✧动态重定位:
在程序执行期间,指令执行过程中进行地址转换。
由软件和硬件相结合实现
优点:
用户程序不必连续存储在一个空间,可以分散在主存若干个不同的分区;程序执行过程中存储单元可以移动,用利于主存的充分利用;多用户可以共享某一内存空间而实现数据共享。
缺点:
需要附加硬件支持,使得实现存储管理的软件设计相对比较复杂。
✧虚拟存储器:
采用存储区覆盖技术,允许用户的逻辑地址空间大于主存储器的物理地址空间。
2、存储管理的方式划分
✧单一连续存储管理
●分配方式:
在任何时刻主存中最多只有一个用户作业,即只包含操作系统所占主存和一个用户作业空间。
此方式适合于单道批处理作业的计算机系统。
●保护方式:
采用界限寄存器保护方法。
●优点:
操作系统占存区小,简单易懂,使用方便,它只需要较少的硬件和软件支持;
●缺点:
主存资源浪费;处理器作用率低;作业的大小受到主存容量的限制。
✧分区存储管理
●分区:
将主存空间划分成若干个存储区域;每个分区只能存放一个作业。
●主要方式:
固定分区,可变分区和多重分区管理
●适合多道程序设计系统(任务数固定的批处理系统)
●固定分区存储管理:
采用静态重定位方式;保护往往采用界地址上、下限寄存器的方法(下限地址≤绝对地址≤上限地址)
●可变分区管理:
主存中除了操作系统占用部分存区外,剩下的主存空间看作一个大的空闲区,作业从空闲区中划出需要的长度执行,执行结束后,收回所占用分区;
●采用可变分区,空闲区数目和大小是不断变化的。
为实现合理管理,设置可变分区的“主存空间分配表”,记录已分配和未分配的分区状况。
●最先适应算法(首次适应算法):
分配时顺序查找空闲区,找到一个满足长度要求的空闲区,无伦空闲区大小,马上进行分割。
此法容易形成碎片。
●最佳适应算法:
将空闲区大小以递增顺序排列,分配时,总从最小一个空闲区开始。
●最坏适应算法:
空闲区长度以递减顺序排列,作业分配总是从最大的空闲区中划分。
✧页式存储管理
●页式存储管理是把主存储器空间分成大小相等的若干个存储块,简称块。
同样,把与存储空间对应作业的逻辑地址也分成页,页的大小与块的大小相等。
●
逻辑地址由页号和页内地址组成。
●页表:
页号和主存空间中块号之间的对应关系构成作业的一个页面映像表
●物理地址=块号×块长+页内地址
●逻辑地址以十进制数给出:
页号P=逻辑地址%页大小(取整)
页内位移W=逻辑地址mod页大小(取余)
●以十六进制给出:
将逻辑地址转换成二进制;
按页的大小分离出页号P和位移量W(低位部分是位移量,高位部分是页号);
将位移量直接复制到内存地址寄存器的低位部分;
以页号查页表,得到对应页装入内存的块号B,将块号转换成二进制数填入地址寄存器的高位部分,从而形成内存地址。
●缺页中断:
作业执行时经地址转换后访问的页不存在。
●页面抖动:
页面淘汰算法选择不当,导致页面频繁调进调出的现象。
●页面调度算法:
先进先出调度(FIFO)、最近最少调度(LRU)、最近最不常用调度(LFU)
●计算缺页中断率f’=f/a(a是总的页面访问次数,f是缺页中断次数);
●【例】对访问串:
1、2、3、4、1、2、5、1、2、3、4、5,指出在驻留集大小分别为3和4时,使用FIFO和LRU置换算法的缺页率,结果说明了什么?
(设驻留集M表示分给该作业的内存块数)
●FIFO(前无往下压,前有样照搬)
●
●M=3f’=f/a=9/12=75%
●LRU(前无往下压,前有提置顶)
●
●M=3f’=f/a=10/12≈83%
✧段式存储管理
●一个作业可以分成若干个段,每个段的程序相对独立,长度不一定相同。
●段与段之间地址可以是不连续的,但段内地址必是连续的。
●段表:
每一段对于某一主存空间的映射关系(段号+起始地址+段长度)
✧段页式存储管理:
将段分成若干页来管理,每个作业都有一张段表,而每个段都有一张页表
3、本章习题
✧存储管理的目的是什么?
✧简述存储管理的功能。
✧什么是重定位?
为什么要对作业实现重定位?
重定位的方式有哪两种?
比较它们的不同。
(2为方便用户,避免主存空间管理困难)
✧简述固定分区、可变分区和多重分区存储管理的区别和优缺点。
✧简述页式存储管理实现的原理和由逻辑地址转换成物理地址的过程。
✧举例说明页式存储管理中页表的长度和页面大小是根据什么决定的。
(取决于作业的大小)
✧简述页式虚拟存储管理实现的方法和产生缺页中断的过程。
●首先将作业的全部信息以副本形式存放在磁盘上,当作业回调度而获得运行时,至少把当前运行的这一页装入主存,并在作业执行过程中要访问不在主存的页时,再把这些页由辅存装入主存。
在页表中增加一项标示位1和0,用来标识对应页是否已在主存中。
●当作业在执行中访问某面时,若该面对应标志为1,则按页表中指定主存块号进行地址转换,得到物理地址后,然后再去访问该页;若该页的标志位为0,说明要访问的页不在主存,则系统产生一个“缺页中断”。
✧什么是页面抖动?
产生页面抖动的原因是什么?
✧在页式虚拟存储管理中,已知某作业长度为4KB,其有效地址结构为:
页号从第0位到第5位表示,页内地址从第6位到第15位表示;页表中第0页和第1页分别已调入主存的第3块和第5块,而第2页和第3页仍然保存在外在,并已知主存中第7块是可用的空闲块。
请回答以下问题:
●从有效地址结构分析,页表的最大长度是多少?
主存中每块的长度是多少?
地址总长为16位,表示为0~15,其中页号0~5;页内地址6~15。
最大页面26=64页;块大小为210=1024B=1KB
页号
块号
0
3
1
5
●按题意画出页表。
●请计算逻辑地址为2000和4000号单元转换成主存物理地址是什么?
页号=2000%1024=1
页号地址=2000mod1024=976
MR=5*1024+976=6069
第5章作业管理
作业:
用户要求计算机系统处理的一个问题
作业步:
在处理一个作业时所经过的加工步骤
1、操作系统与用户接口
✧操作系统为用户提供了两种接口:
操作员接口与程序员接口
2、作业控制方式
✧脱机作业控制方式(自动控制方式)
✧联机作业控制方式(直接控制方式和交互控制方式)
✧作业控制是指在操作系统支持下,用户如何组织、控制作业由进入系统到完成的各作业步骤
3、作业调度
✧作业状态:
进入状态、准备状态、运行状态、完成状态
✧作业调度与进程调度的区别与联系:
作业调度常称作“高级”调度,进程调度称作为“低级”调度;作业调度使得作业执行,并转入进程调度。
✧作业调度主要功能:
●系统为每个作业建立一个作业控制块,记录作业的有关信息,系统通过作业控制块实现对作业的调度和管理。
●系统按某种调度算法,从后备作业队列中选取一个作业投入运行。
●为调度算法选中的作业分配运行所必需的资源。
●做好作业完成时的各种相关工作。
✧调度算法:
●先来先服务算法:
算法易读、易懂简单;单位时间内吞吐量不高,以至系统效率不高。
●最短作业优先算法:
系统周转率高,增加单位时间作业完成吞吐量;对运行时间长的作业不利,可能造成长时间的等待。
●响应比最高者优先算法(响应比=
):
有利于短作业,同也可使长作业有较高的响应比,不至于长时间等待,兼顾短长作业;
●优先数调度算法:
可综合作业的各种因素进行权衡确定优先数。
✧作业调度的性能衡量指标:
●1、平均周转时间
●2、带权平均周转时间
●
(1)周转时间=完成时间-提交时间=等待时间+执行时间
●
(2)平均周转时间T=周转时间总和÷作业数
●(3)带权周转=周转时间÷执行时间
●(4)平均带权周转时间W=带权周转总和÷作业数
●(5)等待时间=结束时间-进入时间
4、本章习题
✧什么是作业和作业步?
✧作业从进入系统到完成有哪几种状态?
✧什么是作业控制?
作业控制方式有哪几种?
✧什么是作业调度?
调度的主要功能是什么?
✧作业有哪几种调度算法?
比较各种调度算法的优缺点
✧作业调度和进程调度的区别和联系是什么?
第6章设备管理
1、设备管理的功能
✧实现操作系统对外设的分配和回收
✧实现对外部设备的启动,保证系统运行的可靠性和安全性
✧实现对磁盘驱动调度
✧实现由通道完成主存储器与外部设备之间的信息传输
✧实现虚拟设备、设备独立性
2、设备的分配
✧设备的分类
●按设备的从属关系分为:
系统设备(显示器、打印机、磁盘驱动器)和用户设备(绘图议、数字化仪等)
●按资源分配的角度分为:
独享设备(终端、打印机)、共享设备(磁盘)和虚拟设备(虚拟内存SPooling技术)
●按外设的用途分为:
存储设备(磁盘、软盘、磁带)和输入输出设备(键盘、鼠标、显示器、打印机等)
✧设备绝对号和相对号
●为了对不同设备进行统一管理,系统为每一台设备确定一个编号,便于区别,这个确定的编号就是设备的绝对号
●用户在申请使用外设时,只要给出同类设备的编号,这个由用户给出的设备编号称作设备类相对号
✧设备分配表
●在设备管理中,为了记录设备的分配情况,系统设置了设备分配表,建立设备绝对号与相对号的对应关系,其作用是指出系统所配置的设备类型、台数、以及分配和使用情况。
●设备分配表由类表和设备表两部分组成。
✧设备管理方式
●中断技术,DMA技术,通道技术,缓冲技术,SPOOLing技术
✧通道:
通常是一个硬件设备,相当于一个功能简单的处理器,也常称作输入输出处理器。
通道有自己的通道指令,以通道指令自动生成的通道程序存放在主存中,通过运行通道程序完成信息传输,实现对输入输出的控制管理
✧设备启动过程:
准备---》启动---》结束
✧磁盘存储空间的位置:
三个参数决定:
柱面号、磁头号、扇区号
✧磁盘信息传送使用的时间
●寻找时间:
在移动臂带动下磁头移动到指定柱面所需要时间
●延迟时间:
存储信息的扇区旋转到磁头位置处所需的时间
●把扇区中信息读到主存储器或把主存储器中信息写到扇区中所需的时间
✧磁盘驱动调度:
系统采用一定的调度策略决定各等待访问的进程的执行顺序。
●移臂调度:
确定所访问的磁盘中的柱面
●旋转调度:
确定所访问的扇区
✧移臂调度算法
●先来先服务算法:
只考虑访问请求的时间先后顺序;算法易实现,但增加了输入输出执行总时间。
●单向扫描算法:
每次总把移动臂移到最外柱面,由外向内扫描,按访问者所在柱面位置确定访问次序;算法存在移动臂多次返回情况,增加系统开销。
●电梯算法:
从移动臂当前所处位置,沿着移动臂移动方向选择离当前移动臂最近的柱面访问者,如果沿臂移动方向无请求访问,则改变移动方向再选择。
此算法是目前磁盘移臂调度中既简单又高效的算法。
✧旋转调度:
按照延迟时间的长短来确定各访问者的执行顺序
3、本章习题
✧设备管理的主要功能是什么?
✧设备有哪些类型?
是如何进行分类的?
对每一类型和分类的设备举例说明。
✧独占设备和共享设备有什么区别?
一次只能由一个进程独占使用的设备称为独享设备;而共享设备则可以多个进程并发使用。
✧简述如何通过设备分配表实现对设备的分配和回收。
当用户作业在执行中向系统提出使用请求时,设备分配程序根据使用要求中的设备类查出设备表的始地址,再根据作业名和相对号比较设备表中的登记项可得到实际设备的绝对号,然后启动这台设备。
当作业运行结束,回收设备时,可根据作业名在设备分本表中找到相应的登记项,修改标志位为“未分配”,再在设备类表在把该设备的“现存台数”加上回收的台数。
✧什么是通道?
通道的作用是什么?
✧磁盘存储地址是由哪些因素构成?
✧在磁盘上完成一次输入输出所花费的时间由哪些部分组成?
简要说明磁头读取信息的过程
在给磁盘传送信息时,首先把移动臂移到指定的柱面,然后再等待指定的扇区旋转到磁头位置下,最后再