进程的创建与并发执行-带答案版..

合集下载

“操作系统概论”习题解答之并发进程

“操作系统概论”习题解答之并发进程

“操作系统概论”习题解答之并发进程第7章习题解答1.什么叫并发进程?答:在多道程序设计系统中,作为单个作业可以同时执行,而每一个作业又需要有多个进程的协作来完成。

因此,系统会同时存在着许多进程,在单处理器的情况下,这些进程轮流的占用处理器,即一个进程的工作没有全部完成之前,另一个进程就开始工作,我们说这些可同时执行的进程具有并发性,并且把可同时执行的进程称为“并发进程”。

2.临界区是怎样定义?对临界区的管理应符合哪些要求?答:并发进程中与共享变量有关的程序段称为“临界区”。

对若干个并发进程共享某一变量的相关临界区得管理有三点要求:①一次至多一个进程能够进入临界区,当有进程在临界区执行时,其他想进入临界区执行的进程必须等待。

②不能让一个进程无限制的在临界区执行,即任何一个进入临界区的进程必须有限的时间内退出临界区。

③不能强迫一个进程无限期等待键入它的临界区,即有进程退出临界区时应让一个等待进入临界区的进程进入它的临界区执行。

3.采用PV操作作为同步机构时,假定与某共享变量相关的信号量S的值可在[-1,l]之间,问S的初值是哪个值?当S=-1,S=0,S=l时它们各自的物理含义是什么?答:S的初值是 1.S=-l,表示有一个进程在等待进入临界区执行。

S=0,表示已有一个进程在临界区执行,这时若有进程想进入临界区则必须等待。

S=l,表示无进程在临界区执行,若有进程想进入临界区则可以立即进入。

4.A、B两个火车站之间是单轨连接的,现有许多列车同时到A站,须经A再到达B站,列车出B站后又可分路行驶(如图7-2)为保证行车安全,请你当调度时,你将如何调度列车?请你用PV操作为工具设计一个能实现你的调度方案的自动调度系统。

答:当A、B两站之间无列车停驶时,可让到达A站的一列车进人A、B站之间行驶。

当A石站之间有列车在行驶时,则到达A站者必须在站外等待。

当有列车到达B站后,让等在A站外的一列车进入。

用一个信号量S来控制到达A站的列车能否进入单轨道行驶,S的初始值为l.列车到达A站后,先执行P(S),若无列车在A、B站之间行驶,则执行P(S)后立即进人单轨道行驶,到达B站后,执行V(S),可释放一个等待进入的列车进入行驶。

习题册第二章参考答案

习题册第二章参考答案

习题集第二章参考答案一、单项选择题1、 D2、 D3、 B4、 D5、 C6、 B7、 A 8、 B9、 C10、 B11、 C12、 B13、 D14、 C15、 D16、 A17、 B18、 A19、 B20、 D21、 C22、 D23、 B24、 D25、 D26、 B27、 C28、 B29、 A30、 B31、 A32、 B33、 A34、 C二、填空题1 进程2 就绪执行阻塞3 等待的事件发生的4 进程控制块5 进程控制块(或PCB)6 99 1 1007 就绪8 静止阻塞9 阻塞就绪10 共享存储器,管道通信,消息传递11 信号量12 [1-n,1]13 进程控制块(PCB)14 同步互斥信号量15 wait(mutex)signal(mutex)16 顺序性,封闭性,可再现性17 并发18 临界区19 wait, signal20 1,(1-n)或-(n-1)21 722 wait signal23 阻塞就绪三、判断题×√1×2√3×4×5×6×7√8×9×10√11√12×13√四、简答题1、解释进程的顺序性和并发性。

答:进程的顺序性是指进程在顺序的处理器上的执行是严格按序的,只有在前一个操作结束后才能开始后继操作。

进程并发性是指一组进程可以轮流占用处理器,一个进程的工作没有全部完成之前,另一个进程就可开始工作。

把这样的一组进程看做是同时执行的,把可同时执行的进程称为并发进程。

所以,进程的顺序性是对每个进程而言的,进程的并发性是对一组具有顺序性的进程而言的。

一组进程并发执行时各进程轮流占用处理器交替执行,占用处理器的进程按各自确定的顺序依次执行指令。

2、简述进程与程序的区别和联系。

答:区别:(1)进程能真实地描述并发,而程序不能。

(2)动态性是进程的基本特征,进程实体具有创建、执行和撤销的生命周期,而程序只是一组有序指令的集合,存放在某种介质上,是静态的。

电大操作系统实验报告3_ 进程管理实验

电大操作系统实验报告3_ 进程管理实验

电大操作系统实验报告3_ 进程管理实验电大操作系统实验报告 3 进程管理实验一、实验目的进程管理是操作系统的核心功能之一,本次实验的目的是通过实际操作和观察,深入理解进程的概念、状态转换、进程调度以及进程间的通信机制,掌握操作系统中进程管理的基本原理和方法,提高对操作系统的整体认识和实践能力。

二、实验环境本次实验使用的操作系统为 Windows 10,编程语言为 C 语言,开发工具为 Visual Studio 2019。

三、实验内容及步骤(一)进程的创建与终止1、编写一个 C 程序,使用系统调用创建一个子进程。

2、在父进程和子进程中分别输出各自的进程 ID 和父进程 ID。

3、子进程执行一段简单的计算任务,父进程等待子进程结束后输出结束信息。

以下是实现上述功能的 C 程序代码:```cinclude <stdioh>include <stdlibh>include <unistdh>int main(){pid_t pid;pid = fork();if (pid < 0) {printf("创建子进程失败\n");return 1;} else if (pid == 0) {printf("子进程:我的进程 ID 是%d,父进程 ID 是%d\n",getpid(), getppid());int result = 2 + 3;printf("子进程计算结果:2 + 3 =%d\n", result);exit(0);} else {printf("父进程:我的进程 ID 是%d,子进程 ID 是%d\n",getpid(), pid);wait(NULL);printf("子进程已结束\n");}return 0;}```编译并运行上述程序,可以观察到父进程和子进程的输出信息,验证了进程的创建和终止过程。

