搜档网
当前位置:搜档网 › 操作系统教程(谢旭升,朱明华,张练兴,李宏伟) 2

操作系统教程(谢旭升,朱明华,张练兴,李宏伟) 2

操作系统教程(谢旭升,朱明华,张练兴,李宏伟) 2
操作系统教程(谢旭升,朱明华,张练兴,李宏伟) 2

操作系统教程课后习题参考答案

习题一 (1)

习题二 (7)

习题三 (22)

习题四 (29)

习题五 (38)

习题六 (43)

习题一

1.设计操作系统的主要目的是什么?

设计操作系统的目的是:

(1)从系统管理人员的观点来看,设计操作系统是为了合理地去组织计算机工作流程,管理和分配计算机系统硬件及软件资源,使之能为多个用户所共享。因此,操作系统是计算机资源的管理者。

(2)从用户的观点来看,设计操作系统是为了给用户使用计算机提供一个良好的界面,以使用户无需了解许多有关硬件和系统软件的细节,就能方便灵活地使用计算机。

2.操作系统的作用可表现在哪几个方面?

(1)方便用户使用:操作系统通过提供用户与计算机之间的友好界面来方便用户使用。

(2)扩展机器功能:操作系统通过扩充硬件功能和提供新的服务来扩展机器功能。

(3)管理系统资源:操作系统有效地管理系统中的所有硬件和软件资源,使之得到充分利用。

(4)提高系统效率:操作系统合理组织计算机的工作流程,以改进系统性能和提高系统效率。

(5)构筑开放环境:操作系统遵循国际标准来设计和构造一个开放环境。其含义主要是指:遵循有关国际工业标准和开放系统标准,支持体系结构的可伸缩性和可扩展性;支持应用程序在不同平台上的可移植性和互操作性。

3.试叙述脱机批处理和联机批处理工作过程

(1)联机批处理工作过程

用户上机前,需向机房的操作员提交程序、数据和一个作业说明书,后者提供了用户标识、用户想使用的编译程序以及所需的系统资源等基本信息。这些资料必须变成穿孔信息,(例如穿成卡片的形式),操作员把各用户提交的一批作业装到输入设备上(若输入设备是读卡机,则该批作业是一叠卡片),然后由监督程序控制送到磁带上。之后,监督程序自动

输入第一个作业的说明记录,若系统资源能满足其要求,则将该作业的程序、数据调入主存,并从磁带上调入所需要的编译程序。编译程序将用户源程序翻译成目标代码,然后由连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行的程序,接着启动执行。计算完成后输出该作业的计算结果。一个作业处理完毕后,监督程序又可以自动地调下一个作业处理。重复上述过程,直到该批作业全部处理完毕。 (2)脱机批处理系统 脱机批处理系统由主机和卫星机组成,如下图所示。卫星机又称外围计算机,它不与主机直接连接,只与外部设备打交道。卫星机负责把输入机上的作业逐个转输到输入磁带上,当主机需要输入作业时,就把输入带与主机连上。主机从输入带上调入作业并运行,计算完成后,输出结果到输出磁带上,再由卫星机负责把输出带上的信息进行输出。在这样的系统中,主机和卫星机可以并行操作,二者分工明确,可以充分发挥主机的高速计算能力。

4.分时系统的特征是什么?

(1)同时性。允许在一台主机上同时联接多台联机终端,系统按分时原则为每个用户服务。宏观上,是多个用户同时工作,共享系统资源;而微观上,则是每个用户作业轮流运行一个时间片。它提高了资源利用率,从而促进了计算机更广泛的应用。

(2)独立性。每个用户各占一个终端,彼此独立操作,互不干扰。因此,用户会感觉到就像他一人独占主机。

(3)及时性。用户的请求能在很短时间内获得响应,此时间隔是以人们所能接受的等待时间来确定的,通常为2--3秒钟。

(4)交互性。用户可通过终端与系统进行广泛的人机对话。其广泛性表现在:用户可以请求系统提供多方面的服务,如文件编辑、数据处理和资源共享等。

5.何谓多道程序设计?叙述它的主要特征和优点。

多道程序设计是一种软件技术,该技术使同时进入计算机主存的几个相互独立的程序在管理程序控制之下相互交替地运行。当某道程序因某种原因不能继续运行下去时(如等待外部设备传输数据),管理程序便将另一道程序投入运行。这样可以使中央处理器及各外部设备尽量处于忙碌状态,从而大大提高计算机的使用效率。

在单处理器系统中,多道程序运行的特征是:

(1)多道:即计算机主存中同时存放几道相互独立的程序。

