目录

  • 1 绪论
    • 1.1 课程引入
    • 1.2 操作系统的发展过程
    • 1.3 操作系统的基本类型
    • 1.4 操作系统的特征
    • 1.5 操作系统的功能
    • 1.6 操作系统的组织结构
    • 1.7 章节测验
    • 1.8 考研真题讲解
  • 2 操作系统的关键技术
    • 2.1 操作系统的硬件环境
    • 2.2 中央处理器
    • 2.3 系统调用
    • 2.4 存储系统
    • 2.5 中断机制
    • 2.6 缓冲技术
    • 2.7 章节测验
    • 2.8 考研真题讲解
  • 3 进程的描述与控制
    • 3.1 进程概述
    • 3.2 进程状态及转换
    • 3.3 进程控制
    • 3.4 进程互斥
    • 3.5 进程同步
    • 3.6 经典互斥与同步
    • 3.7 进程通信
    • 3.8 线程
    • 3.9 章节测验
    • 3.10 考研真题讲解
  • 4 资源分配与死锁
    • 4.1 资源管理概述
    • 4.2 进程死锁
    • 4.3 死锁预防
    • 4.4 死锁避免
    • 4.5 死锁的检测和解除
    • 4.6 章节测验
    • 4.7 考研真题讲解
  • 5 处理机管理
    • 5.1 处理机的多级调度
    • 5.2 作业调度与进程调度
    • 5.3 调度算法
    • 5.4 两道批处理调度
    • 5.5 实时调度
    • 5.6 章节测验
    • 5.7 考研真题讲解
  • 6 存储管理
    • 6.1 存储管理概述
    • 6.2 分区存储管理
    • 6.3 页式存储管理
    • 6.4 页面置换算法
    • 6.5 段式存储管理
    • 6.6 段页式存储管理
    • 6.7 “抖动”与工作集
    • 6.8 章节测验
    • 6.9 考研真题讲解
  • 7 文件管理
    • 7.1 文件和文件系统
    • 7.2 文件的逻辑结构与存取方法
    • 7.3 文件的物理结构
    • 7.4 文件存储空间管理
    • 7.5 文件目录
    • 7.6 文件共享与安全
    • 7.7 磁盘调度算法
    • 7.8 章节测验
    • 7.9 考研真题讲解
  • 8 设备管理
    • 8.1 设备管理概述
    • 8.2 设备数据传输方式
    • 8.3 设备分配
    • 8.4 设备驱动程序
    • 8.5 章节测验
    • 8.6 考研真题讲解
考研真题讲解

第三章考研真题讲解

1、【2018年全国统考真题,第25题】属于同一进程的两个线程thread1和 thread2并发执行,共享初值为0的全局变量x。thread1和thread2实现对全局变量x加1的机器级代码描述如下。       

 

thread1

 
 

thread2

 


mov R1, x //(x)→ R1


inc R1 //(R1)+1 → R1


mov x, R1 //(R1)→ x

 


mov R2, x //(x)→ R2


inc R2 //(R2)+1 → R2


mov x, R2 //(R2)→ x

 

在所有可能的指令执行序列中,使x的值为2的序列个数是(  )。

A.1    B. 2    C. 3    D.4

【知识点】线程并发、全局变量

【真题解析】点击查看


2、【2020年全国统考真题,第45题】现有5个操作A、B、C、D和E,操作C必须在A和B完成后执行,操作E必须在C和D完成后执行,请使用信号量的wait()和signal()操作(P、V操作)描述上述操作之间的同步关系,并说明所用信号量及其初值。

【知识点】进程同步、进程前趋图、PV原语。

【真题解析】点击查看


3、【2019年全国统考真题,第24题】下列选项中,可能会将进程唤醒的事件是(  )

I.I/O结束           

II.某进程退出临界区       

III.当前进程的时间片用完

A. 仅 I

B. 仅 III

C. 仅 I、 II 

D. I、 II、 III

【知识点】进程唤醒、时间片、临界区、阻塞状态。

【真题解析】点击查看


4、【2020年全国统考真题,第32题】下列准则中,实现临界区互斥机制必须遵循的是(  )

I、 两个进程不能同时进入临界区

II、允许进程访问空闲的临界资源

III、进程等待进入临界区的时间是有限的

IV、不能进入临界区的执行态进程立即放弃CPU

A、I,IV          B、 II,III

C、 I,II,III       D、 I,III,IV

【知识点】进程互斥、临界区。

【真题解析】点击查看


5、【2009年全国统考真题,第45题】三个进程P1、P2、P3互斥使用一个包含N(N>0)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述。

【知识点】进程互斥、进程同步、奇数偶数问题。

【真题解析】点击查看


6、【2013年全国统考真题,第45题】某博物馆最多可容纳500人同时参观,有一个出入口,该出入口一次仅允许一个人通过。参观者的活动描述如下,用P、V实现该操作过程中的互斥与同步。

cobegin

      参观者进程i:

        {…

      进门;

        …

      参观;

        …

      出门;

        …}

coend 

【知识点】进程互斥、进程同步、博物馆参观问题。

【真题解析】点击查看


7、【2015年全国统考真题,第25题】下列选项中,会导致进程从执行态变为就绪态的事件是(    )