(二)进程的状态转换1、编写一个 C 程序,创建一个子进程,子进程进入睡眠状态一段时间,然后被唤醒并输出状态转换信息。

操作系统课后习题答案2

操作系统课后习题答案2

2. 进程和线程的管理例题解析例试说明进程和程序之间的区别和联系。

解进程和程序是既有区别又有联系的两个概念。

进程是动态的,程序是静态的。

程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。

离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。

程序可看作是电影的胶片,进程可以看作电影院放电影的过程。

一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。

一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。

程序可以长期保存,进程只能存在于一段时间。

程序是永久存在的,而进程有从被创建到消亡的生命周期。

例举例说明多道程序系统失去了封闭性和再现性。

解例如,有两个循环程序A和B,共享一个变量N。

程序A每执行一次时,都要做N:=N+1操作;程序B则每执行一次时,都要执行print(N)操作,然后再将N的值置成“0”。

程序A 和B在多道程序系统中同时运行。

假定某时刻变量N的值为n,可能出现下述三种情况:N:=N+1 在print(N)和N:=0之前,此时得到N值变化过程为n+1、n+1、0;N:=N+1 在print(N)和N:=0之后,此时得到N值变化过程为n 、0 、1;N:=N+1 在print(N)之后和N:=0之前,此时得到N值变化过程为n、n+1、0。

所以,在A、B程序多次执行过程中,虽然其每次执行时的环境和初始条件都相同,但每次得到的结果却不一定相同。

例为什么将进程划分成执行、就绪和阻塞三个基本状态解根据多道程序执行的特点,进程的运行是走走停停的。

因此进程的初级状态应该是执行和等待状态。

处于执行状态的进程占用处理机执行程序,处于等待状态的进程正在等待处理机或者等待其它某种事件的发生。

但是,当处理机空闲时,并不是所有处于等待状态的进程都能放到处理机上执行,有的进程即使分配给它处理机,它也不能执行,因为它的执行的条件没有得到满足。

操作系统实验--进程的创建

操作系统实验--进程的创建

操作系统实验--进程的创建h e u(总13页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--操作系统实验报告哈尔滨工程大学计算机科学与技术学院第三讲进程的创建一、实验概述1. 实验名称进程的创建2. 实验目的1.练习使用EOS API函数CreateProcess创建一个进程,掌握创建进程的方法,理解进程和程序的区别。

2.调试跟踪CreateProcess函数的执行过程,了解进程的创建过程,理解进程是资源分配的单位3. 实验类型验证型实验4. 实验内容(1)准备实验(2)练习使用控制台命令创建EOS应用程序的进程(3)练习通过编程的方式让应用程序创建另一应用程序的进程。

(4)调试Create Process函数(5)调试Ps Create Process函数(6)练习通过编程的方式创建应用程序的多个进程二、实验环境EOS实验系统,WINDOWS XP 操作系统三、实验过程1. 设计思路和流程图2. 算法实现3. 需要解决的问题及解答1).在源代码文件提供的源代码基础上进行修改,要求使用同时创建10个进程。

答:参照实验报告第5,6部分。

2).学习本书第 5 章中的节,了解关于线程的相关知识,然后尝试调试 PspCreateThread 函数,观察线程控制块(TCB)初始化的过程。

3).在 PsCreateProcess 函数中调用了 PspCreateProcessEnvironment 函数后又先后调用了PspLoadProcessImage 和 PspCreateThread 函数,学习这些函数的主要功能。

能够交换这些函数被调用的顺序吗思考其中的原因。

答:PspCreateProcessEnvironment 的主要功能是创建进程控制块并且为进程创建了地址空间和分配了句柄表。

PspLoadProcessImage是将进程的可执行映像加载到了进程的地址空间中。

最新进程的创建与并发执行-带答案版

最新进程的创建与并发执行-带答案版

实验二进程管理2.1 进程的创建与并发执行1.实验目的(1) 加深对进程概念的理解,理解进程和程序的区别。

(2) 认识并发进程的实质。

分析进程争用资源的现象,学习解决进程互斥的方法。

(3) 理解系统调用和用户命令的区别。

2.实验类型:验证型3.实验学时:24.实验原理和知识点(1) 实验原理:程序的并发执行具有随机性和不可再现性。

程序并发执行会导致资源共享和资源竞争,各程序向前执行的速度会受资源共享的制约。

程序的动态执行过程用进程这个概念来描述。

由于向前推进的速度不可预知,所以多个进程并发地重复执行,整体上得到的结果可能不同。

但要注意,就其中某单个进程而言,其多次运行结果是确定的。

(2) 知识点:进程、子进程、并发执行的特性;5.实验环境(硬件环境、软件环境):(1)硬件环境:Intel Pentium III 以上CPU,128MB以上内存,2GB以上硬盘(2)软件环境:linux操作系统。

6. 预备知识(1) fork()系统调用头文件:#include <unistd.h> unix standard header/*是POSIX标准定义的unix类系统定义符号常量的头文件,包含了许多UNIX系统服务的函数原型,例如read函数、write函数和getpid函数*/函数原型: pid_t fork(void);/*是Linux下的进程号类型,也就是Process ID _ Type 的缩写。

其实是宏定义的unsigned int类型*/函数功能:fork的功能是创建子进程。

调用fork的进程称为父进程。

如图2.1所示。

子进程是父进程的一个拷贝,它继承了父进程的用户代码、组代码、环境变量、已打开的文件代码、工作目录及资源限制。

fork语句执行后,内核向父进程返回子进程的进程号,向子进程返回0。

父子进程都从fork()的下一句开始并发执行。

返回值:返回值==-1:创建失败。

返回值==0:程序在子进程中。

操作系统练习题第二章课后习题

操作系统练习题第二章课后习题

第二章课后习题一、单项选择题1、在单一处理机上执行程序,多道程序的执行是在()进行的。

A.同一时刻B. 同一时间间隔内C.某一固定时刻D. 某一固定时间间隔内2、引入多道程序技术后,处理机的利用率()。

A.降低了B. 有所改善C.大大提高D. 没有变化,只是程序的执行方便了3、顺序程序和并发程序的执行相比,()。

