搜档网
当前位置:搜档网 › 北大操作系统高级课程-陈向群作业-XV6进程线程

北大操作系统高级课程-陈向群作业-XV6进程线程

北大操作系统高级课程-陈向群作业-XV6进程线程
北大操作系统高级课程-陈向群作业-XV6进程线程

阅读代码:

1.基本头文件:

types.h param.h

memlayout.h defs.h

x86.h asm.h

mmu.h elf.h

2.进程线程部分:

vm.c proc.h proc.c swtch.S kalloc.c

以及相关其他文件代码

强调一下:由于内存管理部分还没有学到,所以请同学们遇到相关的代码和问题时,先将问题记录下来,到学过之后,再结合进程线程管理部分进行深入学习,最后要求对XV6有整体的理解。

请大家围绕如下一些问题阐述原理课的相关内容,以及XV6中是如何实现的。

1.什么是进程,什么是线程?操作系统的资源分配单位和调度单位分别是什么?XV6中的

进程和线程分别是什么,都实现了吗?

答:进程是在多道程序系统出现以后,为了描述系统内部各作业的活动规律而引进的概念。进程有3个基本状态,运行状态、就绪状态和等待状态(或称阻塞状态);进程只能由父进程建立,系统中所有的进程形成一种进程树的层次体系;挂起命令可有进程自己和其他进程发出,但是解除挂起命令只能由其他进程发出。进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。

线程可称为轻量级的进程,是操作系统可以运行调度的最小单位。线程是进程内的一个相对独立的可执行的单元。若把进程称为任务的话,那么线程则是应用中的一个子任务的执行。

不论操作系统中是否引入了线程,操作系统中资源分配的基本单位都是进程。如果操作系统没有引入线程那么进程就是调度的基本单位。线程并不独立拥有资源,它仅仅分配了一些运行必备的资源。一个进程中的多个线程共同分享进程中的资源。在引入了线程的操作系统中,线程就变成了调度的基本单位,进程中的部分线程阻塞并不代表该线程被阻塞。

xv6操作系统实现了一个基于进程(没有实现线程)的简单进程管理机制。通过对proc.h 文件的阅读了解到xv6的进程中定义了一个context结构,一个枚举类型proc_state定义了UNUSED, EMBRYO, SLEEPING, RUNNABLE, RUNNING, ZOMBIE 这6种进程的状态,proc结构定义了进程控制块的内容,cpu结构定义了寄存器和栈指针。

2.进程管理的数据结构是什么?在Windows,Linux,XV6中分别叫什么名字?其中包含哪

些内容?操作系统是如何进行管理进程管理数据结构的?它们是如何初始化的?

答:进程管理的数据结构是进程控制块(PCB)。在Linux中进程控制块的结构是由一个叫task_struct的数据结构定义的,ask_struct存在/include/ linux/sched.h中,其中包括管理进程

所需的各种信息。在创建一个新进程时,系统在内存中申请一个空的task_struct 区,即空闲PCB 块,并填入所需信息。同时将指向该结构的指针填入到task[]数 组中。当前处于运行状态进程的PCB 用指针数组current_set[]来指出。这是因为Linux 支持多处理机系统,系统内可能存在多个同时运行的进 程,故current_set 定义成指针数组。Windows 的进程由执行体进程块EPROCESS 表示,EPROCESS 即执行体进程对象。在Windows 中,PCB 也称为内核进程块KPROCESS (KPROCESS 即内核进程对象)EPOCESS 和KPROCESS 位于内核空间,PEB 位于用户空间。XV6的进程控制块是proc 类中的proc 定义了进程ID ,进程状态,父进程,context 保存寄存器为内核的上下文切换,cpu 记录了内存地址和栈指针等。XV6中通过https://www.sodocs.net/doc/009509844.html, 对进程进行控制管理,get_raw_proc()方法可以创建一个新的进程并对进程进行初始化分配进程页表和内核堆栈。

3. 进程有哪些状态?请画出XV6的进程状态转化图。在Linux ,XV6中,进程的状态分别包

括哪些?你认为操作系统的设计者为什么会有这样的设计思路?

答:XV6进程包括UNUSED, EMBRYO, SLEEPING, RUNNABLE, RUNNING, ZOMBIE 这6种状态即未使用态、初始态、等待台、就绪态、运行态、僵尸态。状态转换图如下:

之所以这样设计是为了实现多道程序的交叉运行,和方便设计各种进程调度算法。在时间片轮转调度算法中RUNNING 的程序在时间片到的时候就会转成RUNNABLE 同时让出CUP 。而正在EUNNING 的程序如果遇到资源申请,就会主动放弃CPU 进入SLEEPING 状态。但是SLEEPING 状态的程序如果得到资源之后并不能马上进入RUNNING 而是先进入就绪队列等待CUP 调度。

Linux 的进程状态可分为R (TASK_RUNNING),可执行状态,S (TASK_INTERRUPTIBLE),可中断的睡眠状态,D (TASK_UNINTERRUPTIBLE),不可中断的睡眠状态,T (TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态,Z (TASK_DEAD - EXIT_ZOMBIE),退出状态,进程成为僵尸进程,X (TASK_DEAD - EXIT_DEAD),退出状态,进程即将被销毁。

4. 如何启动多进程(创建子进程)?如何调度多进程?调度算法有哪些?操作系统为何要

限制一个CPU 最大支持的进程数?XV6中的最大进程数是多少?如何执行进程的切换?什么是进程上下文?多进程和多CPU 有什么关系?

答:子进程都是由父进程创建的,比如使用fork()函数。创建的过程为

1).为子进程分配一个空闲的proc 结构(进程描述符)

2).赋予子进程唯一标识pid

3).以一次一页的方式复制父进程地址空间(有什么问题?)

4).获得子进程继承的共享资源的指针,如打开的文件和当前工作目录

5).子进程就绪,加入调度队列

6).对子进程返回标识符0;向父进程返回子进程

pid

处理机调度可分为三个层次:长程调度、中程调度、短程调度。

