一、操作系统概述与运行机制(1)操作系统是一个可以从多视角考察的软件系统。
下列关于操作系统的叙述中,哪一项是错误的()。
A)从应用角度看,操作系统是一个工具软件(系统软件)B)从软件设计和开发的角度看,操作系统是一个基础软件和工具软件C)从网络攻击者角度看,操作系统是首先要突破的防线D)从扩展角度看,操作系统为用户提供了一台虚拟机答案:A(2)并发性是操作系统的特征之一。
下列描述的四种现象中,哪一种具有“并发性”()。
A)单CPU系统交替运行积分计算和磁盘读写的进程(同时存在多个运行着的程序)B)双CPU系统分别运行微分计算和打印输出进程C)单CPU系统运行除法进程,同时网卡收发数据包D)双CPU系统分别运行同一进程的多个不同线程答案:A (操作系统的特征:并发、共享、虚拟和异步)(3)下列哪一个标志位或状态码不包含在程序状态字(PSW)中()。
A)修改位(M)B)CPU工作状态码(S)C)条件码(C)D)中断屏蔽码(IF)答案:A (程序状态字(PSW)通常包括以下代码:CPU工作状态码(S);条件码(C);断屏蔽码(IF)(4)中断和异常都是将正常执行的程序打断,完成相应处理后再恢复该程序的执行,但是二者是有区别的。
下列各种事件中,哪一项属于异常()。
A)运行过程中执行了除零操作B)定时器计时结束C)用户敲击键盘D)存储器校验出错答案:A (中断是外部事件引发;异常为正在执行的程序错误,比如除数为零,缺页)(5)系统调用扩充了机器指令,增强了系统功能,方便了用户使用。
下列哪一项不属于系统调用()。
A)查找数组中的最大数B)用户程序创建一个新进程C)打开磁盘上的一个文件D)一个进程向另一个进程发送消息答案:A二、进程线程模型(7)在计算机系统中被创建的进程具有多种特性,所谓进程的“并发性”是指()。
A)宏观上,不同的进程可以一起向前推进B)微观上,不同的进程均是一起向前推进的C)不同的进程都是同时开始执行,并同时结束D)不同的进程可以不同时开始执行,但会同时结束答案:A (宏观上是不同的进程可以一起向前推进;微观上,不同的进程交替进行)(8)某八核处理器的计算机系统中共有150个进程,那么,任意时刻处于运行状态的进程最多有几个()。
A)8B)150C)1D)0答案:A (一个cpu只能有一个进程正在运行,所以8核8个)(9)进程是由多个部分组成的,下列哪一项不是进程的组成部分()。
A)人机交互界面B)进程控制块C)程序代码D)数据答案:A (进程由程序代码、数据和PCB(进程控制块)三部分)(10)对于如下C语言程序int main(){pid_t pid;int a=10;pid = fork();if(pid==0)printf("This is the son process, a=%d\n", --a);elseprintf("This is the dad process, a=%d\n", ++a);}在UNIX操作系统中正确编译链接后执行,其运行结果是()。
A)This is the son process, a=9This is the dad process, a=11B)This is the son process, a=9C)This is the dad process, a=11D)This is the dad process, a=9This is the son process, a=11答案:A(调用fork()后就有两个进程在执行,一个子进程,一个父进程,子进程执行—a后a=9,父进程执行++a所以a=11.(11)有如下C语言程序void *th_pg(void * arg){printf("HelloWorld") ;pthread_exit(0) ;}int main(void){pthread_t ptid;int sta ;sta = pthread_create(&ptid, NULL, th_pg, NULL);if(sta==0)printf("Oops, I can not create thread\n");exit(NULL);}上述程序中,pthread_create函数表示()。
A)创建线程,线程名为th_pgB)创建线程,线程名为ptidC)创建线程,线程名为staD)创建线程,线程名为NULL答案:A(1指向线程标识符的指针;2参数用来设置线程属性;3线程运行函数的起始地址即线程名;4运行函数的参数)(14)下列描述的四个场景中,哪一个呈现出进程间只有互斥关系而没有同步关系()。
A)不同的用户使用订票软件同时访问同一个订票数据库B)不同的用户在各自的电脑上打同一盘网络麻将C)不同的用户在同一台游戏机上玩踢足球的电子游戏D)不同的用户在各自的电脑上同时编译程序答案:A (互斥是资源共享,同步是进程合作)(15)有如下银行存款的程序int deposit(id, int c) //存款例程,id是用户号,c为存入现金额{ int n;while TS(&lock); // Test-and-Set指令n = fetch(balance); //从主服务器取存款余额n = n + c; //存款余额加存入现金额send(n); //送回新余额(这3段是读余额修改程序,互斥的,为临界区,所以前面一段为进入区)lock = FALSE; //置标志为Foutput(n); //打印余额凭条}上述程序中,while TS(&lock)指令的作用是()。
A)临界资源访问过程中的进入区B)临界资源访问过程中的临界区C)临界资源访问过程中的退出区D)临界资源访问过程中的剩余区答案:A(16)下列进程间通信的各种方法中,哪一个是“共享内存”通信方式()。
A)在相互通信的进程之间设一公共区域,一组进程向该公共区域写,另一组进程从公共区域读,通过这种方式实现两组进程间的信息交换B)在内存中开辟若干区域,发送进程申请一个区域,并将信息送入,然后把它插入到接收进程的相应队列中,之后通知接收进程(信息传递系统通信方式C)发送进程首先创建一个链接两个进程的通信机制,然后把信息送入该机制;发送进程和接收进程不直接建立联系,而接收进程可以在任何时刻从该机制中取走信息(套接字通信方式D)发送进程创建好连接两个进程的一个打开的共享文件,然后写入数据流;接收进程在需要时可以从该共享文件读出数据,写入和读出数据的长度是可变的(管道通信方式答案:A四、存储管理(18)某计算机操作系统采用可变分区管理方案,当前的内存分配表如下所示。
当系统运行一段时间后,进程P1退出,那么,操作系统如何修改上述内存分配表()。
A)将表中进程P1所在行的标志置为NULL,并将上下两个空闲区与其合并成一个空闲区,修改空闲区表B)将表中进程P1所在行的标志置为NULL,并将上邻空闲区与其合并成一个空闲区,修改空闲区表C)将表中进程P1所在行的标志置为NULL,并将下邻空闲区与其合并成一个空闲区,修改空闲区表D)将表中进程P1所在行的标志置为NULL,无须修改空闲区表答案:A(19)某虚拟页式存储管理系统当前内存的分配情况如下表所示,假设当前时间为6500。
当采用先进先出(FIFO)页面置换算法时,要淘汰的页面页号为()。
A)11B)15C)22D)34答案:A(20)在虚拟页式存储管理系统中,假设内存按字节编址。
若系统采用20个二进制位表示虚拟地址,其中页内地址部分占用12个二进制位,则允许一个进程最大有多少个页面()。
A)28B)220C)212D)232答案:A(21)某虚拟页式存储管理系统采用三级页表,分配如下:某进程运行时执行的一条指令的地址是:1110-1111-1000-1000-0010-0001-0101-0101(二进制),则该地址的页目录偏移是()。
A)11B)10C)01D)00答案:A(22)某虚拟页式存储管理系统中采用最近最少使用(LRU)页面置换算法,系统给每个进程分配3页内存,每页大小为128个整数。
某进程创建后,代码部分占用2页内存并驻留,数据部分占用1页内存且当前为空。
对于如下程序VAR A: ARRAY [1…128,1…128] OF INTEGER;FOR j:= 1 TO 128 DOFOR i:= 1 TO 128 DOA[i, j]:= 0;该程序执行中会产生多少次缺页中断()。
A)128×128B)128×1C)64×64D)128×64答案:A(23)某计算机系统的内存大小为256KB,在分配完P5进程后,内存的使用情况如下表所示。
此时,有新的进程请求20KB和5KB的内存空间,系统分配后如下表所示那么,系统采用的是什么分配算法()。
A)最先适应算法B)下次适应算法C)最优适应算法D)最坏适应算法答案:A【解析】最先适应算法是将空闲分区按起始地址递增的次序排列,每次分配总是从空闲分区表或空闲分区链首开始查找,并从第一个能满足要求的空闲分区中划分出作业所要求的空间分配出去。
由两张内存使用表看出为新进程分配的空闲分区总是从低地址开始搜索,当搜索到第一个能满足要求的空闲分区时就分配给进程,符合最先适应算法。
故选A。
(26)在文件系统中,文件的逻辑结构是指()。
A)用户所看到的文件的组织形式B)磁盘上文件的组织形式C)内存中文件的组织形式D)操作系统管理的文件组织形式答案:A【解析】文件的逻辑结构就是用户所看到的文件的组织形式。
文件的逻辑结构是一种经过抽象的结构,所描述的是记录在文件中的信息的组织形式。
故选择A选项。
(27)下列关于文件的各种属性信息中,哪一项不是位于文件控制块(FCB)中的()。
A)文件修改次数B)文件名C)文件大小D)文件创建日期答案:A【解析】文件控制块FCB中通常包括以下内容:文件名、文件号、用户名、文件地址、文件长度、文件类型、文件属性、文件的建立日期、保存日期、最后修改日期、最后访问日期、口令、文件逻辑结构、文件物理结构,等等。
文件名、文件大小和文件创建日期都属于FCB,故选择A选项。
(28)进程在创建文件的过程中,下列哪一个操作顺序是正确的()。
A)检查参数合法性→检查重名→查找FCB空闲位置→填写FCBB)查找FCB空闲位置→检查参数合法性→检查重名→填写FCBC)检查参数合法性→查找FCB空闲位置→检查重名→填写FCBD)检查重名→查找FCB空闲位置→检查参数合法性→填写FCB答案:A【解析】进程创建文件的具体步骤如下:①检查参数的合法性(文件名是否符合命名规则,若是,则进行下一步②;否则报错,返回),②检查同一目录下有无重名文件(若没有,则进行下一步③;否则报错,返回),③在目录中有无空闲位置(若有,则执行下一步④;否则,不成功返回),④填写目录项内容(包括文件名、用户名、存取权限、长度置零、首地址等等)⑤返回。