1.1 题目的主要研究内容及预期达到的目标
【设计目的】
(1)理解进程创建相关理论。
(2)掌握进程创建方法。
(3)掌握进程相关数据结构。
【课题描述】
本课题针对操作系统中进程的创建相关理论进行设计。要求编写程序并进行测试。代码简化了进程创建的多个步骤和内容。进程的树形结构采用广义二叉树的方式进行存储。
【课题内容】
(1)至少创建10个进程。
(2)创建进程树中4层以上的树型结构。。
1.2 题目研究的工作基础或实验条件
(1)硬件环境:Windows 10
(2)软件环境: VMware
1.3 设计思想
(1)进程树
进程的创建过程是操作系统重要的处理过程之一。在系统中运行的进程都
是由进程创建出来的,创建进程的进程与被创建的进程之间构成父子关系,子进
程还可以再创建它的子进程,由此可以构成颗进程树
(2)根进程
子进程的创建是基于父进程的,因此直追溯上去,总有一个进程是原始
的,是没有父进程的,这个进程是根进程。根进程没有可复制和参考的对象,它
所拥有的所有信息和资源都是强制设置的,不可复制的,这个过程称为手工设置,
也就是说根进程是“纯手工打造”的,它是操作系统中“最原始”的一个进程,它是个模子,后面的任何进程都是店于根进程生成的。
在Linux系统中的这个根进程的进程号是0,也把它叫做0号进程。创造0
号进程主要包括两部分:是创建进程 0运行时所需的所有信息,即填充0号进
程:二是调度0号进程的执行,即让它“动”起来,只有动起来,才是真正意义
上的进程,符合进程动态的概念。
(3)进程的创建过程
一但操作系统发现了要求创建进程的事件后,便调用进程创建原语按下述
步骤创建个新进程。
A、申请空白PCB
为新进程申请获得唯一的数字标识符,并从PCB集合中索取一个空白 PCB.
如果无空白PCB,可以创建一个新的PCB.在本实验中,每次动态创建PCB.
B、为新进程分配资源
为新进程分配内存空间和栈空间。
C、初始化进程控制块
a)初始化标识信息;
b)初始化处理机状态信息;
c)初始化处理机控制信息。
D、将新进程插入就绪队列
1.4 流程图
图1-1 创建树形结构进程流程图
1.5 主要程序代码
************************