长程调度(作业调度或宏观调度):创建新进程时是否进入当前活跃进程集合。

中程调度涉及进程在内外存间的交换,从负载控制的角度,把一些进程换出到外存上,可为其他进程的执行提供所需内存空间,如需要再换入到内存。

短程调度(微观调度):从CPU分配的角度,需要经常选择就绪进程或线程进入运行状态,短程调度的时间尺度通常是毫秒级的。由于短程调度算法的频繁使用,要求在实现时做到高效。

常见的调度算法有:先来先服务、优先级调度算法、短作业优先算法、最短剩余时间优先算法、时间片轮转算法、高响应比优先算法、多级反馈队列算法。

XV6的最大进程数写在param.h文件中的#define NPROC 64 属性中。可以看出XV6默认定义的最大进程数是64。

进程切换是一个进程让出处理器,由另一个进程占用处理器的过程。进程的切换是由进程状态的变化引起的,而进程状态的变化又与出现的事件有关。当有事件(中断或异常)发生时,当前运行进程暂停,由操作系统处理出现相应事件。处理结束,某些进程的状态会发生变化,因此,要调整队列。之后,进程调度根据调度算法从就绪队列选一个进程占用CPU。这个进程可能仍然是被中断的进程,也可能是另一个进程。

进程的上下文包括当前进程的程序计数器PC和当前运行的CPU中各个寄存器的内容。当进程切换和发生中断的时候这些信息要保存下来以便于下次运行时使用。

多进程和多CPU我理解他们的区别就是并发和并行的区别。多进程是并发执行,就是在一个时间段内有多个进程在执行,但是在某个时间点上是只有一个进程执行。

5.内核态进程是什么?用户态进程是什么?它们有什么区别?

答:多数系统将处理器工作状态划分为内核态和用户态。前者一般指操作系统管理程序运行的状态,具有较高的特权级别,又称为特权态、系统态或管态;后者一般指用户程序运行时的状态,具有较低的特权级别,又称为普通态、目态。如果操作系统允许用户对计算机做任何操作都可以的话,我们的计算机一天死N次机都不足为奇。区分了用户态和内核态就是限定用户什么操作可以做,什么操作不能让用户直接做。如果遇到不能让用户直接做的操作,用户就必须请求操作系统做系统调用,这样操作系统就会进入内核态进行系统操作。内核态的进程就是系统进入内核态之后进行系统操作所产生的进程。而用户态进程是用户通过请求操作而产生的进程。它们的主要区别有:1).运行在不同的系统状态,用户态进程执行在用户态,内核态进程执行在内核态。2).进入的方式不同用户态进程直接进入而内核态必须通过运行系统调用命令。3).返回方式不同,用户态进程直接返回,内核态进程有重新调度过程。4).内核态进程优先级要高于用户态进程。并且内核态进程特权级别最高,它可以执行系统级别的代码。

6.进程在内存中是如何布局的,进程的堆和栈有什么区别?

答:内存分为内核空间和用户空间,内核空间一般运行操作系统程序而用户空间一般运行用户程序。主要目的是对系统程序进行包含。进程在内存中包含堆、栈、数据段、代码段。代码段:保存程序的执行码。在进程并发时,代码段是共享的且只读的,在存储器中只需有一个副本。

数据段:此段又称为初始化数据段,它包含了程序中已初始化的全局变量、全局静态变量、局部静态变量。

栈:程序执行前静态分配的内存空间,栈的大小可在编译时指定,Linux环境下默认为8M。栈段是存放程序执行时局部变量、函数调用信息、中断现场保留信息的空间。程序执行时,

CPU堆栈段指针会在栈顶根据执行情况进行上下移动。

堆:程序执行时,按照程序需要动态分配的内存空间。malloc、calloc、realloc函数分配的空间都在堆上分配。

其他要求,请同学们

1.独立完成,不要抄袭;

2.字数大约2000-3000字,不要粘贴大量代码;

3.可以就其中一个你感兴趣的问题进行深入论述,不一定全部答完,但是要有自己的理解;

4.可结合多种操作系统(windows,linux)的实现来进行问题说明。

西南大学2014年《操作系统》1-6次网上作业及答案..

单选题: 1、操作系统发展过程中出现多道程序系统的阶段是批处理操作系统 2、进程是程序的执行实体 3、实时系统的主要应用领域不包括:媒体播放 4、操作系统是一种(系统软件) 5、为了执行更多的程序,计算机需要(更大内存) 6、临界区是(一段程序) 7、当进程等待的某个事件发生后,该进程会由(等待)状态变为(就绪)状态 8、下列进程状态转换中,哪个是不正确的等待态到执行态 9、当信号量的数值为-2时表示(有2个进程等待该信号量) 10、进程间互斥是由(进程间共享资源)引起的? 11、Unix中用于创建进程的系统调用是(D Fork()) 12、段页式存储管理中可以以(页)为单位进行内存代码交换到外存。 13、分时系统中没有(JCB)概念 14、有SPOOLING系统不正确的叙述是(是一种特殊的直接耦合方式) 填空题: 1、存储保护的方式主要有:地址越界保护和通过页表控制对内在信息的存取操作方式以提供保护。 2、早期的批处理可以分为联机处理和脱机处理两种方法。 3、常用的文件物理结构有连续文件、串联文件、索引文件等三种。 1、地址重定位可分为静态地址重定位和动态地址重定位两种。 2、UNIX系统核心程序的绝大部分代码是用 C 语言编写的,并且UNIX系统是一个可供多用户同时操作的会话式分时操作系统。 3、用户进程总是由系统程序模块下一个创建的。 1、进程创建之后,在就绪状态、执行状态、等待状态三种状态之间转换。 2、通道技术中可以使用三种类型的通道,它们是数组多路通道、字节多路通道、选择通道。 3、中断可分为外中断、内中断、软中断等几种。 1、UNIX通道可以分为三类,它们是数组多路通道、字节多路通道、选择通道。 2、公有信号量用于作来在系统中的停留时间 /作业等待时间加作业运行时间

