操作系统知识点
Posted weber-security
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统知识点相关的知识,希望对你有一定的参考价值。
一、填空题
- 计算机系统资源分为硬件资源和软件资源
- 存储管理的四个功能:存储空间的分配和回收、地址映射、存储的共享与保护、主存扩充
- 按信息交换方式和加接设备的特性种类不同,通道分为 字节多路通道、选择通道、数组多路通道
- 两个交往的并发进程可能出现与时间有关的错误,这些错误表现为结果不唯一和永远等待两种情况
- Unix文件可以分成普通文件、目录文件和特殊文件
- 从资源管理的观点上来看,OS的功能包括处理器与进程管理、存储器管理、文件管理、设备管理和网络管理
- 程序的局部性表现为两个方面,它们分别是时间局部性和空间局部性
- 常见的处理器调度策略有:长程调度、中程调度、短程调度
- 中央处理器和通道的通信过程是:在I/O操作开始前,中央处理器向通道发出“启动I/O指令”,当I/O操作正常结束后,通道向中央处理器发出中断请求。
- 常见的恶意代码有: 后门、病毒、蠕虫、特洛伊木马、安全工具、细菌、逻辑炸弹等。
- 常见的死锁防止方法有资源的静态分配法、资源的层次分配法两种。死锁的防止蛀牙是通过破坏部分分配条件和破坏循环等待条件,从而达到使死锁不发生的目的。
- 操作系统为用户提供三种类型的使用接口,他们是系统命令、程序接口和图形用户界面。
- 磁头在移动臂的带动下移动到指定柱面所需要的时间叫做寻道时间。
- 所谓通道是一种能控制一台或者多台外围设备与CPU并行工作的硬件。
- 从对文件信息的存取顺序考虑,存取方法可分为顺序存取和直接存取两种。
- 动态重定位是在作业程序执行过程中时,由硬件地址变换机构完成地址转换工作。
- 并发进程中涉及到与共享变量有关的程序段称为临界区,两个进程同时进入相关的临界区会造成与时间有关的错误。
- Unix操作系统提供两个程序运行环境,一是用户态,另一是接口态。
- 可顺序存取的文件不一定能随机存取,但是可随机存取的文件都可以顺序存取。
- 当因资源竞争可能会引起死锁时,可以有死锁发生前的避免和预防、死锁发生后的检测和修复两种策略对付,其中第一种策略付出的代价较高。
- 进程是由程序、数据和PCB组成的。
- 进程与程序的主要区别:
(1)程序是永存的;进程是暂时的,是程序在数据集上的一次执行,有创建有撤销,存在是暂时的;
(2)程序是静态的观念,进程是动态的观念;
(3)进程具有并发性,而程序没有;
(4)进程是竞争计算机资源的基本单位,程序不是。
(5)进程和程序不是一一对应的: 一个程序可对应多个进程即多个进程可执行同一程序; 一个进程可以执行一个或几个程序。
- 死锁的防止方法:1)破坏部分分配条件 2)破坏循环等待条件
二、简答题
1、批处理系统、分时系统和实时系统各有什么特点?各用于哪些方面?
批处理系统:
特点:用户把要计算的问题、数据和作业说明书一起交给操作员,操作员将一批算题输入到计算机,然后由操作系统来控制执行。
适用方面:计算量大、不需要和用户交互的大型作业。
分时系统:
特点:(1)同时性。若干个终端用户可同时使用什算机;(2)独立性。用户彼此独立,互下干扰;(3)及时性。用户的请求能在较短时间内得到响应;(4)交互性。用户能进行人-机对话,联机地调试程序,以交互方式工作。
适用方面:交互性强的多用户系统。
实时系统:
特点:事件驱动,具有实时性。
适用方面:较少有人为干预的监督和控制系统,例如,监督产品线,控制流水线生产的连续过程,监督病人的临界功能,监督和控制文通灯系统、监督和拄制实验室的实验以及监督军用飞机的状态等等。
2、通道主要有哪几种类型?简述每一种的原理。
通道分为字节多路通道、选择通道、数组多路通道。
原理:
1. 字节多路通道
字节多路通道是一种简单的共享通道,主要用于连接控制多台低速外设,以字节交叉方式传送数据。
2. 选择通道
选择通道又称高速通道,在物理上它可以连接多个设备,但是这些设备不能同时工作,在某一个时间段内通道只能选择一个设备进行工作。选择通道很像一个单道程序的处理器,在一段时间内只允许执行一个设备的通道程序,只有当这个设备的通道程序全部执行完毕后,才能执行其他设备的通道程序。
3. 数组多路通道
连接控制多个高速外设并以成组交叉方式传送数据的通道称为数组多路通道。数组多路通道是对选择通道的一种改进,当某个设备进行数据传送时,通道只为该设备提供服务;当设备在执行寻址等控制性动作时,通道暂时断开与该设备的连接,挂起该设备的通道程序,而转去为其他设备提供服务,即执行其他设备的通道程序。所以,数组多路通道很像一个多道程序的处理器。
3、何谓处理器调度(短程调度)?主要功能是什么?
1. 处理器调度负责动态地把处理器分配给进程。因此,它又叫分派程序或低级调度。 它的主要功能是:
(1)记往进程的状态。这个信息一般记录在一个进程的进程控制块内;
(2)决定某个进程什么时候获得处理器,以及占用多长时间;
(3)把处理器分配给进程。即把选中进程的进程控制块内有关现场的信息,如程序状态字,通用寄存器等内容送入处理器相应相应的寄存器中,从而让它占用处理器运行;
(4)收回处理器。将处理器有关寄存器内容送入该进程的进程控制块内的相应单元,从而使该进程让出处理器。
4、备份的常用方法有哪些?
数据备份按照备份时所备份数据的特点可以分为三种:完全备份、增量备份和系统备份。
根据数据备份所使用的存储介质种类可以将数据备份方法分成如下若干种:软盘备份、磁带备份、可移动存储备份、可移动硬盘备份、本机多硬盘备份和网络备份。
5、发生死锁的必要条件有哪些?
不可抢占条件、循环等待条件、互斥条件和部分分配条件
6、常用的进程调度算法有哪几种?简述每种方法的原理。
1.先来先服务调度算法
先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。该进程一直运行到完成或发生某事件而阻塞后才放弃处理机。
2.短作业(进程)优先调度算法
短作业(进程)优先调度算法SJ(P)F,是指对短作业或短进程优先调度的算法。它们可以分别用于作业调度和进程调度。短作业优先(SJF)的调度算法是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。而短进程优先(SPF)调度算法则是从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机时再重新调度。
3.最高优先权优先(FPF)调度算法
为了照顾紧迫型作业,使之在进入系统后便获得优先处理,引入了最高优先权优先(FPF)调度算法。此算法常被用于批处理系统中,作为作业调度算法,也作为多种操作系统中的进程调度算法,还可用于实时系统中。当把该算法用于作业调度时,系统将从后备队列中选择若干个优先权最高的作业装入内存。当用于进程调度时,该算法是把处理机分配给就绪队列中优先权最高的进程,这时,又可进一步把该算法分成如下两种。
4.时间片轮转法
在早期的时间片轮转法中,系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU 分配给队首进程,并令其执行一个时间片。时间片的大小从几ms 到几百ms。当执行的时间片用完时,由一个计时器发出时钟中断请求,调度程序便据此信号来停止该进程的执行,并将它送往就绪队列的末尾;然后,再把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片。这样就可以保证就绪队列中的所有进程在一给定的时间内均能获得一时间片的处理机执行时间。换言之,系统能在给定的时间内响应所有用户的请求。
5.多级反馈队列调度算法
前面介绍的各种用作进程调度的算法都有一定的局限性。如短进程优先的调度算法,仅照顾了短进程而忽略了长进程,而且如果并未指明进程的长度,则短进程优先和基于进程长度的抢占式调度算法都将无法使用。而多级反馈队列调度算法则不必事先知道各种进程所需的执行时间,而且还可以满足各种类型进程的需要,因而它是目前被公认的一种较好的进程调度算法。
7、什么叫虚拟设备?实现虚拟设备的主要条件是什么?叙述采用虚拟设备技术的优点。
在一台共享设备上模拟若干台独享设备的操作,把独占设备变成逻辑上的共享设备,这种技术叫做虚拟设备技术。实现这种技术的软件和硬件被称为SPOOLING系统,使用SPOOLING技术所提供的设备就称为虚拟设备 。
实现虚拟设备的条件是硬件要有大容量的缓冲区,软件要有预输入程序和缓输出程序,井管理程序 。
优点是:1)提高了输入/输出的速度,缓和了CPU和低速I/O设备间的速度不匹配 ;2)将独占设备变为可共享的设备,设备使用率提高了 。
8、文件目录管理的基本要求。
(1)实现“按名存取”;
(2) 提高对目录的检索速度;
(3) 文件共享;
(4) 允许文件重名。
9、叙述链接索引表法(成组链接法)的文件存储空间的分配原理。
首先说一下,成组链接法出现的背景和意义,它的出现带来了什么好处。
成组链接法作为文件存储空间管理方法之一(主要是空闲盘区的管理),还有其他三种管理方法分别是:空闲表法、空闲链表法和位示图法,它克服了空闲链表法表太长的缺点,但是保持了其优点,即分配和回收一个盘块比较简单。
这么好的文件存储空间管理方法,我们当然要认真学咯。。
首先来看文字解释:成组链接法是Unix系统中常见的管理空闲盘区的方法,它把空闲块分为若干组,每100个空闲块为一组,每组的第一个空闲块记录了空闲块总数和下一组物理空闲块的物理盘块号。理解这一点很重要。特别是对于看下面这张神图。
这张图我得好好解释一下,首先来看左边绿色的空闲盘块号栈,这是第一组(唯一进入内存的一组,只有它会占据存储空间)。看到S.free = 100了没,这表示该组有100个空闲块数目,再往下看,第0号对应的是300,表示下一组物理空闲块的物理盘块号为300,你看它指向的是不是300号对应的磁盘块。再看黄色的块,这些块里保存的才是真正的可用的空闲块,也就是说每组中只有99个块可用。尽管如此,每组还是有100个块的。特别要注意的是,最后一组的下一组盘块号不是没有么,我们这里采用的是结束标记“0”,也就是最右边一个蓝色块的第二项为0。
下面说一下,磁盘块分配和回收的过程。
首先检查超级空闲盘块号(第一组)栈是否已上锁,(提示:这是临界资源),若已上锁则进程睡眠等待;否则,给空闲磁盘块号栈上锁后,将S.free减1,若S.free仍大于0,即第一组不止一个空闲盘块,则将s_free[s_nfree]中登记的空闲盘块分配出去;若S.free为0,即当前空闲盘块号栈中只剩下最后一个空闲盘块,必须先将该盘块的内容读入超级块的空闲盘块号栈中,然后再将该盘块分配出去。若s_nfree为0,而且栈底登记的盘块号为0,则表示系统中无空闲盘块可分配。
磁盘回收过程:
系统回收空闲盘块时,若第一组不满100块,则只需将回收块的块号填入超级块的空闲盘块号栈栈顶,并将其中的空闲盘块数加1;若第一组已有100块,则必须先将超级块中的空闲盘块数和空闲盘块号写入回收块中,然后将盘块数1和回收块号记入超级块中。
记住一点的是,分配过程是从前往后分配,先分配第一组,然后分配第二组……
回收过程是正好相反,从后往前分配,先将释放的空闲块放入第一组,第一组满了,再开辟一组,之前的第一组变为第二组……
以上是关于操作系统知识点的主要内容,如果未能解决你的问题,请参考以下文章