(2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。

(3)微观上串行:从微观上看,主存中的多道程序轮流地或分时地占用处理器,即多道程序交替执行。

引入多道程序设计的优点是: (1)可提高CPU 的利用率;

(2)可提高主存和I/O 设备利用率; (3)可增加系统吞吐量;

6.实现多道程序应解决哪些问题?

为使系统中的多道程序能协调地运行,必须解决以下一些问题:

(1)并行运行的程序要共享计算机系统的硬件和软件资源,既有对资源的竞争,但又必须相互同步。因此同步与互斥机制成为系统设计中的重要问题。

(2)多道程序的增加,出现了主存不够用的问题,提高主存的使用效率也成为关键。因此出现了诸如覆盖技术、对换技术和虚拟存储技术等主存管理技术。

(3)多道程序存在于主存,为了保证系统程序存储区和各用户程序存储区的安全可靠,提出了主存保护的要求。

7.试比较单道与多道批处理系统的特点及优缺点。

单道批处理系统的特征是:

(1)自动性。在顺利的情况下,在磁带上的一批作业能自动地逐个作业依次运行,而无须人工干预。

(2)顺序性。磁带上的各道作业是顺序地进入主存,各道作业完成的顺序与它们进入主存的顺序之间,在正常情况下应当完全相同,亦即先调入主存的作业先完成。

(3)单道性。主存中仅有一道程序并使之运行,即监督程序每次从磁带上只调入一道程序进入主存运行,仅当该程序完成或发生异常情况时,才调入其后继程序进入主存运行。

其优点是:作业运行期间占有所有资源,运算速度较快。

其缺点是:CPU、主存和I/O设备资源利用率低;系统吞吐量低;

多道程批处理系统的特征是:

(1)多道:即计算机主存中同时存放几道相互独立的程序。

(2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。

(3)微观上串行:从微观上看,主存中的多道程序轮流地或分时地占用处理器,即多道程序交替执行。

其优点是:可提高CPU、主存和I/O设备利用率;可增加系统吞吐量;

其缺点是:每个作业占用内存相对减少;作业交替运行需要时间切换;竞争资源会导致死锁和安全问题,等。

8.为什么要引入实时操作系统?

60年代中期计算机进入第三代,计算机的性能和可靠性有了很大提高,造价亦大幅度下降,导致计算机越来越广泛应用于工业过程控制、军事实时控制、信息实时处理等领域,需要保证及时响应、快速处理、高可靠性和安全性,而不强求系统资源的利用率。一般操作系统不能达到这些要求。而针对实时处理的实时操作系统是以在允许的时间范围之内做出响应为特征的并具有高可靠性和安全性。它要求计算机对于外来信息能以足够快的速度进行处理,并在被控对象允许时间范围内作出快速响应,其响应时间要求在秒级、毫秒级甚至微秒级或更小。实时系统是较少有人为干预的监督和控制系统,仅当计算机系统识别到了违反系统规定的限制或本身发生故障时,才需要人为干预。

9.操作系统具有哪几大特征?

虽然不同的操作系统各有自己的特征,但它们也都具有以下四个基本特征:

(1)并发

并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指宏

观上在一段时间内多道程序在同时运行。但在单处理器系统中,每一时刻仅能执行一道程序,故微观上这些程序是在交替执行的。

(2)共享

所谓共享是指系统中的资源可供主存中多个并发执行的进程共同使用。由于资源的属性不同,故多个进程对资源的共享方式也不同。

并发和共享是操作系统的两个最基本的特征,它们又是互为存在条件。一方面,资源共享是以程序(进程)的并发执行为条件;若系统不允许程序并发执行,自然不存在资源共享问题。另一方面,若系统不能对资源共享实施有效管理,则也必将影响到程序的并发执行,甚至根本无法并发执行。

(3)虚拟

操作系统中的所谓“虚拟”是指通过某种技术把一个物理实体变成若干个逻辑上的对应物。物理实体(前者)是实的,即实际存在的,而后者是虚的,是用户感觉上的东西。

(4)异步性

在多道程序环境下,允许多个进程并发执行,但由于资源等因素的限制,通常进程的执行并非“一气呵成”,而是以“走走停停”的方式运行,即进程是以异步方式运行的。尽管如此,但只要运行环境相同,作业经多次运行,都会获得完全相同的结果,因此,异步运行方式是允许的。

10.主存管理的主要任务是什么?有哪些主要功能?

存储管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率,以及能从逻辑上来扩充主存。为此,存储管理应具有以下功能:(1)主存分配与回收;

(2)地址转换和存储保护;

(2)主存的共享与保护;

(3)主存扩充。

11.处理器管理的主要任务是什么?有哪些主要功能?

处理器管理的主要任务是对处理器进行分配,并对其运行进行有效的控制和管理。对处理器的管理和调度可归结为对进程和线程的管理和调度。它包括以下几方面功能:(1)进程控制和管理;

(2)进程同步和互斥;

(3)进程通信;

(4)进程死锁;

(5)线程控制和管理;

(6)处理器调度。

12.设备管理的主要任务是什么?有哪些主要功能?

设备管理的主要任务是管理各种外部设备,完成用户提出的I/O请求,为用户分配I/O 设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。为实现上述任务,设备管理应具有以下主要功能:

(1)提供设备控制处理;

(2)提供缓冲区管理;

(3)提供设备独立性;

(4)实现设备的分配与回收;

(5)实现共享设备的驱动调度;

(6)实现虚拟设备。

13.文件管理的主要任务是什么?有哪些主要功能?

文件管理的主要任务是对用户文件和系统文件进行有效管理,以方便用户使用,并保证文件的安全性。为此,文件管理应具有以下主要功能:

(1)提供文件的逻辑组织方法;

(2)提供文件的物理组织方法;

(3)提供文件的存取和使用方法;

(4)提供文件的目录管理;

(5)实现文件的共享和保护;

(6)实现文件的存储空间管理。

14.试在交互性、及时性和可靠性方面,将分时系统与实时系统进行比较。

在交互性方面,分时系统的交互性强,实时系统的交互性弱,因为交互性强很能满足实时系统响应速度快和高可靠性的要求。

在及时性方面,实时系统要求快速响应而及时性强,分时系统相比较及时性较差。

在可靠性方面,实时系统要求高可靠性而可靠性强,分时系统相比较可靠性较差。

15.是什么原因使操作系统具有异步性特征?

在多道程序环境下,允许多个进程并发执行,但由于资源数量有限而每个进程在运行中需要竞争资源,导致进程的执行并非“一气呵成”,而是以“走走停停”的方式运行,即进程是以异步方式运行的。主存中的每个进程在何时执行,何时暂停,以怎样的速度向前推进,每道程序总共需多少时间才能完成,都是不可预知的。很可能是先进入主存的作业后完成,而后进入主存的作业先完成。

16.试说明网络操作系统的主要功能。

网络环境下的操作系统既要为本机用户提供简便、有效地使用网络资源的手段,又要为网络用户使用本机资源提供服务。为此,网络操作系统除了具备一般操作系统应具有的处理器管理、存储区管理、设备管理,文件管理等功能模块之外,还要增加网络功能模块,主要应具有下述五方面的功能:

(1)网络通信

这是网络最基本的功能,其任务是在源主机和目标主机之间实现无差错的数据传输。

(2)网络资源管理

对网络中的共享资源(硬件与软件)实施有效的管理,协调各用户对共享资源的使用,保证数据的安全性和一致性。

(3)网络服务

这是在前两个功能的基础上,为了方便用户而直接向用户提供的多种有效服务。例如:电子邮件服务、共享打印服务、共享硬盘服务等。

(4)网络管理

网络管理最基本的任务是安全管理。比如,通过“存取控制”来确保存取数据的安全性;通过“容错技术”来保证系统故障时数据的安全性。此外,还应能对网络性能进行监视,对使用情况进行统计,以便为提高网络性能、进行网络维护和记帐等提供必要的信息。

(5)互操作能力

在90年代后推出的网络操作系统,提供了一定范围的互操作能力。所谓互操作,在客户/服务器模式的局域网环境下,是指连接在服务器上的多种客户机和主机,不仅能与服务器通信,而且还能以透明的方式访问服务器上的文件系统;而在互连网络环境下的互操作,是指不同网络间的客户机不仅能通信,而且也能以透明的方式,访问其它网络中的文件服务器。

17.试比较网络操作系统与分布式操作系统。

计算机网络是通过通信设施将物理上分散的、具有自治功能的多个计算机系统互连起来的,实现信息交换、资源共享、可互操作和协作处理的系统。

在计算机网络中,每个主机都有操作系统,它为用户程序运行提供服务。当某一主机联网使用时,该系统就要同网络中更多的系统和用户交往,这个操作系统的功能就要扩充,以适应网络环境的需要。网络操作系统既要为本机用户提供简便、有效地使用网络资源的手段,又要为网络用户使用本机资源提供服务。为此,网络操作系统除了具备一般操作系统应具有的功能模块之外,还要增加网络功能模块,主要应具有网络通信、网络资源管理、网络服务、.网络管理、互操作能力等。

一个分布式系统就是通过网络连接的若干计算机的集合。这些计算机都有自己的局部存贮器和外部设备。它们既可以独立工作(自治性),亦可合作工作。在这个系统中各计算机可以并行操作且有多个控制中心,即具有并行处理和分布控制的功能。分布式系统是一个一体化的系统,在整个系统中有一个全局的操作系统称为分布式操作系统,它负责全系统的资源分配和调度、任务划分、信息传输、控制协调等工作,并为用户提供一个统一的界面、标准的接口。用户通过这一界面实现所需的操作和使用系统资源。至于操作定在哪一台计算机上执行或使用哪台计算机的资源则是系统的事,用户是不用知道的,也就是说系统对用户是透明的。

习题二

1.解释程序的顺序执行和并发执行。

程序是指令的有序集合,是一个在时间上按严格次序前后相继的操作序列,仅当前一操作执行完后,才能执行后继操作。程序体现了编程人员要求计算机完成的功能所应该采取的顺序步骤。程序的顺序执行具有顺序性、封闭性、可再现性特点,其执行结果与它的执行速度无关(即与时间无关),而只与初始条件有关。只要给定相同的输入条件,程序重复执行一定会得到相同的结果。

并发执行是为了增强计算机系统的处理能力和提高资源利用率所采取的一种同时操作技术。程序的并发执行是一组在逻辑上互相独立的程序或程序段在执行过程中其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的执行方式。

2.程序并发执行为什么会产生间断性?程序并发执行为何会失去封闭性和可再现性?

程序在并发执行时,由于它们共享资源或为完成同一项任务而相互合作,致使在并发程序之间形成了相互制约的关系。一旦使某程序暂停的因素消失,则程序便可恢复执行。简言之,相互制约将导致并发程序具有“执行——暂停——执行”这种间断性的活动规律。

程序在并发执行时,多个程序共享系统中的各种资源,因此这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。这样,某程序在执行时,必然会受到其它程序的影响。例如,当处理器资源被其它程序占有时,某程序必须等待。

程序在并发执行时,由于失去了封闭性,其执行结果已与并发程序的执行速度有关,从而使程序失去了可再现性,亦即,程序经过多次执行后,虽然其执行时的环境和初始条件都相同,但得到的结果却可能各不相同。

3.何谓进程?它有哪些基本状态?列举使进程状态发生变化的事件。

进程是可并发执行的程序在一个数据集上的一次执行过程,它是系统进行资源分配的基本单位。进程有就绪、执行、等待三个基本状态。

例如,处于就绪状态的进程,当进程调度程序为之分配了处理器后,该进程便由就绪状态转换为执行状态。正在执行的进程因访问I/O设备而无法继续执行时,就释放处理器转换为等待状态。因访问I/O设备正在等待的进程在访问I/O设备结束后,就由等待状态转换为就绪状态。正在执行的进程,如因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。

4.试比较进程和程序的区别。

程序是指令的有序集合,是一个在时间上按严格次序前后相继的操作序列,仅当前一操作执行完后,才能执行后继操作,它是一个静态的概念

进程是可并发执行的程序在一个数据集上的一次执行过程,它是系统进行资源分配的基本单位。进程和程序是两个截然不同的概念。进程具有以下五个基本特征:(1)动态性

进程既然是进程实体的执行过程,因此,动态性是进程最基本的特性。其表现为:“它由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡”。可见,进程有一定的生命期。而程序只是一组有序指令的集合,并存放在某种介质上,本身并无运动

的含义,因此,程序是个静态实体。

(2)并发性

并发性是指多个进程实体,同存于主存中,能在一段时间内同时运行。并发性是进程的重要特征,同时也成为操作系统的重要特征。引入进程的目的也正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。

(3)独立性

独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。凡未建立进程的程序,都不能作为一个独立的单位参加运行。进程与程序并非是一一对应的,一个程序运行在不同的数据集上就构成不同的进程。

(4)异步性

这是指进程按各自独立的、不可预知的速度向前推进;或者说,进程按异步方式运行。正是这一特征,将导致程序执行的不可再现性。因此,在操作系统中必须采取某种措施来保证各程序之间能协调运行。

(5)结构特征

从结构上看,进程实体是由程序段、数据段及进程控制块三部分组成,有人把这三部分统称为“进程映像”。

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

每一个进程都有一个也只有一个进程控制块(Process Control Block,简称PCB),进程控制块是操作系统用于记录和刻画进程状态及有关信息的数据结构,也是操作系统控制和管理进程的主要依据,它包括了进程执行时的情况,以及进程让出处理器后所处的状态、断点等信息。进程控制块的作用,是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。

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

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

当进程由于某种原因让出处理器时,把与处理器有关的各种现场信息保留下来,以便该进程在重新获得处理器后能把保留的现场信息重新置入处理器的相关寄存器中继续执行。通常被保留的现场信息有通用寄存器内容、控制寄存器内容以及程序状态字寄存器内容等。

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

进程控制的基本功能之一是能创建各种新的进程,这些新进程是一个与现有进程不同的实体。例如,在系统生成时,要创建一些必需的、承担系统资源分配和管理工作的系统进程;对于用户作业,每当调入系统时,由操作系统的作业调度程序为它创建相应的进程;在层次结构的系统中,允许一个进程创建一些新进程,以完成一些可以并行的工作。

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

进程控制的基本功能之一是能撤销进程。一个进程可能因为它完成了所指派的工作而正常终止需撤销,或由于一个错误而非正常终止需撤销;一个进程也可能由于其祖先进程的要求被终止需撤销。当一个进程要撤销其它进程时可采用不同的方式,既可撤销具有指定标识符的进程,又可撤销一个优先级中的所有进程。当一个进程被撤销时,它必须从系统队列中

移出,释放并归还所有系统资源,同时还要审查该进程是否有子孙进程,若有的话一起予以撤销。

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

有了创建原语和撤销原语,虽然进程可以从无到有、从存在到消亡而变化,但还不能完成进程各种状态之间的转换。例如,由“执行”转换为“等待”,由“等待”转换为“就绪”,需要通过使用“阻塞原语”和“唤醒原语”来实现。

(1)进程阻塞

当一个进程在执行过程中出现等待事件时,该进程调用阻塞原语将自己阻塞。即由于进程正处于执行状态,故应中断处理器,把CPU现场送至该进程的现场保护区,置该进程的状态为“等待”,并插入到相应的等待队列中,然后转进程调度程序,另选一个进程投入运行。

(2)进程唤醒

进程由执行转换为等待状态是由于进程发生了等待事件,所以处于等待状态的进程是绝对不可能唤醒自己。比如,某进程正在等待输入输出操作完成或等待别的进程发消息给它,只有当该进程所期待的事件出现时,才由“发现者”进程用唤醒原语叫醒它。一般说来,发现者进程和被唤醒进程是合作的并发进程。

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

在创建一个进程时,需完成的主要工作是给定一个指定进程标识符,形成该进程的PCB 并放入系统队列中。所以,调用者必须提供形成PCB的有关参数,以便在创建时填入。对于较复杂的PCB结构,还需提供资源清单等。

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

在撤销一个进程时,需完成的主要工作是必须把该进程的PCB从系统队列中移出,释放并归还所有系统资源,同时还要审查该进程是否有子孙进程,若有的话一起予以撤销。

12.在单处理器的计算机系统中,采用多道程序设计技术后,处于执行状态的进程可以有几个?为什么?

在单处理器的计算机系统中,采用多道程序设计技术后,处于执行状态的进程只能有一个?因为在单处理器的计算机系统中,CPU只有一个,每时刻占有CPU的进程只有一个,故处于执行状态的进程只能有一个。

13.进程调度的功能有哪些?

(1)记录系统中所有进程的执行情况

作为进程调度的准备,进程管理模块必须将系统中各进程的执行情况和状态特征记录在各进程的进程控制块中。并且,根据各进程的状态特征和资源需求等,进程管理模块还将各进程的进程控制块排成相应的队列并进行动态队列转换。进程调度模块通过进程控制块的变化来掌握系统中存在的所有进程的执行情况和状态特征,并在适当的时机从就绪队列中选择出一个进程占有处理器。

(2)选择占有处理器的进程

进程调度的主要功能是按照一定的策略选择一个处于就绪状态的进程,使其获得处理器

执行。根据不同的系统设计目的,有各种各样的选择策略,这些选择策略决定了调度算法的性能。

(3)把处理器分配给进程,即进行进程上下文切换

把选中进程的进程控制块内有关现场的信息如程序状态字、通用寄存器等内容送入处理器相应的寄存器,从而让它占用处理器运行。当进行上下文切换时,系统要首先检查是否允许做上下文切换(在有些情况下,上下文切换是不允许的,例如系统正在执行某个不允许中断的原语时)。然后,系统要保留有关被切换进程的足够信息,便于以后切换回该进程时,顺利恢复该进程的执行。在系统保留了CPU现场之后,调度程序选择一个新的处于就绪状态的进程,并装配该进程的信息,使CPU的控制权掌握在被选中进程手中。

(4)收回处理器

将处理器有关寄存器内容送入该进程的进程控制块内的相应单元,从而使进程让出处理器。

14.进程调度的时机有哪几种?

(1)正在执行的进程执行完毕。这时,如果不选择新的就绪进程执行,将浪费处理器资源。

(2)执行中的进程自己调用阻塞原语将自己阻塞起来进入等待状态。

(3)执行中的进程调用了P原语操作,从而因资源不足而被阻塞;或调用了V原语操作激活了等待资源的进程队列。

(4)执行中的进程提出I/O请求后被阻塞。

(5)在分时系统中时间片已经用完。

(6)在执行完系统调用等系统程序后返回用户进程时,这时可看作系统进程执行完毕,从而可调度选择一新的用户进程执行。

(7)在可剥夺CPU执行方式时,当就绪队列中某进程的优先级变得高于当前执行进程的优先级时,也将引发进程调度。

15.有5个进程P1,P2,P3,P4,P5,它们同时依次进入就绪队列,它们的优先数和需要

忽略进程调度等所花费的时间,请回答下列问题:

(1)写出分别采用“先来先服务”和“非抢占式的优先数”调度算法时选中进程执行的次序。

(2)分别计算出在两种算法下各进程在就绪队列中的等待时间以及平均等待时间。

解:(1)采用“先来先服务”调度算法时,其调度顺序是P1,P2,P3,P4,P5; 进程P1的等待时间是0; 进程P2的等待时间是10; 进程P3的等待时间是11; 进程P4的等待时间是13; 进程P5的等待时间是14; 平均等待时间为(0+10+11+13+14)/5=9.6

(2) 采用“非抢占式的优先数”调度算法时,其调度顺序是P4,P1,P3,P5,P2; 进程P4的等待时间是0; 进程P1的等待时间是1; 进程P3的等待时间是11; 进程P5的等待时间是13; 进程P2的等待时间是18; 平均等待时间为(0+1+11+13+18)/5=8.6

16.假定一个处理器正执行两道作业,一道以计算为主,另一道以输入输出为主,你将怎样赋予它们占有处理器的优先级?为什么?

假定一个处理器正执行两道作业,一道以计算为主,另一道以输入输出为主,将赋予它们以输入输出为主的作业更高的优先级。因为根据优先数调度算法,可先调度以输入输出为主的作业先运行,而以输入输出为主的作业只占用很少的CPU时间,主要是占用I/O设备工作,故CPU就有空闲时间,随后即可调度以计算为主的作业运行。这样,以计算为主的作业和以输入输出为主的作业就可并发执行,可以提高系统资源利用率。

17.设计一个实现按优先数进行处理器调度的方案,画出它的工作流程。

18.何谓线程?为什么要引入线程的的概念?

线程(Thread)是进程中的一个实体,是可独立参与调度的基本单位。一个进程可以有一个或多个线程,它们共享所属进程所拥有的资源。

进程是实现系统并发运行的一种实体。创建进程时需要申请必要的系统资源,在运行过程中,根据需要还将申请更多资源。当然,其间也会释放已经使用完毕的资源。当进程获得处理器资源时,称为进程调度。可见,进程既是资源申请及拥有的实体,同时也是调度的实体。另一方面,系统因为创建进程、调度进程、管理进程等将付出很大的额外开销。为了保持系统的并发性,同时降低系统为此付出的额外开销,现代操作系统将传统意义的进程进行分离,即将资源申请与调度执行分开,进程作为资源的申请与拥有单位,线程作为调度的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器、一组寄存器和栈),但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和另一个线程;同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中也呈现出间断性。相应地,线程也同样有就绪、等待和执行三种基本状态,有的系统中线程还有终止状态等。

19.试比较进程和线程的区别。

进程是可并发执行的程序在一个数据集上的一次执行过程,它是系统进行资源分配的基本单位。而线程是进程中的一个实体,是可独立参与调度的基本单位。一个进程可以有一个或多个线程,它们共享所属进程所拥有的资源。我们从以下几个方面来比较线程与进程:(1)拥有资源方面

不管是在以进程为基本单位的操作系统,还是在引入线程的操作系统中,进程都是独立拥有资源的一个基本单位。它可以申请并拥有自己的资源,也可以访问其所属进程的资源。而线程只拥有一点在运行中必要的资源,如程序计数器、寄存器和栈。当然,它可以访问其所属进程的资源(注意:资源仍然是分给进程的)。

(2)调度方面

在引入线程的操作系统中,进程作为独立拥有资源的基本单位,而线程是独立参与调度的基本单位。这样,引入线程的操作系统中存在着两级调度:同一进程内线程之间的调度、不同进程之间的调度(由分属于不同进程的线程之间的调度引起)。同一个进程内的线程切换不会引起进程切换;而在由一个进程内的线程切换到另一进程内的线程时,将引起进程切换。

(3)并发性方面

在引入线程的操作系统中,不仅不同进程的线程之间可以并发执行,而且在同一个进

程的多个线程间亦可并发执行,因而使系统具有更好的并发性。

(4)系统开销方面

相比于没有引入线程的操作系统,引入线程的系统其系统开销将显著降低。例如,在创建或撤销线程时,系统只需分配与回收很少的资源,而无须像进程创建或撤销那样,花费开销来分配或回收如内存空间、I/O设备等资源;又如,在线程切换时,只需保存和设置少量的寄存器的内容,而无须像进程切换那样,花费开销来保存和设置很多的现场信息。另外,同一个进程内线程之间的通信由于共享所属进程的存储空间,因此也比进程通信更加容易。

20.线程有哪些属性?

线程具有如下属性:

(1)多个线程可以并发执行。

(2)一个线程可以创建另一个线程。

(3)线程具有动态性。一个线程被创建后便开始了它的生命周期,可能处于不同的状态,直至衰亡。

(4)每个线程同样有自己的数据结构即线程控制块(Thread Controlling Block, TCB),其中记录了该线程的标识符、线程执行时的寄存器和栈等现场状态信息。

(5)在同一进程内,各线程共享同一地址空间(即所属进程的存储空间)。

(6)一进程中的线程在另一进程中是不可见的。

(7)同一进程内的线程间的通信主要是基于全局变量进行的。

21.试说明线程的分类。

多线程的实现分为三类:用户级线程ULT);内核级线程(KLT);混合式线程方式。

