操作系统试题.docx

上传人:b****7 文档编号:24964029 上传时间:2023-06-03 格式:DOCX 页数:18 大小:24.65KB
下载 相关 举报
操作系统试题.docx_第1页
第1页 / 共18页
操作系统试题.docx_第2页
第2页 / 共18页
操作系统试题.docx_第3页
第3页 / 共18页
操作系统试题.docx_第4页
第4页 / 共18页
操作系统试题.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

操作系统试题.docx

《操作系统试题.docx》由会员分享,可在线阅读,更多相关《操作系统试题.docx(18页珍藏版)》请在冰豆网上搜索。

操作系统试题.docx

操作系统试题

操作系统试题

第1部分概述

一、选择题

1.在分时系统中,当用户数为50时,为了保证响应时间不超过1秒,选取的时间片最大值为B。

A:

10msB:

20msC:

50msD:

100ms

2.下列关于并发的叙述中正确的是C。

A:

并发是指多个事件在同一时刻发生。

B:

并发是指一个事件在多个时刻发生。

C:

并发是指多个事件在同一时刻间隔内发生。

D:

并发是指一个事件的发生触发了另一个事件。

二、填空题

1.操作系统与用户的接口可分为命令(shell)与系统调用两种方式。

2.操作系统的四个主要功能有处理机管理、内存管理、文件管理和设备管理。

3.多个事件在同一时刻发生称为并行,多个事件在同一时刻间隔内发生称为并发。

4.在单处理机环境下的多道程序,宏观上可以同时(并发)运行,微观上则是交替(串行)运行。

三、简答题

第2部分进程管理

一、选择题

1.下列叙述中正确的是C。

A:

临界资源不能共享。

B:

对临界资源应采取同时访问方式来实现共享。

C:

对临界资源应采取互斥访问方式来实现共享。

D:

只要是并发执行的程序,就可以共享临界资源。

2.在进程调度中,为了照顾短进程用户,应采取B调度算法;为了使紧急任务能得到及时处理,应采取E调度算法;为了使交互型进程具有合理的响应时间,应采取C调度算法;能使长进程、短进程及交互型进程的用户都能接受,应采取D调度算法。

A:

先来先服务B:

短进程优先C:

时间片轮转D:

多级反馈队列

E:

基于优先级剥夺

二、填空题

1.不能被多个进程同时访问的资源称为临界资源,为实现这种资源的共享,应采取互斥访问方式。

2.正在执行的进程因时间片用完而被暂停执行,此时应变为就绪状态;正在执行的进程因等待某一事件而进入阻塞状态,当事件到时应变为就绪状态。

3.下列关于进程调度的叙述中正确的是D。

A:

CPU繁忙型进程的优先级应高于I/O繁忙型进程的优先级。

B:

资源要求多的进程,其优先级应高于资源要求少的进程。

C:

在引入动态优先级的系统中,随着进程等待时间的增加,其优先级将随之降低。

D:

在引入动态优先级的系统中,随着进程执行时间的增加,其优先级将随之降低。

4.死锁的四个必要条件是互斥、不剥夺、请求和保持和环路。

三、简答题

1.说明进程和程序的关系与差异。

2.说明PCB与进程的关系。

每个进程对应一个PCB。

在进程的整个生命周期,PCB是进程存在的唯一标志,OS借助PCB对进程进行管理与控制。

进程创建时,OS为其配置一个PCB;

进程调度时,OS依据PCB中的优先级等;

进程执行前后,OS利用PCB保护与恢复现场;

进程执行中,OS有时利用PCB实现与其它进程的同步及通信;

进程终止时,OS回收PCB。

3.为什么说多级反馈队列进程调度法能较好地满足用户需要?

4.在解决死锁问题的几种方法中,哪一种方法最容易实现?

哪一种方法使资源利用率最高?

5.UNIX系统V为什么把PCB分为进程表项和U区?

四、算法题

1.设进程A、B的执行代码如下:

进程A:

进程B:

for(i=0;i<3;i++)for(i=0;i<3;i++)

{{

P(&S);P(&Q);

a;b;

V(&Q);V(&S);

}}

其中,S、Q为信号量。

在下列每种条件下,进程A、B的并发执行是否会发生死锁?

若不会死锁,给出一种可能的执行序列。

1)S、Q的初值均为1。

不会死锁。

可能的一个执行序列:

Pa(&S),a,Va(&Q),A阻塞

Pb(&Q),b,Vb(&S),Pb(&Q),b,Vb(&S),B阻塞

