计算机操作系统(第四版)课后习题答案

合集下载

计算机操作系统(第四版)课后习题答案第二章

计算机操作系统(第四版)课后习题答案第二章

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

2.画出下面四条诧句的前趋图:S1=a: =x+y;S2=b: =z+1;S3=c: =a-b;S4=w: =c+1:答:其前趋图为:3.为什么程序并发执行会产生间断性特征?程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。

4.程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。

而程序一旦失去了封闭性也会导致其再失去可再现性。

5.在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。

影响:使程序的并发执行得以实行。

6.试从动态性,并发性和独立性上比较进程和程序?a.动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。

b.并发性是进程的重要特征,同时也是OS的重要特征。

引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。

c.独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。

而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。

7•试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。

PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。

计算机操作系统(第四版)课后习题答案第二章

计算机操作系统(第四版)课后习题答案第二章

第二章1.什么是前趋图?为什么要引入前趋图?答:前趋图(PrecedenceGraph)是一个有向无循环图,记为DAG(DirectedAcyclicGraph),用于描述进程之间执行的前后关系。

2.画出下面四条诧句的前趋图:S1=a:=x+y;S2=b:=z+1;S3=c:=a-b;S4=w:=c+1;答:其前趋图为:3.4.5.6.a.未建立任何进程的程序,都不能作为一个独立的单位来运行。

7.试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a.PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。

PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。

因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。

b.在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。

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

答:(1)就绪状态→执行状态:进程分配到CPU资源(2)执行状态→就绪状态:时间片用完(3)执行状态→阻塞状态:I/O请求(4)阻塞状态→就绪状态:I/O完成12.为什么要引入挂起状态?该状态有哪些性质?答:引入挂起状态处于五种不同的需要:终端用户需要,父进程需要,操作系统需要,对换需要和负荷调节需要。

处于挂起状态的进程不能接收处理机调度。

10.在3)。

17.在撤销一个进程时所要完成的主要工作是什么?答:(1)根据被终止进程标识符,从PCB集中检索出进程PCB,读出该进程状态。

(2)若被终止进程处于执行状态,立即终止该进程的执行,臵调度标志真,指示该进程被终止后重新调度。

(3)若该进程还有子进程,应将所有子孙进程终止,以防它们成为不可控进程。

(4)将被终止进程拥有的全部资源,归还给父进程,或归还给系统。

计算机操作系统(第四版)课后习题答案第二章

计算机操作系统(第四版)课后习题答案第二章

计算机操作系统(第四版)课后习题答案第二章第二章1. 什么是前趨圖?為什么要引入前趨圖?答:前趨圖(Precedence Graph)是一個有向無循環圖,記為DAG(Directed Acyclic Graph),用于描述進程之間執行的前后關系。

2. 畫出下面四條詫句的前趨圖:S1=a:=x+y;S2=b:=z+1;S3=c:=a-b;S4=w:=c+1;答:其前趨圖為:3. 為什么程序并發執行會產生間斷性特征?程序在并發執行時,由于它們共享系統資源,以及為完成同一項任務而相互合作,致使在這些并發執行的進程之間,形成了相互制約的關系,從而也就使得進程在執行期間出現間斷性。

4. 程序并發執行時為什么會失去封閉性和可再現性?因為程序并發執行時,是多個程序共享系統中的各種資源,因而這些資源的狀態是由多個程序來改變,致使程序的運行失去了封閉性。

而程序一旦失去了封閉性也會導致其再失去可再現性。

GAGGAGAGGAFFFFAFAF5. 在操作系統中為什么要引入進程概念?它會產生什么樣的影響?為了使程序在多道程序環境下能并發執行,并能對并發執行的程序加以控制和描述,從而在操作系統中引入了進程概念。

影響: 使程序的并發執行得以實行。

6. 試從動態性,并發性和獨立性上比較進程和程序?a. 動態性是進程最基本的特性,可表現為由創建而產生,由調度而執行,因得不到資源而暫停執行,以及由撤銷而消亡,因而進程由一定的生命期;而程序只是一組有序指令的集合,是靜態實體。

b. 并發性是進程的重要特征,同時也是OS的重要特征。

引入進程的目的正是為了使其程序能和其它建立了進程的程序并發執行,而程序本身是不能并發執行的。