(1)内核级线程

内核级线程是指线程的管理工作由内核完成,由内核所提供的线程API来使用线程,当任务提交给操作系统执行时,内核为其创建进程和一个基线程,线程在执行过程中可通过内核的创建线程原语来创建其他线程,应用程序的所有线程均在一个进程中获得支持。内核需要为进程及进程中的单个线程维护现场信息,所以,应在内核空间中建立和维护进程控制块PCB及线程控制块TCB,内核的调度在线程的基本上进行。

(2)用户级线程

用户级线程是指线程的管理由应用程序完成,在用户空间中实现,内核无须感知线程的存在。用户级多线程由用户空间中的线程库来完成,应用程序通过线程库进行设计,再与线程库连接、运行以实现多线程。线程库是由用户级线程管理的例行程序包,在这种情况下,线程库是线程运行的支撑环境。

(3)混合式线程

某些操作系统既支持用户级线程,又支持内核级线程,Solaris便是一个例子。线程的实现分为两个层次:用户层和内核层。用户层线程在用户线程库中实现;内核层线程在操作系统内核中实现,处于两个层次的线程分别称为用户级线程和内核级线程。在混合式线程系统中,内核必须支持内核级多线程的建立、调度和管理,同时也允许应用程序建立、调度和管理用户级线程。

22.什么叫与时间有关的错误?与时间有关的错误表现在哪些方面?请举例说明之。

进程按异步方式执行,对于有交往的并发进程来说,可能有若干并发进程同时使用共享资源,即一个进程一次使用未结束,另一进程已开始使用,形成交替使用共享资源的现象。如果对这种情况不加控制的话,就可能出现与时间有关的错误,在共享资源(变量)时就会

出错,就会得到不正确的结果。与时间有关的错误主要表现在进程的互斥和进程的同步。

23.什么是临界区?试举一临界区的例子。

有交往的并发进程执行时出现与时间有关的错误,其根本原因是对共享资源(变量)的使用不加限制,当进程交叉使用了共享资源(变量)就可能造成了错误。为了使并发进程能正确地执行,必须对共享变量的使用加以限制。我们把并发进程中与共享资源(变量)有关的程序段称为“临界区”。共享资源在(变量)所代表的资源称为“临界资源”。多个并发进程中涉及相同共享资源(变量)的那些程序段称为“相关临界区”

