• 操作系统 练习题


    1. 请画出进程状态转换图。并说明是什么时间引起的每种状态变迁。

     

    2. 操作系统一般分为几个组成部分,各部分都具有什么功能?

     

    3. 某个虚拟存储器的用户空间共有32个页面,每页为1KB,内存为16KB。假定某时刻一用户的页表已调入内存的页面号和物理块号对照表如下:

    页号

    物理块号

    0

    5

    1

    10

    2

    4

    3

    7

    则逻辑地址0x0A5D所对应的物理地址是什么?

     

    4. 假定某进程共有8个页面,分配了4个物理内存块,其页面的使用情况如下列表,如果进程使用了FIFO置换算法,请画出进程运行时页面的置换图,并在图上标明进程是否换页。

    1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 0

     

    5. 现有一个作业,在段式存储管理的系统中已为其主存分配,建立的段表内容如下:

    段号

    主存起始地址

    段长度

    0

    120

    40

    1

    760

    30

    2

    480

    20

    3

    370

    20

    计算逻辑地址(215),(060),(318)的绝对地址是多少?

    注:括号中第一个元素为段号,第二个元素为段内地址。

     

    6. 4个并发执行的进程ABCD。在执行时它们都要读共享文件F,但限制进程A和进程B不能同时读文件F,进程C和进程D也不能同时读文件F。请问用PV操作管理时:

    (1)应怎样定义信号量?写出信号量的初值和含义。

    (2)写出能使它们正确执行的程序。

     

    7. 什么是进程?什么是线程?进程与线程有何区别?

    8. 什么是死锁?产生死锁的原因和必要条件是什么?

    9. 假定一个阅览室可供50个人同时阅读。读者进入和离开阅览室时都必须在阅览室入口处的一个登记表上登记,阅览室有50个座位,规定每次只允许一个人登记或注销登记。

    要求:

    1)用PV操作描述读者进程的实现算法(可用流程图表示,登记、注销可用自然语言描述);

    2)指出算法中所用信号量的名称、作用及初值。

     

    11. 两个并发执行的进程AB的程序如下:

    进程A

      While (true) {

            temp = N

            temp = temp + 5

            N = temp;

      }

    进程B

      While (true) {

            temp = N

        打印temp的值;

            N=0

      }

    其中N为整数,初值为4。若进程A先执行了三个循环后,进程A和进程B又并发执行了一个循环,写出可能出现的打印值。正确的打印值应该是多少?请用PV操作进行管理,使进程AB并发执行时不会出现与时间有关的错误。

     

    12. 在请求分页系统中,某用户的编程空间为16个页面,每页1K,分配的内存空间为8K。假定某时刻该用户的页表如下图所示,试问:

    1)逻辑地址084BH)对应的物理地址是多少?(用十六进制表示)

    2)逻辑地址5000(十进制)对应的物理地址是多少?(用十进制表示)

    3)当该用户进程欲访问24A0H单元时,会出现什么现象?

    页号

    物理块号

    0

    3

    1

    7

    2

    4

    3

    1

    4

    12

    5

    9

    6

    61

    7

    21

    13. 设有一缓冲池PP中含有20个可用缓冲区,一个输入进程将外部数据读入P,另有一个输出进程将P中数据取出并输出。若讲程每次操作均以一个缓冲区为单位,试用信号量写出两个进程的同步算法,要求写出信号量的初值。

     

    14. 有一只最多能装2只兔子的铁笼子,猎人仅能向笼子中放入兔子(每次只能放入1只),若笼子是满的,则猎人必须等待;饭店老板仅能从笼子中取兔子(每次只能取出1只),若笼子是空的则他也必须等待。假设初始时笼子是空的。定义信号量并初始化,使用PV操作模拟猎人和饭店老板进程之间的同步与互斥。

     

    15. 有两个程序,A程序按顺序使用CPU 10S,使用设备甲5S,使用CPU 5S,使用设备乙10S,最后使用CPU 10SB程序按顺序使用设备甲10S,使用CPU 10S,使用设备乙5S,使用CPU 5S,使用设备乙10S。在顺序环境下先执行A程序再执行B程序,CPU的利用率是多少?提示:CPU利用率=CPU运行时间/程序运行时间。

     

    16. 设系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。设每个用户程序对应一个进程。问:这三个进程间有什么样的制约关系?使用PV操作写出这些进程使用打印机的算法。

     

    17. 某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,用PV操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。

     

    18. 桌上有一只盘子,每次只能放一只水果,爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果。用PV操作实现他们这间的同步机制。

     

    19. 请用信号量实现下图所示的前趋关系。

     

     

    20. 下图描述了A,B,C,D4个进程在某一时刻使用信号量sem的运行情况,其中粗线是进程进入临界区(即得到信号量),虚线是进程在等待信号量,细线是进程运行,没有使用信号量。

     

    请回答下列问题:

    1. 信号量sem的初值是多少,请说出理由。

    2. 说出各个进程被阻塞的原因(虚线部分)。

    3. 假设系统中只有这四个进程,在这10秒内,每个进程除了等待信号量,没有等待其他事件,如果系统共有3CPU,请计算下这10秒内系统的CPU使用率。

     

  • 相关阅读:
    C# 删除文件和文件夹方法
    asp.net上传图片
    oracle 分区表
    C# 读取客户端文件路径和文件夹路径
    【转】AjaxPro与服务器端交互过程中如何传值
    The 'OraOLEDB.Oracle.1' provider is not registered on the local machine的原因
    怀疑做Oracle的人思维方式是不是有点秀逗
    在Linux下安装Mono 1.0
    ORA03114: not connected to ORACLE 微软的Bug
    删除确认提示
  • 原文地址:https://www.cnblogs.com/wjw1014/p/11129649.html
Copyright © 2020-2023  润新知