第二章进程管理答案

第二章进程管理 一、单项选择题 1、顺序程序和并发程序的执行相比,()。 A.基本相同 B. 有点不同 C.并发程序执行总体上执行时间快 D.顺序程序执行总体上执行时间快 2、在单一处理机上,将执行时间有重叠的几个程序称为()。 A.顺序程序 B. 多道程序 C.并发程序 D. 并行程序 3、进程和程序的本质区别是()。 A.存储在内存和外存 B.顺序和非顺序执行机器指令 C.分时使用和独占使用计算机资源 D.动态和静态特征 4、在下列特性中,不是进程的特性的是()。 A. 异步性 B. 并发性 C. 静态性 D. 动态性 5 A 6 A. 7 A. 8 A. 9 A. 10 A. 11 A. 12。 A. 13 A. 14 A. 15 A. 16、在操作系统中,对信号量S的P原语操作定义中,使进程进入相应阻塞队列等待的条件是()。 A. S>0 B. S=0 C. S<0 D. S≠0 17、信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为()。 A.10 B.8 C.6 D.4 18、在进程通信中,使用信箱方式交换信息的是()。 A.低级通信B.高级通信C.共享存储器通信D.管道通信 19.( )必定会引起进程切换。A.一个进程被创建后进入就绪态B.一个进程从运行态变成等待态c.一个进程从运行态变成就绪态 D.一个进程从等待态变成就绪态 20、操作系统使用( )机制使计算机系统能实现进程并发执行,保证系统正常工作。 A.中断B.查询c.同步D互斥 21.对于一个单处理器系统来说,允许若干进程同时执行,轮流占用处理器.称它们为()的。 A.顺序执行 B.同时执行c.并行执行D.并发执行

燕山大学操作系统课程设计说明书

燕山大学课程设计说明书课程设计名称:操作系统 题目:多道程序缓冲区协调操作 (模拟生产者消费者问题) 课题负责人: 学院:信息科学与工程学院 班级: 姓名: 学号: 课题开发日期:2014年1月13日 自评成绩: A

目录 1概述--------------------------------------------------------------------------------------3 1.1 目的--------------------------------------------------------3 1.2 主要完成的任务----------------------------------------------3 1.3 使用的开发工具、开发语言------------------------------------3 1.4 本软件解决的主要问题 ---------------------------------------4 2 设计的基本理念、概念和原理------------------------------------------------4 2.1 设计的基本理念----------------------------------------------4 2.2 基本概念----------------------------------------------------4 2.3 基本原理----------------------------------------------------5 3 总体设计----------------------------------------------------5 3.1基本的技术路线:面向对象--------------------------------------------------------5 3.2模块关系及总体流程-------------------------------------------5 4 详细设计----------------------------------------------------7 4.1 变量设计----------------------------------------------------7 4.2 线程的设计--------------------------------------------------7 4.3 button按钮的设计-------------------------------------------8 5编码设计----------------------------------------------------9 5.1开发环境----------------------------------------------------9 5.2注意事项----------------------------------------------------9 5.3主要代码设计------------------------------------------------9 PUTTER线程的设计---------------------------------------------------9 MOVER1线程的设计---------------------------------------------------10 GETTER1线程的设计--------------------------------------------------11 “开始”按钮的设计--------------------------------------------------12 “结束”按钮的设计--------------------------------------------------14 5.4解决的主要难题----------------------------------------------16 6测试出现的问题及其解决方案-------------------------------16 7工程总结----------------------------------------------------16 8参考文献----------------------------------------------------16

操作系统课程设计完整版内含代码

操作系统课程设计LRU页面调度算法 学号: 姓名: 学院: 专业: 班级: 指导老师: 日期:

目录 一、实验题目 (1) 二、课程设计的目的 (1) 三、设计内容 (1) 四、设计要求 (1) 五、设计思想 (1) 六、主要数据结构及其说明 (2) 七、硬件支持 (3) 八、源程序文件 (3) 九、程序运行结果 (7) 十、实验体会 (8)

一实验题目 LRU页面调度算法 二课程设计的目的 操作系统课程设计是计算机专业重要的教学环节,它为学生提供了一个既动手又动脑,将课本上的理论知识和实际有机的结合一起,独立分析和解决实际问题的机会。 1.进一步巩固和复习操作系统的基础知识。 2. 培养学生结构化程序、模块化程序设计的方法和能力。 3.提高学生调试程序的技巧和软件设计的能力。 4.提高学生分析问题、解决问题以及综合利用C语言进行程序设计的能力。 三设计内容 程序应模拟实现LRU算法思想,对n个页面实现模拟调度。 四设计要求 1.不同的功能使用不同的函数实现(模块化),对每个函数的功能和调用接口要注释清楚。对程序其它部分也进行必要的注释。 2.对系统进行功能模块分析、画出总流程图和各模块流程图。 3.用户界面要求使用方便、简洁明了、美观大方、格式统一。所有功能可以反复使用,最好使用菜单。 4.通过命令行相应选项能直接进入某个相应菜单选项的功能模块。 5.所有程序需调试通过。 五设计思想 最近最久未使用(LRU)页调度算法是选择最近最久未使用的页面予以淘汰。 算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间,当所要访问的页面在内存块中时,就不淘汰页面,否则,淘汰页面中时间最长的,即淘汰最近最久未使用的页面。

进程作业(附答案)

