《操作系统精髓与设计原理·第六版》中文版标准答案
- 格式:doc
- 大小:953.50 KB
- 文档页数:73
操作系统课后答案详细讲解第一章操作系统引论思量与练习题1.什么是操作系统?它的主要功能是什么?2.什么是多道程序设计技术?多道程序设计技术的主要特点是什么?3.批处理系统是怎样的一种操作系统?它的特点是什么?4.什么是分时系统?什么是实时系统?试从交互性,准时性,自立性,多路性,牢靠性等几个方面比较分时系统和实施系统。
5.实时系统分为哪俩种类型?6.操作系统主要特征是什么?7.操作系统也用户的接口有几种?它们各自用在什么场合?8.“操作系统是控制硬件的软件”这一说法确切吗?为什么?9.设存中有三道程序,A,B,C,它们按A~B~C的先后挨次执行,它们举行“计算”和“I/o操作”的时光如表1-2所示,假设三道程序使用相同的I/O设备。
(1)试画出单道运行时三道程序的时光关系图,并计算完成三道程序要花多少时光。
(2)试画出多道运行时三道程序的时光关系图,并计算完成三道程序要花多少时光。
10.将下列左右两列词衔接起来形成意义最恰当的5对。
DOS 网络操作系统OS/2 自由软件UNIX 多任务Linux 单任务Windows NT 为开发操作系统而设计C语言11.挑选一个现代操作系统,查找和阅读相关的技术资料,写一篇关于操作系统如何举行存管理、存储管理、设备管理和文件管理的文章。
答案1.答:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以便利用户使用的程序集合。
2.答:把多个自立的程序同时放入存,使她们分享系统中的资源。
1)多道,即计算机存中同时放多道互相自立的程序。
2)宏观上并行,是指共识进入系统的多道程序都处于运行过程。
3)微观上串行,是指在单道处理机环境下,存中的多道程序轮番地占有CPU,交替执行。
3.答:批处理操作系统是一种基本的操作系统类型。
在该系统中用户的作业被成批地输入到计算机中,然后在操作系统的控制下,用户的作业自动的执行。
特点是:资源利用率高。
系统吞吐量大。
平均周转时光长。
操作系统精髓与设计原理课后复习题答案第1章计算机系统概述1.1 列出并简要地定义计算机的四个主要组成部分。
主存储器,存储数据和程序;算术逻辑单元,能处理⼆进制数据;控制单元,解读存储器中的指令并且使他们得到执⾏;输⼊/输出设备,由控制单元管理。
1.2 定义处理器寄存器的两种主要类别。
⽤户可见寄存器:优先使⽤这些寄存器,可以使机器语⾔或者汇编语⾔的程序员减少对主存储器的访问次数。
对⾼级语⾔⽽⾔,由优化编译器负责决定把哪些变量应该分配给主存储器。
⼀些⾼级语⾔,如C语⾔,允许程序⾔建议编译器把哪些变量保存在寄存器中。
控制和状态寄存器:⽤以控制处理器的操作,且主要被具有特权的操作系统例程使⽤,以控制程序的执⾏。
1.3 ⼀般⽽⾔,⼀条机器指令能指定的四种不同操作是什么?处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。
处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输⼊数据。
数据处理:处理器可以执⾏很多关于数据的算术操作或逻辑操作。
控制:某些指令可以改变执⾏顺序。
1.4 什么是中断?中断:其他模块(I/O,存储器)中断处理器正常处理过程的机制。
1.5 多中断的处理⽅式是什么?处理多中断有两种⽅法。
第⼀种⽅法是当正在处理⼀个中断时,禁⽌再发⽣中断。
第⼆种⽅法是定义中断优先级,允许⾼优先级的中断打断低优先级的中断处理器的运⾏。
1.6 内存层次的各个元素间的特征是什么?存储器的三个重要特性是:价格,容量和访问时间。
1.7 什么是⾼速缓冲存储器?⾼速缓冲存储器是⽐主存⼩⽽快的存储器,⽤以协调主存跟处理器,作为最近储存地址的缓冲区。
1.8 列出并简要地定义I/O操作的三种技术。
可编程I/O:当处理器正在执⾏程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令(⽤以执⾏这个指令);在进⼀步的动作之前,处理器处于繁忙的等待中,直到该操作已经完成。
中断驱动I/O:当处理器正在执⾏程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令,并继续执⾏后续指令,直到后者完成,它将被I/O模块中断。
操作系统精髓与设计原理英汉对照Introduction操作系统是计算机系统的重要组成部分,它管理计算机硬件资源并提供了一种资源的抽象化与共享机制,从而方便应用程序的运行。
本文是一个操作系统精髓与设计原理的英汉对照,旨在帮助读者更好地理解操作系统的基本概念,系统结构,进程管理和调度,内存管理,文件系统,和设备管理等核心概念。
Operating System操作系统(Operating System)是一种多任务处理程序,它负责管理计算机硬件和资源,为用户和其他软件提供服务。
它是一个核心控制程序,用于控制计算机中所有其他程序的执行和交互。
Kernel内核(Kernel)是操作系统的核心,它是运行硬件和其他软件之间的接口。
内核是操作系统的关键组件,负责管理系统所有的资源和进程。
Process Management进程管理(Process Management)是操作系统中的关键部分,负责管理和控制系统中运行的所有进程。
进程是指正在执行的程序实例。
它们是计算机中最基本的执行单元。
Scheduling调度(Scheduling)是管理操作系统中所有进程的过程。
调度程序通过决定何时执行进程以及何时将进程转移到等待状态来协调进程之间的执行。
Memory Management内存管理(Memory Management)是操作系统中的另一个核心任务,负责管理机器的内存。
操作系统通过内存管理来确保每个程序都具有所需的内存,以便正常运行。
File Systems文件系统(File Systems)是操作系统中的一个组成部分,负责管理和组织机器上存储器的访问。
操作系统会将磁盘上的文件逻辑地分成若干段,称为“文件”,以使它们易于查找和管理。
Device Management设备管理(Device Management)是操作系统中最后一个重要的组成部分,它负责管理计算机硬件,识别和管理所有外部设备,如打印机,键盘,扫描仪和鼠标等。
操作系统教程课后习题参考答案习题一习题二习题三习题四习题五习题六习题一1.设计操作系统的主要目的是什么?设计操作系统的目的是:(1)从系统管理人员的观点来看,设计操作系统是为了合理地去组织计算机工作流程,管理和分配计算机系统硬件及软件资源,使之能为多个用户所共享。
因此,操作系统是计算机资源的管理者。
(2)从用户的观点来看,设计操作系统是为了给用户使用计算机提供一个良好的界面,以使用户无需了解许多有关硬件和系统软件的细节,就能方便灵活地使用计算机。
2.操作系统的作用可表现在哪几个方面?(1) 方便用户使用:操作系统通过提供用户与计算机之间的友好界面来方便用户使用。
(2) 扩展机器功能:操作系统通过扩充硬件功能和提供新的服务来扩展机器功能。
(3) 管理系统资源:操作系统有效地管理系统中的所有硬件和软件资源,使之得到充分利用。
(4) 提高系统效率:操作系统合理组织计算机的工作流程,以改进系统性能和提高系统效率。
(5)构筑开放环境:操作系统遵循国际标准来设计和构造一个开放环境。
其含义主要是指:遵循有关国际工业标准和开放系统标准,支持体系结构的可伸缩性和可扩展性;支持应用程序在不同平台上的可移植性和互操作性。
3.试叙述脱机批处理和联机批处理工作过程(1)联机批处理工作过程用户上机前,需向机房的操作员提交程序、数据和一个作业说明书,后者提供了用户标识、用户想使用的编译程序以及所需的系统资源等基本信息。
这些资料必须变成穿孔信息,(例如穿成卡片的形式),操作员把各用户提交的一批作业装到输入设备上(若输入设备是读卡机,则该批作业是一叠卡片),然后由监督程序控制送到磁带上。
之后,监督程序自动输入第一个作业的说明记录,若系统资源能满足其要求,则将该作业的程序、数据调入主存,并从磁带上调入所需要的编译程序。
编译程序将用户源程序翻译成目标代码,然后由连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行的程序,接着启动执行。
复习题答案第1章计算机系统概述1、1 列出并简要地定义计算机得四个主要组成部分。
主存储器,存储数据与程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中得指令并且使她们得到执行;输入/输出设备,由控制单元管理。
1、2 定义处理器寄存器得两种主要类别。
用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言得程序员减少对主存储器得访问次数。
对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。
一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。
控制与状态寄存器:用以控制处理器得操作,且主要被具有特权得操作系统例程使用,以控制程序得执行。
1、3 一般而言,一条机器指令能指定得四种不同操作就是什么?处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。
处理器-I/O:通过处理器与I/O模块间得数据传送,数据可以输出到外部设备,或者从外部设备输入数据。
数据处理:处理器可以执行很多关于数据得算术操作或逻辑操作。
控制:某些指令可以改变执行顺序。
1、4 什么就是中断?中断:其她模块(I/O,存储器)中断处理器正常处理过程得机制。
1、5 多中断得处理方式就是什么?处理多中断有两种方法。
第一种方法就是当正在处理一个中断时,禁止再发生中断。
第二种方法就是定义中断优先级,允许高优先级得中断打断低优先级得中断处理器得运行。
1、6 内存层次得各个元素间得特征就是什么?存储器得三个重要特性就是:价格,容量与访问时间。
1、7 什么就是高速缓冲存储器?高速缓冲存储器就是比主存小而快得存储器,用以协调主存跟处理器,作为最近储存地址得缓冲区。
1、8 列出并简要地定义I/O操作得三种技术。
可编程I/O:当处理器正在执行程序并遇到与I/O相关得指令时,它给相应得I/O模块发布命令(用以执行这个指令);在进一步得动作之前,处理器处于繁忙得等待中,直到该操作已经完成。
中断驱动I/O:当处理器正在执行程序并遇到与I/O相关得指令时,它给相应得I/O模块发布命令,并继续执行后续指令,直到后者完成,它将被I/O模块中断。
操作系统-精髓与设计原理第六版课程设计
一、课程设计概述
本次课程设计的主题是操作系统-精髓与设计原理第六版,旨在通过学习操作
系统的基本原理和设计方法,加深对操作系统的理解并提高编程能力。
具体设计任务包括:
1.熟悉LINUX系统下进程管理、内存管理、文件系统、I/O操作等核心
功能;
2.基于LINUX系统调用,进行简单的应用程序设计;
3.掌握操作系统中重要算法的设计和实现方法;
4.使用模拟器编写简化版的操作系统内核;
5.维护代码库,并持续改进代码质量和性能。
我们希望通过本次课程设计,让学生在较短时间内深入了解操作系统的核心原理,培养分析和解决实际问题的能力,同时提高代码实现和管理的能力。
二、课程设计内容
1. LINUX系统进程管理、内存管理和文件系统
进程管理是操作系统中重要的核心功能之一,负责进程的创建、撤销和调度等
操作。
在本部分设计中,我们将分析进程调度算法、进程间通信等重要概念,并结合LINUX 提供的API,编写应用程序,如进程创建和控制等。
内存管理是操作系统中非常重要的组成部分,负责程序内存的管理、分配和回收,是操作系统性能的重要因素之一。
在本部分课程设计中,我们将学习虚拟内存、页面置换算法和分配页面算法,以及内存保护等核心概念,并结合LINUX系统,实现简单的内存分配和管理。
1。
操作系统骆斌第六版课后答案操作系统是计算机科学中的一门重要课程,它研究计算机系统的设计、实现和管理,对于理解计算机内部工作原理和技术发展具有重要意义。
骆斌的《操作系统》第六版是该领域的经典教材,本文将为读者提供该教材的第六版课后答案,帮助您更好地学习和理解操作系统的相关知识。
第一章绪论1. 什么是操作系统?操作系统是计算机系统中的核心软件,它负责管理和控制计算机的硬件资源,提供用户界面和程序运行环境,以及进行各种系统任务的支持和管理。
2. 操作系统的功能有哪些?操作系统的主要功能包括进程管理、内存管理、文件系统管理和设备管理。
进程管理负责进程的创建、调度和同步;内存管理负责内存的分配、回收和保护;文件系统管理负责文件的存储和管理;设备管理负责对设备的分配、控制和调度。
3. 操作系统与应用程序、硬件之间的关系是什么?操作系统是位于应用程序和硬件之间的一层软件,它作为一个中介,为应用程序提供运行环境和服务,同时管理和控制硬件资源的分配和使用。
第二章进程管理1. 什么是进程?进程是计算机中正在执行的程序的实例,它拥有独立的执行流和运行环境。
进程是操作系统进行资源分配和调度的基本单位。
2. 进程状态有哪些?分别表示什么含义?进程状态包括就绪状态、运行状态和阻塞状态。
就绪状态表示进程已经准备好执行,等待CPU资源;运行状态表示进程正在执行;阻塞状态表示进程由于等待某些事件而无法执行。
3. 进程调度的目标是什么?进程调度的主要目标是提高系统的资源利用率和响应时间,使得多个进程能够公平地竞争CPU资源,并保证系统的稳定性和高效性。
第三章内存管理1. 什么是虚拟内存?虚拟内存是指操作系统将物理内存和磁盘空间组合起来,为每个进程提供了一个虚拟的地址空间。
虚拟内存通过页表机制实现地址映射,使得进程能够以统一的方式使用内存。
2. 页表是什么?它的作用是什么?页表是用于进行虚拟地址到物理地址的转换的数据结构,它记录了虚拟内存中每个页面与物理内存中的帧之间的映射关系。
《操作系统教程》习题答案习题11(单项选择题(1)大中小型计算机是以为中心的计算机系统。
A、CPUB、存储器C、系统总线D、通道(2)以下关于操作系统的说法正确的是。
A、批处理系统是实现人机交互的系统B、批处理系统具有批处理功能,但不具有交互能力C、分时系统是实现自动控制,无须人为干预的系统D、分时系统即具有分时交互能力,又具有批处理能力(3)操作系统的职能是管理软硬件资源、合理地组织计算机工作流程和。
A、为用户提供良好的工作环境和接口B、对用户的命令作出快速响应C、作为服务机构向其它站点提供优质服务D、防止有人以非法手段进入系统(4)设计实时操作系统时,首先应考虑系统的。
A、可靠性和灵活性B、实时性和可靠性C、优良性和分配性D、灵活性和分配性(5)多道程序设计是指。
A、在分布式系统中同一时刻运行多个程序B、在一台处理器上并行运行多个程序C、在实时系统中并发运行多个程序D、在一台处理器上并发运行多个程序(6)以下关于并发性和并行性的说法正确的是。
A、并发性是指两个及多个事件在同一时刻发生B、并发性是指两个及多个事件在同一时间间隔内发生C、并行性是指两个及多个事件在同一时间间隔内发生D、并发性是指进程,并行性是指程序(1)B (2)B (3)A (4)B (5)D (6)B2(填空题(1)微机是以总线为纽带构成的计算机系统。
(2)在批处理兼分时系统中,往往把由分时系统控制的作业称为前台作业,把由批处理系统控制的作业称为后台作业。
(3)在分时系统中,若时间片长度一定,则用户数越多,系统响应时间越慢。
(4)分布式操作系统能使系统中若干台计算机协同完成一个共同的任务,分解问题成为子计算并使之在系统中各台计算机上并行执行,以充分利用各计算机的优势。
(5)用户通过网络操作系统可以网络通信、资源共享,从而大大扩展了计算机的应用范围。
3(简答题(1)什么是操作系统,现代操作系统的基本特征是什么, 并发性 (2)什么是批处理系统,衡量批处理系统好坏的主要指标是什么, 及时性 (3)试述分时系统的原理及其特性。
操作系统教程课后习题参考答案习题一习题二习题三习题四习题五习题六习题一1.设计操作系统的主要目的是什么?设计操作系统的目的是:(1)从系统管理人员的观点来看,设计操作系统是为了合理地去组织计算机工作流程,管理和分配计算机系统硬件及软件资源,使之能为多个用户所共享。
因此,操作系统是计算机资源的管理者。
(2)从用户的观点来看,设计操作系统是为了给用户使用计算机提供一个良好的界面,以使用户无需了解许多有关硬件和系统软件的细节,就能方便灵活地使用计算机。
2.操作系统的作用可表现在哪几个方面?(1) 方便用户使用:操作系统通过提供用户与计算机之间的友好界面来方便用户使用。
(2) 扩展机器功能:操作系统通过扩充硬件功能和提供新的服务来扩展机器功能。
(3) 管理系统资源:操作系统有效地管理系统中的所有硬件和软件资源,使之得到充分利用。
(4) 提高系统效率:操作系统合理组织计算机的工作流程,以改进系统性能和提高系统效率。
(5)构筑开放环境:操作系统遵循国际标准来设计和构造一个开放环境。
其含义主要是指:遵循有关国际工业标准和开放系统标准,支持体系结构的可伸缩性和可扩展性;支持应用程序在不同平台上的可移植性和互操作性。
3.试叙述脱机批处理和联机批处理工作过程(1)联机批处理工作过程用户上机前,需向机房的操作员提交程序、数据和一个作业说明书,后者提供了用户标识、用户想使用的编译程序以及所需的系统资源等基本信息。
这些资料必须变成穿孔信息,(例如穿成卡片的形式),操作员把各用户提交的一批作业装到输入设备上(若输入设备是读卡机,则该批作业是一叠卡片),然后由监督程序控制送到磁带上。
之后,监督程序自动输入第一个作业的说明记录,若系统资源能满足其要求,则将该作业的程序、数据调入主存,并从磁带上调入所需要的编译程序。
编译程序将用户源程序翻译成目标代码,然后由连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行的程序,接着启动执行。
习题6答案习题66.1何谓死锁?死锁产生的原因和必要条件是什么?答:a.死锁是指多个进程因竟争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进;b.产生死锁的原因有二: 一是竟争资源,二是进程推进顺序非法;c.必要条件是:互斥条件,请求和保持条件,非剥夺条件和循环等待条件。
6.2列出日常生活中的几个死锁的例子。
答:略。
6.3在一个死锁中,只包含一个进程是否可能?答:不可能。
6.4死锁和饥饿的主要区别是什么?答:饥饿与死锁有一定联系:二者都是由于竞争资源而引起的,但又有明显差别,主要表现在如下几个方面:(1)从进程状态考虑,死锁进程都处于等待状态,忙式等待(处于运行或就绪状态)的进程并非处于等待状态,但却可能被饿死;(2)死锁进程等待永远不会被释放的资源,饿死进程等待会被释放但却不会分配给自己的资源,表现为等待时限没有上界(排队等待或忙式等待);(3)死锁一定发生了循环等待,而饿死则不然。
这也表明通过资源分配图可以检测死锁存在与否,但却不能检测是否有进程饿死;(4)死锁一定涉及多个进程,而饥饿或被饿死的进程可能只有一个。
饥饿和饿死与资源分配策略有关,因而防止饥饿与饿死可从公平性考虑,确保所有进程不被忽视,如FCFS分配算法。
6.5一台计算机共8台磁带机,由N个进程共享,每个进程最多要3台,问N为多少时不会有死锁,为什么?答:N<=3,可通过画出资源分配图来解。
6.6有R1(2个)、R2(1个)两类资源和两个进程P1、P2,两个进程均以:申请R1Æ申请R2Æ申请R1Æ释放R1Æ释放R2Æ释放R1的顺序使用资源,求可能达到的死锁点,并画出此时的资源分配图。
答:当两个进程都执行完第1步后,无论哪个进程执行完第2步,以后,这两个进程再申请资源时就会死锁。
6.7解决死锁的方法有哪几种?哪种方法最容易实现?哪种方法使资源的利用率最高?答:解决死锁可归纳为4种方法:预防死锁,避免死锁,检测死锁和解除死锁。
1.1What are the three main purposes of an operati ng system?1 To provide an environment for a computer user to execute programs on computer hardware in a convenient and ef ?cie nt manner.2 To allocate the separate resources of the computer as n eeded to solve the problem given. The allocation process should be as fair and ef ?cient as possible.3 As a control program it serves two major functions: (1) supervision of the execution of user programs to preve nt errors and improper use of the computer, and (2) man age- ment of the operati on and con trol of I/O devices.环境提供者,为计算机用户提供一个环境,使得能够在计算机硬件上方便、高效的执行程序资源分配者,为解决问题按需分配计算机的资源,资源分配需尽可能公平、高效控制程序监控用户程序的执行,防止出错和对计算机的不正当使用管理I/O设备的运行和控制1.2 List the four steps that are n ecessary to run a progra mon a completely dedicatedmach ine.An swer: Gen erally, operati ng systems for batch systems have simpler requireme nts tha n for pers onal computers. Batch systems do not have to be concerned with in teract ing with a user as much as a pers onal computer. As a result, an operat ing system for a PC must be concerned with resp onse time for an in teractive user. Batch systems do not have such requireme nts. A pure batch system also may have not to han dle time shari ng,whereas an operat ing systemmust switch rapidly betwee n differe nt jobs.木有找到中文答案1.6 Define the essential properties of the following types of operating systems:a. Batchb. I nteractivec. Time shari ngd. Real timee. Networkf. Distributeda. Batch. Jobs with similar n eeds are batched together and run through the computer as a group by an operator or automatic job seque ncer. Performa nee is in creased by attempting to keep CPU and I/O devices busy at all times through buffering, off-line operati on, spooli ng, and multiprogram ming. Batch is good for execut ing large jobs that n eed little in teract ion; it can be submitted and picked up later.b. I nteractive. This system is composed of many short tran sact ions where the results of the n ext tran sacti on may be un predictable. Resp onse time n eeds to be short (sec on ds) since the user submits and waits for the result.c. Time shari ng.Thissystemsuses CPU scheduli ng and multiprogram ming to provide econo mical in teractive use of a system. The CPU switches rapidly from one user toanother. Instead of having a job de ?ned by spooled card images, each program readsits next control card from the terminal, and output is normally printed immediately to the scree n.d. Real time. Often used in a dedicated application, this system reads information from sen sors and must resp ond with in a ?xed amount of time to en sure correct performan ce.e. Network.f. Distributed.This system distributes computati on among several physical processors.The processors do not share memory or a clock. In stead, each processor has its ownlocal memory. They com muni cate with each other through various com mun icatio n lin es, such as a high-speed bus or teleph one line.a. Batch相似需求的Job分批、成组的在计算机上执行,Job由操作员或自动Job程序装置装载;可以通过采用buffering, off-line operation, spooling, multiprogramming 等技术使CPU 和I/O不停忙来提高性能批处理适合于需要极少用户交互的Job。
《操作系统精髓与设计原理·第六版》中文版答案————————————————————————————————作者:————————————————————————————————日期:2复习题答案第1章计算机系统概述1.1 列出并简要地定义计算机的四个主要组成部分。
主存储器,存储数据和程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中的指令并且使他们得到执行;输入/输出设备,由控制单元管理。
1.2 定义处理器寄存器的两种主要类别。
用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。
对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。
一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。
控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。
1.3 一般而言,一条机器指令能指定的四种不同操作是什么?处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。
处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据。
数据处理:处理器可以执行很多关于数据的算术操作或逻辑操作。
控制:某些指令可以改变执行顺序。
1.4 什么是中断?中断:其他模块(I/O,存储器)中断处理器正常处理过程的机制。
1.5 多中断的处理方式是什么?处理多中断有两种方法。
第一种方法是当正在处理一个中断时,禁止再发生中断。
第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。
1.6 内存层次的各个元素间的特征是什么?存储器的三个重要特性是:价格,容量和访问时间。
1.7 什么是高速缓冲存储器?高速缓冲存储器是比主存小而快的存储器,用以协调主存跟处理器,作为最近储存地址的缓冲区。
1.8 列出并简要地定义I/O操作的三种技术。
可编程I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令(用以执行这个指令);在进一步的动作之前,处理器处于繁忙的等待中,直到该操作已经完成。
中断驱动I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令,并继续执行后续指令,直到后者完成,它将被I/O模块中断。
如果它对于进程等待I/O的完成来说是不必要的,可能是由于后续指令处于相同的进程中。
否则,此进程在中断之前将被挂起,其他工作将被执行。
直接存储访问:DMA模块控制主存与I/O模块间的数据交换。
处理器向DMA模块发送一个传送数据块的请求,(处理器)只有当整个数据块传送完毕后才会被中断。
1.9 空间局部性和临时局部性间的区别是什么?空间局部性是指最近被访问的元素的周围的元素在不久的将来可能会被访问。
临时局部性(即时间局部性)是指最近被访问的元素在不久的将来可能会被再次访问。
1.10 开发空间局部性和时间局部性的策略是什么?空间局部性的开发是利用更大的缓冲块并且在存储器控制逻辑中加入预处理机制。
时间局部性的开发是利用在高速缓冲存储器中保留最近使用的指令及数据,并且定义缓冲存储的优先级。
第2章操作系统概述2.1 操作系统设计的三个目标是什么?方便:操作系统使计算机更易于使用。
有效:操作系统允许以更有效的方式使用计算机系统资源。
扩展的能力:在构造操作系统时,应该允许在不妨碍服务的前提下有效地开发、测试和引进新的系统功能。
2.2 什么是操作系统的内核?内核是操作系统最常使用的部分,它存在于主存中并在特权模式下运行,响应进程调度和设备中断。
2.3 什么是多道程序设计?多道程序设计是一种处理操作,它在两个或多个程序间交错处理每个进程。
2.4 什么是进程?进程是一个正在执行的程序,它被操作系统控制和选择。
2.5 操作系统是怎么使用进程上下文的?执行上下文又称为进程状态,是操作系统用来管理和控制所需的内部数据。
这种内部信息和进程是分开的,因为操作系统信息不允许被进程直接访问。
上下文包括操作系统管理进程以及处理器正确执行进程所需要的所有信息,包括各种处理器寄存器的内容,如程序计数器和数据寄存器。
它还包括操作系统使用的信息,如进程优先级以及进程是否在等待特定I/O事件的完成。
2.6 列出并简要介绍操作系统的五种典型存储管理职责。
进程隔离:操作系统必须保护独立的进程,防止互相干涉数据和存储空间。
自动分配和管理:程序应该根据需要在存储层次间动态的分配,分配对程序员是透明的。
因此,程序员无需关心与存储限制有关的问题,操作系统有效的实现分配问题,可以仅在需要时才给作业分配存储空间。
2.7 解释实地址和虚地址的区别。
虚地址指的是存在于虚拟内存中的地址,它有时候在磁盘中有时候在主存中。
实地址指的是主存中的地址。
2.8 描述轮循调度技术。
轮循调度是一种调度算法,所有的进程存放在一个环形队列中并按固定循序依次激活。
因为等待一些事件(例如:等待一个子进程或一个I/O操作)的发生而不能被处理的进程将控制权交给调度器。
2.9 解释单体内核和微内核的区别。
单体内核是一个提供操作系统应该提供的功能的大内核,包括调度、文件系统、网络、设备驱动程序、存储管理等。
内核的所有功能成分都能够访问它的内部数据结构和程序。
典型情况下,这个大内核是作为一个进程实现的,所有元素都共享相同的地址空间。
微内核是一个小的有特权的操作系统内核,只提供包括进程调度、内存管理、和进程间通信等基本功能,要依靠其他进程担当起和操作系统内核联系作用。
2.10 什么是多线程?多线程技术是指把执行一个应用程序的进程划分成可以同时运行的多个线程。
第3章进程描述和控制3.1 什么是指令跟踪?指令跟踪是指为该进程而执行的指令序列。
3.2 通常那些事件会导致创建一个进程?新的批处理作业;交互登录;操作系统因为提供一项服务而创建;由现有的进程派生。
(表3.1)3.3 对于图3.6中的进程模型,请简单定义每个状态。
运行态:该进程正在执行。
就绪态:进程做好了准备,只要有机会就开始执行。
阻塞态:进程在某些事件发生前不能执行,如I/O操作完成。
新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。
退出态:操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。
3.4 抢占一个进程是什么意思?处理器为了执行另外的进程而终止当前正在执行的进程,这就叫进程抢占。
3.5 什么是交换,其目的是什么?交换是指把主存中某个进程的一部分或者全部内容转移到磁盘。
当主存中没有处于就绪态的进程时,操作系统就把一个阻塞的进程换出到磁盘中的挂起队列,从而使另一个进程可以进入主存执行。
3.6 为什么图3.9(b)中有两个阻塞态?有两个独立的概念:进程是否在等待一个事件(阻塞与否)以及进程是否已经被换出主存(挂起与否)。
为适应这种2*2的组合,需要两个阻塞态和两个挂起态。
3.7 列出挂起态进程的4个特点。
1.进程不能立即执行。
2.进程可能是或不是正在等待一个事件。
如果是,阻塞条件不依赖于挂起条件,阻塞事件的发生不会使进程立即被执行。
3.为了阻止进程执行,可以通过代理把这个进程置于挂起态,代理可以是进程自己,也可以是父进程或操作系统。
4.除非代理显式地命令系统进行状态转换,否则进程无法从这个状态中转移。
3.8 对于哪类实体,操作系统为了管理它而维护其信息表?内存、I/O、文件和进程。
3.9 列出进程控制块中的三类信息。
进程标识,处理器状态信息,进程控制信息。
3.10 为什么需要两种模式(用户模式和内核模式)?用户模式下可以执行的指令和访问的内存区域都受到限制。
这是为了防止操作系统受到破坏或者修改。
而在内核模式下则没有这些限制,从而使它能够完成其功能。
3.11 操作系统创建一个新进程所执行的步骤是什么?1.给新进程分配一个唯一的进程标识号。
2.给进程分配空间。
3.初始化进程控制块。
4.设置正确的连接。
5.创建或扩充其他的数据结构。
3.12 中断和陷阱有什么区别?中断与当前正在运行的进程无关的某些类型的外部事件相关,如完成一次I/O操作。
陷阱与当前正在运行的进程所产生的错误或异常条件相关,如非法的文件访问。
3.13 举出中断的三个例子。
时钟终端,I/O终端,内存失效。
3.14 模式切换和进程切换有什么区别?发生模式切换可以不改变当前正处于运行态的进程的状态。
发生进程切换时,一个正在执行的进程被中断,操作系统指定另一个进程为运行态。
进程切换需要保存更多的状态信息。
第4章线程、对称多处理和微内核4.1 表3.5列出了在一个没有线程的操作系统中进程控制块的基本元素。
对于多线程系统,这些元素中那些可能属于线程控制块,那些可能属于进程控制块?这对于不同的系统来说通常是不同的,但一般来说,进程是资源的所有者,而每个线程都有它自己的执行状态。
关于表3.5中的每一项的一些结论如下:进程标识:进程必须被标识,而进程中的每一个线程也必须有自己的ID。
处理器状态信息:这些信息通常只与进程有关。
进程控制信息:调度和状态信息主要处于线程级;数据结构在两级都可出现;进程间通信和线程间通信都可以得到支持;特权在两级都可以存在;存储管理通常在进程级;资源信息通常也在进程级。
4.2 请列出线程间的模式切换比进程间的模式切换开销更低的原因。
包含的状态信息更少。
4.3 在进程概念中体现出的两个独立且无关的特点是什么?资源所有权和调度/执行。
4.4 给出在单用户多处理系统中使用线程的四个例子。
前台和后台操作,异步处理,加速执行和模块化程序结构。
4.5 哪些资源通常被一个进程中的所有线程共享?例如地址空间,文件资源,执行特权等。
4.6 列出用户级线程优于内核级线程的三个优点。
1.由于所有线程管理数据结构都在一个进程的用户地址空间中,线程切换不需要内核模式的特权,因此,进程不需要为了线程管理而切换到内核模式,这节省了在两种模式间进行切换(从用户模式到内核模式;从内核模式返回用户模式)的开销。
2.调用可以是应用程序专用的。
一个应用程序可能倾向于简单的轮询调度算法,而另一个应用程序可能倾向于基于优先级的调度算法。
调度算法可以去适应应用程序,而不会扰乱底层的操作系统调度器。
3.用户级线程可以在任何操作系统中运行,不需要对底层内核进行修改以支持用户级线程。
线程库是一组供所有应用程序共享的应用级软件包。
4.7 列出用户级线程相对于内核级线程的两个缺点。
1.在典型的操作系统中,许多系统调用都会引起阻塞。
因此,当用户级线程执行一个系统调用时,不仅这个线程会被阻塞,进程中的所有线程都会被阻塞。
2.在纯粹的用户级进程策略中,一个多线程应用程序不能利用多处理技术。
内核一次只把一个进程分配给一个处理器,因此一次进程中只能有一个线程可以执行。