2021全国硕士研究生招生考试计算机学科专业基础试题
一、单项选择题
23.下列指令中,只能在内核态执行的是()。
B
在内核态下,CPU可执行任何指令,在用户态下CPU只能执行非特权指令,而特权指令只能在内核态下执行。常见的特权指令有:①有关对I/O设备操作的指令;②有关访问程序状态的指令;③存取特殊寄存器指令;④其他指令。A、C和D都是提供给用户使用的指令,可以在用户态执行,只是可能会使CPU从用户态切换到内核态。故选B。
在内核态下,CPU可执行任何指令,在用户态下CPU只能执行非特权指令,而特权指令只能在内核态下执行。常见的特权指令有:①有关对I/O设备操作的指令;②有关访问程序状态的指令;③存取特殊寄存器指令;④其他指令。A、C和D都是提供给用户使用的指令,可以在用户态执行,只是可能会使CPU从用户态切换到内核态。故选B。
24.下列操作中,操作系统在创建新进程时,必须完成的是()。
I.申请空白的进程控制块
Ⅱ.初始化进程控制块
Ⅲ.设置进程状态为执行态
B
操作系统感知进程的唯一方式是通过进程控制块PCB,所以创建一个新进程时就是为其申请一个空白的进程控制块,并初始化一些必要的进程信息,如初始化进程标志信息、初始化处理机状态信息、设置进程优先级等。I、Ⅱ正确。创建一个进程时,一般会为其分配除 CPU外的大多数资源,所以一般是将其设置为就绪态,让其等待调度程序的调度。
操作系统感知进程的唯一方式是通过进程控制块PCB,所以创建一个新进程时就是为其申请一个空白的进程控制块,并初始化一些必要的进程信息,如初始化进程标志信息、初始化处理机状态信息、设置进程优先级等。I、Ⅱ正确。创建一个进程时,一般会为其分配除 CPU外的大多数资源,所以一般是将其设置为就绪态,让其等待调度程序的调度。
25.下列内核的数据结构或程序中,分时系统实现时间片轮转调度需要使用的是()。
I.进程控制块
Ⅱ.时钟中断处理程序
Ⅲ.进程就绪队列
Ⅳ.进程阻塞队列
C
在分时系统的时间片轮转调度中,当系统检测到时钟中断时,会引出时钟中断处理程序,调度程序从就绪队列中选择一个进程为其分配时间片,并修改该进程的进程控制块中的进程状态等信息,同时将时间片用完的进程放入就绪队列或让其结束运行。I、Ⅱ、Ⅱ正确。阻塞队列中的进程只有被唤醒进入就绪队列后,才能参与调度,所以该调度过程不使用阻塞队列。
在分时系统的时间片轮转调度中,当系统检测到时钟中断时,会引出时钟中断处理程序,调度程序从就绪队列中选择一个进程为其分配时间片,并修改该进程的进程控制块中的进程状态等信息,同时将时间片用完的进程放入就绪队列或让其结束运行。I、Ⅱ、Ⅱ正确。阻塞队列中的进程只有被唤醒进入就绪队列后,才能参与调度,所以该调度过程不使用阻塞队列。
26.某系统中磁盘的磁道数为200(0~199),磁头当前在184号磁道上。用户进程提出的磁盘访问请求对应的磁道号依次为184,187,176,182,199。若采用最短寻道时间优先调度算法(SSTF)完成磁盘访问,则磁头移动的距离(磁道数)是()。
C
最短寻道时间优先算法总是选择调度与当前磁头所在磁道距离最近的磁道。可以得出访问序列184,182,187,176,199,从而求出移动距离之和是0+2+5+11+23=41。
最短寻道时间优先算法总是选择调度与当前磁头所在磁道距离最近的磁道。可以得出访问序列184,182,187,176,199,从而求出移动距离之和是0+2+5+11+23=41。
27.下列事件中,可能引起进程调度程序执行的是()。
I.中断处理结束
Ⅱ.进程阻塞
Ⅲ.进程执行结束
Ⅳ.进程的时间片用完
D
在时间片调度算法中,中断处理结束后,系统检测当前进程的时间片是否用完,如果用完,则将其设为就绪态或让其结束运行,若就绪队列不空,则调度就绪队列的队首进程执行,Ⅰ可能。当前进程阻塞时,将其放入阻塞队列,若就绪队列不空,则调度新进程执行,Ⅱ可能。进程执行结束会导致当前进程释放CPU,并从就绪队列中选择一个进程获得CPU,Ⅲ可能。进程时间片用完,会导致当前进程让出CPU,同时选择就绪队列的队首进程获得CPU,Ⅳ可能。
在时间片调度算法中,中断处理结束后,系统检测当前进程的时间片是否用完,如果用完,则将其设为就绪态或让其结束运行,若就绪队列不空,则调度就绪队列的队首进程执行,Ⅰ可能。当前进程阻塞时,将其放入阻塞队列,若就绪队列不空,则调度新进程执行,Ⅱ可能。进程执行结束会导致当前进程释放CPU,并从就绪队列中选择一个进程获得CPU,Ⅲ可能。进程时间片用完,会导致当前进程让出CPU,同时选择就绪队列的队首进程获得CPU,Ⅳ可能。
28.
C
页面大小为4KB,低12位是页内偏移。虚拟地址为02A01H,页号为02H,02H页对应的页表项中存在位为0,进程P分配的页框固定为2,且内存中已有两个页面存在。根据 CLOCK算法,选择将3号页换出,将2号页放入60H页框,经过地址变换后得到的物理地址是60A01H。
页面大小为4KB,低12位是页内偏移。虚拟地址为02A01H,页号为02H,02H页对应的页表项中存在位为0,进程P分配的页框固定为2,且内存中已有两个页面存在。根据 CLOCK算法,选择将3号页换出,将2号页放入60H页框,经过地址变换后得到的物理地址是60A01H。
29.在采用二级页表的分页系统中,CPU页表基址寄存器中的内容是()。
B
在多级页表中,页表基址寄存器存放的是顶级页表的起始物理地址,故存放的是一级页表的起始物理地址。
在多级页表中,页表基址寄存器存放的是顶级页表的起始物理地址,故存放的是一级页表的起始物理地址。
30.若目录dir下有文件file1,则为删除该文件内核不必完成的工作是()。
A
删除一个文件时,会根据文件控制块回收相应的磁盘空间,将文件控制块回收,并删除目录中对应的目录项。B、C、D正确。快捷方式属于文件共享中的软连接,本质上是创建了一个链接文件,其中存放的是访问该文件的路径,删除文件并不会导致文件的快捷方式被删除,正如在Windows上删除一个程序后,其快捷方式可能仍存在于桌面,但已无法打开。
删除一个文件时,会根据文件控制块回收相应的磁盘空间,将文件控制块回收,并删除目录中对应的目录项。B、C、D正确。快捷方式属于文件共享中的软连接,本质上是创建了一个链接文件,其中存放的是访问该文件的路径,删除文件并不会导致文件的快捷方式被删除,正如在Windows上删除一个程序后,其快捷方式可能仍存在于桌面,但已无法打开。
31.若系统中有n(n≥2)个进程,每个进程均需要使用某类临界资源2个,则系统不会发生死锁所需的该类资源总数至少是()。
C
考虑极端情况,当临界资源数为时,每个进程都拥有1个临界资源并等待另一个资源,会发生死锁。当临界资源数为n+1时,则n个进程中至少有一个进程可以获得2个临界资源,顺利运行完后释放自己的临界资源,使得其他进程也能顺利运行,不会产生死锁。
考虑极端情况,当临界资源数为时,每个进程都拥有1个临界资源并等待另一个资源,会发生死锁。当临界资源数为n+1时,则n个进程中至少有一个进程可以获得2个临界资源,顺利运行完后释放自己的临界资源,使得其他进程也能顺利运行,不会产生死锁。
32.下列选项中,通过系统调用完成的操作是()。
C
系统调用是由用户进程发起的,请求操作系统的服务。对于A,当内存中的空闲页框不够时,操作系统会将某些页面调出,并将要访问的页面调入,这个过程完全由操作系统完成,不涉及系统调用。对于B,进程调度完全由操作系统完成,无法通过系统调用完成。对于 C,创建新进程可以通过系统调用来完成,如Linux中通过fok系统调用来创建子进程。对于D,生成随机数只需要普通的函数调用,不涉及请求操作系统的服务,如C语言中 random()函数。
系统调用是由用户进程发起的,请求操作系统的服务。对于A,当内存中的空闲页框不够时,操作系统会将某些页面调出,并将要访问的页面调入,这个过程完全由操作系统完成,不涉及系统调用。对于B,进程调度完全由操作系统完成,无法通过系统调用完成。对于 C,创建新进程可以通过系统调用来完成,如Linux中通过fok系统调用来创建子进程。对于D,生成随机数只需要普通的函数调用,不涉及请求操作系统的服务,如C语言中 random()函数。
二、综合应用题
45.
1)信号量S是能被多个进程共享的变量,多个进程都可通过wait()和signal()对S进行读、写操作。所以,wait()和signal()操作中对S的访问必须是互斥的。
2)方法1错误。在wait()中,当S<=0时,关中断后,其他进程无法修改s的值,while语句陷入死循环。方法2正确。方法2在循环体中有一个开中断操作,这样就可以使其他进程修改s的值,从而避免while语句陷入死循环。
3)用户程序不能使用开/关中断指令实现临界区互斥。因为开中断和关中断指令都是特权指令,不能在用户态下执行,只能在内核态下执行。 =0时,关中断后,其他进程无法修改s的值,while语句陷入死循环。方法2正确。方法2在循环体中有一个开中断操作,这样就可以使其他进程修改s的值,从而避免while语句陷入死循环。
2)方法1错误。在wait()中,当S<=0时,关中断后,其他进程无法修改s的值,while语句陷入死循环。方法2正确。方法2在循环体中有一个开中断操作,这样就可以使其他进程修改s的值,从而避免while语句陷入死循环。
3)用户程序不能使用开/关中断指令实现临界区互斥。因为开中断和关中断指令都是特权指令,不能在用户态下执行,只能在内核态下执行。 =0时,关中断后,其他进程无法修改s的值,while语句陷入死循环。方法2正确。方法2在循环体中有一个开中断操作,这样就可以使其他进程修改s的值,从而避免while语句陷入死循环。
46.(8分)某计算机用硬盘作为启动盘,硬盘第一个扇区存放主引导记录,其中包含磁盘引导程序和分区表。磁盘引导程序用于选择要引导哪个分区的操作系统,分区表记录硬盘上各分区的位置等描述信息。硬盘被划分成若干个分区,每个分区的第一个扇区存放分区引导程序,用于引导该分区中的操作系统。系统采用多阶段引导方式,除了执行磁盘引导程序和分区引导程序外,还需要执行ROM中的引导程序。请回答下列问题。
1)系统启动过程中操作系统的初始化程序、分区引导程序、ROM中的引导程序、磁盘引导程序的执行顺序是什么?
2)把硬盘制作为启动盘时,需要完成操作系统的安装、磁盘的物理格式化、逻辑格式化、对磁盘进行分区,执行这4个操作的正确顺序是什么?
3)磁盘扇区的划分和文件系统根目录的建立分别是在第2)问的哪个操作中完成的?
1)执行顺序依次是ROM中的引导程序、磁盘引导程序、分区引导程序、操作系统的初始化程序。启动系统时,首先运行ROM中的引导代码(bootstrap)。为执行某个分区的操作系统的初始化程序,需要先执行磁盘引导程序以指示引导到哪个分区,然后执行该分区的引导程序,用于引导该分区的操作系统。
2)4个操作的执行顺序依次是磁盘的物理格式化、对磁盘进行分区、逻辑格式化、操作系统的安装。磁盘只有通过分区和逻辑格式化后才能安装系统和存储信息。物理格式化(又称低级格式化,通常出厂时就已完成)的作用是为每个磁道划分扇区,安排扇区在磁道中的排列顺序,并对已损坏的磁道和扇区做“坏”标记等。随后将磁盘的整体存储空间划分为相互独立的多个分区(如Windows中划分C盘、D盘等),这些分区可以用作多种用途,如安装不同的操作系统和应用程序、存储文件等。然后进行逻辑格式化(又称高级格式化),其作用是对扇区进行逻辑编号、建立逻辑盘的引导记录、文件分配表、文件目录表和数据区等。最后才是操作系统的安装。
3)由上述解析知,磁盘扇区的划分是在磁盘的物理格式化操作中完成的,文件系统根目录的建立是在逻辑格式化操作中完成的。
2)4个操作的执行顺序依次是磁盘的物理格式化、对磁盘进行分区、逻辑格式化、操作系统的安装。磁盘只有通过分区和逻辑格式化后才能安装系统和存储信息。物理格式化(又称低级格式化,通常出厂时就已完成)的作用是为每个磁道划分扇区,安排扇区在磁道中的排列顺序,并对已损坏的磁道和扇区做“坏”标记等。随后将磁盘的整体存储空间划分为相互独立的多个分区(如Windows中划分C盘、D盘等),这些分区可以用作多种用途,如安装不同的操作系统和应用程序、存储文件等。然后进行逻辑格式化(又称高级格式化),其作用是对扇区进行逻辑编号、建立逻辑盘的引导记录、文件分配表、文件目录表和数据区等。最后才是操作系统的安装。
3)由上述解析知,磁盘扇区的划分是在磁盘的物理格式化操作中完成的,文件系统根目录的建立是在逻辑格式化操作中完成的。