第二章进程管理 程序在顺序执行(①顺序性:每个操作必须在下一个操作开始之前结束。 ②封闭性:程序一旦开始运行,独占全部资源,其执行结果不受外界因素影响。 ③可再现性:当程序重复执行时,只要程序执行的环境和初始条件相同,必将获得相同的结果。)时和并发执行(并发、资源共享、制约关系和动态等特征)时,分别具有哪些特征什么叫进程(进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。)为什么要引入进程的概念 1.进程的基本特征是什么(动态、共行、独立)?请叙述进程与程序的关系和差别 2.进程有哪几种基本状态请画出各状态之间的状态变化图并说明状态转换的典型原因 3.什么是PCB包含哪些主要内容其作用是什么(是使一个在多道程序环境下不能独立运行的程 序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。)(为什么说PCB是进程存在的唯一标志) 4.下列哪些情况是对的: ⑴进程由自己创建⑷进程由于自己解除挂起 ⑵进程由于自己阻塞⑸进程由于自己唤醒 ⑶进程由于自己挂起⑹进程由自己撤消 5.请解释忙等待与阻塞的区别。 6.用进程状态变迁图,我们可以说明有关处理机管理的大量内容, ⑴什么“事件”引起每次显着的状态变迁 ⑵当人们观察系统中所有进程时,我们能够看到由某一进 下,进程变迁3能立即引起一进程的变迁1发生 ⑶在什么情况下,如果有的话,将发生下述因果变迁: 21; 32; 41 ⑷在什么情况下,如果有的话,下述变迁不会立即引起其 它变迁发生 a) 1; b) 2; c) 3; d) 4 7.操作系统的内核是什么 8.原语与非内核程序在执行上有什么不同 9.什么是进程的控制包括哪些基本内容(进程的创建,进程的撤消,进程的阻塞,进程的唤醒,进程的 挂起,进程的激活,改变进程的优先级…等) 10.什么是线程试说明进程与线程的关系与区别。 11.并发进程间的制约有哪两种引起制约的原因是什么 12.我们说程序的并发执行将导致最终失去封闭性.这话对所有的程序都成立吗试举例说明. 13.什么叫与时间有关的错误与时间有关的错误表现在哪些方面请举例说明之. 14.什么是进程间的互斥什么是进程间的同步这两个概念有何区别 15.考虑一台计算机,它没有TEST AND SET LOCK指令,但可以按原子操作方式将一个寄存器的内 容与另一个存储器字进行交换,是否能利用该指令写一个达到互斥的例程 16.什么叫临界资源什么叫临界段对临界区的管理应符合哪些原则你能用什么工具去写进程间 互斥的同步算法书写该算法时应注意什么问题 17.下面是两个并发执行的进程,它们能正确运行吗若不能正确运行,请举例说明,并改正之(X是定 义的公共变量). Cobegin var x:integer; procedure P1 procedure P2 var y,z:integer; var t,u:integer; begin begin x:=1; x:=0; y:=0; t:=0; if x>=1 then y:=y+1; if x<1 then t:=t+2; z:=y u:=t end; end; coend; 18.因修路使A地到B地的多路并行车道变为单车道,请问在此问题中,?什么是临界资源什么是临 界段

操作系统课程教学大纲

GDOU-B-11-213 《操作系统》课程教学大纲 课程简介 课程简介: 本课程主要讲述操作系统的原理,使学生不仅能够从系统内部了解操作系统的工作原理,而且可以学到软件设计的思想方法和技术方法。主要内容 包括:操作系统的概论;操作系统的作业管理;操作系统的文件管理原理; 操作系统的进程概念、进程调度和控制、进程互斥和同步等;操作系统的各 种存储管理方式以及存储保护和共享;操作系统的设备管理一般原理。其次 在实验环节介绍实例操作系统的若干实现技术,如:Windows操作系统、Linux 操作系统等。 课程大纲 一、课程的性质与任务: 本课程计算机学科的软件工程专业中是一门专业方向课,也可以面向计算机类的其它专业。其任务是讲授操作系统的原理,从系统内部了解操作系统的工作原理以级软件设计的思想方法和技术方法;同时介绍实例操作系统的若干实现技术。 二、课程的目的与基本要求: 通过本课程的教学使学生能够从操作系统内部获知操作系统的工作原理,理解操作系统几大管理模块的分工和管理思想,学习设计系统软件的思想方法,通过实验环节掌握操作系统实例的若干实现技术,如:Windows操作系统、Linux操作系统等。 三、面向专业: 软件工程、计算机类 四、先修课程: 计算系统基础,C/C++语言程序设计,计算机组成结构,数据结构。 五、本课程与其它课程的联系:

本课程以计算系统基础,C/C++语言程序设计,计算机组成结构,数据结构等为先修课程,在学习本课程之前要求学生掌握先修课程的知识,在学习本课程的过程中能将数据结构、计算机组成结构等课程的知识融入到本课程之中。 六、教学内容安排、要求、学时分配及作业: 第一章:操作系统概论(2学时) 第一节:操作系统的地位及作用 操作系统的地位(A);操作系统的作用(A)。 第二节:操作系统的功能 单道系统与多道系统(B);操作系统的功能(A)。 第三节:操作系统的分类 批处理操作系统(B);分时操作系统(B);实时操作系统(B)。 第二章:作业管理(2学时) 第一节:作业的组织 作业与作业步(B);作业的分类(B);作业的状态(B);作业控制块(B)。 第二节:操作系统的用户接口 程序级接口(A);作业控制级接口(A)。 第三节:作业调度 作业调度程序的功能(B);作业调度策略(B);作业调度算法(B)。 第四节:作业控制 脱机控制方式(A);联机控制方式(A)。 第三章:文件管理(8学时) 第一节:文件与文件系统(1学时) 文件(B);文件的种类(B);文件系统及其功能(A)。 第二节:文件的组织结构(1学时) 文件的逻辑结构(A);文件的物理结构(A)。 第三节:文件目录结构(1学时) 文件说明(B);文件目录的结构(A);当前目录和目录文件(B)。 第四节:文件存取与操作(1学时) 文件的存取方法(A);文件存储设备(C);活动文件(B);文件操作(A)。 第五节:文件存储空间的管理(2学时) 空闲块表(A);空闲区表(A);空闲块链(A);位示图(A)。 第六节:文件的共享和保护(2学时)

《操作系统》作业1培训资料

《操作系统》作业1

