前言
在系统学习计算机操作系统相关知识时有所感悟,自行总结了操作系统相关文档40多页,再从这40多页中选取了以下30个基本问题。为了方便自己日后快速回忆相关知识点,也希望能对各位的操作系统学习带来帮助。
相关问题及解答
1、操作系统的功能;
处理机管理、存储管理、设备管理、信息管理(文件系统管理)、用户接口。
2、操作系统的分类,各类操作系统的特点和区别,三种基本类型;
基本操作系统分为三类:批处理操作系统、分时操作系统和实时操作系统。
批处理操作系统特点:用户脱机使用计算机、成批处理、多道程序执行。
分时操作系统特点:交互性、多用户同时性、独立性。
实时操作系统特点:即时响应、高可靠性。
3、现代操作系统的主要特点;
并发、共享、虚拟、异步。
4、多道与并发;
多道:独立性、随机性、资源共享性:
(1)允许多个程序同时进入内存运行,目的是为了提高系统效率。
(2)每个程序有自己的程序计时器,物理上只有一个计时器,每个程序在占用CPU时,会将自己的计时器里的内容推送到物理计时器中,通过这种操作,使得多个应用程序可以同时在内存中执行。
(3)宏观上:多个应用程序在并发进行
(4)微观上:单个CPU任然在串行处理任务。
并发:一组在逻辑上相互独立的程序段执行时间客观上重叠。支持主机中同时运行多个独立的程序,这些程序共享系统的软硬件资源:
(1)一段时间间隔内,单个处理器上有两个或两个以上的程序同时处于开始运行但尚未结束的状态并且次序不是事先确定的。
(2)并发环境下执行的程序就是并发程序。
5、操作系统中各种管理和控制所使用的数据结构,PCB/JCB等;
PCB:进程控制块;JCB:作业控制块;TCB:线程控制块。
6、指令与常用寄存器的功能;
读指令:程序计数器(PC)读入;执行指令:指令寄存器(IR)。
常用寄存器如下:
1)指令寄存器(IR):用来保存当前正在执行的一条指令。
2)程序计数器(PC):用来确定下一条指令的地址。
3)地址寄存器(AR):用来保存当前CPU所访问的内存单元的地址。
4)缓冲寄存器(DR):
<1>作为CPU和内存、外部设备之间信息传送的中转站。
<2>补偿CPU和内存、外围设备之间在操作速度上的差别。
<3>在单累加器结构的运算器中,缓冲寄存器还可兼作为操作数寄存器。
5)通用寄存器(AC):当运算器的算术逻辑单元(ALU)执行全部算术和逻辑运算时,为ALU提供一个工作区。
6)状态条件寄存器:保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容。除此之外,还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。
也可以将CPU 中的主要寄存器划分为:存储器地址寄存器(MAR),存储器数据寄存器(MDR),程序计数器(PC),指令寄存器(IR),标志寄存器(PSW),累加器(AC),及其他专用寄存器。
它们的功能分别是:
1)MAR 用于指定要读取或写入的存储器单元的地址;
2)MDR 用于存储或传送存储器中的数据;
3)PC 用于指定当前执行的指令的地址;
4)IR 用于存放当前要执行的指令;
5)PSW 用于存放程序执行过程中的标志位;
6)AC 用于存放指令执行过程中的累加器值;
其他专用寄存器则用于存放特定指令执行过程中的中间结果。
另一种划分方式为:
1、用户可见寄存器:用户可以对这类寄存器编程,以及通过优化使CPU因使用这类寄存器而减少对主存的访问次数。
(1)通用寄存器:存放操作数,可作某种寻址方式所需的专用寄存器。
(2)数据寄存器:存放操作数(满足各种数据类型)
(3)地址寄存器:存放地址,其位数应满足最大的地址范围。
(4)条件码寄存器:存放条件码,可作为程序分支的依据。
2、控制和状态寄存器:用户不可对这类寄存器编程,它们被控制部件使用,以控制CPU的操作,也可被带有特权的操作系统程序使用,从而控制程序的执行。
(1)MAR:存储器地址寄存器,用于存放将被访问的存储单元的地址。
(2)MDR:存储器数据寄存器,用于存放欲存入存储器中的数据或最近从存储器中读出的数据。
(3)PC:程序计数器,存放现行指令的地址,通常具有计数功能。当遇到转移类指令时,PC的值可被修改。
(4)IR:指令寄存器,存放当前欲执行的指令。
7、进程的概念,进程与程序的关系,进程与线程的关系,进程的状态及其切换;
进程:并发执行的程序在执行过程中分配和管理资源的基本单位。
进程是一个动态概念,具有并发特性,是竞争计算机系统资源的基本单位。不同的进程可以包含同一程序。
线程是进程的一部分。进程不依赖线程而独立存在。
进程的状态有:初始状态、就绪状态、执行状态、等待状态和终止状态。
8、进程的互斥,进程的同步;
互斥:不允许两个以上的共享该资源的并发进程同时进入临界区。
同步:异步环境下一组并发进程因直接制约而相互发送消息而进入相互合作、相互等待,使得各进程按一定的速度执行的过程。
9、临界区,间接制约与直接制约,原语,PV原语与信号量;
临界区指的是一个访问共用资源的程序片段。而这些共用资源又无法同时被多个线程访问的特性。当有线程进入临界区段时,其他线程或是进程必须等待,有一些同步的机制必须在临界区段的进入点与离开点实现,以确保这些共用资源是被互斥获得使用。
由于共享某一公有资源而引起的在临界区内不允许并发进程交叉执行的现象,称为间接制约。
把异步环境下一组并发进程各自执行的结果互为对方的执行条件,从而限制各进程的执行速度的过程称为并发进程间的间接制约。
前趋图是一个由结点和有向边构成的有向无循环图。
在计算机中,经常采用流水线方式执行指令,每一条指令都可以分解为取指、分析和执行三步。取指操作为 Ai,分析操作为 Bi 和执行操作为 Ci(i=1,2,3)。如图 2-4 所示为三个任务各程序段并发执行的前驱图。
图中 A1 没有前趋结点,称为开始结点,它不受任何制约,可以直接执行;而 B1 与 A2只能在 A1 执行完成之后才能开始,而 B2 必须在 B1 与 A2 完成之后才能开始; C3 没有后继结点,称为终止结点。
在前趋图中,执行先后顺序的制约关系可分为两种:直接制约和间接制约。直接制约通常是指一个操作中,多个步骤之间的制约关系,也可以说是“同步的进程之间的制约关系”。如图 2-4 所示, A1、 B1、 C1 是一条指令的取指、分析、执行的三个步骤,所以它们之间的关系是直接制约。
把系统态下执行具有特定功能的程序段称为原语。信号量的数值仅能由P、V原语操作改变(P:sem-1,V:sem+1)。
10、进程空间的划分;
程序的执行在进程空间(只与处理机位数有关)内进行。进程空间可分为用户空间和系统空间。
11、进程通信的不同方式及其特点;
进程通信分为四种:主从式、会话式、消息或邮箱机制、共享存储方式。
12、死锁;
各进程相互等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。
13、不同操作系统的操作界面;
电脑的主题不一样。不同计算机操作系统为用户提供的界面不同操作系统的操作命令界面称为命令控制界面。操作系统为不同的用户提供不同的用户界面,不同操作系统提供的用户界面也是不同的。
操作系统版本不同。不同用户的界面是一组不同操作命令的集合,它们分别实现用户所要求的不同功能,为用户提供对应的服务;对编程人员提供的是一组系统调用的集合。
14、处理器的分级调度;
操作系统的分级调度有:作业调度(宏观调度、高级调度)、交换调度(中级调度)、进程调度(低级调度、微观调度)和线程调度(低级调度、微观调度)。
(1)第1级:作业调度、宏观调度、高级调度
对外存输入井上的大量作业进行选择,对选择的作业分配资源,建立相应进程。作业执行完毕时,回收资源。
(2)第2级:交换调度、中级调度
将处于外存交换区中的就绪状态或等待状态的进程调入内存,或把处于内存就绪状态或内存等待状态的进程交换到外存交换区。
(3)第3级:进程调度、微观调度、低级调度
选取一个处于就绪状态的进程占用处理机,之后进行上下文切换以便建立与占用处理机进程相适应的执行环境。
(4)第4级:线程调度
选取一个处于就绪状态的线程进入执行状态。
15、作业的概念和构成;
作业是用户要求计算机所做的关于一次业务处理的全部工作。
(1)提交状态:作业处于从输入设备进入外存的过程。
(2)收容状态:作业的全部信息被输入到输入井,尚未被调度执行。
(3)完成状态:作业运行完毕,所占资源尚未被收回。
16、作业的输入输出方式,斯普林系统;
输入输出方式分为:联机输入/输出、脱机输入/输出、直接耦合和SPOOLing系统。
1、联机输入/输出
亦称经过CPU的输入/输出方式,见于早期批处理系统。外围设备直接和主机相连接,一台主机可连接一台或多台外围设备,由于外设的输入/输出速度低于CPU的处理速度,造成CPU时间很大浪费。
2、脱机输入/输出
亦称预输入方式,利用低档机(称卫星机或外围机)负责作业信息的输入并进入后援存储器(如磁带),再将装入输入信息的后援存储器拿到主机上输入主机;输出过程类似。优点是解决了快速输入/输出的问题,缺点是仍需人工干预和增加一台卫星机的代价。
3、直接耦合方式
在主机和外围机中间用一个公用的大容量辅存(磁盘)直接耦合起来,其中慢速的输入输出仍由外围机负责,主机直接从大容量辅存中提取信息。既保留脱机方式的优点,又免去人工干预的缺点,但该方式以硬件资源的设置为条件,成本高,只用于大型或巨型机系统。
4、Spooling斯普林系统(Simultaneous Peripheral Operation On Line 多台设备同时联机操作)
由Spooling输入程序和Spooling输出程序构成,采用通道(比计算机主机简单的外围机)取代卫星机,实现外设和主存直接交换信息,实现“假”脱机的输入输出工作。
1)输入:
将低速输入设备上的作业经通道、内存缓冲区、通道传送至输入井(磁盘上开辟的容纳作业的区域),同时建立JCB进入等待作业队列,完成作业的进入和创建,亦称为预输入。
2)输出:
将输出井(容纳作业输出信息的磁盘区域)中的信息在外设空闲时经通道传送到设备上形成真正的输出操作,亦称为“缓输出”。
17、作业的状态及其切换;
作业是由作业步组成的。
作业步:作业中相对独立的处理步骤。
作业的组成:由程序、数据和作业说明书组成。
提交过程:通过输入设备将作业输入到外存的过程。进入外存的作业建立JCB,生命周期开始。
后备状态:
进入内存之前的状态。作业都在后备队列中
执行状态:
进入内存之后直到作业完成
完成状态:
正常终止或出错中途终止。结果直接输出或存入外存
18、进程调度的时机;
进程调度(低级调度),就是按照某种算法从就绪队列中选择一个进程为其分配处理机。
需要进行进程调度与切换的情况:
1)当前运行的进程主动放弃处理机
2)进程正常终止
3)运行过程中发生异常而终止
4)进程主动请求阻塞(如等待I/O)
5)当前运行的进程被动放弃处理机
6)分给进程的时间片用完
7)有更紧急的事需要处理(如I/O中断)
8)有更高优先级的进程进入就绪队列
不能进行进程调度与切换的情况:
1)在处理中断的过程中。中断处理过程复杂,与硬件密切相关,很难做到在中断处理过程中进行进程切换
2)进程在操作系统内核程序临界区中(一般是访问某种内核数据结构)。但是进程在普通临界区中是可以进行调度、切换的
3)在原子操作过程中(原语)。原子操作不可中断,要一气呵成(如之前讲过的修改PCB中进程状态标志,并把PCB放到相应队列)
19、常用调度算法(作业调度和进程调度的适用性);
先来先服务FCFS、轮转法RR、多级反馈轮转法、短作业优先SJF、最高响应比优先HRN
20、分时系统的特点,时间片大小的确定和影响因素;
把处理机的运行时间划分为时间片。
时间片大小的确定:
(1)时间片太小,意味着会频繁地执行进程调度,实施进程上下文切换,这无疑会增加系统开销。
(2)时间片太长、RR算法便退化为FCFS算法,无法满足短作业和交互式用户的需求。
一个较为可取的时间片大小,略大于一次典型的交互所需的时间,使大多数交互式进程,能在一个时间片内完成,从而可以获得很小的响应时间。
21、分区管理,页式管理,段式管理的各自特点和比较;
为了支持多道程序系统和分时系统,支持多个程序并发执行,引入了分区式存储管理。分区式存储管理是把内存分为一些大小相等或不等的分区,操作系统占用其中一个分区,其余的分区由应用程序使用,每个应用程序占用一个或几个分区。分区式存储管理虽然可以支持并发,但难以进行内存分区的共享。
内碎片是占用分区内未被利用的空间,外碎片是占用分区之间难以利用的空闲分区(通常是小空闲分区)。
1、分区存储管理分为固定分区和动态分区。
(1)固定式分区的特点是把内存划分为若干个固定大小的连续分区。
(2)动态分区的特点是动态创建分区。动态分区又有最先适配法、下次适配法、最佳适配法和最坏适应法。
2、页式存储管理将程序的逻辑地址空间划分为固定大小的页(page),而物理内存划分为同样大小的页框(page frame)。
页式管理方式的优点是:
(1)没有外碎片,每个内碎片不超过页大比前面所讨论的几种管理方式的最大进步是,
(2)一个程序不必连续存放。
(3)便于改变程序占用空间的大小(主要指随着程序运行,动态生成的数据增多,所要求的地址空间相应增长)。
缺点是:要求程序全部装入内存,没有足够的内存,程序就不能执行。
3、为了实现段式管理,操作系统需要如下的数据结构来实现进程的地址空间到物理内存空间的映射,并跟踪物理内存的使用情况,以便在装入新的段的时候,合理地分配内存空间。
在段式存储管理系统中,整个进程的地址空间是二维的,即其逻辑地址由段号和段内地址两部分组成。
22、虚拟存储技术的概念和实现;
虚拟存储技术是内存空间扩充的相关技术,在传统存储管理方式的基础上,结合内存扩充技术从逻辑上扩充内存容量。
虚拟存储器是存储管理的核心概念。
23、覆盖和交换;
覆盖主要在同一个作业或进程中进行,交换主要在进程或作业之间进行。
所谓覆盖,是指同一内存区可以被不同的程序段重复使用。
可以相互覆盖的程序段叫做覆盖,可共享的内存区叫做覆盖区,把程序执行时并不要求同时装入内存的覆盖组成一组,叫覆盖段,并分配同一个内存区。
覆盖技术打破了必须将一个作业的全部信息装入内存后才能运行的限制,在一定程度上解决了小内存运行大作业的矛盾。
所谓交换,就是系统根据需要把内存中暂时不运行的某个(或某些)作业部分或全部移到外存,而把外存中的某个(或某些)作业移到相应的内存区,并使其投入运行。
交换技术的关键是设法减少每次交换的信息量。为此,常将作业的副本保留在外存,每次换出时,仅换出那些修改过的信息即可。
交换技术也是利用辅存来逻辑地扩充内存,打破了一个程序一旦进入内存便一直运行到结束的限制。
24、固定分区与动态分区,动态分区的分配和释放;
固定式分区的特点是把内存划分为若干个固定大小的连续分区,动态分区的特点是动态创建分区。动态分区内存回收后需要对空闲区进行合并。
25、动态页式管理中的主要置换算法及其置换过程;
随机淘汰算法、RR、FIFO(Belady陷进)、LRU、OPT。
26、文件的分类,记录式文件的分类;
文件按照逻辑分为两大类:字符流式的无结构文件和记录式的有结构文件。
一个逻辑文件是由若干个逻辑记录组成的,称为记录式文件。记录式文件中的逻辑记录可依次编号,其序号称为逻辑记录号(简称记录号)。
对记录式文件,逻辑记录是文件内可以独立存取的最小信息单位。当用户请求文件系统读出一个逻辑记录后,用户可以对逻辑记录中的各个数据项进行处理。为了能正确快速地存取逻辑记录,对记录式文件中的每个逻辑记录至少要有一项特殊的信息,利用它可把同一文件中的各个逻辑记录区分开来。
记录式结构文件有连续结构、多重结构、转置结构、顺序结构。
27、设备的分类,中断与缓冲的基本概念;
文件按照逻辑分为两大类:字符流式的无结构文件和记录式的有结构文件。
一个逻辑文件是由若干个逻辑记录组成的,称为记录式文件。记录式文件中的逻辑记录可依次编号,其序号称为逻辑记录号(简称记录号)。
对记录式文件,逻辑记录是文件内可以独立存取的最小信息单位。当用户请求文件系统读出一个逻辑记录后,用户可以对逻辑记录中的各个数据项进行处理。为了能正确快速地存取逻辑记录,对记录式文件中的每个逻辑记录至少要有一项特殊的信息,利用它可把同一文件中的各个逻辑记录区分开来。
记录式结构文件有连续结构、多重结构、转置结构、顺序结构。
28、平均等待时间与平均周转时间的计算;
周转时间=等待时间+执行时间=运行结束时间-开始调入时间。
29、局部性原理和系统抖动;
局部性原理:在几乎所有的程序的执行中,在一段时间内,CPU总是集中地访问程序的某一部分。
系统抖动,解释为在请求分页存储管理中,从主存(DRAM)中刚刚换出(Swap Out)某一页面后(换出到Disk),根据请求马上又换入(Swap In)该页,这种反复换出换入的现象。
30、银行家算法的运用;
死锁避免。