跳到主要内容

2022-2023学年上学期期末

2022-2023学年上学期期末试卷(A)

一、判断题(20 分,每小题 2 分)

判断下列每句话是否正确,如错误请说明理由。

  1. 一个应用程序在一个操作系统的机器上编译后形成可执行代码可以直接在该机器的另一个操作系统上运行。( )


  2. 在 Linux 和 UNIX 中,并不是所有的进程都首先转换为僵尸进程(zombie process)。( )


  3. 并发本质上等价于并行。( )


  4. 如果在轮转(RR)调度中,时间片过长,该调度方法就会转变为 FCFS(先来先服务)。( )


  5. 当互斥锁用二进制信号量实现时,其初始值为 0。( )


  6. 一个在不安全状态下的系统将最终进入到死锁。( )


  7. 在页面置换算法中,最优页面置换和 LRU(最近最少使用)算法中,都不会出现 Belady 异常。( )


  8. 在分页机制中,为了提高对页表的访问效率,设计了转换表缓冲区(TLB),它的项与页表的是一一对应的。( )


  9. 所有的操作系统至少需要支持一个文件系统。( )


  10. 通常,SCAN 调度算法中磁头移动的距离要比 C-SCAN 调度算法中磁头移动的距离长。( )


二、选择题(30 分,每小题 3 分)

以下为单选题,每题只有一个答案是正确的。

  1. 操作系统的基本职能是:( )

    A. 提供用户界面,方便用户使用
    B. 提供方便的可视化
    C. 控制和管理系统内各种资源,有效地组织多道程序的运行
    D. 提供功能强大的网络管理工具


  2. 与早期的操作系统相比,采用微内核结构的操作系统优点不包括:( )

    A. 提高系统的可扩展性
    B. 提高系统的运行效率
    C. 增强了系统的可靠性
    D. 使系统的可移植性更好


  3. 系统中有 4 个用户进程,且当前 CPU 在用户态下运行,那么最多可能有( )个用户进程处于就绪状态。( )

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


  4. 以下对于线程的描述哪个是错误的?( )

    A. 一个用户态线程的阻塞(block)会引起它所属的整个进程(包括其中的其它线程)的阻塞。
    B. 同一个进程的不同线程可以共享地址空间中的文件。
    C. 线程间通信必须通过内核态系统调用进行。
    D. 同一个进程的不同线程必须维护各自的堆栈和 CPU 状态。


  5. 以下哪种调度算法有利于 CPU 密集型的作业,而不利于 I/O 密集型的作业?( )

    A. 时间片轮转调度算法
    B. 先来先服务调度算法
    C. 短作业优先调度算法
    D. 优先级调度算法


  6. 以下哪种调度算法在各自的应用场景是最优的?( )

    A. CPU 调度,非抢占情况下的最短作业优先(对平均等待时间)
    B. CPU 调度,抢占情况下的先来先服务(对平均等待时间)
    C. 磁盘调度,SCAN(对寻道时间)
    D. 页面替换,LRU(或称为最近最少使用)(对缺页率)


  7. 以下哪种情况仍然可能会发生死锁?( )

    A. 资源都是可共享的。
    B. 每一种资源的数量都超过单个进程所需这类资源的最大值。
    C. 空闲资源能够满足任意一个进程还需要的资源需求。
    D. 每个进程必须一次申请、获得所需的所有资源。


  8. 在采用段式存储管理中,每当 CPU 要从内存中取数据时,需要访问内存( )次。( )

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


  9. 属于多级页表优点的是:( )

    A. 加快地址变换速度
    B. 减少缺页中断次数
    C. 减少页表项所占字节数
    D. 减少页表所占的连续内存空间


  10. 某文件系统物理结构采用三级索引分配方法,若每个磁盘块的大小为 1024B,每个盘块索引号占用 4B,在该文件系统中,最大文件的大小最接近的是:( )

    A. 8GB
    B. 16GB
    C. 32GB
    D. 2TB


三、简答题(20 分)

  1. (5 分)缓存(cache)的作用是什么?缓存的引入会带来什么新问题?


  2. (5 分)简要说明长期调度程序、短期调度程序和中期调度程序。


  3. (5 分)针对顺序和随机文件访问,对比分配磁盘块(连续、链接和索引)的三种技术的性能。


  4. (5 分)简述 DMA(直接内存访问)的工作过程。


四、综合题(30 分)

  1. (10 分)某银行提供 1 个服务窗口和 10 个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下:

    cobegin
    {
    process 顾客 i
    {
    从取号机获得一个号码;
    等待叫号;
    获得服务;
    }

    process 营业员
    {
    while(TRUE)
    {
    叫号;
    为顾客服务;
    }
    }
    } coend

    请添加必要的信号量和 P、V(或 wait()signal())操作,实现上述过程中的互斥与同步。要求写出 “Process 顾客” 和 “Process 营业员” 完整的过程,说明信号量的含义并赋初值。


  2. (10 分)设某计算机的逻辑地址空间和物理地址空间均为 64KB,按字节编址。若某进程最多需要 6 页(Page)数据存储空间,页的大小为 1KB,操作系统采用固定分配局部置换策略为此进程分配 4 个页框(Frame)。在时刻 260 前的该进程访问情况如下表所示(访问位即使用位)。

    页号页框号装入时刻访问位
    071301
    142301
    222001
    391601

    当该进程执行到时刻 260 时,要访问逻辑地址为 17CAH 的数据。请回答下列问题:

    (1) 该逻辑地址对应的页号是多少?

    (2) 若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。

    (3) 若采用时钟(CLOCK)置换算法(第二次机会算法),该逻辑地址对应的物理地址是多少?要求给出计算过程(设搜索下一页的指针沿顺时针方向移动,且当前指向 2 号页框,示意图如下)。

    页框示意图:

    • 2 号页框:2 号页
    • 4 号页框:1 号页
    • 7 号页框:0 号页
    • 9 号页框:3 号页

  3. (10 分)假设计算机系统采用 C-SCAN(循环扫描)磁盘调度策略,使用 2KB 的内存空间记录 16384 个磁盘块的空闲状态。

    (1) 请说明在上述条件如何进行磁盘块空闲状态的管理。

    (2) 设某单面磁盘的旋转速度为每分钟 6000 转,每个磁道有 100 个扇区,相临磁道间的平均移动的时间为 1ms。若在某时刻,磁头位于 100 号磁道处,并沿着磁道号增大的方向移动(如下图所示),磁道号的请求队列为 50、90、30、120。对请求队列中的每个磁道需读取 1 个随机分布的扇区,则:

    a. 寻道时间是多少?

    b. 读完这些磁道的随机分布的扇区共需要多少时间?

    注意:需要给出计算过程。