精品资料 仅供学习与交流,如有侵权请联系网站删除 谢谢2 《操作系统》作业(一) 班级: 姓名: 序号: 一、 选择题 1. 世界上第一个操作系统是( )。 A 、分时系统 B 、单道批处理系统 C 、多道批处理系统 D 、实时 系统 2. 批处理系统的主要缺点是( )。 A 输入输出设备利用率低 B 失去了多道性 C 无交互性 D 需要人工干预 3. 批处理操作系统提高了计算机的工作效率,但( )。 A 、系统资源利用率不高 B 、在作业执行时用户不能直接干预 C 、系统吞吐量小 D 、不具备并行性 4. 在多道程序设计的计算机系统中,CPU ( )。 A 、只能被一个程序占用 B 、可以被多个程序同时占用 C 、可以被多个程序交替占用 D 、以上都不对 5. 允许多个用户以交互使用计算机的操作系统是( )。 A 、分时系统 B 、单道批处理系统 C 、多道批处理系统 D 、实时系统 6. 与单道程序系统相比,多道程序系统的优点是 ( ) Ⅰ.CPU 利用率高 Ⅱ.系统开销小 Ⅲ.系统吞吐量大 Ⅳ.I/O 设备利用率高 A .仅Ⅰ、Ⅲ B .仅Ⅰ、Ⅳ C .仅Ⅱ、Ⅲ D .仅Ⅰ、Ⅲ、Ⅳ 7. ( )没有多道程序设计的特点。 A 、DOS B 、UNIX C 、WINDOWS D 、OS/2 8. 下列四个操作系统中,是分时系统的为( )。 A 、MS-DOS B 、WINDOWS 98 C 、UNIX D 、OS/2系统 9. 在分时系统中,时间片一定,( ),响应时间越长。 A 、内存越多 B 、用户数越多 C 、后备队列 D 、用户 数越少 10. 在一段时间内,只允许一个进程访问的资源称为( )。 A 、共享资源 B 、临界区 C 、临界资源 D 、共享区 二、 填空题 1. 操作系统的五大功能是: 、 、 、 和用户接口。

操作系统第二章进程和线程复习题

第二章练习题 一、单项选择题 1.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将( C )。 A. 从就绪变为运行; B.从运行变为就绪; C.从运行变为阻塞; D.从阻塞变为就绪 2.进程控制块是描述进程状态和特性的数据结构,一个进程( D )。 A.可以有多个进程控制块; B.可以和其他进程共用一个进程控制块; C.可以没有进程控制块; D.只能有惟一的进程控制块。 3.临界区是指并发进程中访问共享变量的(D)段。 A、管理信息 B、信息存储 C、数 据 D、程序 4. 当__ B__时,进程从执行状态转变为就绪状态。 A. 进程被调度程序选中 B. 时间片到 C. 等待某一事件 D. 等待的事件发生 5. 信箱通信是一种( B )通信方式。 A. 直接通信 B. 高级通信 C. 低级通信 D. 信号量 6. 原语是(B)。

A、一条机器指令 B、若干条机器指令组成 C、一条特定指令 D、中途能打断的指令 7. 进程和程序的一个本质区别是(A)。 A.前者为动态的,后者为静态的; B.前者存储在内存,后者存储在外存; C.前者在一个文件中,后者在多个文件中; D.前者分时使用CPU,后者独占CPU。 8. 任何两个并发进程之间存在着(D)的关系。 A.各自完全独立B.拥有共享变量 C.必须互斥D.可能相互制约 9. 进程从运行态变为等待态可能由于(B )。 A.执行了V操作 B.执行了P操作 C.时间片用完 D.有高优先级进程就绪 10. 用PV操作管理互斥使用的资源时,信号量的初值应定义为(B)。 A.任意整数 B.1 C.0 D.-1 11. 现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为(A)。 A.≤0 B.1 C.n-1 D.n

操作系统课程设计1

操作系统原理 课程设计报告题目:采用二级目录实现文件管理 所在学院: 班级: 学号: 姓名: 指导教师: 2013年1月15日

目录 一、课程设计目的 (1) 二、课题内容 (1) 三、总体路线 (1) 四、概要设计 (2) 1.数据结构 (2) 2.所使用函数及其功能 (3) 五、详细设计 (4) 1.主函数流程图 (4) 2.创建文件函数流程图 (5) 3.删除文件函数流程图 (7) 4.分解命令函数流程图 (10) 六、测试、修改及运行结果 (10) 七、结束语 (13) 八、参考文献 (14)

一、课程设计目的 文件系统是现代OS用来存储和管理信息机构,具有按名存取的功能,不仅能方便用户对信息的使用,也有效提高了信息的安全性。本课题模拟文件系统的目录结构,并在此基础上实现文件的各种操作方法。 通过本课题,深入理解文件文件目录的作用和功能,掌握文件打开结构,熟悉与文件有关的系统调用,从而更好地掌握文件系统概念。 二、课题内容 1.文件目录采用二级目录结构,第一级为主文件目录master_file_directory;第二级为用户文件目录user_file_directory。 图1 master_file_directory 结构 图2 user_file_directory 结构 2.为加速文件存取,为每个用户建立一张用户打开表fileTable,用以记录该 3.为该系统提供6条操作命令:创建、打开、读、写、关闭、删除等。 4.在该模拟系统中,应先建立主文件目录、用户目录和用户打开文件表,然后接受合法用户,给出一个菜单,按用户选择执行相关操作。 三、总体路线 1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个简单的单用户文件系统。在退出这个简单的文件系统时,应将该虚拟文件系统保存到磁盘上,以便下次可以再将它恢复到内存的虚拟磁盘空间中。 2.文件存储空间的分配采用显式链接分配。为了实现创建和删除文件必

《操作系统原理》课程教学大纲

附件1: 《操作系统原理》课程教学大纲 制定(修订)人: 李灿平、郭亚莎制定(修订)时间: 2006年 7 月所在单位: 信息工程学院 一、课程基本信息

