操作系统 第二章习题

说明:题号前带*的为作业题。
计算机操作系统(第四版) 汤小丹 配套资源:https://blog.csdn.net/COCO56/article/details/101201389

文章目录

  • 1. 什么是前趋图?为什么要引入前趋图?
  • *2. 画出下面四条语句的前趋图:
  • 3. 为什么程序并发执行会产生间断性特征?
  • *4. 程序并发执行时为什么会失去封闭性和可再现性?
  • 5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?
  • 6. 试从动态性,并发性和独立性上比较进程和程序。
  • *7. 试说明PCB的作用,为什么说PCB是进程存在的唯一标志?
  • 8. PCB提供了进程管理和进程调度所需要的哪些信息?
  • 9. 进程控制块的组织方式有哪几种?
  • 10. 何谓操作系统内核?内核的主要功能是什么?
  • *11. 试说明进程在三个基本状态之间转换的典型原因。
  • *12. 为什么要引入挂起状态?该状态有哪些性质?
  • 13. 在进行进程切换时,所要保存的处理机状态信息有哪些?
  • 14. 试说明引起进程创建的主要事件。
  • 15. 试说明引起进程被撤销的主要事件。
  • 16. 在创建一个进程时所要完成的主要工作是什么?
  • 17. 在撤销一个进程时所要完成的主要工作是什么?
  • 18. 试说明引起进程阻塞戒被唤醒的主要事件是什么?
  • *19. 为什么要在0S中引入线程?
  • 20. 试说明线程具有哪些属性?
  • 21. 试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比较。
  • 22. 线程控制块TCB中包含了哪些内容?
  • 23. 何谓用户级线程和内核支持线程?
  • 24. 试说明用户级线程的实现方法。;
  • 25. 试说明内核支持线程的实现方法。
  • 26. 多线程模型有哪几种类型?多对一模型有何优缺点?

1. 什么是前趋图?为什么要引入前趋图?

答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。

*2. 画出下面四条语句的前趋图:

S1: a=x+y;
S2: b=z+1;
S3: c=a-b;
S4: w=c+1;
答:其前趋图为:
操作系统 第二章习题_第1张图片

3. 为什么程序并发执行会产生间断性特征?

答:程序在并发执行时,由于它们共享系统资源,为完成同一项任务需要相互合作,致使这些并发执行的进程之间,形成了相互制约关系,从而使得进程在执行期间出现间断性。

*4. 程序并发执行时为什么会失去封闭性和可再现性?

答:程序并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态由多个程序改变,致使程序运行失去了封闭性,也会导致其失去可再现性。

5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?

答:为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述,在操作系统中引入了进程概念。

6. 试从动态性,并发性和独立性上比较进程和程序。

答:

  1. 动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,由撤销而消亡。进程有一定的生命期,而程序只是一组有序的指令集合,是静态实体。
  2. 并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。
  3. 独立性是指进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。对于未建立任何进程的程序,不能作为独立单位参加运行。

*7. 试说明PCB的作用,为什么说PCB是进程存在的唯一标志?

答:PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。

8. PCB提供了进程管理和进程调度所需要的哪些信息?

进程管理:通用寄存器、指令计数器、程序状态字、用户栈指针
进程调度:进程状态、进程优先级、事件、其他信息

9. 进程控制块的组织方式有哪几种?

线性方式、链接方式、索引方式

10. 何谓操作系统内核?内核的主要功能是什么?

现在操作系统一般将OS划分为若干层次,再将OS的不同功能分别设置在不同的层次中。通常将一些与硬件紧密相关的模块(如中断处理程序等)、各种常用设备的驱动程序以及运行频率较高的模块(如时钟管理、进程调度和许多模块所公用的一些基本操作),都安排在紧靠硬件的软件层次中,将它们常驻内存,即通常被称为的OS内核。
支撑功能:中断处理、时钟管理、原语操作
资源管理功能:进程管理、存储器管理、设备管理

*11. 试说明进程在三个基本状态之间转换的典型原因。

答:

  1. 就绪状态→执行状态:进程分配到CPU资源
  2. 执行状态→就绪状态:时间片用完
  3. 执行状态→阻塞状态:I/0请求
  4. 阻塞状态→就绪状态:I/0完成

*12. 为什么要引入挂起状态?该状态有哪些性质?

答:引入挂起状态处于五种不同的需要:终端用户需要,父进程需要,操作系统需要,对换需要和负荷调节需要。处于挂起状态的进程不能接收处理机调度。

13. 在进行进程切换时,所要保存的处理机状态信息有哪些?

答:进行进程切换时,所要保存的处理机状态信息有:

  1. 进程当前暂存信息
  2. 下一指令地址信息
  3. 进程状态信息
  4. 过程和系统调用参数及调用地址信息。