A、 执行P(wait)操作                     B、申请内存失败

C、 启动I/O设备                               D、 被高优先级进程抢占

【知识点】进程三状态图、PV原语、抢占。

【真题解析】点击查看


8、【2010年全国统考真题,第26题】下列选项中,降低进程优先级的合理时机是(    )

A、进程的时间片用完

B、进程刚完成I/O,进入就绪队列

C、进程长期处于就绪队列中

D、进程从就绪态转为运行态

【知识点】进程三状态图、优先级、时间片、就绪队列。

【真题解析】点击查看


9、【2010年全国统考真题,第27题】进程P0和P1的共享变量定义及其初值为

booleanflag[2];          int turn= 0;

flag[0]= FALSE;          flag[1]= FALSE;

若进程P0和P1访问临界资源的类C伪代码实现如下:

则并发执行进程P0和P1时产生的情形是(      )

A、不能保证进程互斥进入临界区,会出现“饥饿"现象

B、不能保证进程互斥进入临界区,不会出现“饥饿"现象

C、能保证进程互斥进入临界区,会出现“饥饿"现象

D、能保证进程互斥进入临界区,不会出现“饥饿"现象

【知识点】进程互斥、临界资源、临界区、饥饿。

【真题解析】点击查看


10、【2016年全国统考真题,第30题】进程P1和P2均包含并发执行的线程,部分伪代码描述如下所示。   

 

//进程P1

 

int x=0;

 

Thread1 ( ) {

 

       int a;

 

       a=1;     

 

       x+=1;

 

}

 

Thread2 ( ) {

 

       int a;

 

       a=2;     

 

       x+=2;

 

}

 
 

//进程P2

 

int x=0;

 

Thread3 ( ) {

 

       int a;

 

       a=x;      

 

       x+=3;

 

}

 

Thread4 ( ) {

 

       int b;

 

       b=x;     

 

       x+=4;

 

}

 

下列选项中,需要互斥执行的操作是

A. a=1与a=2                         B.a=x与b=x

C. x+=1与x+=2                     D.x+=1与x+= 3

【知识点】进程互斥、并发执行、临界区。

【真题解析】点击查看


11、【2018年全国统考真题,第27题】下列选项中,可能导致当前进程P阻塞的事件是(    )

Ⅰ. 进程 P 申请临界资源

Ⅱ. 进程 P 从磁盘读数据

Ⅲ. 系统将 CPU 分配给高优先权的进程

A. 仅Ⅰ                  B.仅Ⅱ            C. 仅Ⅰ、Ⅱ                D.Ⅰ、Ⅱ、Ⅲ

【知识点】进程阻塞、状态图、临界资源。

【真题解析】点击查看


12、【2011年全国统考真题,第45题】某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下,请添加必要的P、V操作,实现该操作过程中的互斥与同步。

cobegin

process顾客i  {  

  从取号机获得一个号码;

  等待叫号;

  获得服务;

} 

 process营业员  {

   while (TRUE)  {

    叫号;

       为顾客服务;

    }  

}

coend

【知识点】进程互斥、进程同步、银行职员顾客问题。

【真题解析】点击查看



13、【2019年全国统考真题,第43题】有n( n≥3)位哲学家围坐在一张圆桌边,每位哲学家交替地就餐和思考。在圆桌中心有m(m≥1)个碗,每两位哲学家之间有一根筷子。每位哲学家必须取到一个碗和两侧的筷子后,才能就餐,进餐完毕,将碗和筷子放回原位,并继续思考。为使尽可能多的哲学家同时就餐,且防止出现死锁现象,请使用信号量的P、V操作[wait()、signal()操作]描述上述过程中的互斥与同步,并说明所用信号量及初值的含义。

【知识点】进程互斥、进程同步、哲学家就餐问题。

【真题解析】点击查看


14、【2014年全国统考真题,第47题】系统中有多个生产者进程和多个消费者进程,共享一个能存放 1000 件产品的环形缓冲区(初始为空)。 当缓冲区未满时,生产者进程可以放入其生产的一件产品, 否则等待;当缓冲区未空时,消费者进程可以从缓冲区取走一件产品,否则等待。 要求一个消费者进程从缓冲区连续取出 10 件产品后,其他消费者进程才可以取产品。请使用信号量 P, V (或 wait(), signal())操作实现进程间的互斥与同步,要求写出完整的过程, 并说明所用信号量的含义和初值。

【知识点】进程互斥、进程同步、生产者消费者问题。

【真题解析】点击查看


15、【2021年全国统考真题,第27题】下列事件中,可能引起进程调度程序执行的是(   )。

I.  中断处理结束                               II.进程阻塞

III. 进程执行结束                              IV. 进程的时间片用完

A.仅I、III               B.仅II、IV              C.仅III、IV                   D.I、II、III和IV

 【知识点】进程状态图、进程调度。

【真题解析】点击查看


16、【2011年全国统考真题,第25题】在支持多线程的系统中,进程P创建的若干个线程不能共享的是(   )

A.进程P的代码段                 B.进程P中打开的文件

C.进程P的全局变量              D.进程P中某线程的栈指针

 【知识点】进程与线程、多线程、共享资源。

【真题解析】点击查看