24.什么是进程的互斥?什么是进程的同步?

进程的互斥是指当有若干进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用,其他要使用该资源的进程必须等待,直到占用资源者释放该资源。

进程的同步是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达时才被唤醒。

25.若信号量s表示一种资源,则对s作PV操作的直观含义是什么?

若信号量s表示一种资源,则对s作PV操作的直观含义是,P(s)表示申请一个s资源,V(s)表示释放一个s资源。

26.在信号量s上作PV操作时,s的值发生变化,当s>0,s=0,s<0时,它们的物理意义是什么?

在信号量s上作PV操作时,s的值发生变化,当s>0时表示还有|s|个可用资源;当s=0时表示已无可用资源;当s<0时表示不但无可用资源,且还有|s|个进程在等待使用资源。

27.有三个并发进程,R负责从输入设备读入信息并传送给M,M将信息加工后并传送给P,P把加工后的信息打印输出。现有:

(1)一个缓冲区;

(2)两个缓冲区;

用PV操作写出这三个进程能正确工作的程序。

解:(1)一个缓冲区

设信号量S1表示缓冲区的容量;

信号量S2表示R读入的信息数;

信号量S3表示M信息加工后的信息数;

Var S1,S2,s3: Semaphore;

S1=缓冲区容量;

S2=0;

S3=0;

Cobegin

{

R();

M();

P();

}

R( )

{ WHILE(1)

{

从输入设备读入信息X;

P(S1);

把读入信息X放入缓冲区中;

V(S2);

}

}

M( )

{ WHILE(1)

{

P(S2);

从缓冲区中取R的读入信息X;

V(S1);

信息加工得到新数据Y;

P(S1);

把新数据Y放入缓冲区中;

V(S3);

}

}

P( )

{ WHILE(1)

{

P(S3);

从缓冲区中取新数据Y;

V(S1);

把新数据Y打印输出;

}

}

28.用PV操作解决生产者和消费者问题。假设有一个可以存放1件产品的缓冲器;有m 个生产者,每个生产者每次生产一件产品放入缓冲器中,有n个消费者,每个消费者每次从缓冲器中取出一件产品。

解:设信号量Sp表示是否可以把产品放入缓冲器中;

信号量Sg表示缓冲器中是否存放了产品;

buffer: integer;

Sp,Sg: integer;

Sp:=1;

Sg:=0;

Cobegin

Procedure producer i(i=1,2,3,…,m)

Begin

L1: [ produce a product ];

P(Sp);

Buffer:=product ;

V(Sg);

Goto L1 ; End;

Procedure consumer j (j=1,2,3,…,n)

L2: P(Sg);

[take a product from buffer ]; V(Sp); [consume]; Goto L2; End;

29.系统有输入机和行式打印机各一台,有两个进程都要使用它们,采用PV 操作实现请求使用和归还释放后,还会产生死锁吗?若否,说明理由;若会产生死锁则给出一种防止死锁的方法。

系统有输入机和行式打印机各一台,有两个进程都要使用它们,采用PV 操作实现请求使用和归还释放后,不会产生死锁。因为系统的输入机和行式打印机作为临界资源分别用两个信号量表示,初值为1,在需要使用它们时用P 操作申请,在需要归还它们时用V 操作释放,这样就保证了两个进程对输入机和行式打印机的互斥使用,可防止死锁的产生。

30.若系统有同类资源m 个,被n 个进程共享,问:当m>n 和m ≤n 时每个进程最多可以请求多少个这类资源,使系统一定不会发生死锁?

若系统有同类资源m 个,被n 个进程共享,当m>n 时,每个进程最多可以请求(m/n 向上取整)个这类资源,使系统一定不会发生死锁。当m ≤n 时每个进程最多可以请求1个这类资源,使系统一定不会发生死锁

31.在公共汽车上,司机和售票员的工作流程如下图所示。为保证乘客的安全,司机和售票员应密切配合协调工作。请用PV 操作来实现司机与售票员之间的同步。

解:设 S1是否可以启动汽车; S2是否可以开车门; Var S1,S2: Semaphore; S1=0; S2=1; Cobegin {

Driver(); Busman(); }

Driver()

司 机

售票员

{ while(1) {

P(S1);

启动车辆; 正常行车; 到站停车; V(S2);

} };

busman() { while(1) {

售票; P(S2); 开车门;; 关车门; V(S1)

} };

32.如下图所示的进程流程图中,有六个进程合作完成某一任务,试说明这六个进程之间的同步关系,并用PV 操作实现之。

解:设信号量S2,S3,S4,S5,S6分别表示进程P2,P3,P4,P5,P6是否能执行。

S2,S3,S4,S5,S6:integer; S2:=0; S3:=0; S4:=0; S5:=0; S6:=0; Cobegin

Procedure P1; Begin ……

V(S2);

P 42

V(S3);

V(S4);

End;

Procedure P2;

Begin

P(S2);

……

V(S6);

End;

Procedure P3;

Begin

P(S3);

……

V(S5);

End;

Procedure P4;

Begin

P(S4);

……

V(S6);

End;

Procedure P5;

Begin

P(S5);

……

V(S6);

End;

Procedure P6;

Begin

P(S6);

P(S6);

P(S6;

……

End;

Coend

33.何谓管程?管程的的特性有哪些?

管程是关于共享资源的数据及在其上的操作的一组过程或共享数据结构及其规定的所有操作。管程的引入可以让我们按资源管理的观点,将共享资源和一般资源的管理区分开来,使进程同步机制的操作相对集中。采用这种方法,对共享资源的管理可借助数据结构及其上所实施操作的若干进程来进行;对共享资源的申请和释放通过进程在数据结构上的操作来实现。

管程具有如下几个主要的特性:

(1)模块化:一个管程是一个基本程序单位,可以单独编译。

(2)抽象数据类型:管程是一种特殊的数据类型,其中不仅有数据,而且有对数据进行操作的代码(即过程)。

(3)安全性:管程内的数据和过程都局限于管程本身。管程内的数据只能被管程内的过程所访问,管程内的过程也只能访问管程内的数据,管程内部的实现在其外部是不可见的。

(4)互斥性:在任一时刻,共享资源的进程可以访问管程中的管理此资源的过程,但最多只有一个调用者能够真正地进入管程,其他调用者必须等待直至管程可用。管程的互斥操作通常由编译程序支持。

34.试说明管程与PV操作的区别。

信号量机制为实现进程的同步与互斥提供了一种原始、功能强大且灵活的工具,然而在使用信号量和PV操作实现进程同步时,对共享资源的管理分散于各个进程中,进程能够直接对共享变量进行处理,不利于系统对临界资源的管理,难以防止进程有意或无意的违法同步操作,容易造成程序设计错误。

管程是关于共享资源的数据及在其上的操作的一组过程或共享数据结构及其规定的所有操作。管程是由局部于自己的若干公共变量及其说明和所有访问这些公共变量的过程所组成的软件模块,它提供一种互斥机制,进程可互斥地调用这些过程。管程把分散在各个进程中互斥地访问公共变量的那些临界区集中在一起,提供对它们的保护。由于共享变量每次只能被一个进程所访问,把代表共享资源状态的共享变量放置在管程中,那么,管程就可以控制共享资源的使用。管程可作为程序设计语言的一个成分,采用管程作为同步机制便于用高级语言来编写程序,也便于程序正确性验证。

35.桌子上有一只盘子,每次只能放一只水果,爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,一个儿子专等吃盘子里的橘子,一个女儿专等吃盘子里的苹果。写出能使爸爸、妈妈、儿子、女儿正确同步工作的管程。

解:Type FMSD=monitor //管程定义

var plate:(apple,orange,null);

Count:interge;

Sp,ss,sd:condition;

Procedure put( var fruit:(apple,orange)) //放水果

{ if (count=1) then sp.wait

else

{plate=fruit;

Count=count+1;

};

If (fruit=apple) then ss.signal

Else sd.signal;

};

Procedure get( var fruit:(apple,orange), x:plate) //取水果

{ if (count=0) or plate<>fruit then

{if (fruit=apple) then ss.wait else sd.wait}

else

{ Count=count-1;

X=plate;

};

Sp.signal;

};

{ count=0; //赋初值

Plate=null;

}

Procedure father() //父亲

While(1)

{ 准备苹果;

FMSD.put(apple);

}

};

Procedure mother() //母亲

While(1)

{ 准备桔子;

FMSD.put(orange);

}

};

Procedure son() //儿子

While(1)

{ FMSD.get(orange, y);

吃桔子;

}

};

Procedure daughe() //女儿

While(1)

{ FMSD.get(apple, y);

吃苹果;

}

};

36.何谓进程通信?通信机制中应设置哪些基本通信原语?

在计算机系统中,进程之间要交换大量的信息,这种大量信息的传递要有专门的通信机制来实现。我们把通过专门的通信机制实现进程间交换大量信息的通信方式称为“进程通信”。

进程通信分为直接通信和间接通信。可用send原语和receive原语来实现进程之间的通信。

37.简述两种通信方式。

进程通信分为直接通信和间接通信。直接通信是指发送进程利用操作系统所提供的发送命令直接把消息发送给接收进程,而接收进程则利用接收命令直接从发送进程接收消息。

采用间接通信方式时,进程间发送或接收消息通过一个共享的数据结构——信箱来进行,消息可以被理解成信件,每个信箱有一个唯一的标识符。当两个以上的进程有一个共享的信箱时,它们就能进行间接通信。

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

若系统中存在一组进程(两个或多个进程),它们中的每一个进程都占用了某种资源而又都在等待其中另一进程所占用的资源,这种等待永远不能结束,则说系统出现了“死锁”,或说这组进程处于“死锁”状态。

产生死锁的原因可归结为两点:

(1)竞争资源。当系统中供多个进程所共享的资源,不足以同时满足它们的需要时,引起它们对资源的竞争而产生死锁。

(2)进程推进顺序非法。进程在运行过程中,请求和释放资源的顺序不当,导致了进程死锁。

系统产生死锁必定同时保持以下四个必要条件:

(1)互斥条件:进程应互斥使用资源,任一时刻一个资源仅为一个进程独占,若另一个进程请求一个已被占用的资源时,它被置成等待状态,直到占用者释放资源。