Pa(&S),a,Va(&Q),Pa(&S),a,Va(&Q),A结束

Pb(&Q),b,Vb(&S),B结束

2)S、Q的初值均为0。

会死锁。

3)S的初值为0,Q的初值为1。

不会死锁。

B先执行,而后交替。

可能的一个执行序列:

Pb(&Q),b,Vb(&S),B阻塞

Pa(&S),a,Va(&Q),A阻塞

Pb(&Q),b,Vb(&S),B阻塞

Pa(&S),a,Va(&Q),A阻塞

Pb(&Q),b,Vb(&S),B结束

Pa(&S),a,Va(&Q),A结束

2.设有三个进程:

输入进程Pi、计算进程Pc与输出进程Po,其功能如下:

Pi:

不断地从键盘读入字符,放入缓冲区Buf1。

Pc:

不断地从Buf1取字符,转换成大写字母后,放入缓冲区Buf2。

Po:

将Buf2中的字符输出。

设缓冲区Buf1、Buf2的长度分别为m、n,要求利用信号量写出进程Pi、Pc和Po的算法。

设置下列共享变量:

Mutex1=0;//访问Buf1的互斥信号量

Mutex2=0;//访问Buf2的互斥信号量

Avail1=m,Used1=0;//表示Buf1中可用、占用缓冲的资源信号量

Avail2=n,Used2=0;//表示Buf2中可用、占用缓冲的资源信号量

Pi:

While

(1)

{

P(Avail1);

P(Mutex1);

读入一个字符,放入Buf1;

V(Mutex1);

V(Used1);

}

Pc:

While

(1)

{

P(Used1);

P(Mutex1);

从Buf1取一个字符,放入变量Ch1;

V(Mutex1);

V(Avail1);

Ch1=Upper(Ch1);//转换成大写

P(Avail2);

P(Mutex2);

将Ch1放入Buf2;

V(Mutex2);

V(Used2);

}

Po:

While

(1)

{

P(Used2);

P(Mutex2);

从Buf2取一个字符,启动打印机输出;

V(Mutex2);

V(Avail2);

}

3.设某操作系统提供了进程间通信的共享内存机制,利用该机制实现应用进程间通信的消息队列。

4.假设有四道作业,它们的进入时刻与执行时间如下所示:

作业号

进入时刻(时)

执行时间(小时)

1

10.00

0.4

2

10.10

1.0

3

10.20

0.6

4

10.30

0.2

在单道程序环境下,分别采用先来先服务和最短作业优先调度算法,试说明它们的调度顺序及平均周转时间。

四道作业的运行时间表如下:

作业

进入时刻(时)

运行时间

(小时)

FCFS

SJF

完成时刻(时)

周转时间(小时)

完成时刻(时)

周转时间(小时)

1

10.00

0.4

10.40

0.4

10.40

0.4

2

10.10

1.0

11.40

1.3

12.20

2.1

3

10.20

0.6

12.00

1.8

11.20

1.0

4

10.30

0.2

12.20

1.9

10.60

0.3

FCFS:

调度顺序:

作业1(10.00—10.40),作业2(10.40—11.40),作业3(11.40—12.00),作业4(12.00—12.20)

平均周转时间(小时)=(0.4+1.3+1.8+1.9)/4=1.35

SJF:

调度顺序:

作业1(10.00—10.40),作业4(10.40—10.60),作业3(10.60—11.20),作业2(11.20—12.20)

平均周转时间(小时)=(0.4+2.1+1.0+0.3)/4=0.95

5.假定某多道程序设计系统,有供用户使用的内存空间100KB,磁带机2台,打印机1台,系统采用可变分区方式管理内存,对磁带机和打印机采用静态分配方式,并假设输入输出操作的时间忽略不计。

现有5道作业的资源请求表如下所示:

作业号

进输入井时刻(HH:

MM)

要求计算时间(分钟)

要求内存空间(KB)

申请磁带机数(台)

申请打印机数(台)

1

8:

00

25

15

1

1

2

8:

20

10

30

0

1

3

8:

20

20

60

1

0

4

8:

30

20

20

1

0

5

8:

35

25

10

1

1

假设作业调度采用先来先服务算法,优先分配内存低地址区且不准移动已在内存中的作业,在内存中的作业平分CPU时间,以作业进入输入井到得到计算结果的时间定义为周转时间。

现要求给出:

1)作业被调度的次序。

2)最大的作业周转时间。

3)最小的作业周转时间。

4)作业的平均周转时间。

5)作业全部执行结束时刻。

5道作业的运行情况如下:

时刻作业调度/完成情况空闲磁带机数空闲打印机数内存情况

8:

00调度作业110高85KB空闲

8:

20作业2等待(资源不满足),调度作业300高25KB空闲

8:

30作业1完成11高25KB、低15K空闲

8:

30作业2等待(资源不满足),调度作业401高5KB、低15K空闲

9:

00作业3完成11高5KB、中60K、低15K空

9:

00调度作业210

9:

10作业4完成20

9:

15作业2完成21

9:

15调度作业5

9:

40作业5完成

5道作业的运行时间表如下:

作业号

进入时刻(HH:

MM)

运行时间

(分钟)

开始时刻(HH:

MM)

结束时刻(HH:

MM)

周转时间(分钟)

1

8:

00

25

8:

00

8:

30

30

3

8.20

20

8:

20

9:

00

40

4

8:

30

20

8:

30

9:

10

40

2

8:

20

10

9:

00

9:

15

55

5

8:

35

25

9:

15

9:

40

65

1)作业被调度的次序:

1,3,4,2,5

2)最大的作业周转时间:

65分钟

3)最小的作业周转时间:

30分钟

4)作业的平均周转时间:

(30+40+40+55+65)/5=46分钟

5)作业全部执行结束时刻:

9:

40

第3部分内存管理

一、选择题

1.静态重定位是在程序的B过程中进行的;动态重定位是在程序的C过程中进行的。

A:

编译B:

装入C:

执行D:

修改

2.在可变分区内存管理中,首次适应算法、最佳适应算法及最差适应算法分别要求空闲区链最好以空闲区A、C和D顺序链接。

A:

首址递增B:

首址递减C:

大小递增D:

大小递增

3.对重定位内存管理方式,重定位寄存器应A。

A:

整个系统设置1个B:

每个进程设置1个C:

每个执行进程设置1个

D:

为代码段与数据段各设置1个

4.在请求调页系统中,页表的状态位用于D,访问位与修改位用于B,外存起始地址用于C。

A:

页面分配B:

页面置换C:

页面调入D:

页面访问E:

页面修改

5.在请求调页系统中,凡是未曾装入过内存的页应从B调入;曾被换出的页应从C调入,有时也可从D获得。

A:

系统区B:

可执行文件C:

交换区D:

页面缓冲池

6.计算机系统虚拟存储器的最大容量是由D确定的,其实际容量是由C确定的。

A:

内存容量B:

硬盘容量C:

内存容量+硬盘容量D:

计算机的地址结构

7.下列叙述中正确的是B。

A:

请求段页式系统以页为单位管理用户的虚空间,以段为单位管理内存空间。

B:

请求段页式系统以段为单位管理用户的虚空间,以页为单位管理内存空间。

C:

请求段页式系统以连续的内存区存放每个段。

D:

为提高请求调页系统的内存利用率,允许用户使用大小不同的页。

8.UNIX系统的内存管理方式是C。

A:

请求分页B:

请求分段C:

段页式且支持请求调页D:

段页式且支持请求调段

9.UNIX系统的内存管理方式是D。

A:

分页B:

分段C:

固定分区D:

动态分区

10.某虚拟存储器的用户编程空间共32页,每页1KB,内存为16KB。

假定某时刻该用户页表中已调入内存页的虚页号与物理块号对应表如下:

虚页号

物理块号

0

5

1

10

2

4

3

7

则下面与虚拟地址对应的物理地址为(若内存中找不到,即为页失效):

虚拟地址物理地址

0A5CHE

1A5CHA

A:

页失效B:

1E5CHC:

2A5CHD:

165CHE:

125CHF:

1A5CH

二、填空题

1.在连续分配的内存管理方式中,可通过紧凑来减少内存零头,但此时必须对有关代码和数据进行重定位;而动态重定位是一种允许进程运行中在内存进行移动的技术。

2.地址变换机构的主要任务是将虚拟地址空间中的逻辑地址变换为内存空间中的物理地址。

3.在分页系统中为实现地址变换而设置了页表寄存器,其中存放页表始址和页表长度;在进程未运行时,这些内容存放在进程的PCB中。

4.在两级页表结构中,第一级是页表目录,其中每一项存放相应的页表始址,通常每个页表的长度为一页(块)。

5.在无快表机制的段页式系统中,为获得一条指令或数据,需要访问内存3次。

其中,第1次从内存中取得页表始址,第2次从内存中取得物理块号,第3次从内存中取得指令或数据。

6.请求调页系统的调页策略有预调页,它是以预测为基础的;另一种是请求调页,由于容易实现,故目前用得较多。