三、教学内容及基本要求 第一章绪论 本章简要介绍操作系统的基本概念、功能、分类以及发展历史。同时讨论研究操作系统的几种观点。 §1.1 操作系统的概念 本节介绍操作系统的基本概念,什么是操作系统以及操作系统与硬件软件的关系。 本节重点:操作系统与硬件软件的关系。 本节要求学生理解什么是操作系统,掌握操作系统与硬件软件的关系。 §1.2 操作系统的历史 本节按器件工艺介绍操作系统的发展历史。 本节重点:多道程序系统的概念。 本节要求学生了解操作系统的发展历史,理解多道程序系统概念。 §1.3 操作系统的基本类型 本节介绍常见的操作系统的类型、特点及适用的对象。 本节重点:批处理操作系统、分时系统、实时系统。 本节要求学生掌握上述三大操作系统的特点及适用对象。 §1.4 操作系统功能 本节简单介绍操作系统的五个功能。处理机管理,存储管理,设备管理,信息管理(文件系统管理)和用户接口。 本节要求学生了解上述功能。 §1.5 计算机硬件简介 本节简单介绍计算机硬件系统。 本节要求学生自修。

§1.6 算法的描述 本节介绍操作系统管理计算机系统的有关过程所用的描述算法。 本节要求学生掌握本书所采用的描述算法。 §1.7 研究操作系统的几种观点 本节介绍研究操作系统的几种观点。系统管理的观点,用户界面观点和进程管理观点。 本节要求学生了解上述三种观点。 第二章操作系统用户界面 本章主要讨论操作系统的两个用户接口,并以UNIX系统为例,简单介绍用户接口的使用操作方法。 §2.1 作业的基本概念 本节介绍作业的基本概念,什么是作业及作业组织(结构)。 本节重点:作业的基本概念。 本节要求学生掌握作业的基本概念,了解作业的组织。 §2.2 作业的建立 本节介绍作业的几种输入方式和作业的建立过程。 本节重点:联机输入方式和Spooling系统,作业控制块PCB和作业的四个阶段。 本节要求学生了解作业的几种输入方式,理解Spooling系统,掌握作业建立的过程内容。理解作业的四个基本阶段。提交、后备、执行以及完成阶段。 §2.3 命令控制界面接口 本节介绍操作系统为用户提供的命令接口界面。介绍命令接口的两种使用方式。讨论联机方式下操作命令的分类。 本节重点:命令接口的使用方式。 本节要求学生理解命令接口的作用和使用方式。了解联机方式下操作命令的分类。 §2.4 系统调用 本节介绍操作系统提供给编程人员的唯一接口,系统调用。同时讨论系统调用的分类。 本节重点:编程人员通过系统调用使用操作系统内核所提供的各种功能和系统调用的处理过程。 本节要求学生了解系统调用的分类、理解系统调用的功能、掌握系统调用的处理过程。 §2.5 UNIX用户界面 本节简单介绍UNIX系统的发展历史和特点以及UNIX系统结构。同时讨论UNIX操作命令和系统调用的分类功能和使用方法。 本节重点:UNIX系统的特点。 本节要求学生了解UNIX系统的发展史,掌握UNIX系统的特点,理解UNIX系统操作命令和系统调用的功能。 第三章进程管理 本章详细介绍进程和线程管理的有关概念和技术。 §3.1 进程的概念 本节介绍进程的基本概念。通过程序的并发执行,引出进程具有并发性特征的概念。同时讨论进程的各式各样的定义以及作业和进程的关系。 本节重点:进程的特征。 本节要求学生了解程序的并发执行,掌握进程的特征。 §3.2 进程的描述 本节介绍进程的静态描述以及进程上下文结构。 本节重点,进程的上下文结构。 本节要求学生理解进程的静态描述内容,掌握进程控制块PCB的作用和进程上下文结构。

《操作系统》课程综合练习题 及答案

《操作系统》综合练习题 一、填空题 1.操作系统的基本功能包括( 1 )管理、( 2 )管理、( 3 )管理、( 4)管理以及提供用户接口。 2.系统调用与一般函数调用的执行方式有着明显的不同,系统调用运行在( 5 )态,一般函数调用 运行在( 6 )态。 3.进程并发执行时有间断性、(7)和(8)的特点。 4.进程的基本特征有( 9 )、( 10 )、独立、异步及结构特征。 5.UNIX系统的文件目录项由两部分构成,即文件名和( 11 ); 6.临界资源的概念是(12),而临界区是指(13)。 7.产生死锁的原因可以归结为两点:(14)和(15)。 8.段页式存储管理中,是将作业分( 16 ),( 17 )内分( 18 ),内存分配以( 19 )为单位。 9.分页存储管理方式中,在不考虑使用快表的情况下,每条访问内存的指令需要( 20 )次访问内 存; 10.在操作系统中,不可中断执行的操作称为( 21 )操作; 11.进程访问临界资源的代码段称为( 22 ),为保证进程互斥,应在进程的临界区前设置( 23 ), 在临界区后设置( 24 )。 12.银行家算法中,当一个进程提出的资源请求将导致系统从( 25 )进入( 26 )时,系统就拒绝 它的资源请求。 13.页面调入策略要解决(27)、(28)两个问题。 14.最佳置换算法是选择(29)或(30)的页面做为被淘汰的页面。 15.UNIX系统中,用于创建进程的两个常用系统调用是( 31 )和( 32 )。 16.进程调度负责( 33 )的分配工作。 17.通常操作系统内核提供( 34 )功能和( 35 )功能。 参考答案: 1、(1)存储管理;(2)处理机管理;(3)文件管理;(4)设备管理; 2、(5)系统态(核心态) ;(6)用户态; 3、(7)失去封闭性;(8)不可再现性 4、(9)动态;(10)并发; 5、(11)索引结点; 6、(12)一次仅允许一个进程访问的资源;(13)进程中访问临界资源的那段程序代码;

《计算机操作系统(第3版)》教学大纲