(2)占有且等待条件:一个进程请求资源得不到满足而等待时,不释放已占有的资源。

(3)不剥夺条件:任一进程不能从另一进程那里抢夺资源,即已被占用的资源,只能由占用进程自己来释放。

(4)循环等待条件:存在一个循环等待链,其中,每一个进程分别等待另一个进程所持有的资源,造成永远等待。

39.简述银行家算法的工作过程。

我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配。这样做,能保证在任何时刻至少有一个进程可以得到所需要的全部资源而执行到结束,执行结束后归还的资源加入到系统的剩余资源中,这些资源又至少可以满足一个进程的最大需求。于是,保证了所有进程都能在有限的时间内得到需要的全部资源。可见银行家算法是通过动态地检测系统中资源分配情况和进程对资源的需求情况来决定如何分配资源的,在能确保系统处于安全状态时才能把资源分配给申请者,从而避免系统发生死锁。

40.请叙述预防死锁的方法。

很显然,只要破坏四个必要条件中的其中一个就可预防死锁的发生。破坏第一个条件(互斥条件)和破坏第三个条件(不剥夺条件)不能对所有资源可行,因此可破坏第二个条件(占有且等待条件)和第四个条件(循环等待条件)。

(1)静态分配策略

所谓静态分配是指一个进程必须在执行前就申请它所要的全部资源,并且直到它所要的

《操作系统原理》信管专业实验指导书资料

《操作系统原理》实验指导书 班级:_______________ 学号:_______________ 姓名:_______________ 山东建筑大学管理工程学院 信息管理与信息系统教研室

目录 引言 (1) 实验题目一 (2) 实验题目二 (4) 实验题目三 (6) 实验题目四 (8) 实验题目五 (10) 实验题目六 (12)

引言 操作系统是信息管理与信息系统专业一门重要的专业理论课程,了解和掌握操作系统的基本概念、功能和实现原理,对认识整个计算机系统的工作原理十分重要。 操作系统实验是操作系统课程的一个重要组成部分,通过试验环节的锻炼使同学们不仅能够对以前的所学过的基础知识加以巩固,同时能够通过上机实验,对操作系统的抽象理论知识加以理解,最终达到融会贯通的目的,因此,实验环节是同学们理解、掌握操作系统基本理论的一个重要环节。 本实验指导书,根据教材中的重点内容设定了相应的实验题目,由于实验课程的学时有限,我们规定了必做题目和选做题目,其中必做题目必须在规定的上机学时中完成,必须有相应的预习报告和实验报告。选做题目是针对有能力或感兴趣的同学利用课余时间或上机学时的剩余时间完成。

实验题目一:模拟进程创建、终止、阻塞、唤醒原语 一、题目类型:必做题目。 二、实验目的:通过设计并调试创建、终止、阻塞、唤醒原语功能,有助于对操作系统中进 程控制功能的理解,掌握操作系统模块的设计方法和工作原理。 三、实验环境: 1、硬件:PC 机及其兼容机。 2、软件:Windows OS ,Turbo C 或C++、VC++、https://www.sodocs.net/doc/8214874254.html, 、Java 等。 四、实验内容: 1、设计创建、终止、阻塞、唤醒原语功能函数。 2、设计主函数,采用菜单结构(参见后面给出的流程图)。 3、设计“显示队列”函数,目的能将就绪、阻塞队列中的进程信息显示在屏幕上,以供 随时查看各队列中进程的变化情况。 五、实验要求: 1、进程PCB 中应包含以下内容: 2、系统总体结构: 其中: 进程名用P1,P2标识。 优先级及运行时间:为实验题目二做准备。 状态为:就绪、运行、阻塞,三种基本状态。 指针:指向下一个PCB 。

操作系统课程试验

第3章处理机管理 7.1实验内容 处理机管理是操作系统中非常重要的部分。为深入理解进程管理部分的功能,设计几个调度算法,模拟实现处理机的调度。 7.2实验目的 在多道程序或多任务系统中,系统同时处于就绪状态的进程有若干个。也就是说能运行的进程数远远大于处理机个数。为了使系统中的各进程能有条不紊地运行,必须选择某种调度策略,以选择一进程占用处理机。要求学生设计一个模拟单处理机调度的算法,以巩固和加深处理机调度的概念。 7.3实验题目 7.3.1设计一个按先来先服务调度的算法 提示 (1)假设系统中有5个进程,每个进程由一个进程控制块(PCB)来标识。进程控制块内容如图7-1所示。 进程名即进程标识。 链接指针:按照进程到达系统的时间将处于就绪状态的进程连接成一个就绪队列。指针指出下一个到达进程的进程控制块首地址。最后一个进程的链指针为NULL。 估计运行时间:可由设计者指定一个时间值。 达到时间:进程创建时的系统时间或由用户指定。调度时,总是选择到达时间最早的进程。 进程状态:为简单起见,这里假定进程有两种状态:就绪和完成。并假定进程一创建就处于就绪状态,用R表示。当一个进程运行结束时,就将其置成完成状态,用C表示。 (2)设置一个队首指针head,用来指出最先进入系统的进程。各就绪进程通过链接指针连在一起。 (3)处理机调度时总是选择队首指针指向的进程投入运行。由于本实验是模拟实验,所以对被选中进程并不实际启动运行,而只是执行: 估计运行时间减1 用这个操作来模拟进程的一次运行,而且省去进程的现场保护和现场恢复工作。 (4)在所设计的程序中应有显示或打印语句,能显示或打印正运行进程的进程名,已运行是、还剩时间,就绪队列中的进程等。所有进程运行完成是,给出各进程的周转时间和平均周转时间。 先来先服务(FCFS)调度算法 /*源程序1.cpp,采用先来先无法法在Visual C++ 6.0下调试运行*/ /*数据结构定义及符号说明*/ #include #include

N套_操作系统期末试卷(含答案)

一、选择题 1、在现代操作系统中引入了(),从而使并发和共享成为可能。 A.单道程序 B. 磁盘 C. 对象 D.多道程序 2、( )操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。 A.网络 B.分布式 C.分时 D.实时 3、从用户的观点看,操作系统是()。 A. 用户与计算机硬件之间的接口 B.控制和管理计算机资源的软件 C. 合理组织计算机工作流程的软件 D.计算机资源的的管理者 4、当CPU处于管态时,它可以执行的指令是()。 A. 计算机系统中的全部指令 B. 仅限于非特权指令 C. 仅限于访管指令 D. 仅限于特权指令 5、用户在程序中试图读取某文件的第100个逻辑块时,使用操作系统提供的()接口。 A. 系统调用 B.图形用户接口 C.原语 D.键盘命令 6、下列几种关于进程的叙述,()最不符合操作系统对进程的理解 A.进程是在多程序并行环境中的完整的程序。 B.进程可以由程序、数据和进程控制块描述。 C.线程是一种特殊的进程。 D.进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。 7、当一个进程处于()状态时,称其为等待(或阻塞)状态。 A. 它正等待中央处理机 B. 它正等待合作进程的一个消息 C. 它正等待分给它一个时间片 D. 它正等待进入内存 8、一个进程释放一种资源将有可能导致一个或几个进程()。 A.由就绪变运行 B.由运行变就绪 C.由阻塞变运行 D.由阻塞变就绪 9、下面关于线程的叙述中,正确的是()。 A.不论是系统支持线程还是用户级线程,其切换都需要内核的支持。 B.线程是资源的分配单位,进程是调度和分配的单位。 C.不管系统中是否有线程,进程都是拥有资源的独立单位。 D.在引入线程的系统中,进程仍是资源分配和调度分派的基本单位。 10、设有3个作业,它们同时到达,运行时间分别为T1、T2和T3,且T1≤T2≤T3,若它们在单处理机系统中按单道运行,采用短作业优先调度算法,则平均周转时间为()。 A. T1+T2+T3 B. (T1+T2+T3)/3 C. T1+T2/3+2*T3/3 3+2*T2/3+T1 11、在下面的I/O控制方式中,需要CPU干预最少的方式是()。 A.程序I/O方式 B.中断驱动I/O控制方式 C.直接存储器访问DMA控制方式D.I/O通道控制方式 12、有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变

《操作系统实用教程》课后题参考答案

课后习题参考答案 第一章操作系统概述 一、填空题 1.软硬件资源、系统软件、用户 2.处理机、存储器、输入/输出设备和文件资源;处理机管理、存储器管理、设备管理和文件系统 3.分时(或多用户、多任务)单用户(或单用户、单任务) 4.分时OS 时间片轮转批处理OS 吞吐率实时OS 实时性和可靠性 5.命令接口系统调用 6.系统调用 二、选择题 三、简答题 1.操作系统是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户使用计算机提供良好运行环境的一种系统软件。 操作系统是用户与计算机硬件之间的接口。操作系统为用户提供了虚拟计算机。操作系统是计算机系统的资源管理者,处理器管理,存储器管理,设备管理,文件管理,用户接口。2.硬件的改进导致操作系统发展的例子很多,内存管理支撑硬件由分页或分段设施代替了界寄存器以后,操作系统中便增加了分页或分段存储管理功能。图形终端代替逐行显示终端后,操作系统中增加了窗口管理功能,允许用户通过多个窗口在同一时间提出多个操作请求。引进了中断和通道等设施后,操作系统中引入了多道程序设计功能。计算机体系结构的不断发展有力地推动着操作系统的发展,例如,计算机由单处理机改进为多处理机系统,操作系统也由单处理机操作系统发展到多处理机操作系统和并行操作系统;随着计算机网络的出现和发展,出现了分布式操作系统和网络操作系统。随着信息家电的发展,又出现了嵌入式操作系统。 3.在一段时间内,内存中能够接纳多道程序的系统称为多道程序系统。 单道程序环境下处理器的利用率很低,当程序进行输入/输出操作时,处理器空闲,同时外部设备的利用率也很低,引入多道程序系统以后,整个计算机的利用率得到了提高。4.允许多个联机用户同时使用一台计算机系统进行计算的操作系统称为分时操作系统,分时操作系统具有以下特性:同时性,独立性,及时性和交互性。 实时操作系统是指当外界事件或数据产生时,能够接收并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。实时操作系统的主要特点:对处理时间和响应时间要求高,可靠性和安全性高,多路性、独立性和交互性,整体性强。 5.分时操作系统和批处理操作系统虽然有共性,它们都基于多道程序设计技术,但存在下列不同点: ●追求的目标不同。批处理系统以提高系统资源利用率和作业吞吐率为目标;分时系 统则要满足多个联机用户立即型命令的快速响应。 ●适应的作业不同。批处理系统适应已经调试好的大型作业;而分时系统适应正在调 试的小作业。