14. 试说明引起进程创建的主要事件。

答:引起进程创建的主要事件有:用户登录、作业调度、提供服务、应用请求。

15. 试说明引起进程被撤销的主要事件。

答:引起进程被撤销的主要事件有:正常结束、异常结束(越界错误、保护错、非法指令、特权指令错、运行超时、等待超时、算术运算错、I/O故障)、外界干预(操作员或操作系统干预、父进程请求、父进程终止)

16. 在创建一个进程时所要完成的主要工作是什么?

答:

  1. OS发现请求创建新进程事件后,调用进程创建原语Creat();
  2. 申请空白PCB;
  3. 为新进程分配资源;
  4. 初始化进程控制块;
  5. 将新进程插入就绪队列。

17. 在撤销一个进程时所要完成的主要工作是什么?

答:

  1. 根据被终止进程标识符,从PCB集中检索出进程PCB,读出该进程状态。
  2. 若被终止进程处于执行状态,立即终止该进程的执行,置调度标志真,指示该进程被终止后重新调度。
  3. 若该进程还有子进程,应将所有子孙进程终止,以防它们成为不可控进程。
  4. 将被终止进程拥有的全部资源,归还给父进程,或归还给系统。
  5. 将被终止进程PCB从所在队列或列表中移出,等待其它程序搜集信息。

18. 试说明引起进程阻塞戒被唤醒的主要事件是什么?

答:a. 请求系统服务;b. 启动某种操作;c. 新数据尚未到达;d. 无新工作可做。

*19. 为什么要在0S中引入线程?

答:在操作系统中引入线程,则是为了减少程序在并发执行时所付出的时空开销,使0S具有更好的并发性,提高CPU的利用率。进程是分配资源的基本单位,而线程则是系统调度的基本单位。

20. 试说明线程具有哪些属性?

答:(1)轻型实体(2)独立调度和分派的基本单位(3)可并发执行(4)共享进程资源。

21. 试从调度性,并发性,拥有资源及系统开销方面对进程和线程进行比较。

答:

  1. 调度性:线程在0S 中作为调度和分派的基本单位,进程只作为资源拥有的基本单位。
  2. 并发性:进程可以并发执行,一个进程的多个线程也可并发执行。
  3. 拥有资源:进程始终是拥有资源的基本单位,线程只拥有运行时必不可少的资源,本身基本不拥有系统资源,但可以访问隶属进程的资源。
  4. 系统开销:操作系统在创建、撤消和切换进程时付出的开销显著大于线程。

22. 线程控制块TCB中包含了哪些内容?

一般TCB中的内容较少,因为有关资源分配等多数信息已经记录于所属进程的PCB中。TCB中的主要信息包括线程标识、线程状态、调度参数、现场、链接指针,其中现场信息主要包括通用寄存器、指令计数器PC以及用户栈指针。对于操作系统支持的线程,TCB中还应包含系统栈指针。

23. 何谓用户级线程和内核支持线程?

答: (1) 用户级线程:仅存在于用户空间中的线程,无须内核支持。这种线程的创建、撤销、线程间的同步与通信等功能,都无需利用系统调用实现。用户级线程的切换通常发生在一个应用进程的诸多线程之间,同样无需内核支持。
(2)内核支持线程:在内核支持下运行的线程。无论是用户进程中的线程,还是系统线程中的线程,其创建、撤销和切换等都是依靠内核,在内核空间中实现的。在内核空间里还为每个内核支持线程设置了线程控制块,内核根据该控制块感知某线程的存在并实施控制。

24. 试说明用户级线程的实现方法。;

答:用户级线程是在用户空间中实现的,运行在“运行时系统”与“内核控制线程”的中间系统上。运行时系统用于管理和控制线程的函数的集合。内核控制线程或轻型进程LWP可通过系统调用获得内核提供服务,利用LWP进程作为中间系统。

25. 试说明内核支持线程的实现方法。

答:系统在创建新进程时,分配一个任务数据区PTDA, 其中包括若干个线程控制块TCB空间。创建-一个线程分配-一个TCB,有关信息写入TCB,为之分配必要的资源。当PTDA中的TCB用完,而进程又有新线程时,只要所创建的线程数目未超过系统允许值,系统可在为之分配新的TCB;在撤销一个线程时,也应回收线程的所有资源和TCB。

26. 多线程模型有哪几种类型?多对一模型有何优缺点?

多对一模型、一对一模型和多对多模型。
多对一模型的主要缺点在于,如果一个线程在访问内核时发生阻塞,则整个进程都会被阻塞;此外,在任一时刻,只有一一个线程能够访问内核,多个线程不能同时在多个处理机上运行。

你可能感兴趣的:(课本练习,操作系统)