操作系统 课程名称(英文):Operating System 适用专业:信息管理与信息系统、电子商务、信息安全 课程性质:专业基础课,必修 学时:56学时,其中讲课:48学时,上机:8学时,实验:0学时 先修课程:C语言程序设计、数据结构、信息系统基础 一、本课程的地位、作用与任务 通过本课程的学习,使学生掌握现代操作系统的基本原理及设计技术,了解操作系统的运行环境及实现方法,并运用操作系统的理论和方法分析现有的操作系统。使学生在操作系统应用领域具有较强的分析问题和解决问题的能力,为将来系统研究和软件开发打下坚实的基础。 二、内容、学时及基本要求

三、说明 1.本大纲意在掌握了操作系统基本原理的基础上,加强对现代操作系统新技术和新方法的介绍,以使课程适应社会的需要。本课程课内实验8学时,并另开设操作系统课程设计1周。 2.课程的教学要求层次: 教学内容按熟练掌握、掌握、理解、了解几个层次要求。在教学过程中,应注意理论联系实际、注重与本专业的其他学科知识的衔接与配合。加强对学生分析问题和解决问题能力的培养。 3.本大纲的适用范围: 本大纲适用信息管理与信息系统、电子商务、信息安全专业的课程。 4.教学中应注意的问题: 该课程教学中应注意吸收新知识、新观念,尤其要密切注意操作系统发展的新动向。 5.教学方法: 该课程的教学方法应以讲授法为主,案例教学、研究讨论教学为辅。 6.考核方式:期末采取闭卷考试方式,期末考试成绩占总评成绩70%、平时成绩占总评成绩20%、实验成绩占总评成绩10%。 7.上机学时分配:本实验Linux环境下进行,皆在培养学生理论联系实际能力和操作

操作系统作业题及答案

《操作系统》课程作业 (2013年春) 姓名: 学号: 专业: 年级: 学校: 日期:

作业一:作业管理 1、有三道程序A、B、C在一个系统中运行,该系统有输入、输出设备各1台。三道程序 A、B、C构成如下: A:输入32秒,计算8秒,输出5秒 B:输入21秒,计算14秒,输出35秒 C:输入12秒,计算32秒,输出15秒 问:(1)三道程序顺序执行的总时间是多少? (2)充分发挥各设备的效能,并行执行上述三道程序,最短需多少时间(不计系统开销)?并给出相应的示意图。 2、假设一个单CPU系统,以单道方式处理一个作业流,作业流中有2道作业,共占用CPU 计算时间、输入卡片数和打印输出行数如下: 其中,卡片输入机速度为1000张/分钟,打印机输出速度为1000行/分钟,试计算:(1)不采用spooling技术,计算这两道作业的总运行时间(从第1道作业输入开始到最后一个作业输出完毕)。 (2)如采用spooling技术,计算这2道作业的总运行时间(不计读/写盘时间),并给出相应的示意图。