操作系统原理实验指导

操作系统实验指导 操作系统是计算机的最重要的系统软件,它在计算机中具有核心地位,其作用是对计算机系统资源进行统一的调度和管理,提供各种强有力的系统服务,为用户创造灵活而又方便的使用环境。一个精心设计的操作系统能极大地扩充计算机系统的功能,充分地发挥系统中各种资源的使用效率,提高系统工作的可靠性。 操作系统原理是计算机科学与技术专业的一门主要专业课程,它涉及计算机系统中各种软、硬资源管理的实现原理与方法,内容非常丰富,综合性非常强,并且还具有很强的实践性。只有把理论与实践紧密地结合起来,才能取得较好地学习效果。 培养计算机专业学生的系统程序设计能力,也是本课程的重要环节。系统程序要求结构清晰、合理、可读性好,有准确而简明的注释。通过实验可以培养学生正规系统程序设计能力。 本实验包括下列六个方面: 实验一几种操作系统的界面 实验二进程调度 实验三存储器管理 实验四存储器管理 实验五磁盘驱动调度 实验六文件管理系统 上述每个实验约需要10个学时。可根据实际情况选用。最好学生自己独立完成,如有困难,可参考一些示例,弄清每个实验的思想和实现方法,上机调试通过,不能完全照搬示例。 实验一几种操作系统的界面 1、目的与要求 目的:通过本实验,学生应熟悉1~2种操作系统的界面。在熟练使用的基础上,能了解各种命令和调用在系统中的大致工作过程,也就是通过操作系统的外部特性,逐步深入到操作系统的内在实质内容中去。 要求:能熟练地在1~2种操作系统环境下工作。学会使用各种命令,熟悉系统提供的各种功能。主动而有效地使用计算机。 熟悉系统实用程序的调用方法和各种系统调用模块的功能和用法。 2、示例 用1~2种操作系统提供的各种手段,建立、修改、编辑、编译和运行程序,最后撤消一个简单程序。要尽可能多地使用系统提供的各种命令和功能。 操作系统可为如下两种序列: (1)Windows 98或Windows 2000或Windows XP。 (2)Linux或Unix。 下面简要介绍一下Unix操作系统。 Unix是一个分时操作系统,面向用户的界面shell是一种命令程序设计语言,这种语言向用户提供了从低到高,从简单到复杂的三个层次的使用方式。它们是简单命令、组合命令和shell过程。 简单命令:Unix命令一律使用小写字母。 例如:ls -l 显示文件目录(长格式) rm 删除一个文件 cat 合并和传送文件、 cp 复制文件 mv 文件改名 cc 编译C语言源程序 组合命令:shell简单命令可以用管道算符|组合构成功能更强的命令。

操作系统课程设计实验报告

河北大学工商学院 课程设计 题目:操作系统课程设计 学部信息学部 学科门类电气信息 专业计算机 学号2011482370 姓名耿雪涛 指导教师朱亮 2013 年6月19日

主要内容 一、设计目的 通过模拟操作系统的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。 二、设计思想 实现一个模拟操作系统,使用VB、VC、CB等windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。 设计模板如下图: 注:本人主要涉及设备管理模块