A.基本相同B. 有点不同C.并发程序执行总体上执行时间快D.顺序程序执行总体上执行时间快4、单一处理机上,将执行时间有重叠的几个程序称为()。

A.顺序程序B. 多道程序C.并发程序D. 并行程序5、进程和程序的本质区别是()。

A.存储在内存和外存B.顺序和非顺序执行机器指C.分时使用和独占使用计算机资源 D.动态和静态特征6、进程就是程序在并发环境中的执行过程,它是系统进行资源分配和调度的一个基本单位。

进程具有[1]、[2]、调度性、异步性和结构性等基本特征。

进程是一次执行过程,具有生命期体现了进程的[1]特征。

进程由程序段、[3]、[4]组成,其中[4]是进程在系统中存在的唯一标识。

供选择的答案:[1][2] A、动态性B、静态性C、共行性D、并发性E、可执行性F、易用性[3] A、过程B、数据C、进程标识符D、函数[4] A、FCB B、FIFO C、PCB D、JCB7、进程执行时的间断性,决定了进程可能具有多种状态。

进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1]进入[2]。

如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3],这个过程是由[4]来完成。

供选择的答案:[1][2][3] A、就绪状态B、静止状态C、阻塞状态D、运行状态[4] A、进程控制程序B、资源分配程序C、进程调度程序D、处理机分配程序8、为了描述进程的动态变化过程,采用了一个与进程相联系的()系统,根据它而感知进程的存在。

第二章部分习题答案

第二章部分习题答案

习题6、试从动态性、并发性和独立性上比较进程和程序。

答:(1)从动态性角度:进程的实质是进程实体的一次执行过程,因此,动态性是进程的最基本的特征。

动态性还表现在:“它由创建而产生,由调度而执行,由撤消而消亡”。

可见,进程实体有一定的生命期,而程序则只是一组有序指令的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的。

(2)从并发性角度:这是指多个进程实体同存于内存中,且能在一段时间内同时运行。

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

引入进程的目的也正是为了使其进程实体能和其它进程实体并发执行;而程序(没有建立PCB)是不能并发执行的。

(3)从独立性角度:在传统的OS中,独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。

凡未建立PCB的程序都不能作为一个独立的单位参与运行。

7、试说明PCB的作用,为什么说PCB是进程存在的惟一标志?答:(1)进程控制块PCB的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。

(2)在进程的整个生命期中,系统总是通过PCB对进程进行控制的,亦即,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的。

所以说,PCB 是进程存在的惟一标志。

9、为什么要引入挂起状态?该状态有哪些性质?答:引入挂起状态的原因:(1)终端用户的请求。

(2)父进程请求。

(3)负荷调节的需要。

(4)操作系统的需要。

处于挂起状态的进程最大的特点是主动放弃CPU调度。

引入挂起状态后,进程状态转换图中增加了活动阻塞、静止阻塞、活动就绪、静止就绪四个状态,并增加了活动就绪与静止就绪之间的相互转换,活动阻塞与静止阻塞之间的相互转换。

16、进程在运行时存在哪两种形式的制约?并举例说明之。

答:(1)间接相互制约关系。

同处于一个系统中的进程,通常都共享着某种系统资源,如共享CPU、共享I/O设备等。

(完整版)操作系统第二章作业答案

(完整版)操作系统第二章作业答案

第二章作业1.操作系统中为什么要引入进程的概念?为了实现并发进程中的合作和协调,以及保证系统的安全,操作系统在进程管理方面要做哪些工作?答:为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、并发性、动态性和相互制约,操作系统中不得不引入进程的概念。

为了防止操作系统及其关键的数据结构如:PCB等,受到用户程序破坏,将处理机分为核心态和用户态。

对进程进行创建、撤销以及在某些进程状态之间的转换控制。

2.试描述当前正在运行的进程状态改变时,操作系统进行进程切换的步骤。

答:分为两种情况:(1):运行状态就绪状态:根据进程的自身的情况插入到就绪队列的适当位置,系统收回处理及转入进程调度程序重新进行调度。

(2):运行状态→阻塞状态:系统会调用进程调度程序重新选择一个进程投入运行。

3.现代操作系统一般都提供多任务的环境,是回答以下问题。

为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?答:系统必须建立PCB。

为支持进程的状态变迁,系统至少应该供哪些进程控制原语?答:阻塞、唤醒、挂起和激活原语。

当进程的状态变迁时,相应的数据结构发生变化吗?答:会根据状态的变迁发生相应的变化。

例如:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从阻塞队列摘下,投入到就绪队列中。

4.什么是进程控制块?从进程管理、中断处理、进程通信、文件管理、设备管理及存储管理的角度设计进程控制块应该包含的内容。

答:PCB:描述进程本身的特征、状态、调度信息以及对资源占有情况等的数据结构,是进程存在的唯一标识。

进程控制块所包含的内容:①进程信息描述;②CPU信息状态;③进程调度信息;④进程控制和资源占用信息。

5.假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU在进程切换时所花费的时间是10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少?解:P=(10*10)/[(300+10)*10]=3.2%6.试述线程的特点及其与进程之间的关系。

《操作系统实训(Linux)——习题解答、例题解析、实验指导》-王红-电子教..

《操作系统实训(Linux)——习题解答、例题解析、实验指导》-王红-电子教..

第2章进程管理进程是操作系统中非常重要的概念,进程管理是操作系统最为重要的功能之一。

12.1 基本结构图2进程管理基本知识结构图(见下页)进程管理进程的概念进程的描述进程控制进程的创建与终止进程通信线程程序的顺序执行程序的并发执行进程的概念及特征进程的状态及转换Linux进程的状态Linux进程的PCBLinux进程的系统调用进程的阻塞与唤醒进程的同步与互斥临界资源锁机制信号量进程控制块信号量的应用及同步举例进程的同步与互斥进程控制块的组织方式共享存储器机制消息传递机制管道通信机制信号通信机制线程的概念线程的特点2.2 知识点2.2.1 进程的概念1.程序的顺序执行我们把一个具有独立功能的程序独占处理机,直到最后结束的过程称为程序的顺序执行。