作业二:进程管理 1、 请写出两程序S1和S2可并发执行的Bernstein 条件。 2、 有以下5条语句,请画出这5条语句的前趋图。 S1:y=x+1 R(x) W(y) S2:c=f-w R(f,w) W(c) S3:d=r-y R(r,y) W(d) S4:x=a+b R(a,b) W(x) S5:r=c+y R(c,y) W(r) 3、 设在教材第62页3.6.4节中所描述的生产者消费者问题中,其缓冲部分为m 个长度相等 的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度以及生产者和消费者可对缓冲区同时操作。重新描述发送过程deposit(data)和接收过程remove(data)。 P P P i P .. .. 1 2 i k .. 4、 设有k 个进程共享一临界区,对于下述情况,请说明信号量的初值、含义,并用P ,V 操作写出有关互斥算法。 (1) 一次只允许一个进程进入临界区; (2) 一次允许m (m

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

第二章进程管理 2. 试画出下面4条语句的前趋图: 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是进程存在的唯一标志。 8. 试说明进程在三个基本状态之间转换的典型原因. a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变 为执行状态。 b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行 状态转变为阻塞状态。 c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。 9. 为什么要引入挂起状态?该状态有哪些性质? a. 引入挂起状态主要是出于4种需要(即引起挂起的原因): 终端用户的请求,父进程 请求,负荷调节的需要,操作系统的需要。

操作系统课程设计报告

; 一、概述 课程设计目的、意义: 课程设计目的使学生熟悉文件管理系统的设计方法;加深对所学各种文件操作的了解及其操作方法的特点。通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识, 加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力。 主要任务: 模拟文件系统设计是设计和实现一个简单的文件系统。内容包括: 1.建立文件存储介质的管理机制 2.建立目录(采用一级目录结构) 3.文件系统功能(显示目录、创建、删除、打开、关闭、读、写) ~ 4.文件操作接口(显示目录、创建、删除、打开、关闭、读、写) 二、系统设计 课程设计的系统设计: 本系统模拟一个文件管理系统,要完成对文件的基本操作,文件的基本操作有文件、文件夹的打开、新建、删除和读取写入文件,创建更改目录,列出目录内容等信息。系统建立了文件目录树,存储文件系统中的所有文

件。对于用户名下的文件,用文件目录树的分枝来存贮。采用命令行操作界面很直观,也方便用户进行操作,用户只要按照操作界面所显示的命令来操作就行了。 整体设计框架: 系统初始化界面是由创建用户存储空间,管理文件,退出系统三个模块组成。用户创建由创建用户存储空间,进入目录,删除用户存储空间,显示所有用户存储空间,等模块组成。然后各个模块再由一些小模块组成。其中创建文件,打开关闭文件,读写文件等文件操作模块包括在进入目录模块里面。 三、系统实现 课程设计主要内容的实现程序代码: 《 #include <> #include <> #include <> typedef struct file{ char name[10]; struct file *next; }File; typedef struct content{ ! char name[10]; File *file;

《操作系统》课程简介.doc

《操作系统》课程简介 一、课程简介 操作系统(Operating System)是当代计算机软件系统的核心,是计算机系统的基础和支撑,它管理和控制着计算机系统中的所有软、硬件资源,可以说操作系统是计算机系统的灵魂。操作系统课程是计算机专业学生必须学习和掌握的基础课程,是进行系统软件开发的理论基础,也是计算机专业的一门理论性和实践性并重的核心主干课程。 二、课程性质 本课程是一门技术性、实践性很强的课程,又是理论与实践紧密结合的课程,既注重操作系统基础理论,又着眼培养学生解决实际问题能力。本课程将学习操作系统的基本原理、基本方法及其实现技术,包括处理器管理、存储管理、文件管理、设备管理以及进程的互斥、同步、通信与死锁等内容。使学生了解当今几个主流操作系统,了解操作系统的设计方法和并发程序的设计,具备较强的软件设计能力和较严密的思维能力。 三、教学目的 1、使学生全面地了解和掌握现代计算机操作系统的基本原理,从资源管理的角度领会操作系统的功能和实现技术。 2、使学生建立起以操作系统为中心的对计算机系统整体性和系统级的认识。 3、使学生系统科学地受到分析问题和解决问题的训练,提高运用理论知识开发实际操作系统的基本能力。

《操作系统》教学大纲第1章:引论 (一)知识要点 1、计算机硬件结构 2、操作系统介绍 3、操作系统的发展历程 4、操作系统的类型 5、操作系统的特征 6、操作系统结构设计 (二)能力重点 1、操作系统的定义、分类 2、操作系统的主要功能 3、操作系统的基本特征 第2章:进程和线程 (一)知识要点 1、进程的概念 2、进程的状态和组成 3、进程管理 4、线程的概念 5、进程的同步和通信 6、经典进程同步问题 7、进程通信 (二)能力重点 1、进程的定义、进程的状态 2、进程的创建、撤销、阻塞、唤醒等原语 3、线程和进程的区别,线程的特征 4、经典进程同步问题的解决方法

2014中央电大操作系统作业参考答案 (2).

操作系统课程作业 作业说明: 1. 操作系统课程作业共安排3次,每次作业总分为100分。 2. 课程作业总分为各次作业的平均分数。 第一次作业(共100分) 第一章操作系统引论 一、单项选择题(每题1分,共16分) 1、操作系统是一种()。 A.应用软件 B. 系统软件 C.通用软件 D. 工具软件 2、操作系统是一组()。 A.文件管理程序 B.中断处理程序 C.资源管理程序 D.设备管理程序 3、现代操作系统的基本特征是()、资源共享和操作的异步性。 A.多道程序设计 B. 中断处理 C.程序的并发执行 D. 实现分时与实时处理 4、()不是操作系统关心的主要问题。 A.管理计算机裸机 B.设计、提供用户程序与计算机硬件系统的界面 C.管理计算机系统资源 D.高级程序设计语言的编译器 5、引入多道程序的目的在于()。 A.充分利用CPU,减少CPU等待时间 B.提高实时响应速度 C.有利于代码共享,减少主、辅存信息交换量 D.充分利用存储器 6、()没有多道程序设计的特点。 A. DOS B. UNIX C. Windows D.OS/2 7、下列操作系统中,为分时系统的是()。 A. CP/M B. MS-DOS C. UNIX D. Windows NT 8、在分时系统中,时间片一定,(),响应时间越长。 A.内存越多 B.用户数越多 C.后备队列越短 D.用户数越少 9、批处理系统的主要缺点是()。 A.CPU的利用率不高 B.失去了交互性 C.不具备并行性 D.以上都不是 10、在下列性质中,()不是分时系统的特征。 A. 交互性 B. 同时性 C. 及时性 D. 独占性 11、实时操作系统追求的目标是()。 A.高吞吐率 B.充分利用内存 C. 快速响应 D. 减少系统开销 12、CPU状态分为系统态和用户态,从用户态转换到系统态的唯一途径是()。 A. 运行进程修改程序状态字 B. 中断屏蔽 C. 系统调用 D. 进程调度程序 13、系统调用的目的是()。 A.请求系统服务 B.终止系统服务 C.申请系统资源 D.释放系统资源 14、系统调用是由操作系统提供的内部调用,它()。

操作系统课程设计

操作系统课程设计 Prepared on 22 November 2020

湖南科技大学计算机科学与工程学院 操作系统课程设计报告 学号: ******** 姓名:* * 班级: *** 指导老师: *** 完成时间: ****.**.** 目录 实验一 Windows进程管理 实验二 Linux进程管理 实验三互斥与同步 实验四银行家算法的模拟与实现 实验五内存管理 实验六磁盘调度 实验七进程间通信 实验一 Windows进程管理 一、实验目的 1)学会使用 VC 编写基本的 Win32 Consol Application(控制台应用程序)。 2)通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解 Windows 进程的“一生”。

3)通过阅读和分析实验程序,学习创建进程、观察进程、终止进程以及父子进程同步的基本程序设计方法。 二、实验内容和步骤 (1)编写基本的 Win32 Consol Application 步骤1:登录进入 Windows 系统,启动 VC++ 。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择 “Win32 ConsolApplication”,然后在“Project name”处输入工程名,在“Location” 处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”,然后在“File” 处输入 C/C++源程序的文件名。 步骤4:将清单 1-1 所示的程序清单复制到新创建的 C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的 debug 子目录,执行编译好的可 (2)创建进程 本实验显示了创建子进程的基本框架。该程序只是再一次地启动自身,显示它的系统进程 ID和它在进程列表中的位置。 步骤1:创建一个“Win32 Consol Application”工程,然后拷贝清单 1-2 中的程序编译成可执行文件。 步骤2:在“命令提示符”窗口运行步骤 1 中生成的可执行文件,列出运行结果。按下ctrl+alt+del,调用 windows 的任务管理器,记录进程相关的行为属性。 步骤3:在“命令提示符”窗口加入参数重新运行生成的可执行文件,列出运行结果。按下ctrl+alt+del,调用 windows 的任务管理器,记录进程相关的行为属性。 (3)父子进程的简单通信及终止进程

相关主题