三、设计要求 设备管理主要包括设备的分配和回收。 ⑴模拟系统中有A、B、C三种独占型设备,A设备1个,B设备2个,C设备2个。 ⑵采用死锁的预防方法来处理申请独占设备可能造成的死锁。 ⑶屏幕显示 注:屏幕显示要求包括:每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。 设备管理模块详细设计 一、设备管理的任务 I/O设备是按照用户的请求,控制设备的各种操作,用于完成I/O 设备与内存之间的数据交换(包括设备的分配与回收,设备的驱动管理等),最终完成用户的I/O请求,并且I/O设备为用户提供了使用外部设备的接口,可以满足用户的需求。 二、设备管理函数的详细描述 1、检查设备是否可用(主要代码) public bool JudgeDevice(DeviceType type) { bool str = false; switch (type) { case DeviceType.a: {

《操作系统》期末试卷(含答案)

计算机网络试题 一、选择题 1、在现代操作系统中引入了(),从而使并发和共享成为可能。 A.单道程序 B. 磁盘 C. 对象 D.多道程序 2、( )操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。 A.网络 B.分布式 C.分时 D.实时 3、从用户的观点看,操作系统是()。 A. 用户与计算机硬件之间的接口 B.控制和管理计算机资源的软件 C. 合理组织计算机工作流程的软件 D.计算机资源的的管理者 4、当CPU处于管态时,它可以执行的指令是()。 A. 计算机系统中的全部指令 B. 仅限于非特权指令 C. 仅限于访管指令 D. 仅限于特权指令 5、用户在程序中试图读取某文件的第100个逻辑块时,使用操作系统提供的()接口。 A. 系统调用 B.图形用户接口 C.原语 D.键盘命令 6、下列几种关于进程的叙述,()最不符合操作系统对进程的理解? A.进程是在多程序并行环境中的完整的程序。 B.进程可以由程序、数据和进程控制块描述。 C.线程是一种特殊的进程。 D.进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。 7、当一个进程处于()状态时,称其为等待(或阻塞)状态。 A. 它正等待中央处理机 B. 它正等待合作进程的一个消息 C. 它正等待分给它一个时间片 D. 它正等待进入内存 8、一个进程释放一种资源将有可能导致一个或几个进程()。 A.由就绪变运行 B.由运行变就绪 C.由阻塞变运行 D.由阻塞变就绪 9、下面关于线程的叙述中,正确的是()。 A.不论是系统支持线程还是用户级线程,其切换都需要内核的支持。 B.线程是资源的分配单位,进程是调度和分配的单位。 C.不管系统中是否有线程,进程都是拥有资源的独立单位。 D.在引入线程的系统中,进程仍是资源分配和调度分派的基本单位。

dows Server 2012网络操作系统项目教程试卷A参考答案及评分标准

《windows操作系统与服务器配置》课程试卷A 参考答案及评分标准 一、填空题(10小题,每空1分,共20分) 1.源主机、目标主机 2.客户/服务器或Client/Server或者C/S 3.Foundation(或基础版)、Essential(或精华版)、Standard(或标准版)和Datacenter(或数据中心版) 4.角色和功能 5.512MB、32GB、64 6.NTFS 7.物理机和虚拟机 8.域控制器、独立服务器、成员服务器 9.本地组、域组 10.远程客户端通过VPN连接到局域网、LAN互连 二、单项选择题(在每小题的四个备选答案中选出一个正确的答案,并将 三、判断题(正确的请在题后的括号内打“√”,错的打“×”, 10小题,每小题1分,共10分) 1.× 2. √3. √ 4. ×5. √ 6. × 7. √8. √ 9. × 10. √ 四、名词解释题(5小题,每小题3分,共15分) 1.网络操作系统除了能够实现单机操作系统的全部功能外(1分),还具备管理网络中的共享资源(1分),实现用户通信以及方便用户使用网络等功能(1分)。 2.Unix是一个通用的、交互作用的分时操作系统。 3.专用虚拟交换机:连接在这个虚拟交换机上的计算机之间可以互相通信(1分),但并不能与主机通信(1分),也无法与其他网络内的计算机通信(1分)。 4.域名控制器:是指安装了活动目录的Windows Server2012的服务器(2分),他保存了活动目录信息的副本(1分)。

5.安全模板:是一种可以定义安全策略的文件表示方式(1分),它能够配置账户策略、本地策略、事件日志、受限制的组、文件系统、注册表以及系统服务等项目的安全设置(2分)。 五、简答题(5小题,每小题5分,共25分) 1.网络操作系统应具有下面五个方面的功能。 (1)共享资源管理(1分)。 网络操作系统能够对网络中的共享资源(硬件和软件)实施有效的管理,协调用户对共享资源的使用,并保证共享数据的安全性和一致性。 (2)网络通信(1分)。 网络通信是网络最基本的功能,其任务是在源主机和目标主机之间实现无差错的数据传输。 (3)网络服务(1分)。 网络操作系统能够为用户提供多种有效的网络服务,如电子邮件、文件传输、共享打印服务等。 (4)网络管理(1分)。 网络管理包括安全管理、数据恢复、网络性能监视等。 (5)互操作能力(1分)。 2.基本磁盘与动态磁盘的区别。 (1)基本磁盘管理(2分) 基本磁盘是平常使用的默认磁盘类型,通过分区来管理和应用磁盘空间。一个基本磁盘可以划分为主磁盘分区(Primary Partition)和扩展磁盘分区(Extended Partition),但是最多只能建立一个扩展磁盘分区。一个基本磁盘最多可以分为四个区,即4个主磁盘分区或3个主磁盘分区和一个扩展磁盘分区。 (2)动态磁盘管理(3分) 动态磁盘使用卷(Volume)来组织空间,使用方法与基本磁盘分区相似。动态磁盘卷可建立在不连续的磁盘空间上,且空间大小可以动态地变更。动态卷的创建数量也不受限制。在动态磁盘中可以建立多种类型的卷,以提供高性能的磁盘存储能力。 动态磁盘提供了更好的磁盘访问性能以及容错等功能。可以将基本磁盘转换为动态磁盘,而不损坏原有的数据。动态磁盘若要转换为基本磁盘,则必须删除原有的卷才可以转换。 3.简述DNS 常见的资源记录。 SOA:初始授权记录(1分)。 NS:名称服务器记录,指定授权的名称服务器(1分)。 A:主机记录,实现正向查询,建立域名到IP地址的映射(1分)。 PTR :指针记录,实现反向查询,建立IP地址到域名的映像(1分)。 MX:邮件交换记录,指定用来交换或者转发邮件信息的服务器(1分)。 4.动态IP地址方案有什么优点和缺点?简述DHCP服务器的工作过程。 优点:减少网络管理员管理IP地址的工作量;提高IP地址的使用率,节约IP地址(1分)。

实验指导(2015完全版)

操作系统上机实验指导书 (第一版) 闫大顺李晟编著 吴家培主审 计算机科学与工程学院 2014.8

操作系统实验指导 本课程是为《计算机操作系统》课所开的实验。计算机操作系统课程是一门实践性很强的技术课程,本课程实验的目的在于培养学生的实践能力,促进理论与实践的结合。要求学生通过上机编程,熟悉对操作系统原理,并熟练使用程序接口,并了解如何模拟操作系统原理的实现,从而加深对操作系统原理的领会,加深对操作系统实现方法的理解,与此同时使学生在程序设计方面也能够得到很大程度的提高。 实验的目的是使学生理论联系实际,提高学生系统理解与开发能力。这里所列的实验分为必做和选做。具体实验题的选择,不仅要考虑课程内容,而且要考虑学生目前的编程能力,要由浅入深。教师可通过运行示例或动画,帮助学生理解实验要求。学生应选择自己熟悉的语言与开发环境去完成实验。根据以往的教学经验,Delphi、C++ Builder,JBuilder由于提供了许多可重用的构件,易于学习、使用,VC++学习、使用困难较多。实验要求尽量在windows操作系统下,也可以在Linux下完成,由于多数没有专门学习Linux,在其平台下做试验比较困难。实验的硬件要求是能够支持VC++、Delphi、C++ Builder,JBuilder的微机即可。每个学生都独立在一台计算机上完成自己的实验内容,杜绝学生的抄袭。 实验报告的要求 1. 每位同学准备实验报告本,上机前作好充分的准备工作,预习本次实验的内容,事先熟悉与实验有关的软硬件环境。 2. 实验时遵守实验室的规章制度,爱护实验设备,对于实验设备出现的问题,要及时向指导老师汇报。 3. 提交实验文件格式:[班级][学号]_[实验题号].[扩展名] 例:计051班学号为03的学生第四个实验的文件名为:j05103_4.c 4. 最终的实验报告按照实验名称、实验目的、实验内容,实验过程(程序设计、实现与调试)、实验总结五部分书写,按时上交。实验总结是对于实验过程中出现的问题或疑惑的分析与思考。认真按照要求填写到实验报告纸上。

操作系统-Linux课程实验报告

实验 1.1、1.2 Linux Ubuntu的安装、创建新的虚拟机VMWare

实验1.3 Shell编程 1.实验目的与容 通过本实验,了解Linux系统的shell机制,掌握简单的shell编程技巧。 编制简单的Shell程序,该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。 2.程序源代码清单 #include #include int main(){ printf("Hello Linux\n"); int pid; int state; int pfd[2]; pipe(pfd); if (fork()==0){ printf("In the grep progress\n"); dup2(pfd[0],0); close(pfd[0]); close(pfd[1]); execlp("grep","grep","sh",0); perror("exelp grep error");

} esle if(fork()==0){ printf("In the ps progress\n"); dup2(pfd[1],1); close(pfd[0]); close(pfd[1]); execlp("ps","ps","-ef",0); perror("execlp ps -ef"); } close(pfd[1]); close(pfd[0]); wait(&state); wait(&state); } 实验2.3 核模块 实验步骤: (1).编写核模块 文件中主要包含init_clock(),exit_clock(),read_clock()三个函数。其中init_clock(),exit_clock()负责将模块从系统中加载或卸载,以及增加或删除模块在/proc中的入口。read_clock()负责产生/proc/clock被读时的动作。 (2).编译核模块Makefile文件 # Makefile under 2.6.25

Linux操作系统实用教程试题一及答案

Linux操作系统实用教程试题一及答案 一、选择题(每题2分,共50分) 下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。 1.Linux系统是一个()的操作系统。 A.单用户、单任务 B.单用户、多任务 C.多用户、单任务 D.多用户、多任务 2.Red Hat Linux 9系统中用户默认的Shell是()。 A.bash B.ksh C.csh D.sh 3.如果忘记了ls命令的用法,可以采用()命令获得帮助。 A.?ls B.help ls C.man ls D.get ls 4.要给文件file1加上其他人可执行属性的命令是()。 A.chmod a+x file1 B.chown a+x file1 C.chmod o+x file1 D.chown o+x file1 5.使用$cd ~命令后,会进入( ) 目录。 A. / B. ~ C.用户的主目录 D. /tmp 6.添加用户“user”的命令是()。 https://www.sodocs.net/doc/8214874254.html,er user https://www.sodocs.net/doc/8214874254.html,eradd user C.add user D.adduser 7.删除用户“user”及其主目录下所有文件的命令是()。 https://www.sodocs.net/doc/8214874254.html,erdel -p user https://www.sodocs.net/doc/8214874254.html,erdel -r user https://www.sodocs.net/doc/8214874254.html,erdel -a user https://www.sodocs.net/doc/8214874254.html,erdel -z user 8.查看系统当中所有进程的命令是()。 A.ps all B.ps aix C.ps auf D.ps aux 9.配置主机网卡IP地址的配置文件是()。 A./etc/sysconfig/network-scripts/ifcfg-eth0 B./etc/sysconfig/network C./etc/resolv.conf D./etc/host.conf 10.指定系统主机名的配置文件是()。 A./etc/hosts B./etc/host.conf C./etc/sysocnfig/network D./etc/resolv.conf

操作系统试题(绝密)

“操作系统”复习提纲 2010-6-26 1.什么是操作系统?如何理解它的“机器扩展(extended machine)”和“资源 管理(resource management)”两个基本能力? 答:操作系统是计算机系统中的一个系统软件,是一些程序模块的集合 1、它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源 2、合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能 3、使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效地运 行 作为扩展机器的操作系统,为程序员隐藏硬件的实际细节,并提供一个可以读写 的、简洁的命名文件视图的程序。它还隐藏了大量与中断、定时器、存储管理以 及其他与底层特征有关的令人烦恼的细节。 作为资源管理者的操作系统,主要任务是记录使用资源的情况、对资源的请求进 行授权、计算使用费用,并且为不同的程序和用户协调互相冲突的资源请求。在 时间和空间上实现共享资源的复用。 2.中断发生时,操作系统底层的运行框架(Skeleton)? 答:1)硬件压入堆栈技术器等 2)硬件从中断向量装入新的程序计数器 3)汇编语言过程保存寄存器值 4)汇编语言过程设置新的堆栈 5)C中断服务例程运行(典型的读和缓冲输入) 6)调度程序决定下一个将运行的进程 7)C过程返回至汇编代码 8)汇编语言过程开始运行新的当前进程。 3.什么是进程和线程,区别是什么? 答:线程是在进程内用于调度和占有处理机的基本单位,它由线程控制表、存储线程上下文的用户栈以及核心栈组成。进程是程序的一次动态执行过程,它也是系统资源分配的基本单位,它能和其他进程并发执行。 线程与进程的主要区别:进程是资源管理的基本单位,线程只是处理机调度的基本单位。进程进行处理机切换和调度时间较长,而线程进行处理机切换和调度时间较短,不发生资源的变化。线程和进程一样,都有自己的状态,也有相应的同步机制,不过由于线程没有单独的数据和程序空间,因此线程没有挂起状态。进程的调度、同步机制大多数由操作系统内核完成,而线程的控制既可以由操作系统内核进行,也可以由用户控制进行。 4.针对如下的多线程Web Server代码,图式说明进程和线程的结构关系。

完整word版Linux网络操作系统项目教程RHEL74 CentOS 74第3版习题及答案