程序顺序执行时的特征为:顺序性、封闭性和可再现性。

4顺序性是指,程序执行时严格按照程序的语句或指令的顺序执行。

封闭性是指,程序执行的结果只有程序本身才可以改变,而与其它外界因素无关。

可再现性是指,只要输入的初始条件相同,则无论何时重复执行该程序,结果都是相同的。

52.程序的并发执行所谓程序的并发性,是指多道程序在同一时间间隔内同时发生。

63.进程的概念及特征(1)进程的概念进程是操作系统中最基本、最重要的概念之一。

进程可以如下定义:进程是程序的一次执行。

进程是可以和别的进程并发执行的计算。

进程就是一个程序在给定活动空间和初始条件下,在一个处理机上的执行过程。

进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位。

进程是动态的,有生命周期的活动。

内核可以创建一个进程,最终将由内核终止该进程使其消亡。

7(2)进程与程序的区别进程和程序是两个完全不同的概念,但又有密切的联系。

8(3)进程的特征进程具有动态性、并发性、独立性、异步性及结构性的特征。

4.进程的状态及转换在操作系统中,进程通常至少有三种基本状态:就绪状态、执行状态和阻塞状态。

910程执行完成或撤消阻塞状态就绪状态进程创建调度用片间时进等待某事件发生如I/O 请求外部事件发生进程的基本状态及转换图完5.Linux进程的状态Linux系统内核在进程控制块中用state成员描述进程当前的状态,并明确定义了5种进程状态。

第2章_进程管理习题及答案

第2章_进程管理习题及答案

第二章进程管理习题及答案一、填空题1.进程的静态描述由三部分组成:①、②和③。

【答案】①PCB、②程序部分、③相关的数据结构集【解析】PCB是系统感知进程的唯一实体。

进程的程序部分描述了进程所要完成的功能,而数据结构集是程序在执行时必不可少的工作区和操作对象。

后两部分是进程完成所需功能的物质基础。

2.进程存在的标志是。

【答案】进程控制块PCB【解析】系统根据PCB感知进程的存在和通过PCB中所包含的各项变量的变化,掌握进程所处的状态以达到控制进程活动的目的。

3.①是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了②这一概念。

【答案】①程序的并发执行,②进程【解析】程序的并发执行和资源共享是现代操行系统的基本特征。

程序的并发执行使程序失去了程序顺序执行时所具有的封闭性和可再现性。

在程序并发执行时,程序这个概念不能反映程序并发执行所具有的特性,所以引入进程概念来描述程序并发执行所具有的特点。

4.给出用于进程控制的四种常见的原语①、②、③和④。

【答案】①创建原语、②撤消原语、③阻塞原语、④唤醒原语【解析】进程控制是系统使用一些具有特定功能的程序段来创建、撤消进程以及完成进程各状态间的转换,从而达到多个过程高效率地并行执行和协调,实现资源共享的目的。

把那些在管态下执行的具有特定功能的程序段称为原语。

5.进程被创建后,最初处于①状态,然后经②选中后进入③状态。

【答案】①就绪,②进程调度程序,③运行【解析】进程的从无到有,从存在到消亡是由进程创建原语和撤消原语完成的。

被创建的进程最初处于就绪状态,即该进程获得了除处理机以外的所有资源,处于准备执行的状态;从就绪状态到运行状态的转换是由进程调度程序来完成的。

6.进程调度的方式通常有①和②方式两种。

【答案】①可剥夺、②非剥夺【解析】所谓可剥夺方式,是指就绪队列中一旦有优先级高于当前运行进程的优先级的进程存在时,便立即发生进程调度,转让处理机。

而非剥夺方式则是指:即使在就绪队列中存在有优先级高于当前运行进程的进程,当前进程仍将继续占有处理机,直到该进程完成或某种事件发生(如I/O事件)让出处理机。

第2章进程作业(附答案)

第2章进程作业(附答案)

第二章进程管理程序在顺序执行(①顺序性:每个操作必须在下一个操作开始之前结束。

②封闭性:程序一旦开始运行,独占全部资源,其执行结果不受外界因素影响。

③可再现性:当程序重复执行时,只要程序执行的环境和初始条件相同,必将获得相同的结果。

)时和并发执行(并发、资源共享、制约关系和动态等特征)时,分别具有哪些特征?什么叫进程(进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。

)?为什么要引入进程的概念?1.进程的基本特征是什么?(动态、共行、独立)•请叙述进程与程序的关系和差别?2.进程有哪几种基本状态?请画出各状态之间的状态变化图并说明状态转换的典型原因?3.什么是PCB?包含哪些主要内容?其作用是什么(是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。

)(为什么说PCB是进程存在的唯一标志)?4.下列哪些情况是对的:⑴进程由自己创建⑷进程由于自己解除挂起⑵进程由于自己阻塞⑸进程由于自己唤醒⑶进程由于自己挂起⑹进程由自己撤消5.请解释忙等待与阻塞的区别。

6.用进程状态变迁图,我们可以说明有关处理机管理的大量内容,⑴什么“事件”引起每次显著的状态变迁?⑵当人们观察系统中所有进程时,我们能够看到由某一进下,进程变迁3能立即引起一进程的变迁1发生?⑶在什么情况下,如果有的话,将发生下述因果变迁:2→1; 3→2; 4→1⑷在什么情况下,如果有的话,下述变迁不会立即引起其它变迁发生?a) 1; b) 2; c) 3; d) 47.操作系统的内核是什么?8.原语与非内核程序在执行上有什么不同?9.什么是进程的控制?包括哪些基本内容(进程的创建,进程的撤消,进程的阻塞,进程的唤醒,进程的挂起,进程的激活,改变进程的优先级…等)?10.什么是线程?试说明进程与线程的关系与区别。

