北京大学《操作系统》2021-2022学年期末试卷.pdfVIP

  • 0
  • 0
  • 约1.85千字
  • 约 3页
  • 2026-01-20 发布于江西
  • 举报

北京大学《操作系统》2021-2022学年期末试卷.pdf

北京大学2021春操作系统期末考试(回忆版)

一、环境和运行机制、系统调用(30分)

1、请列举五条需要在保护模式下运行的指令。“访管指令”需要在保护模式下执

行吗?为什么?(10分)

2、描述从接收中断/异常到中断处理程序运行结束,处理中断/异常的过程,并

指出哪些是硬件实现的?哪些是操作系统实现的?中断处理程序执行结束后,需

要执行哪一个模块(哪一过程)?操作系统初始化和中断有什么关系?(10分)

3、为了实现系统调用机制,系统要做哪些工作?(10分)

二、进程线程模型(20分)

1、请画出五状态进程模型,包括状态的名称以及转移条件。(10分)

2、线程和进程有什么区别?线程有什么属性?为什么线程要有自己的栈?线程

的实现方式有哪几种?典型的操作系统是通过什么方式实现线程的?(10分)

三、进程调度(25分)

1、现在有三个进程,A、B和C。A和B的运行时间是1000ms(全部在CPU上进

行计算),C进程是一个无限循环,在每个循环中,会先使用处理器1ms,然后再

花10ms使用I/O。请写出在以下几种调度算法下进程的调度状态,并对每个调

度算法对本任务的调度进行分析和评价。调度算法分别为:先来先服务算法、时

间片轮转算法(时间片分别为100ms和1ms)、SRTN(最短剩余时间优先算法)。

(10分)

2、请设计一个基于多级反馈队列的调度算法,描述你的算法并回答以下问题:

(15分)

(1)你设计的算法是抢占的还是非抢占的?为什么?

(2)你设计的算法对I/O密集型和CPU密集型进程哪个更友好?说明你的原因。

(3)你是如何处理进程等待I/O后再次被调度上CPU时要继续运行的时间片大

小的?

(4)你设计的算法会导致“饥饿”问题吗?为什么会有这个问题?如果产生了

“饥饿”的问题,要用什么方法解决?

四、进程同步(25分)

1、不同的操作系统为实现进程同步提供了不同的机制。锁和条件变量的机制分

别能解决什么问题?如果用锁和条件变量来解决生产者-消费者问题,需要注意

哪一点?(5分)

以下2、3、4三道用信号量和PV操作解决的问题中,任选一道题进行作答。如

果多选,按所答的第一道题评分。

2、(10分)邱德拔体育馆内有一个羽毛球场地,供若干学生练习羽毛球。现在是

双打练习时间,每四个学生组成一队,占用球场练习。

要求:

如果不足四个学生,则不能开展双打练习;如果四个学生练习了足够时间,则一

起离开球场,此时,可以让其他等待的学生利用羽毛球场地进行练习。

体育教研室会安排一个裁判进行评分(没有学生练习,裁判在休息室休息)。

请用信号量及PV操作正确完成羽毛球场地的使用过程。

3、(10分)现在有一条河有南北两岸,河上有N个石墩,每个石墩上只能有一个

人,要求在过河时只能有单向的人过河(类似于三峡大坝问题,具体记不清了)。

(1)使用信号量和PV操作正确解决这个问题。

(2)如果从南边来的人多,要求优先满足南边的人的过河需求,应该做怎样的

改动?

4、(10分)有一个系统,定义P、V操作如下:

P(s):

s.count--;

ifs0then

将本进程插入相应队列末尾等待;

V(s):

s.count++;

ifs=0then

从相应等待队列队尾唤醒一个进程,将其插入就绪队列;

(1)这样定义的PV操作会导致什么样的问题?

(2)用这样的PV操作正确实现8个进程访问临界区的互斥机制。

(3)对于(2)中的问题,请设计一个复杂度更低的解法。

5、用管程模拟顾客进出超市的问题:(10分)

某物美超市有100辆购物推车,顾客进入时要刷会员卡领取一辆推车,如果超

市没有空闲推车,则顾客在超市门口等待。顾客买完东西结账离开时需刷卡还回

推车。

解答PV及管程题目的注意事项:

1、说明每一个信号量、条件变量或变量的作用;

2、对代码的重点语句给予注释。

附加题:(6分)

请描述一个现实生活中遇到的IPC问题的场景,要求不与已经见到过的IPC问题

的场景重复。

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档