c. 獨立性是指進程實體是一個能獨立運行的基本單位,同時也是系統中獨立獲得資源和獨立調度的基本單位。

而對于未建立任何進程的程序,都不能作為一個獨立的單位來運行。

7. 試說明PCB的作用?為什么說PCB是進程存在的唯一標志?a. PCB是進程實體的一部分,是操作系統中最重要的記錄型數據結構。

计算机操作系统(第四版)课后习题答案第三章

计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。

(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。

(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。

为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。

当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。

3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。

系统根据该说明书对程序的运行进行控制。

批处理系统中是以作业为基本单位从外存调入内存。

作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。

作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。

4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。

JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。

计算机操作系统第四版课后习题答案

计算机操作系统第四版课后习题答案

第二章1. 什么是前趋图为什么要引入前趋图答:前趋图Precedence Graph是一个有向无循环图;记为DAGDirected Acyclic Graph;用于描述进程之间执行的前后关系..2. 画出下面四条诧句的前趋图:S1=a:=x+y;S2=b:=z+1;S3=c:=a-b;S4=w:=c+1;答:其前趋图为:3. 为什么程序并发执行会产生间断性特征程序在并发执行时;由于它们共享系统资源;以及为完成同一项任务而相互合作;致使在这些并发执行的进程之间;形成了相互制约的关系;从而也就使得进程在执行期间出现间断性..4. 程序并发执行时为什么会失去封闭性和可再现性因为程序并发执行时;是多个程序共享系统中的各种资源;因而这些资源的状态是由多个程序来改变;致使程序的运行失去了封闭性..而程序一旦失去了封闭性也会导致其再失去可再现性..5. 在操作系统中为什么要引入进程概念它会产生什么样的影响为了使程序在多道程序环境下能并发执行;并能对并发执行的程序加以控制和描述;从而在操作系统中引入了进程概念.. 影响: 使程序的并发执行得以实行..6. 试从动态性;并发性和独立性上比较进程和程序a. 动态性是进程最基本的特性;可表现为由创建而产生;由调度而执行;因得不到资源而暂停执行;以及由撤销而消亡;因而进程由一定的生命期;而程序只是一组有序指令的集合;是静态实体..b. 并发性是进程的重要特征;同时也是OS的重要特征..引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行;而程序本身是不能并发执行的..c. 独立性是指进程实体是一个能独立运行的基本单位;同时也是系统中独立获得资源和独立调度的基本单位..而对于未建立任何进程的程序;都不能作为一个独立的单位来运行..7. 试说明PCB的作用为什么说PCB是进程存在的唯一标志a. PCB是进程实体的一部分;是操作系统中最重要的记录型数据结构..PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息..因而它的作用是使一个在多道程序环境下不能独立运行的程序含数据;成为一个能独立运行的基本单位;一个能和其它进程并发执行的进程..b. 在进程的整个生命周期中;系统总是通过其PCB对进程进行控制;系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的;所以说;PCB是进程存在的唯一标志..11.试说明进程在三个基本状态之间转换的典型原因..答: 1就绪状态→执行状态:进程分配到CPU资源 2执行状态→就绪状态:时间片用完 3执行状态→阻塞状态:I/O请求 4阻塞状态→就绪状态:I/O完成12.为什么要引入挂起状态该状态有哪些性质答:引入挂起状态处于五种不同的需要: 终端用户需要;父进程需要;操作系统需要;对换需要和负荷调节需要..处于挂起状态的进程不能接收处理机调度.. 10.在进行进程切换时;所要保存的处理机状态信息有哪些答:进行进程切换时;所要保存的处理机状态信息有: 1进程当前暂存信息 2下一指令地址信息 3进程状态信息 4过程和系统调用参数及调用地址信息..13.在进行进程切换时;所要保存的处理机状态信息有哪些答:进行进程切换时;所要保存的处理机状态信息有:1进程当前暂存信息2下一指令地址信息3进程状态信息4过程和系统调用参数及调用地址信息..14.试说明引起进程创建的主要事件.. 答:引起进程创建的主要事件有:用户登录、作业调度、提供服务、应用请求.. 15.试说明引起进程被撤销的主要事件.. 答:引起进程被撤销的主要事件有:正常结束、异常结束越界错误、保护错、非法指令、特权指令错、运行超时、等待超时、算术运算错、I/O 故障、外界干预操作员或操作系统干预、父进程请求、父进程终止..16.在创建一个进程时所要完成的主要工作是什么答: 1OS 发现请求创建新进程事件后;调用进程创建原语Creat; 2申请空白PCB; 3为新进程分配资源; 4初始化进程控制块; 5将新进程插入就绪队列.17.在撤销一个进程时所要完成的主要工作是什么答: 1根据被终止进程标识符;从PCB 集中检索出进程PCB;读出该进程状态.. 2若被终止进程处于执行状态;立即终止该进程的执行;臵调度标志真;指示该进程被终止后重新调度.. 3若该进程还有子进程;应将所有子孙进程终止;以防它们成为不可控进程.. 4将被终止进程拥有的全部资源;归还给父进程;或归还给系统.. 5将被终止进程PCB 从所在队列或列表中移出;等待其它程序搜集信息..18.试说明引起进程阻塞或被唤醒的主要事件是什么答:a. 请求系统服务;b. 启动某种操作;c. 新数据尚未到达;d. 无新工作可做.19. 为什么要在OS中引入线程在OS中引入进程的目的;是为了使多个程序能并发执行;以提高资源利用率和系统吞吐量..在OS中再引入线程;则是为了减少程序在并发执行时所付出的时空开销;使OS具有更好的并发性.. 20.试说明线程具有哪些属性答:1轻型实体2独立调度和分派的基本单位3可并发执行4共享进程资源..21. 试从调度性;并发性;拥有资源及系统开销方面对进程和线程进行比较. a. 调度性..在传统的操作系统中;拥有资源的基本单位和独立调度、分派的基本单位都是进程;在引入线程的OS中;则把线程作为调度和分派的基本单位;而把进程作为资源拥有的基本单位; b. 并发性..在引入线程的OS中;不仅进程之间可以并发执行;而且在一个进程中的多个线程之间;亦可并发执行;因而使OS 具有更好的并发性; c. 拥有资源..无论是传统的操作系统;还是引入了线程的操作系统;进程始终是拥有资源的一个基本单位;而线程除了拥有一点在运行时必不可少的资源外;本身基本不拥有系统资源;但它可以访问其隶属进程的资源; d. 开销..由于创建或撤销进程时;系统都要为之分配和回收资源;如内存空间等;进程切换时所要保存和设置的现场信息也要明显地多于线程;因此;操作系统在创建、撤消和切换进程时所付出的开销将显着地大于线程..。

计算机操作系统 第四版 课后习题答案

计算机操作系统 第四版 课后习题答案

第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS 作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。

OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。

4.试说明推劢多道批处理系统形成和収展的主要劢力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。

5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。

该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。

而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。

6.试说明推劢分时系统形成和収展的主要劢力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。

主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。

7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。

解决方法:针对及时接收问题,可以在系统中设臵多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配臵缓冲区,暂存用户键入的命令或数据。

计算机操作系统课后习题答案 第四版

计算机操作系统课后习题答案 第四版

计算机操作系统课后习题答案第四版1. Describe the concept of a process and its typical attributes.A process is an entity that represents the execution of a program on a computer system. It consists of the program code, data, and execution context. The typical attributes of a process include a unique process identifier (PID), a program counter that keeps track of the next instruction to be executed, a stack that holds temporary data, a heap for dynamically allocated memory, and a set of resources such as open files and I/O devices.2. Explain the difference between process control block (PCB) and thread control block (TCB).A process control block (PCB) is a data structure used by the operating system to manage a process. It contains information about the process, such as its current state, scheduling information, memory allocation, and I/O status. On the other hand, a thread control block (TCB) is a data structure used to manage a thread within a process. It contains information specific to the thread, such as its program counter, stack pointer, and register values. Multiple threads can exist within a single process, sharing the same resources.3. Discuss the advantages and disadvantages of using threads instead of processes.One advantage of using threads instead of processes is that they are more lightweight in terms of resource consumption. Since threads share the same memory space, inter-thread communication is faster and uses less memory compared to inter-process communication. Threads also enable betterutilization of multi-core processors, as multiple threads can run in parallel on different cores.However, there are also disadvantages to using threads. The main disadvantage is that threads within the same process can interfere with each other if not properly synchronized. This can lead to issues such as race conditions, deadlocks, and data corruption. Additionally, debugging and testing multi-threaded applications can be more complex and time-consuming compared to single-threaded applications.4. Explain the concepts of mutual exclusion, deadlock, and starvation in the context of operating systems.Mutual exclusion refers to the concept of ensuring that only one process or thread can access a shared resource at a time. This is typically achieved using synchronization mechanisms such as locks or semaphores. Mutual exclusion is important to prevent data corruption or inconsistent results due to concurrent access.Deadlock occurs when two or more processes are waiting indefinitely for each other to release resources, resulting in a situation where none of the processes can proceed. It can happen when processes acquire resources in a different order or when they fail to release resources properly. Deadlocks can lead to system failures and require careful resource allocation and scheduling algorithms to avoid.Starvation refers to a situation where a process is unable to acquire the necessary resources to progress, despite its requests. It can occur when resource allocation policies favor certain processes over others, leading to along waiting time for some processes. Starvation can negatively impact the performance and fairness of the system.5. Discuss the purpose and functionality of memory management units (MMUs) in operating systems.Memory management units (MMUs) are hardware components responsible for translating virtual memory addresses used by processes into physical memory addresses. They provide address translation and memory protection mechanisms. MMUs use page tables or translation lookaside buffers (TLBs) to map virtual addresses to physical addresses, allowing processes to utilize more memory than physically available.MMUs also enforce memory protection by assigning memory access permissions to different regions of the process's address space. This prevents processes from accessing memory that they should not be able to, ensuring data integrity and security. Additionally, MMUs help optimize memory access by caching frequently used memory pages in the TLB, reducing the number of costly memory accesses.Overall, MMUs play a crucial role in memory management, allowing processes to have their own virtual address spaces and ensuring efficient and secure memory access.(Note: The above answers are just sample content for the given topic. Please modify and expand them according to your needs, as the word limit has been exceeded.)。

计算机操作系统(第四版)课后习题答案(完整版)

计算机操作系统(第四版)课后习题答案(完整版)

计算机操作系统(第四版)课后习题答案(完整版)第⼀章1.设计现代OS的主要⽬标是什么?答:(1)有效性(2)⽅便性(3)可扩充性(4)开放性2.OS的作⽤可表现在哪⼏个⽅⾯?答:(1)OS作为⽤户与计算机硬件系统之间的接⼝(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS⾸先在裸机上覆盖⼀层I/O设备管理软件,实现了对计算机硬件操作的第⼀层次抽象;在第⼀层软件上再覆盖⽂件管理软件,实现了对硬件资源操作的第⼆层次抽象。

OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。

4.试说明推动多道批处理系统形成和发展的主要动⼒是什么?答:主要动⼒来源于四个⽅⾯的社会需求与技术发展:(1)不断提⾼计算机资源的利⽤率;(2)⽅便⽤户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。

5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有⽤户程序和数据的纸带或卡⽚装⼊纸带输⼊机或卡⽚机,在外围机的控制下,把纸带或卡⽚上的数据或程序输⼊到磁带上。

该⽅式下的输⼊输出由外围机控制完成,是在脱离主机的情况下进⾏的。

⽽联机I/O⽅式是指程序和数据的输⼊输出都是在主机的直接控制下进⾏的。

6.试说明推动分时系统形成和发展的主要动⼒是什么?答:推动分时系统形成和发展的主要动⼒是更好地满⾜⽤户的需要。

主要表现在:CPU 的分时使⽤缩短了作业的平均周转时间;⼈机交互能⼒使⽤户能直接控制⾃⼰的作业;主机的共享使多⽤户能同时使⽤同⼀台计算机,独⽴地处理⾃⼰的作业。

7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当⽤户在⾃⼰的终端上键⼊命令时,系统应能及时接收并及时处理该命令,在⽤户能接受的时延内将结果返回给⽤户。

解决⽅法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收⽤户从各个终端上输⼊的数据;为每个终端配置缓冲区,暂存⽤户键⼊的命令或数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档