操作系统--笔试题
操作系统提供的接口主要有两类:命令接口和系统调用。系统调用是能完成特定功能的子程序,当应用程序请求操作系统提供某种服务时,便调用具有相应功能的系统调用。
库函数则是高级语言中提供的与系统调用对应的函数(也有些库函数与系统调用无关),目的是隐藏访管指令的细节,使系统调用更为方便、抽象。但要注意,库函数属于用户程序而非系统调用,是系统调用的上层。
下图是Linux中的分层关系。
2、32位处理器是指处理器的()是32位的
计算机中的位数指的是CPU一次能处理(数据)的最大位数。32位计算机的CPU一次最多能处理32位数据,即32位处理器是指处理器的(数据总线)是32位的
3、下列哪个对象只能用于进程内的多线程同步
多个线程必须互斥地对临界资源进行访问。每个线程中访问临界资源的那段程序称为临界区(Critical Section)(临界资源是一次仅允许一个线程使用的共享资源)。每次只准许一个线程进入临界区,进入后不允许其他线程进入。不论是硬件临界资源,还是软件临界资源,多个线程必须互斥地对它进行访问。---用于多个线程中临界区的同步
4、虚拟设备的正确描述( )
独享设备: 在一个用户作业未完成或退出之前,此设备不能分配给其他作业用。所有字符设备都是独享设备。如输入机、磁带机、打印机等。
虚拟设备: 通过软件技术将 独享设备 改造成共享设备。例如:通过 SPOOLing 技术将一台打印机虚拟成多台打印机。
5、计算机的资源包括( )。
计算机中的资源&计算机中的软件
计算机资源指计算机硬件、软件与数据。
6、在计算机系统中,操作系统是()。
软件系统(Software Systems)是指由 系统软件 、 支撑软件 和 应用软件 组成的 计算机 软件系统,它是 计算机系统 中由 软件 组成的部分。
支撑软件是支撑各种软件的开发与维护的软件,又称为软件开发环境。
包括一系列基本的工具(比如编译器,数据库管理,存储器格式化,文件系统管理,用户身份验证,驱动管理,网络连接等方面的工具)。
7、以下CPU调度算法中,会引起饥饿的是( )
SJF是最短作业优先算法,以进入系统的作业要求的cpu时间长短为标准,总是选取时间最短的作业投入运行。它的缺点就是往往很难预测作业的运行时间导致长作业等待时间过长,甚至出现饥饿现象,效率较低。
8、有m 个进程共享同一临界资源,若使用信号量机制实现对该临界资源的互斥访问,则信号量的变化范围是() 。
为实现互斥访问,初始值需要设置为1.如果某时刻信号量为-x,则证明等待队列中有x个进程在等待。此题中,有m个进程,那么最多就有m-1个进程等待。对应信号量的值就是-(m-1)=1-m
9、若进程 P 一旦被唤醒就能够投入运行,系统可能为( )。
两种可能:
1.就绪队列为空且CPU空闲;
2.抢占式调度,P的优先级高于当前运行进程和就绪队列上的所有进程
A,不是抢占式调度,要等运行的进程运行完才能运行
B,若被唤醒的进程优先级没有当前运行的进程优先级高,仍要等待其运行完才能运行
C,还是得等当前运行的进程
D,P的优先级若是高于当前运行的进程优先级,则肯定大于队列中所有进程的优先级;
否则当前运行的进程就会被队列中的进程所抢夺了,D包括B,且说明了比当前运行的进程优先级还高,所以唤醒后会立刻抢占。
10、超级用户(管理员、特权用户)可以使用特权指令。
许多操作系统有至少两种独立的操作模式:用户模式(user mode)和监督程序模式(nomitor mode)(也称为管理模式(supervisor mode)、系统模式(system mode)或特权模式(privileged mode))。这是为了区分操作系统代码和用户定义代码的执行,从而确保操作系统的正常执行。
为了具体实现双重模式,因此将能引起损害的机器指令作为特权指令(privileged instruction)。如果在用户模式下试图执行特权指令,那么硬件并不执行该指令,而是认为该指令非法,并将其以陷阱(trap)的形式通知操作系统。特权指令有以下几种:
1)允许和禁止中断,控制中断禁止屏蔽位
2)在进程间切换处理
3)存取用于主存保护的寄存器
4)执行I/O操作
5)停止一个***处理器的工作
6)清理内存
7)设置时钟
8)建立存储键
9)加载PSW
11、在页式存储管理中,当CPU形成一个有效地址时,要查页表。这一工作是由()实现的。
逻辑地址到物理地址的映射,是由处理机中设置的专门硬件完成,即地址管理部件。
当进程要访问某个逻辑地址中的数据时,分页地址变换机构会自动地将有效地址分为页号和页内地址两个部分,再以页号为索引去检索页表,查找操作由硬件执行。
12、I/O交通管制程序的主要功能是管理( )的状态信息。
I/O交通管制程序:记录设备,控制器以及通道的状态,从而达到独立于I/O调度
13、某系统中有3个并发进程,它们均需要某类资源。进程A需要2个,进程B需要3个,进程C需要4个,试问为确保该系统不会发生死锁所需的最少资源数是( )
(2 - 1) + (3 - 1) + (4 - 1) = 6,当有6个资源时,各进程均缺少1个资源;故只需再多分配一个资源即可保证任一时刻必定有进程能拿到所需的全部资源,从而避免死锁;故答案为7。
14、下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是()
高响应比优先算法是一种综合考虑任务长度和等待时间的调度算法,响应比=(等待时间+执行时间)/执行时间。高响应比优先算法在等待时间相同的情况下,作业执行时间越短则响应比越高,满足短任务优先。随着长任务的等待时间增加,响应比也会变大,执行机会也就增大,所以不会发生饥饿现象。先来先服务和时间片轮转不符合短任务优先,非抢占式短任务优先会产生饥饿现象。
*排除法 *
短任务优先 拍出 先来先服务 和 时间片轮转
而非抢占式 会出现饥饿现象
举例:当有多个进程需要打印文件时,如果系统分配打印机的策略是最短文件优先,那么长文件的打印任务将由于短文件的源源不断到来而被无限期推迟,因为无法枪战 导致最终的饥饿甚至饿死
14、int main(){fork()||fork();}共创建几个进程:_____
一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。fork函数被调用一次但返回两次。两次返回的唯一区别是子进程中返回0值而父进程中返回子进程ID。
子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程间不共享这些存储空间。
15、在请求分页系统中,页表中的辅存始地址是供()参考的。
页表项(页描述子)中各个位的作用:
1. 页号
2. 块号(页框号)
3. 中断位: 用于判断该页是不是在内存中,如果是0,表示该页不在内存中,会引起一个缺页中断。
4. 保护位( 存取控制位): 用于指出该页允许什么类型的访问,如果用一位来标识的话,1表示只读,0表示读写
5. 修改位(脏位): 用于页面的换出,如果某个页面被修改过(即为脏),在淘汰该页面时,必须将其返回写回磁盘,反之,可以直接丢弃该页面
6. 访问位:不管是读还是写(read or set),系统都会设置该页面的访问位。他的值会帮助操作系统在发生缺页中断时,选择要被淘汰的页,即用于页面置换
7. 高速缓存禁止位(辅存地址位):对于映射到设备寄存器而不是常规内存的页面来说,这个位很重要; 例如: 操作系统正在循环等待着某个I/O设备对他的指令做出响应,保证硬件是不断的从设备中读取数据而不是访问一个旧的被高速缓存的副本是非常重要的,通过这一位就可以禁止高速缓存。
本文来自博客园,作者:哥们要飞,转载请注明原文链接:https://www.cnblogs.com/liujinhui/p/14594839.html