7.一个32位地址的计算机使用两级页表,虚拟地址被分为9位的一级页号、11位的二级页号和12位的页内偏移,则每页大小为2KB,在虚拟地址空间中总共可以有1M个页。

三、简答题

1.在什么情况下需要进行重定位?

为什么要引入动态重定位?

2.试全面比较连续分配与离散分配两类内存管理方式。

技术性能连续分配离散分配

大批量数据存取速度较快较慢

机制的复杂性较简单较复杂

内存碎片较大较小

实现虚存技术较难较易

实现共享较难较易

实现动态链接较难较易

3.可通过哪些途径来提高内存利用率?

内存利用率不高,主要表现为以下4中形式:

1)内存中存在着大量的、分散的、难以利用的碎片。

2)暂时或长期不能运行的程序与数据占据了大量的内存空间。

3)当作业较大时,内存只能装入少量作业,当它们被阻塞时,将使CPU空闲,从而也就降低了内存利用率。

4)内存中存在着重复的拷贝。

针对上述问题,可分别采取以下方法提高内存利用率:

1)该连续分配方式为离散分配方式:

以减少内存的零头。

2)增加交换机制:

将那些暂时不能运行的进程或暂时不需要的程序与数据,换出到外存,以腾出内存来装入可运行的进程。

3)引入虚拟存储器机制:

使更多作业能装入内存,使CPU更加忙碌,也可避免装入一些本次运行中不用的程序和数据。

4)引入动态链接机制:

当程序运行中需要调用某段程序时,才将该段程序从外存装入内存,可避免装入一些本次运行中不用的程序。

5)引入存储器共享机制:

允许一个正文段或数据段被多个进程共享,以减少内存中的重复拷贝。

4.实现虚拟存储器时的几个关键技术是什么?

1)请求调页(段)技术:

及时将进程要访问的、不在内存的页(段)调入内存。

该功能由硬件(缺页(段)中断机构)发现缺页(段)和软件(将所需页(段)调入内存)相配合实现的。

2)置换页(段)技术:

当内存无足够空间装入即将调入的页(段)时,系统必须换出内存中的部分页(段),以腾出足够的内存空间。

具体的置换操作并不复杂,其关键是将哪些页(段)换出,亦即采用什么置换算法。

5.内存保护是否可以完全由软件实现?

为什么?

内存保护的主要任务是确保每个进程都只在自己的内存区内运行。

这就要求系统能对每条指令所访问的地址进行越界检查。

若发生越界,系统应能立即发现,并发出越界中断请求,以抛弃该指令。

若次检查完全由软件实现,则每执行一条指令时,都需要增加若干条指令执行是否越界的检查功能,这无疑将降低程序的执行速度,因此,越界检查通常由硬件实现,并使指令的执行,与越界检查功能并行执行,从而不使程序的执行速度降低。

当然,对发生越界后的处理需与软件配合来完成。

因此说内存保护功能是由硬件和软件协同完成的。

6.实现虚拟存储器需要哪些硬件支持?

7.说明下列每种硬件特性在虚拟存储中的使用情况及特点。

1)地址变换机构2)快表3)访问位4)修改位

四、算法题

1.在一个请求分页系统中,采用LRU页面置换算法时,假如一个进程的页面访问顺序为4,3,2,1,4,3,5,4,3,2,1,5,当分配给该进程的物理块数M分别为3和4时,请计算访问过程中发生的缺页次数和缺页率,比较所得结果。

2.设一个计算机有4个页框,装入时间、最近访问时间和每页的访问位、修改位如下所示(时间以时钟周期为单位):

页装入时间最近访问时间访问位A修改位M

012627900

123026010

212027211

316028011

1)NRU将置换哪一页?

2)LRU将置换哪一页?

3)FIFO将置换哪一页?

4)第2次机会算法将置换哪一页?

第4部分文件系统

一、选择题

1.在UNIX系统中,为每个文件建立一个 C ,其中包含文件的物理地址;为了实现文件读写指针的共享,设置了一个 D ;为了方便用户对文件的访问,为每个进程设置了一个 A 。

A:

用户文件描述符表B:

文件目录项C:

索引节点:

D:

系统打开文件表

二、简答题

1.在创建一个文件时,可能发生哪几种情况?

应如何处理?

2.在关闭一个文件时,可能发生哪几种情况?

应如何处理?

3.为什么使用文件之前要先将它打开?

4.分别给出文件的磁盘索引节点与内存索引节点的引用数可能大于1的情况。

三、算法题