11.并发进程间的制约有哪两种?引起制约的原因是什么?12.我们说程序的并发执行将导致最终失去封闭性.这话对所有的程序都成立吗?试举例说明.13.什么叫与时间有关的错误?与时间有关的错误表现在哪些方面?请举例说明之.14.什么是进程间的互斥?什么是进程间的同步?这两个概念有何区别?15.考虑一台计算机,它没有TEST AND SET LOCK指令,但可以按原子操作方式将一个寄存器的内容与另一个存储器字进行交换,是否能利用该指令写一个达到互斥的例程?16.什么叫临界资源?什么叫临界段?对临界区的管理应符合哪些原则?你能用什么工具去写进程间互斥的同步算法?书写该算法时应注意什么问题?17.下面是两个并发执行的进程,它们能正确运行吗?若不能正确运行,请举例说明,并改正之(X是定义的公共变量).Cobeginvar x:integer;procedure P1 procedure P2var y,z:integer; var t,u:integer;begin beginx:=1; x:=0;y:=0; t:=0;if x>=1 then y:=y+1; if x<1 then t:=t+2;z:=y u:=tend; end;coend;18.因修路使A地到B地的多路并行车道变为单车道,请问在此问题中,•什么是临界资源?什么是临界段?19.什么是信号量?它有什么物理意义?应如何设置初值?请说明信号量的数据结构。

(完整版)第二章进程管理习题和答案

(完整版)第二章进程管理习题和答案

--一、填空题1. 进程是一个程序对某个数据集的一次执行过程。

进程从结构上讲,包括程序、数据和PCB三部分。

2. 进程是一个动态的概念,程序是一个静态的概念。

3. 操作系统中,可以并行工作的基本单位是进程,它是由程序、数据集和PCB组成。

4. 进程存在的唯一标志是PCB的存在。

当系统创建一个进程时,系统为其建立一个PCB,当进程被撤销时系统就将其收回。

5. 进程有三种基本状态,即运行状态、就绪状态、阻塞状态。

当进程由(1)变换到(2)或(3)时,就会立即引起重新调度。

6. 在操作系统中,不可中断执行的操作称为原语。

7. 并发进程之间的基本关系是同步或互斥。

其中互斥是指进程之间的一种间接关系。

8. 临界资源是指一段时间只允许一个进程使用的资源,而临界区是指进程中访问临界资源的程序代码。

9. P,V操作原语是在信号量上操作的。

10. 信号量的物理意义是:当信号量的值大于零时,表示可用资源的数量;当信号量值小于零时,其绝对值为等待使用信号量所代表资源的进程的数量。

11. 有n个进程共享同一个临界区,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是1~-(n-1)。

12.如果系统中有n个进程,则在等待(阻塞)队列中进程的个数最多可为个n。

13. 如果信号量的当前值为-5,则表示系统中在该信号量上有5 个等待进程。

14.某程序运行时经常需打印中间结果。

计算时,该进程处于用户态,打印时处于系统态,打印结束时进程处于用户态。

(指系统状态)、15. 在操作系统中引入线程的主要目的是减少程序并发执行时的时空开销,使OS更具有并发性。

16. 如果一个程序能为多个进程同时共享执行,那么它应该以纯码形式编写,即该程序是可重人码程序,这种程序的特点是:在它执行过程中自身不可修改。

17. 中断优先级是由硬件规定的,若要调整中断的响应次序可通过系统调用。

18. 进程初建时处于就绪态,运行时因为时钟中断而处于就绪态,因等待事件或资源而处于阻塞态。

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

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