网络操作系统项目教程《Linux 》)(第3版)(RHEL7.4/CentOS 7.4 课后习题答案练习题1.11 一、填空题。1.GNU的含义是。、、2.Linux一般有3个主要部分: 这两套操作系统。以及3.目前被称为纯种的UNIX指的就是 项目制定的通用公共许可的软件模式进行发布的,它是GNU.Linux是基于4。证,英文是 。5.史托曼成立了自由软件基金会,它的英文是 的缩写,重点在规范核心与应用程序之间的接口,这是由美国电.POSIX是6 IEEE)所发布的一项标准。气与电子工程师学会(两个方面。与7.当前的Linux常见的 应用可分为 两种。Linux的版本分为和8.。9.安装Linux最少需要两个分区,分别是 。10.Linux默认的系统管理员账号是 1. GNU's Not Unix的递归缩写(GNU计划一个自由软件组织) 2. 内核(kernel)、命令解释层(Shell或其他操作环境)、实用工具 3. System V BSD 4. Copyleft(无版权)General Public License,GPL) 5. FSF,Free Software Foundation 6. 便携式操作系统接口(Portable Operating System Interface) 7. 企业应用个人应用 8. 内核版本发行版本 9. swap交换分区/(根)分区 10. root 二、选择题 )开发的。最早是由计算机爱好者(Linux.1. A.Richard Petersen B.Linus Torvalds C.Rob Pick D.Linux Sarwar 2.下列中()是自由软件。 A.Windows XP B.UNIX C.Linux D.Windows 2008 的特点。)不是Linux3.下列中( D .开放性.单用户B C.设备独立性A.多任务 )的版本。4.Linux的内核版本2.3.20是(D .第二次修订A.不稳定B.稳定的C.第三次修订

操作系统原理实验报告(终版)

操作系统原理实验报告(终版)

————————————————————————————————作者:————————————————————————————————日期:

[键入文字] XX学校 实验报告 课程名称: 学院: 专业班: 姓名: 学号: 指导教师: 2011 年3 月

目录 实验1 进程管理 (3) 一、实验目的 (3) 二、实验内容 (3) 三、实验要求 (3) 四、程序说明和程序流程图 (4) 五、程序代码 (5) 六、程序运行结果及分析 (7) 七.指导教师评议 (8) 实验2 进程通信 (9) 一、实验目的 (9) 二、实验内容 (9) 三、实验要求 (9) 四、程序说明和程序流程图 (9) 五、程序代码 (11) 七.指导教师评议 (14) 实验3 存储管理 (15) 一、实验目的 (15) 二、实验内容 (15) 三、实验要求 (15) 四、程序说明和程序流程图 (16) 六、程序运行结果及分析 (23)

七.指导教师评议 (23) 实验4 文件系统 (24) 一、实验目的 (24) 二、实验内容 (24) 三、实验要求 (24) 四、程序说明和程序流程图 (24) 五、程序代码 (26) 六、程序运行结果及分析 (26) 七.指导教师评议 (27)

实验1 进程管理 一、实验目的 1. 弄清进程和程序的区别,加深对进程概念的理解。 2. 了解并发进程的执行过程,进一步认识并发执行的实质。 3. 掌握解决进程互斥使用资源的方法。 二、实验内容 1. 管道通信 使用系统调用pipe( )建立一个管道,然后使用系统调用fork( )创建2个子进程p1和p2。这2个子进程分别向管道中写入字符串:“Child process p1 is sending message!”和“Child process p2 is sending message!”,而父进程则从管道中读出来自两个子进程的信息,并显示在屏幕上。 2. 软中断通信 使用系统调用fork( )创建2个子进程p1和p2,在父进程中使用系统调用signal( )捕捉来自键盘上的软中断信号SIGINT(即按Ctrl-C),当捕捉到软中断信号SIGINT后,父进程使用系统调用kill( )分别向2个子进程发出软中断信号SIGUSR1和SIGUSR2,子进程捕捉到信号后分别输出信息“Child process p1 is killed by parent!”和“Child process p2 is killed by parent!”后终止。而父进程等待2个子进程终止后,输出信息“Parent process is killed!”后终止。 三、实验要求 1. 根据实验内容编写C程序。 2. 上机调试程序。 3. 记录并分析程序运行结果。

操作系统课程实验

《操作系统》课程实验 实验1:安装Linux系统(4学时) 目的:1.学会在操作系统安装之前,根据硬件配置情况,制订安装计划。 2.学会在安装多操作系统前,利用硬盘分区工具(如PQMagic)为Linux准备分区。 3.学会Linux操作系统的安装步骤和简单配置方法。 4.学会Linux系统的启动、关闭步骤,初步熟悉Linux系统的用户界面。 内容:1.安装并使用硬盘分区工具(如PQMagic),为Linux准备好分区。 2.安装Linux系统(如红旗Linux桌面版)。 3.配置Linux系统运行环境。 4.正确地启动、关闭系统。 5.对图形界面进行一般操作。 要求:1.制订安装计划。 2.如果在机器上已安装了Windows系统,而且没有给Linux预备硬盘分区,则安装硬盘分区工具(如PQMagic),运行它,为Linux划分出一块“未分配”分区。 3.在光驱中放入Linux系统安装盘,启动系统。按照屏幕提示,选择/输入相关参数,启动安装过程。 4.安装成功后,退出系统,取出安装盘。重新开机,登录Linux系统。 5.对Linux系统进行配置,如显示设备、打印机等。 6.利用鼠标对图形界面进行操作。 说明:1.本实验应在教师的授权和指导下进行,不可擅自操作,否则可能造成原有系统被破坏。 2.如条件不允许每个学生亲自安装,可采用分组进行安装或课堂演示安装的方式。 实验2:Linux 应用及shell编程(4学时) 目的:1.掌握Linux一般命令格式和常用命令。 2.学会使用vi编辑器建立、编辑文本文件。

3.了解shell的作用和主要分类。 4.学会bash脚本的建立和执行方式。 5.理解bash的基本语法。 6.学会编写简单的shell脚本。 内容:1.正确地登录和退出系统。 2.熟悉使用date,cal等常用命令。 3.进入和退出vi。利用文本插入方式建立一个文件。 4.学会用gcc编译器编译C程序。 5.建立shell脚本并执行它。 6.学会使用shell变量和位置参数、环境变量。 7.学会使用bash的特殊字符和一般控制结构编写shell脚本。 要求:1.登录进入系统,修改个人密码。 2.使用简单命令:date,cal,who,echo,clear等,了解Linux命令格式。 3.进入vi。建立一个文件,如file.c。进入插入方式,输入一个C语言程序的各行内容,故意制造几处错误。最后,将该文件存盘。回到shell状态下。 4.运行gcc file.c -o myfile,编译该文件,会发现错误提示。理解其含义。 5.利用vi建立一个脚本文件,其中包括date,cal,pwd,ls等常用命令。然后以不同方式执行该脚本。 6.对主教材第2章中的适当例题进行编辑,然后执行。从而体会通配符、引号、输入输出重定向符、成组命令的作用;能正确使用自定义变量、位置参数、环境变量、输入/输出命令;能利用if语句、while语句、for语句和函数编写简单的脚本。 实验3:进程管理(4学时) 目的:1.加深对进程概念的理解,明确它与程序的区别,突出理解其动态性特征。 2.学会使用ps命令观察进程的状态,并分析进程族系关系。 3.学会使用系统调用对进程进行控制。

现代操作系统试卷及其答案

1.一般用户更喜欢使用的系统是()。 A.手工操作 B.单道批处理 C.多道批处理 D.多用户分时系统 2. 与计算机硬件关系最密切的软件是()。 A.编译程序 B.数据库管理系统 C.游戏程序 D.OS 3. 现代OS具有并发性和共享性,是()的引入导致的。 A.单道程序 B. 磁盘 C. 对象 D.多道程序 4. 早期的OS主要追求的是()。 A.系统的效率 B.用户的方便性 C.可移植 D.可扩充性 5.()不是多道程序系统 A.单用户单任务 B.多道批处理系统 C.单用户多任务 D.多用户分时系统 6.()是多道操作系统不可缺少的硬件支持。 A.打印机 B.中断机构 C.软盘 D.鼠标 7. 特权指令可以在()执行。 A.目态 B.浏览器中 C.任意的时间 D.进程调度中 8. 没有了()计算机系统就启动不起来。 A.编译器 B.DBMS C.OS D.浏览器 9. 通道能够完成()之间的数据传输。 A.CPU与外设 B.内存与外设 C.CPU与主存 D.外设与外设 10. 操作系统的主要功能有()。 A.进程管理、存储器管理、设备管理、处理机管理 B.虚拟存储管理、处理机管理、进程调度、文件系统 C.处理机管理、存储器管理、设备管理、文件系统 D.进程管理、中断管理、设备管理、文件系统 11. 单处理机计算机系统中,()是并行操作的。 A.处理机的操作与通道的操作是并行的 B.程序与程序 C.主程序与子程序 D.用户程序与操作系统程序 12. 处理机的所有指令可以在()执行。 A.目态 B.浏览器中

C.任意的时间 D.系统态 13.()功能不是操作系统直接完成的功能。 A.管理计算机硬盘 B.对程序进行编译 C.实现虚拟存储器 D.删除文件 14. 要求在规定的时间内对外界的请求必须给予及时响应的OS是()。 A.多用户分时系统 B.实时系统 C.批处理系统时间 D.网络操作系统 15. 操作系统是对()进行管理的软件。 A.硬件 B.软件 C.计算机资源 D.应用程序 16.()对多用户分时系统最重要。 A.实时性 B.交互性 C.共享性 D.运行效率 17.()对多道批处理系统最重要。 A.实时性 B.交互性 C.共享性 D.运行效率 18. ( )对实时系统最重要。 A.及时性 B.交互性 C.共享性 D.运行效率 19. Windows98是()操作系统。 A.多用户分时 B.批处理系统 C.单用户多任务 D.单用单任务 20. 分布式系统与网络系统的主要区别是() A.并行性 B.透明性 C.共享性 D.复杂性 21. ( )操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。 A.网络 B.分布式 C.分时 D.实时 22. 如果分时操作系统的时间片一定,那么(),则响应时间越长。 A.用户数越少 B.用户数越多 C.内存越小 D.内存越大 23. 下面6个系统中,必须是实时操作系统的有()个。 ·航空订票系统 ·过程控制系统 ·机器口语翻译系统 ·计算机辅助系统

dows Server 2012网络操作系统项目教程试卷B参考答案及评分标准

《windows操作系统与服务器配置》课程试卷B 参考答案及评分标准 一、填空题(10小题,每空1分,共20分) 1.用户、网络用户 2.FAT、FAT32、NTFS 3.数字(0-9)、特殊字符 4.操作系统、硬件 5.内部、外部、专用 6.本地用户账户、域用户账户、组账户 7.本地安全账户数据库或SAM、活动目录或AD 8.访问权限 9.Convert E: /fs:ntfs 10.区域(或zone) 二、单项选择题(在每小题的四个备选答案中选出一个正确的答案,并将其字母标号填入题干的括号内,30小题,每小题1分,共30分) 1 2 3 4 5 6 7 8 9 10 A D B A A B A B B D 11 12 13 14 15 16 17 18 19 20 B B A C C D C A B B 21 22 23 24 25 26 27 28 29 30 A A C C D B A B D B 三、判断题(正确的请在题后的括号内打“√”,错的打“×”, 10小题,每小题1分,共10分) 1.× 2. ×3. × 4. √5. × 6. √ 7. √8. × 9. √ 10. √ 四、名词解释题(5小题,每小题3分,共15分) 1.操作系统:是计算机系统中负责提供应用程序运行环境以及用户操作环境的系统软件(2分),同时也是计算机系统的核心与基石(1分)。 2.虚拟内存:用于临时存放内存数据的磁盘空间。(3分) 3.内部虚拟交换机:连接在这个虚拟交换机上的计算机之间可以互相通信(1分),也可以与主机通信(1分),但是无法与其他网络内的计算机通信,同时也无法连接到Internet(1分)。

操作系统原理课程设计

操作系统原理课程设计 ——银行家算法模拟 指导老师:周敏唐洪英杨宏雨 杨承玉傅由甲黄贤英 院系:计算机学院计算机科学与技术班级:0237-6 学号:2002370609 姓名:刘洪彬 同组者:杨志 时间:2005/1/10---2005/1/14

银行家算法模拟 一、设计目的 本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。 二、设计要求 银行家算法是避免死锁的一种重要方法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。 从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:两人一组,每组从所给题目中任选一个(如自拟题目,需经教师同意),每个学生必须独立完成课程设计,不能相互抄袭,同组者文档不能相同; 设计完成后,将所完成的工作交由老师检查; 要求写出一份详细的设计报告。 三、设计内容 编制银行家算法通用程序,并检测所给状态的系统安全性。 1)银行家算法中的数据结构 假设有n个进程m类资源,则有如下数据结构: 可利用资源向量Available。这是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目,其数值随该类资源的分配和回收而动态地改变。Available[j]=K,则表示系统中现有Rj 类资源K个。 最大需求矩阵Max。这是一个n*m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。 分配矩阵Allocation。这也是一个n*m的矩阵,它定义了系统中每一类资源当前已分配给没一进程的资源数。如果Allocation[i,j]=K,则表示进程i 当前已分得Rj类资源的数目为K。 需求矩阵Need。这也是一个n*m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。

相关主题