1、简述操作系统的定义。
操作系统是计算机系统的一种系统软件,它统一管理计算机系统的资源和控制程序的执行。
2、在多道程序设计技术的系统中,操作系统怎样才会占领中央处理器?
只有当中断装置发现有事件发生时,它才会中断当前占用中央处理器的程序执行,让操作系统的处理服务程序占用中央处理器并执行之。
3、简述“删除文件”操作的系统处理过程。
用户用本操作向系统提出删除一个文件的要求,系统执行时把指定文件的名字从目录和索引表中除去,并收回它所占用的存储区域,但删除一个文件前应先关闭该文件。
4、对相关临界区的管理有哪些要求?
为了使并发进程能正确地执行,对若干进程共享某一变量(资源)的相关临界区应满足以下三个要求:
① 一次较我让一个进程在临界区中执行,当有进程在临界区中时,其他想进入临界区执行的进程必须等待;
② 任何一个进入临界区执行的进程必须在有限的时间内退出临界区,即任何一个进程都不应该无限逗留在自己的临界区中;
③ 不能强迫一个进程无限地等待进入它的临界区,即有进程退出临界区时应让下一个等待进入临界区的进程进入它的临界区。
5、简述解决死锁问题的三种方法。
① 死锁的防止。系统按预定的策略为进程分配资源,这些分配策略能使死锁的四个必要条件之一不成立,从而使系统不产生死锁。
② 死锁的避免。系统动态地测试资源分配情况,仅当能确保系统安全时才给进程分配资源。
③ 死锁的检测。对资源的申请和分配不加限制,只要有剩余的资源就呆把资源分配给申请者,操作系统要定时判断系统是否出现了死锁,当有死锁发生时设法解除死锁。
6、从操作系统提供的服务出发,操作系统可分哪几类?
批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。
7、简述计算机系统的中断机制及其作用。
中断机制包括硬件的中断装置和操作系统的中断处理服务程序。
中断装置由一些特定的寄存器和控制线路组成,中央处理器和外围设备等识别到的事件保存在特定的寄存器中,中央处理器每执行完一条指令,均由中断装置判别是否有事件发生。
若无事件发生,CPU继续执行;若有事件发生,则中断装置中断原占有CPU的程序的执行,让操作系统的处理事件服务程序占用CPU,对出现的事件进行处理,事件处理完后,再让原来的程序继续占用CPU执行。
8、选择进程调度算法的准则是什么?
由于各种调度算法都有自己的特性,因此,很难评价哪种算法是较好的。一般说来,选择算法时可以考虑如下一些原则:
① 处理器利用率;
② 吞吐量;
③ 等待时间;
④ 响应时间。
在选择调度算法前,应考虑好采用的准则,当确定准则后,通过对各种算法的评估,从中选择出较合适的算法。
9、独占设备采用哪种分配方式?
独占设备通常采用静态分配方式。
即在一个作业执行前,将作业要使用的这类设备分配给作业,在作业执行期间均归该作业占用,直到作业执行结束才归还。
10、产生死锁的原因是什么?
① 系统资源不足;
② 进程推进顺序不合适。
在早期的系统中,由于系统规模较小,结构简单,以及资源分配大多采用静态分配法,使得操作系统死锁问题的严重性未能充分暴露出来。但今天由于多道程序系统,以至于数据系统的出现,系统中的共享性和并行性的增加,软件系统变得日益庞大和复杂等原因,使得系统出现死锁现象的可能性大大增加。
11、何谓批处理操作系统?
用户准备好要执行的程序、数据和控制作业执行的说明书,由操作员输入到计算机系统中等待处理。操作系统选择作业并按作业说明书的要求自动控制作业的执行。采用这种批量化处理作业的操作系统称为批处理操作系统。
12、对特权指令的使用有什么限制?
只允许操作系统使用特权指令,用户程序不能使用特权指令。
13、影响缺页中断率有哪几个主要因素?
影响缺页中断率的因素有四个:
① 分配给作业的主存块数多则缺页率低,反之缺页中断率就高。
② 页面大,缺页中断率低;页面小缺页中断率高。
③ 程序编制方法。以数组运算为例,如果每一行元素存放在一页中,则按行处理各元素缺页中断率低;反之,按列处理各元素,则缺页中断率高。
④ 页面调度算法对缺页中断率影响很大,但不可能找到一种较佳算法。
14、磁盘移臂调度的目的是什么?常用移臂调度算法有哪些?
磁盘移臂调度的目的是尽可能地减少输入输出操作中的寻找时间。
常用的移臂调度算法有:
① 先来先服务算法
② 较短寻找时间优先算法
③ 电梯调度算法
④ 单向扫描算法。
15、常用的作业调度算法有哪些?
① 先来先服务算法
② 计算时间短的作业优先算法
③ 响应比较高者优先算法
④ 优先数调度算法
⑤ 均衡调度算法
16、计算机系统的资源包括哪些?
计算机系统的资源包括两大类:硬件资源和软件资源。
硬件资源主要有中央处理器、主存储器、辅助存储器和各种输入输出设备。
软件资源有编译程序、编辑程序等各种程序以及有关数据。
17、CPU在管态和目态下工作有何不同?
当中央处理器处于管态时,可以执行包括特权指令在内的一切面器指令,而在目态下工作时不允许执行特权指令。
18、何为页表和快表?它们各起什么作用?
页表指出逻辑地址中的页号与所占主存块号的对应关系。
作用:页式存储管理在用动态重定位方式装入作业时,要利用页表做地址转换工作。
快表就是存放在高速缓冲存储器的部分页表。它起页表相同的作用。
由于采用页表做地址转换,读写内存数据时CPU要访问两次主存。有了快表,有时只要访问一次高速缓冲存储器,一次主存,这样可加速查找并提高指令执行速度。
19、作业在系统中有哪几种状态?
一个作业进入系统到运行结束,一般要经历进入、后备、运行和完成四个阶段,相应地,作业亦有进入、后备、运行和完成四种状态。
① 进入状态:作业的信息从输入设备上预输入到输入井,此时称为作业处于进入状态。
② 后备状态:当作业的全部信息都已输入,且由操作系统将其存放在输入井中,此时称作业处于后备状态。系统将所有处于后备状态的作业组成后备作业队列,等待作业调度程序的调度。
③ 运行状态:一个后备作业被作业调度程序选中,分配了必要的资源,调入内存运行,称作业处于运行状态。
④ 完成状态:当作业正常运行完毕或因发生错误非正常终止时,作业进入这完成状态。
20、用fork创建新进程,它要做哪些工作?
由fork创建新进程的主要工作有:
① 在进程表proc[ ]中为子进程找一个空闲的表项,用来存放子进程的proc结构;
② 为子进程分配一个唯一的标识号;
③ 把父进程中的字段复制到子进程的proc中,并把p - pid置为分配到的进程标识号,把p-pid置为父进程的标识号,把p-stat置为创建状态;
④ 按父进程中p-size所示的长度为子进程申请分配内存。若有足够的内存,则把父进程的user结构、栈和用户数据区全部复制到子进程的空间中;若无足够的内存,则在磁盘对换区中分配存储空间,然后复制到对换区中,置于进程状态为就绪状态。
21、为什么说批处理多道系统能极大地提高计算机系统的工作效率?
① 多道作业并行工作,减少了处理器的空闲时间。
② 作业调度可以合理选择装入主存储器中的作业,充分利用计算机系统的资源。
③ 作业执行过程中不再访问低速设备,而直接访问高速的磁盘设备,缩短执行时间。
④ 作业成批输入,减少了从操作到作业的交接时间。
22、操作系统为用户提供哪些接口?
操作系统为用户提供两种类型的使用接口:
一是操作员级的,它为用户提供控制作业执行的途径;
二是程序员级的,它为用户程序提供服务功能。
23、什么是线程?多线程技术具有哪些优越性?
线程是进程中可独立执行的子任务,一个进程可以有一个或多个线程,每个线程都有一个惟一的标识符。线程与进程有许多相似之处,往往把线程又称为“轻型进程”,线程与进程的根本区别是把进程作为资源分配单位,而线程是调度和执行单位。
多线程技术具有多个方面的优越性:
① 创建速度快、系统开销小:创建线程不需要另行分配资源;
② 通信简洁、信息传送速度快:线程间的通信在统一地址空间进程,不需要额外的通信机制;
③ 并行性高:线程能独立执行,能充分利用和发挥处理器与外围设备并行工作的能力。
24、UNIX系统中的优先权和优先数有什么关系?如何确定进程的优先权和优先数?
UNIX中每个进程都有一个优先数,就绪进程能否占用处理器的优先权取决于进程的优先数,优先数越小则优先权越高。
UNIX以动态方式确定优先权,如核心的进程优先权高于进入用户态的进程;降低用完一个时间片的进程的优先权;对进入睡眠的进程,其等待事件越急优先数越高;降低使用处理器时间较长的进程的优先权。
UNIX中确定进程优先数的方法有两种:设置方法和计算方法。前者对要进入睡眠状态的进程设置优先数,若等待的事件急迫,则设置较小的优先数;后者用户进程正在或即将转入用户状态运行时确定优先数。
25、主存空间信息保护有哪些措施?
保存主存空间中的信息一般采用以下措施:
① 程序执行时访问属于自己主存区域的信息,允许它既可读,又可写;
② 对共享区域中的信息只可读,不可修改;
③ 对非共享区域或非自己的主存区域中的信息既不可读,也不可写。
26、共享设备允许多个作业同时使用,这里的“同时使用”的含义是什么?
“同时使用”的含义是多个作业可以交替地启动共享设备,在某一时刻仍只有一个作业占有。
27、简述“打开文件”操作的系统处理过程。
用户要使用一个已经存放在存储介质上的文件前,必须先提出“打开文件”要求。这时用户也必须向系统提供参数:用户名、文件名、存取方式、存储设备类型、口令等。系统在接到用户的“打开文件”要求后,找出该用户的文件目录,当文件目录不在主存储器中时还必须把它读到主存储器中;然后检索文件目录,指出与用户要求相符合的目录项,取出文件存放的物理地址。
对索引文件还必须把该文件的索引表存放在主存储器中,以便后继的读写操作能快速进行。
28、什么是“前台”作业、“后台”作业?为什么对“前台”作业要及时响应?
批处理操作系统实现自动控制无需人为干预,分时操作系统实现了人机交互对话,这两种操作系统具有各自的优点。为了充分发挥批处理系统和分时系统的优点,在一个计算机系统上配置的操作系统往往既具有批处理能力,又有提供分时交互的能力。这样,用户可以先在分时系统的控制下,以交互式输入、调试和修改自己的程序;然后,可以把调试好的程序转交给批处理系统自动控制其执行而产生结果。这些由分时系统控制的作业称为“前台”作业,而那些由批处理系统控制的作业称为“后台”作业。
在这样的系统中,对前台作业应该及时响应,使用户满意;对后台作业可以按一定的原则进行组合,以提高系统的效率。
29、存储型设备和输入输出型设备的输入输出操作的信息传输单位有何不同?
存储型设备输入输出操作的信息传输单位是“块”,而输入输出型设备输入输出操作的信息传输单位是“字符”。
30、简述信号量S的物理含义。
S>0时,S表示可使用的资源数;或表示可使用资源的进程数;
S=0时,表示无资源可供使用;或表示不允许进程再进入临界区;
S<0时,-S表示等待使用资源的进程个数;或表示等待进入临界区的进程个数;
当S>0时,调用P(S)的进程不会等待;调用V(S)后使可用资源数加1或使可用资源的进程数加1;
当S<0时,调用P(S)的进程必须等待;调用V(S)后将释放一个等待使用资源者或释放一个等待进入临界区者。
31、简述“关闭文件”操作的系统处理过程。
执行“关闭”操作时先要检查读到主存中的文件目录或索引表是否被修改过,若被修改过,则应把修改过的文件目录或索引表重新保存好。
用户提出“关闭”要求时,必须说明关闭哪个文件。
32、什么是计算机系统?它由哪几部分组成?
计算机系统是按用户的要求接收和存储信息,自动进行数据处理并输出结果信息的系统。
计算机系统由硬件系统和软件系统组成。硬件系统是计算机系统赖以工作的实体,软件系统保证计算机系统按用户指定的要求协调地工作。
33、计算机系统怎样实现存储保护?
一般硬件设置了基址寄存器和限长寄存器。
中央处理器在目态下执行系统中,对每个访问主存的地址都进行核对,若能满足:基址寄存器值≤访问地址≤基址寄存器值+限长寄存值,则允许访问,否则不允许访问。并且不允许用户程序随意修改这两个寄存器的值。这就实现了存储保护。
34、给出系统总体上的中断处理过程。
CPU每执行完一条指令就去扫描中断寄存器,检查是否有中断发生,若没有中断就继续执行下条指令;若有中断发生就转去执行相应的中断处理程序。中断处理过程可粗略的分为以下四个过程:
① 保护当前正在运行程序的现场;
② 分析是何种中断,以便转去执行相应的中断处理程序;
③ 执行相应的中断处理程序;
④ 恢复被中断程序的现场。
35、死锁发生的必要条件有哪些?
发生死锁的必要条件有四点:互斥条件、不可抢占条件、部分分配条件和循环等待条件。
① 互斥条件:系统中存在一个资源一次只能被一个进程所使用;
② 非抢占条件:系统中存在一个资源仅能被占有它的进程所释放,而不能被别的进程强行抢占。
③ 占有并等待条件:系统中存在一个进程已占有了分给它的资源,但仍然等待其他资源。
④ 循环等待条件:在系统中存在一个由若干进程形成的环形请求链,其中的每一个进程均占有若干种资源中的某一种,同时每个进程还要求(链上)下一个进程所占有的资源。
36、用户程序中通常用什么方式指定要使用的设备?为什么?
用户程序中通常用“设备类、相对号”请求要使用的设备,即不具体指定要哪一台设备,而是提出要申请哪类设备多少台。
这种方式使设备分配适应性好、灵活性强。
否则若用绝对号来指定设备,如果这台设备已被占用或有故障时,该作业就无法装入主存中。
37、进程调度中“可抢占”和“非抢占”两种方式,哪一种系统的开销更大?为什么?
可抢占式会引起系统的开销更大。
可抢占式调度是严格保证任何时刻,让具有较高优先数(权)的进程占有处理机运行,因此增加了处理机调度的时机,引起为退出处理机的进程保留现场,为占有处理机的进程恢复现场等时间(和空间)开销增大。
38、一个含五个逻辑记录的文件,系统把它以链接结构的形式组织在磁盘上,每个记录占用一个磁盘块,现要求在第一记录和第二记录之间插入一个新记录,简述它的操作过程。
从文件目录中找到该文件,按址读出第一个记录;
取出第一个记录块中指针,存放到新记录的指针位置;
把新记录占用的物理块号填入第一个记录的指针位置;
启动磁盘把第一个记录和新记录写到指字的磁盘块上。
39、在SPOOL系统中设计了一张“缓输出表”,请问哪些程序执行时要访问缓输出表,简单说明之。
井管理写程序把作业执行结果文件登记在缓输出表中;
缓输出程序从缓输出表中查找结果文件并打印输出。
40、试比较进程调度与作业调度的不同点。
① 作业调度是宏观调度,它决定了哪一个作业能进入主存。进程调度是微观调度,它决定各作业中的哪一个进程占有中央处理器。
② 作业调度是选符合条件的收容态作业装入主存。进程调度是从就绪态进程中选一个占用处理器。
41、试说明资源的静态分配策略能防止死锁的原因。
资源静态分配策略要求每个过程在开始执行前申请所需的全部资源,仅在系统为之分配了所需的全部资源后,该进程才开始执行。
这样,进程在执行过程中不再申请资源,从而破坏了死锁的四个必要条件之一“占有并等待条件”,从而防止死锁的发生。
42、简述操作系统提供的服务功能。
处理用户命令;读/写文件;分配/回收资源;
处理硬件/软件出现的错误;及其他控制功能。
43、简述中断装置的主要职能。
中断装置的职能主要有三点:
① 检查是否有中断事件发生;
② 若有中断发生,保护好被中断进程的断点及现场信息,以便进程在适当时候能恢复执行;
③ 启动操作系统的中断处理程序。
44、实现虚拟设备的硬件条件是什么?操作系统应设计哪些功能程序?
硬件条件是:配置大容量的磁盘,要有中断装置和通道。
操作系统应设计好“预输入”程序,“井管理”程序,“缓输出”程序。
45、一个具有分时兼批处理功能的操作系统应怎样调度和管理作业?
① 优先接纳终端作业,仅当终端作业数小于系统可以允许同时工作的作业数时,可以调度批处理作业;
② 允许终端作业的批处理作业混合同时执行;
③ 把终端作业的就绪进程排成一个就绪队列,把批处理作业的就绪进程排入另外的就绪队列中;
④ 有终端作业进程就绪时,优先让其按“时间片轮转”法先运行。没有终端作业时再按确定算法选批处理作业就绪进程运行。
46、简述死锁的防止与死锁的避免的区别。
死锁的防止是系统预先确定一些资源分配策略,进程按规定申请资源,系统按预先规定的策略进行分配从而防止死锁的发生。
而死锁的避免是当进程提出资源申请时系统测试资源分配仅当能确保系统安全时才把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。