第一章os引论1. 设计现代OS的主要目标是什么方便性,有效性,可扩充性和开放性.2. OS的作用可表现为哪几个方面 a. OS作为用户与计算机硬件系统之间的接口;b. OS作为计算机系统资源的管理者;c. OS作为扩充机器.3. 试说明推动多道批处理系统形成和发展的主要动力是什么不断提高计算机资源利用率和系统吞吐量的需要;4. 何谓脱机I/O和联机I/O a. 脱机输入输出方式(Off-Line I/O)是为了解决人机矛盾及CPU 和I/O设备之间速度不匹配而提出的.它减少了CPU的空闲等待时间,提高了I/O速度.具体内容是将用户程序和数据在一台外围机的控制下,预先从低速输入设备输入到磁带上,当CPU 需要这些程序和数据时,在直接从磁带机高速输入到内存,从而大大加快了程序的输入过程,减少了CPU等待输入的时间,这就是脱机输入技术;当程序运行完毕或告一段落,CPU需要输出时,无需直接把计算结果送至低速输出设备,而是高速把结果输出到磁带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出,这就是脱机输出技术.b. 若这种输入输出操作在主机控制下进行则称之为联机输入输出方式.5. 试说明推动分时系统形成和发展的主要动力是什么用户的需要.即对用户来说,更好的满足了人-机交互,共享主机以及便于用户上机的需求.6. 试说明实时任务的类型和实时系统的类型.a. 实时任务的类型按任务执行时是否呈现周期性来划分,分为周期性实时任务和非周期性实时任务;---根据对截止时间的要求来划分,分为硬实时任务和软实时任务;b. 通常把要同达行实时控制的系统统称为实时控制系统,把要求对信息进行实时处理的系统成为实时信息处理系统.7. 实现多道程序应解决哪些问题 a. 处理机管理问题;b. 内存管理问题;c. I/O设备管理问题;d. 文件管理问题;e. 作业管理问题.8. 试比较单道与多道批处理系统的特点及优缺点.a. 单道批处理系统是最早出现的一种OS,它具有自动性,顺序性和单道性的特点;---多道批处理系统则具有调度性,无序性和多道性的特点;b. 单道批处理系统是在解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾中形成的,旨在提高系统资源利用率和系统吞吐量,但是仍然不能很好的利用系统资源;---多道批处理系统是对单道批处理系统的改进,其主要优点是资源利用率高,系统吞吐量大;缺点是平均周转时间长,无交互能力.9. 实现分时系统的关键问题是什么应如何解决 a. 关键问题:及时接收,及时处理;b. 对于及时接收,只需在系统中设置一多路卡,多路卡作用是使主机能同时接收用户从各个终端上输入的数据;---对于及时处理,应使所有的用户作业都直接进入内存,在不长的时间内,能使每个作业都运行一次.10 为什么要引入实时操作系统更好地满足实时控制领域和实时信息处理领域的需要.11 OS具有哪几大特征它的最基本特征是什么 a. 并发(Concurrence),共享(Sharing),虚拟(Virtual),异步性(Asynchronism).b. 其中最基本特征是并发和共享.12 内存管理有哪些主要功能它们的主要任务是什么 a. 主要功能: 内存分配,内存保护,地址映射和内存扩充等.b. 内存分配的主要任务是为每道程序分配内存空间,提高存储器利用率,以减少不可用的内存空间,允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要.---内存保护的主要任务是确保每道用户程序都在自己的内存空间中运行,互不干扰.---地址映射的主要任务是将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址.---内存扩充的主要任务是借助虚拟存储技术,从逻辑上去扩充内存容量.13 处理机管理具有哪些功能它们的主要任务是什么 a. 进程控制,进程同步,进程通信和调度.b. 进程控制的主要任务是为作业创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态转换.---进程同步的主要任务是对诸进程的运行进行调节.---进程通信的任务是实现在相互合作进程之间的信息交换.---调度分为作业调度和进程调度.作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个作业,为它们分配必要的资源;而进程调度的任务是从进程的就绪队列中,按照一定的算法选出一新进程,把处理机分配给它,并为它设置运行现场,是进程投入运行.14 设备管理有哪些主要功能其主要任务是什么 a. 主要功能: 缓冲管理,设备分配和设备处理,以及虚拟设备等.b. 主要任务: 完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;以及方便用户使用I/O设备.15 文件管理有哪些主要功能其主要任务是什么 a. 主要功能: 对文件存储空间的管理,目录管理,文件的读,写管理以及文件的共享和保护.b. 主要任务: 对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性.16 试在交互性,及时性和可靠性方面,将分时系统与实时系统进行比较.a. 分时系统是一种通用系统,主要用于运行终端用户程序,因而它具有较强的交互能力;而实时系统虽然也有交互能力,但其交互能力不及前者.b. 实时信息系统对实用性的要求与分时系统类似,都是以人所能接收的等待时间来确定;而实时控制系统的及时性则是以控制对象所要求的开始截止时间和完成截止时间来确定的.c. 实时系统对系统的可靠性要求要比分时系统对系统的可靠性要求高.17 是什么原因使操作系统具有异步性特征 a. 程序执行结果是不确定的,即程序是不可再现的.b. 每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定的,即不可预知性.18 试说明在MS-DOS 3.X以前的版本中,其局限性表现在哪几个方面 a. 在寻址范围上,DOS 只有1MB,远远不能满足用户需要.b. DOS试单用户单任务操作系统,不支持多任务并发执行,与实际应用相矛盾.19 MS-DOS由哪几部分组成每部分的主要功能是什么略.20 为什么Microsoft在开发OS/2时,选中了80286芯片设计OS/2的主要目标之一是既能充分发挥80286处理器的能力,又能运行在8086处理器环境下开发的程序.因为在80286内部提供了两种工作方式: 实方式和保护方式,使得Intel 80286处理器不仅提供了多任务并发执行的硬件支持,而且还能运行所有在8086下编写的程序。

实验一一进程创建实验

实验一一进程创建实验

实验一一进程创建实验实验一(一)进程的创建实验实验目的1、掌握进程的概念,明确进程的含义2、认识并了解并发执行的实质实验内容1、编写一段程序,使用系统调用fork()创建两个子进程。

当此程序运行时,在系统中有一个父进程和两个子进程活动。

让每一个进程在屏幕上显示一个字符:父进程显示"a",子进程分别显示字符"b"和字符"c"。

试观察记录屏幕上的显示结果,并分析原因。

2、修改上述程序,每一个进程循环显示一句话。

子进程显示"daughter"及"son",父进程显示"parent",观察结果,分析原因。

实验准备(1)阅读LINUX的fork.c源码文件(见附录二),分析进程的创建过程。

(2)阅读LINUX的sched.c源码文件(见附录三),加深对进程管理概念的认识。

实验指导一、进程UNIX中,进程既是一个独立拥有资源的基本单位,又是一个独立调度的基本单位。

一个进程实体由若干个区(段)组成,包括程序区、数据区、栈区、共享存储区等。

每个区又分为若干页,每个进程配置有唯一的进程控制块PCB,用于控制和管理进程。

PCB的数据结构如下:1、进程表项(ProcessTableEntry)。

包括一些最常用的核心数据:进程标识符PID、用户标识符UID、进程状态、事件描述符、进程和U区在内存或外存的地址、软中断信号、计时域、进程的大小、偏置值nice、指向就绪队列中下一个PCB的指针P_Link、指向U区进程正文、数据及栈在内存区域的指针。

2、U区(UArea)。

用于存放进程表项的一些扩充信息。

每一个进程都有一个私用的U区,其中含有:进程表项指针、真正用户标识符u-ruid(readuserID)、有效用户标识符u-euid(effectiveuserID)、用户文件描述符表、计时器、内部I/O参数、限制字段、差错字段、返回值、信号处理数组。

(第4章进程及进程管理)习题四答案介绍

(第4章进程及进程管理)习题四答案介绍

4-16 图 4-30(a)、4-30(b)分别给出了两个进程流图。试用信号灯的 P、V 操作实 现如图中所示进程之间的同步,并写出程序描述。
s p5 P1 s p6
P2
P3
P4
p7
f 图4.22(a)
f 图4.22(b)
答:(a) main() { var s12, s13, s14 : semaphore := 0, 0, 0; cobegin
Email: nancy78733@ 8
《操作系统原理与 Linux 系统实验》课后习题参考答案
沈华
湖北工业大学计算机学院
P1(); P2(); P3(); P4(); coend } P1() { p1 execute; V(s12); V(s13); V(s14); } P2() { P(s12); p2 execute; } P3() { P(s13); p3 execute; } P4() { P(s14); p4 execute; }
Email: nancy78733@
2
《操作系统原理与 Linux 系统实验》课后习题参考答案
沈华
湖北工业大学计算机学院
4-5 如下图所示,设一誊抄程序,将 f 中记录的序列正确誊抄到 g 中,这一程序 由 get、copy、put 三个程序段组成,它们分别负责获得记录、复制记录、输出 记录。请指出这三个程序段对 f 中的 m 个记录进行处理时各种操作的先后次序, 并画出誊抄此记录序列的先后次序图。 (假设 f 中有 1,2,…,m 个记录,s,t 为设置在主存中的软件缓冲区,每次只能装一个记录。 )
沈华
湖北工业大学计算机学院
P 对公共变量 Q 的访问 V
end coend 信号量 mutex 的取值范围为:mutex.value ∈[1, - (n-1)]。 ①值为 1 时,表示没有进程访问公共变量 Q; ②值为 0 时,表示有一个进程正在访问公共变量 Q; ③值<0 时,表示有一个进程正在访问公共变量 Q,同时又| mutex.value |个进程 等待访问公共变量 Q。

