拾题
首页 / 软考真题 / 操作系统基础

操作系统基础 - 软考真题题目与答案

本单元共 5 道题,每题给答案,部分带解析。

1. 单选题

前趋图是一个有向无环图,记为 DAG,用于描述进程之间执行的先后关系。假设系统中进程 P={P1,P2, P3, P4, P5, P6, P7},且进程的前趋图如下: 那么,该前驱图可记为(1)。

A. →={(P1,P2),(P1,P3),(P2,P4),(P3,P4),(P4,P5),(P4,P6),(P5,P7),(P6,P7)}

B. →={(P1,P2),(P1,P3),(P2,P4),(P3,P4),(P4,P5),(P4,P6),(P5,P7),(P6,P7)}

C. →={(P1,P2),(P1,P3),(P2,P4),(P3,P4),(P4,P5),(P4,P6),(P5,P7),(P6,P7)}

D. →={(P1,P2),(P1,P3),(P2,P4),(P3,P4),(P4,P5),(P4,P6),(P5,P7),(P6,P7)}

答案:B

解析

**正确答案:B。** 该边集表示直接前趋关系:P1→P2、P1→P3,P2、P3→P4,P4→P5、P4→P6,P5、P6→P7,与有向无环的前趋图一致。 A、C、D:题面中展示的选项文本与 B 相同,属于选项重复或排版异常;按标准答案应选 B。若正常考试,只有与图中边一一对应且不多不漏的选项才正确。 **考点延伸**:前趋图是 DAG,边 \((P_i,P_j)\) 表示 \(P_i\) 必须先于 \(P_j\) 执行;可用拓扑排序判断是否存在环。入度为 0 的进程可最先执行,出度为 0 的进程最后结束。

2. 单选题

在支持多线程的操作系统中,假设进程 P 创建了线程 T1、T2 和 T3,那么下列说法正确的是(2)。

A. 该进程中已打开的文件是不能被 T1、T2 和 T3 共享的

B. 该进程中 T1 的栈指针是不能被 T2 共享的,但可被 T3 共享

C. 该进程中 T1 的栈指针是不能被 T2 和 T3 共享的

D. 该进程中某线程的栈指针是可以被 T1、T2 和 T3 共享的

答案:C

解析

**答案:C** 线程是进程内的执行单元,拥有独立的执行上下文:程序计数器、寄存器组、栈和栈指针等。因此,T1 的栈指针只属于 T1,不能被 T2、T3 共享,C 正确。 - **A 错**:已打开文件属于进程资源,T1、T2、T3 共享同一文件描述符表。 - **B 错**:栈指针是线程私有上下文,不能被 T2 共享,也不能被 T3 共享。 - **C 对**:每个线程有独立栈,栈指针随线程切换保存和恢复。 - **D 错**:不存在让所有线程共享某线程栈指针的常规机制。 **延伸**:线程共享代码段、数据段、堆、文件等;线程私有栈、寄存器、PC、线程局部存储。面试常考“线程共享/私有资源”的区分。

3. 单选题

假设某计算机的字长为 32 位,该计算机文件管理系统磁盘空间管理采用位示图(bitmap)记录磁盘的使用情况。若磁盘的容量为 300GB,物理块的大小为 4MB,那么位示图的大小为(3)个字。

A. 2400

B. 3200

C. 6400

D. 9600

答案:A

解析

**正确答案:A 2400** 位示图中每个物理块占 1 位。 物理块数 = 300GB / 4MB = (300×1024)MB / 4MB = 76800。 总位数为 76800 位,字长为 32 位,所以位示图大小 = 76800 / 32 = 2400 个字。因此选 A。 - **B 3200**:单位换算或字长除法错误,无法由 76800 位正确得到。 - **C 6400**:相当于错误地按更小字长计算,不符合 32 位字长。 - **D 9600**:相当于按 8 位一字计算,即 76800/8,忽略了字长为 32 位。 **考点延伸**:位示图大小 = 磁盘物理块数 / 字长;计算时需统一单位,并注意 1GB=1024MB。位示图管理磁盘空间节省存储,但磁盘容量增大时位示图也会线性增大。

4. 单选题

实时操作系统主要用于有实时要求的过程控制等领域。因此,在实时操作系统中,对于来自外部的事件必须在(4)。

A. 一个时间片内进行处理

B. 一个周转时间内进行处理

C. 一个机器周期内进行处理

D. 被控对象允许的时间范围内进行处理

答案:D

解析

**正确答案:D** 实时操作系统的核心是**满足时限要求**:来自外部的事件必须在被控对象允许的时间范围内得到处理,否则可能造成控制失效甚至事故。实时并不等于“越快越好”,而是**响应时间有确定上界**,能保证截止时间。 - **A 一个时间片内**:时间片是分时调度概念,不反映实时任务的截止期限。 - **B 一个周转时间内**:周转时间多用于批处理系统,强调作业完成,不是实时性指标。 - **C 一个机器周期内**:机器周期是硬件级极短时间,实际控制事件通常不可能也不要求在此内完成。 - **D 被控对象允许的时间范围内**:准确描述实时系统应按外部过程的时限处理事件,正确。 **延伸**:面试常考硬实时与软实时、可抢占内核、中断响应、优先级调度与截止时间。实时系统追求的是**确定性**,而非单纯高吞吐或短平均响应。

5. 简答题

请简述前趋图(Precedence Graph)的定义及其在操作系统中的作用。
答案:前趋图是一个有向无环图(DAG),用于描述进程之间执行的先后顺序。图中的每个结点表示一个进程或程序段,有向边表示两个结点之间的前趋关系,即一个结点必须在另一个结点之前完成。前趋图在操作系统中用于表示进程之间的同步和互斥关系,是分析进程并发执行的基础。

解析

**正确答案:** 前趋图是一个有向无环图(DAG),结点表示进程或程序段,有向边表示前趋关系,即某结点必须在另一结点之前完成。 **为什么正确:** DAG 保证前趋关系无循环等待,符合并发执行的偏序约束;有向边可清晰描述先后顺序,因此能表示进程同步、互斥关系,是分析并发执行的基础。 **选项说明:** 本题为简答题,无选项,故不涉及逐项辨析。答案要点应包含:DAG、结点含义、有向边含义、同步/互斥作用。 **考点延伸:** 前趋图常用于程序并发性分析、P/V 操作设计;需区别于资源分配图,前者描述执行顺序,后者可分析死锁。前趋关系是偏序,拓扑排序可能不唯一。
开始刷这个单元