1.设计一个对常用文件名进行高速缓冲的方案,以减少为找到文件名而搜索目录的次数。

2.在UNIX系统中,用于打开文件的系统调用open的格式为

fd=open(pathname,flags)

其中,pathname为欲打开的文件路径名,flags指示打开方式(读、写),open的返回值为文件描述符。

1)给出open的实现算法。

2)说明用户文件描述符表、系统打开文件表与I节点表的作用及三者之间的关系。

第5部分I/O设备管理

一、选择题

1.下列叙述中正确的是B。

A:

字符设备是可寻址的,即能指定输入时的源地址与输出时的目标地址。

B:

共享设备必须是可寻址的和可随机访问的设备。

C:

共享设备是指在同一时刻允许多个进程同时访问的设备。

D:

在分配共享设备和独占设备时,都可能引起进程死锁。

2.在利用RS-232接口进行通信时,其通信速率为9.6K位/s。

如果在通信接口中仅设置了一个8位寄存器作为缓冲寄存器,这意味着大约每隔D的时间便要中断一次CPU,且要求CPU必须在C时间内予以响应。

A:

1msB:

8msC:

0.1msD:

0.8ms

3.假定把磁盘上一个数据块中的信息输入到一单缓冲区的时间T为0.1ms,将缓冲区中数据传送到用户区的时间M为0.05ms,而CPU对这一数据块进行计算的时间C为0.05ms,这样,系统对每一块数据的处理时间为C;若将单缓冲改为双缓冲,则系统对每一块数据的处理时间为B。

A:

0.05msB:

0.1msC:

0.15msD:

0.2msE:

0.25ms

4.下列关于虚拟设备的叙述中正确的是C。

A:

虚拟设备是指允许用户使用比系统中具有的物理设备更多的设备。

B:

虚拟设备是指允许用户以标准化方式来使用物理设备。

C:

虚拟设备是指把一个物理设备变换成多个对应的逻辑设备。

D:

虚拟设备是指允许用户程序不必全部装入内存便可使用系统中的设备。

5.下列关于设备独立性的叙述中正确的是B。

A:

设备独立性是指I/O设备具有独立执行I/O功能的一种特性。

B:

设备独立性是指用户程序独立于具体使用的物理设备的一种特性。

C:

设备独立性是指能独立实现设备共享的一种特性。

D:

设备独立性是指设备驱动程序独立于具体使用的物理设备的一种特性。

6.通道是一种特殊的

(1)C,具有

(2)A能力。

(1)A:

I/O设备B:

设备控制器C:

处理机D:

I/O控制器

(2)A:

执行I/O指令集B:

执行CPU指令集C:

传输I/O命令D:

执行I/O进程

7.在UNIX中,作为核心与设备驱动程序的接口是

(1)D,其中每个表目含有相应类型设备的

(2)B。

(1)A:

系统设备表B:

设备控制表C:

逻辑设备表D:

设备开关表

(2)A:

各函数名称B:

各函数入口地址C:

指向系统设备表的指针D:

指向设备控制表的指针E:

指向逻辑设备表的指针

8.UNIX系统提供了3种对磁盘的写方式。

其中,启动磁盘后,把缓冲区中的数据写入磁盘时,进程不需等待写操作完成即可返回的方式称为B;而需要等待写操作完成的方式为A;不需要真正启动磁盘,只是在缓冲区首部打上某种标志后即可返回的方式称为C。

A:

同步写B:

异步写C:

延迟写D:

9.下列关于设备驱动程序的叙述中正确的是D。

A:

设备驱动程序与I/O设备的特性密切相关,因此应为每个I/O设备配备一个驱动程序。

B:

设备驱动程序与I/O控制方式密切相关,因此对DMA方式应以字节为单位去启动设备及进行中断处理。

C:

设备驱动程序与I/O设备(硬件)密切相关,因此必须全部用汇编语言编写。

D:

对于一台多用户机,配置了相同的8个终端,此时可以只配置1个由多个终端共享的驱动程序。

二、填空题

1.通常,对打印机的I/O控制采用中断驱动方式,对硬盘的I/O控制采用DMA方式。

2.字节多路通道按字节交叉方式工作,适用于连接字符设备;数据多路通道按数组交叉方式工作,适用于连接块设备。

3.设备控制器是CPU与I/O设备之间的接口,它接受来自CPU的I/O命令,并用于控制I/O设备工作。

4.设备驱动程序与I/O设备的特性密切相关。

如果计算机中配置有1台1.2MB软盘驱动器、1台1.44MB软盘驱动器和1台1.6GB硬盘,此时应为

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1