操作系统第二版第二章课后习题答案

操作系统第二版第二章课后习题答案

第二章进程和线程作业答案1,2,4,6,7,10,11,12,14, 211.在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?答:由于多道程序的并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。

用程序这个静态概念已经不能如实反映程序并发执行过程中的这些特征。

为此,人们引入“进程(Process)”这一概念来描述程序动态执行过程的性质。

进程和程序是两个完全不同的概念。

进程与程序的主要区别:进程和程序之间存在密切的关系:进程的功能是通过程序的运行得以实现的,进程活动的主体是程序,进程不能脱离开具体程序而独立存在。

2.PCB的作用是什么?它是怎样描述进程的动态性质的?答:PCB是进程组成中最关键的部分。

每个进程有惟一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发特征是利用PCB表现出来的;PCB是进程存在的唯一标志。

PCB中有表明进程状态的信息,该进程的状态包括运行态、就绪态和阻塞态,它利用状态信息来描述进程的动态性质。

4. 用如图2-26所示的进程状态转换图能够说明有关处理机的大量容。

试回答:①什么事件引起每次显著的状态变迁?②下述状态变迁因果关系能否发生?为什么?(A)2→1 (B)3→2 (C)4→1答:(1)就绪→运行:CPU空闲,就绪态进程被调度程序选中运行→阻塞:运行态进程因某种条件未满足而放弃CPU的占用。

阻塞→就绪:阻塞态进程所等待的事件发生了。

运行→就绪:正在运行的进程用完了本次分配给它的时间片(2)下述状态变迁(A)2→1,可以。

运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。

(B)3→2,不可以。

任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。

(C)4→1,可以。

某一阻塞态进程等到的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。

第二章 课后习题解答

第二章 课后习题解答

13.在生产者—消费者问题中,如果两个 .在生产者 消费者问题中 如果两个wait操 消费者问题中, 操 作即wait(mutex)和wait(empty)位置互换, 位置互换, 作即 和 位置互换 会产生什么后果? 会产生什么后果? 解答】如果两个wait操作即 操作即wait(mutex)和 【解答】如果两个 操作即 和 wait(empty)位置互换,则有可能产生死锁。 位置互换, 位置互换 则有可能产生死锁。
6
10.在创建一个进程时,所要做的工作有 .在创建一个进程时, 哪些? 哪些? 解答】 【解答】操作系统通过进程创建原语来创 建一个进程。 建一个进程。创建原语通过下述步骤创建 一个进程: 一个进程: (1)申请空白 )申请空白PCB。 。 (2)为新进程分配资源。 )为新进程分配资源。 (3)初始化进程控制块。 )初始化进程控制块。 (4)将新建进程插入就绪态队列。 )将新建进程插入就绪态队列。
8
第2章 进程管理 章
12.在生产者—消费者问题中,如果缺少了 .在生产者 消费者问题中 消费者问题中, signal(full)或signal(empty),对执行结果将 或 , 会有何影响? 会有何影响? 【解答】若缺少释放资源的原语操作,则会导致生产者或 解答】若缺少释放资源的原语操作,
消费者进程不能再继续工作。 消费者进程不能再继续工作。 如缺少了signal(full),则消费者进程可能得不到所需的临 如缺少了 , 界资源如缓冲区,不能取一件产品;同样,如果缺少signal 界资源如缓冲区,不能取一件产品;同样,如果缺少 empty),则生产者进程又可能得不到所需的资源, ),则生产者进程又可能得不到所需的资源 (empty),则生产者进程又可能得不到所需的资源,不 能存放一件产品。 能存放一件产品。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二进程管理2.1 进程的创建与并发执行1.实验目的(1) 加深对进程概念的理解,理解进程和程序的区别。

(2) 认识并发进程的实质。

分析进程争用资源的现象,学习解决进程互斥的方法。

(3) 理解系统调用和用户命令的区别。

2.实验类型:验证型3.实验学时:24.实验原理和知识点(1) 实验原理:程序的并发执行具有随机性和不可再现性。

程序并发执行会导致资源共享和资源竞争,各程序向前执行的速度会受资源共享的制约。

程序的动态执行过程用进程这个概念来描述。

由于向前推进的速度不可预知,所以多个进程并发地重复执行,整体上得到的结果可能不同。

但要注意,就其中某单个进程而言,其多次运行结果是确定的。

(2) 知识点:进程、子进程、并发执行的特性;5.实验环境(硬件环境、软件环境):(1)硬件环境:Intel Pentium III 以上CPU,128MB以上内存,2GB以上硬盘(2)软件环境:linux操作系统。

6. 预备知识(1) fork()系统调用头文件:#include <unistd.h> unix standard header/*是POSIX标准定义的unix类系统定义符号常量的头文件,包含了许多UNIX系统服务的函数原型,例如read函数、write函数和getpid函数*/函数原型: pid_t fork(void);/*是Linux下的进程号类型,也就是Process ID _ Type 的缩写。

其实是宏定义的unsigned int类型*/函数功能:fork的功能是创建子进程。

调用fork的进程称为父进程。

如图2.1所示。

子进程是父进程的一个拷贝,它继承了父进程的用户代码、组代码、环境变量、已打开的文件代码、工作目录及资源限制。

fork语句执行后,内核向父进程返回子进程的进程号,向子进程返回0。

