博客
关于我
操作系统原理--引论及进程管理习题
阅读量:522 次
发布时间:2019-03-07

本文共 2973 字,大约阅读时间需要 9 分钟。

操作系统原理

引论及进程管理

一、单选题(共20题,60.0分)

  • 操作系统的主要功能有(C)。 A. 进程管理、存储器管理、设备管理、处理机管理

    B. 虚拟存储管理、处理机管理、进程管理、文件管理
    C. 处理机管理、存储器管理、设备管理、文件管理
    D. 进程管理、中断管理、设备管理、文件管理

  • 操作系统是对(C)进行管理的软件。

    A. 硬件
    B. 软件
    C. 计算机资源
    D. 应用程序

  • 当(B)时,进程从执行状态转变为就绪状态。

    A. 进程被调度程序选中
    B. 时间片到
    C. 等待某一事件
    D. 等待的事件发生

  • 用P、V操作管理临界区时,信号量的初值一般应定义为(C)。

    A. -1
    B. 0
    C. 1
    D. 任意值

  • 若P、V操作的信号量S初值为2,当前值为-1,则表示有(B)等待进程。

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

  • 对于两个并发进程,设互斥信号量为mutex,若mutex=0,则(B)。

    A. 表示没有进程进入临界区
    B. 表示有一个进程进入临界区
    C. 表示有一个进程进入临界区,另一个进程等待进入
    D. 表示有两个进程进入临界区

  • 下列关于线程的叙述中,正确的是(A)。

    A. 线程包含CPU现场,可以独立执行程序
    B. 每个线程有自己独立的地址空间
    C. 进程只能包含一个线程
    D. 线程之间的通信必须使用系统调用函数

  • 进程之间交换数据不能通过(C)途径进行。

    A. 共享文件
    B. 消息传递
    C. 访问进程地址空间
    D. 访问共享存储区

  • 进程与程序的根本区别是(A)。

    A. 静态和动态特点
    B. 是不是被调入内存
    C. 是不是具有就绪、运行和等待三种状态
    D. 是不是占有处理器

  • 操作系统是根据(B)来对并发执行的进程进行控制和管理的。

    A. 进程的基本状态
    B. 进程控制块
    C. 多道程序设计
    D. 进程的优先权

  • 在任何时刻,一个进程的状态变化(C)引起另一个进程的状态变化。

    A. 必定
    B. 一定不
    C. 不一定
    D. 不可能

  • 在单处理器系统中,若同时存在10个进程,则处于就绪队列中的进程最多有(C)个。

    A. 1
    B. 8
    C. 9
    D. 10

  • 一个进程释放了一台打印机,它可能会改变(C)的状态。

    A. 自身进程
    B. 输入/输出进程
    C. 另一个等待打印机的进程
    D. 所有等待打印机的进程

  • PCB 是进程存在的唯一标志,下列(D)不属于PCB。

    A. 进程ID
    B. CPU状态
    C. 堆栈指针
    D. 全局变量

  • 下列对临界区的论述中,正确的是(D)。

    A. 临界区是指进程中用于实现进程互斥的那段代码
    B. 临界区是指进程中用于实现进程同步的那段代码
    C. 临界区是指进程中用于实现进程通信的那段代码
    D. 临界区是指进程中用于访问临界资源的那段代码

  • 设与某资源关联的信号量初值为3,当前值为1。若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是(B)。

    A. 0,1
    B. 1,0
    C. 1,2
    D. 2,0

  • 两个旅行社甲和乙为旅客到某航空公司订飞机票,形成互斥资源的是(C)。

    A. 旅行社
    B. 航空公司
    C. 飞机票
    D. 旅行社与航空公司

  • 用P、V操作实现进程同步,信号量的初值为(D)。

    A. -1
    B. 0
    C. 1
    D. 由用户确定

  • 有三个进程共享同一程序段,而每次只允许两个进程进入该程序段,若用P、V操作同步机制,则信号量S的取值范围是(A)。

    A. 2,1,0,-1
    B. 3,2,1,0
    C. 2,1,0,-1,-2
    D. 1,0,-1,-2

  • 有一个计数信号量S:

  • 若干进程对S进行28次P操作和18次V操作后,信号量S的值为0。
  • 若干进程对S进行了15次P操作和2次V操作。请问此时有多少个进程等待在信号量S的队列中?(B)。
    A. 2
    B. 3
    C. 5
    D. 7
  • 二、简答题(共2题,10.0分)

  • 某分时系统中的进程可能出现如下状态变化,请回答下列问题:
  • 根据图示,该系统应采用什么进程调度策略?
  • 把图中每个状态变化的可能原因填写在下表中。
  • 1、进程被选中,变为运行状态

    2、进程阻塞,进行IO操作,等待磁盘读文件
    3、进程阻塞,进行IO操作,等待打印机输出
    4、打印结束,阻塞的进程转为就绪状态,排入就绪队列尾部
    5、读文件结束,阻塞的进程转为就绪状态,排入就绪队列尾部
    6、时间片到,运行状态的进程转为就绪状态,排入就绪队列尾部

    1. 进程之间存在哪几种制约关系?各是什么原因引起的?以下活动各属于哪种制约关系:
    2. 若干学生去图书馆借书:间接相互制约关系:多个学生共享图书馆资源,间接影响彼此的借书进程。
    3. 两队进行篮球比赛:间接相互制约关系:两队共享场地资源,间接相互制约。
    4. 流水线生产的各道工序:直接相互制约关系:各工序依赖性强,直接制约。
    5. 商品生产和消费:间接相互制约关系:生产与消费共享市场资源,间接制约。
    6. 三、计算题(共3题,30.0分)

    7. 对于哲学家进餐问题,请给出一种不会死锁的解决方案。
    8. 5只筷子互斥使用,筷子编号0-4,对应设置五个初值为1的互斥信号量,此外,餐厅仅提供4个位子,需设置初值为4的同步信号量seat管理4个位置,即:

      semaphore Chopstick[5]={1,1,1,1,1}; semaphore seat=4;
      第i(0≤i≤4)个哲学家就餐过程代码描述如下:
      Philosopher(i){
      while(TRUE){
      P(seat); //哲学家申请座位
      P(Chopstick[i]); //哲学家申请相邻筷子
      Eat(); //哲学家就餐
      V(Chopstick[i]); //哲学家归还筷子
      V(Chopstick[i+1]); //哲学家归还相邻筷子
      V(seat); //就餐完毕,离席
      }
      }

      1. 有桥如下图所示。车流方向如箭头所示。回答如下问题:假设桥上每次只能有一辆车行驶,试用信号灯的P,V操作实现交通管理。

        设置初始值为1的信号量bridge:
        semaphore bridge = 1; //互斥的使用桥
        每辆车通过桥的过程如下:
        Car(i){
        while(TRUE){
        P(bridge); //申请上桥
        //通过桥
        V(bridge); //下桥
        }
        }

      2. 某博物馆最多可容纳800人同时参观,有一个出入口,该出入口一次仅允许一人通过。参观者的活动描述如下:

        cobegin
        参观者进程i:{
        … 进门;… 参观;… 出门;…}
        coend

      3. 请添加必要的信号量和P,V操作(或wait(), signal()],以实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。

        semaphore mutex=1; //互斥的来使用出入口

        semaphore empty=500; //博物馆中的空位数
        void visitor(){
        while(true) {
        P(empty); //当博物馆还有空位的时才能进入博物馆
        P(mutex); //可以使用进出口
        进门;
        V(mutex); //通过出去口,就释放占用权
        参观;
        P(mutex); //再次使用出入口
        出门;
        V(mutex); //通过出去口,就释放占用权
        V(empty); //出门后释放一个空位
        }
        }

    转载地址:http://gofnz.baihongyu.com/

    你可能感兴趣的文章
    mysql
    查看>>
    MTK Android 如何获取系统权限
    查看>>
    MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
    查看>>
    MySQL - ERROR 1406
    查看>>
    mysql - 视图
    查看>>
    MySQL - 解读MySQL事务与锁机制
    查看>>
    MTTR、MTBF、MTTF的大白话理解
    查看>>
    mt_rand
    查看>>
    mysql -存储过程
    查看>>
    mysql /*! 50100 ... */ 条件编译
    查看>>
    mudbox卸载/完美解决安装失败/如何彻底卸载清除干净mudbox各种残留注册表和文件的方法...
    查看>>
    mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
    查看>>
    mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
    查看>>
    mysql 5.6 修改端口_mysql5.6.24怎么修改端口号
    查看>>
    MySQL 8.0 恢复孤立文件每表ibd文件
    查看>>
    MySQL 8.0开始Group by不再排序
    查看>>
    mysql ansi nulls_SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思
    查看>>
    multi swiper bug solution
    查看>>
    MySQL Binlog 日志监听与 Spring 集成实战
    查看>>
    MySQL binlog三种模式
    查看>>