父子进程都从fork()的下一句开始并发执行。

返回值:返回值==-1:创建失败。

返回值==0:程序在子进程中。

返回值>0:程序在父进程中。

(该返回值是子进程的进程号)编程提示:虽然子进程是父进程的一个复制品,但父子的行为是不同的。

编程时要抓住内核的返回值。

通过返回值,可以知道是父进程还是子进程,因而可以编写不同行为的代码。

图2.1 fork()创建进程示意图(2) wait()系统调用头文件:#include <sys/wait.h>函数原型:pid_t wait(int *status);函数功能:wait的功能是等待子进程结束。

发出wait调用的进程只要有子进程,就会睡眠直到子进程中的一个终止为止。

若没有子进程,则该调用立即返回。

函数参数:status是子进程退出时的状态信息。

返回值:成功则返回子进程号,否则返回-1。

(3) getpid()系统调用头文件:unistd.h,在VC++6.0下可以用process.h函数原型:pid_t getpid(void);函数功能:wait的功能是将父进程挂起,等待子进程终止。

getpid函数用来取得目前进程的进程ID,许多程序利用取到的此值来建立临时文件,以避免临时文件相同带来的问题。

返回值:目前进程的进程ID。

(4) 其他系统调用exit –终止进程exec –执行一个应用程序nice –改变进程的优先7. 实验内容与步骤(将所有截图换成用户名为你们自己姓名的拼音,并回答所有的问题)(1)运行图2.1所示程序将图2.1中的源程序保存为e201.c在终端中编译gcc –o e201 e201.c运行 ./e201此时,程序为死循环,在该终端中无法继续输入命令执行,于是,我们可以暂时不管这一个终端,而是再新建一个终端,然后键入 ps –e,列出当前所有进程观察屏幕,是否有两个名为e201的进程。

比较它们的进程号,判别哪个是父进程,哪个是子进程。

程序中的while(1);语句是为了不让程序退出来,以便于你观察进程状态。

用kill命令把这两个进程终止。

可见,第一个终端如下图所示,已经从死循环中解救出来了。

当然,最简单粗暴的方法不是关闭相关进程,而是直接通过ctrl+c 强制结束。

对图2.1的程序稍加改进,可看见两个进程的进程号。

(2)编写一段名为e202.c的源程序,使用系统调用fork()创建两个子进程p1和p2。

p1的功能为显示字符'b',p2的功能为显示字符'c',父进程的功能为显示字符'a',父进程和两个子进程并发运行。

不停的运行e202,观察并记录屏幕上的显示结果。

程序设计过程:用while语句控制fork()直到创建成功。

用if语句判别是在子进程中还是在父进程中。

程序运行后会创建三个进程,它们分别是子进程p1、p2、父进程。

这三个进程并发运行。

假定子进程有些任务要做,完成这些任务要花一定时间,因此,可以用一个延时函数简单地模拟这些任务。

//e202.c#include <stdio.h>void delay(int x) /* 延时函数 */{int i,j;for(i=0;i<x;i++)for(j=0;j<x;j++) ;}int main(){int p1,p2;while((p1=fork())==-1); /* 创建子进程p1 */if(p1==0) /* 子进程p1创建成功 */{delay(4096); /* 子进程p1延时*/putchar('b'); /* 子进程p1显示字符'b' */}else{while((p2=fork())==-1); /* 创建子进程p2 */if(p2==0) /* 子进程p2创建成功 */{delay(2048); /* 子进程p2延时*/putchar('c'); /* 子进程p2显示字符'c' */}else{putchar('a'); /* 父进程显示字符'a' */}}return 0;}按向上的光标键、回车,运行刚才的程序。

快速重复这个步骤,观察并记录结果。

请回答问题:屏幕上是否有时显示bac,有时显示bca,…。

为什么会这样呢?(3) 参考(1)完成下列程序设计父子进程同步实验:编写一段程序, 使用系统调用fork()创建一个子进程,子进程求1+2+……+100的和并打印出来,使用系统调用wait()让父进程等待子进程结束。

请贴出源代码截图:请贴出正确运行截图:(4) 已知下列Linux程序执行后, 运行结果如下,请画出进程家族树(以进程号标示进程,注意,每次运行进程号都不一样)。

//Linux程序#include "stdio.h"#include "unistd.h"int main(){int p1,p2,p3;p1=fork();p2=fork();p3=fork();//注:getpid()获取当前进程pidif(p1>0 && p2>0 && p3>0) printf("A:%d\n",getpid()); if(p1==0 && p2>0 && p3>0) printf("B:%d\n",getpid()); if(p1==0 && p2==0 && p3>0) printf("C:%d\n",getpid()); if(p1==0 && p2==0 && p3==0)printf("D:%d\n",getpid()); if(p1==0 && p2>0 && p3==0) printf("E:%d\n",getpid()); if(p1>0 && p2==0 && p3>0) printf("F:%d\n",getpid()); if(p1>0 && p2==0 && p3==0) printf("G:%d\n",getpid()); if(p1>0 && p2>0 && p3==0) printf("H:%d\n",getpid()); sleep(10);return 0;}这些进程构成的进程树为(要画出进程树才有加分哦!):ps f 命令可以查看当前终端进程的进程数关系图8. 心得体会附录pstree的用法格式:pstree以树状图显示进程,只显示进程的名字,且相同进程合并显示。

格式:pstree -p以树状图显示进程,还显示进程PID。

格式:pstree <pid>格式:pstree -p <pid>以树状图显示进程PID为<pid>的进程以及子孙进程,如果有-p参数则同时显示每个进程的PID。

附录 Linux系统调用列表以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数。

其中有一些函数的作用完全相同,只是参数不同。

(有点像C++函数重载,但是Linux核心是用C语言写的,所以只能取成不同的函数名)。

还有一些函数已经过时,被新的更好的函数所代替了(gcc在链接这些函数时会发出警告),但因为兼容的原因还保留着,这些函数在前面标上“*”号以示区别。

各系统调用的使用方法,可以通过man命令获得。

二、文件系统控制12五、网络管理七、用户管理八、进程间通信12345。

相关文档
最新文档