logo资料库

操作系统 进程的创建与控制.doc

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
实验五 进程的创建与控制
一、实验目的
二、实验预习
三、实验内容和要求
四、实验小结
10 级《操作系统》实验 5 学号: 姓名: 实验五 进程的创建与控制 一、实验目的 进程是操作系统中最重要的概念之一,任何程序的执行都要借助于进程来启动、运行和控制。 通过该实验,一方面让学生理解程序和进程之间的一对多联系,体会程序的静态性和进程的 动态性,另一方面也感受我们所使用的操作系统对进程的支持情况。 二、实验预习 1.什么是进程?一个进程在其生存期中至少要经历哪几种状态?一个程序是否只能被一个 进程启动? 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行 活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程 既是基本的分配单元,也是基本的执行单元。进程的概念主要有两点: 第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况 下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执 行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和 本地变量。第二,进程是一个“执行中的程序”。程序是一个没有生命的 实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们 称其为进程。 进程是操作系统中最基本、重要的概念。是多道程序系统出现后, 为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律 引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上。 就绪状态,等待状态,运行状态 可以用一个文件,当程序起来时检查该文件被打开,如果没有说明 这是第一次运行,则打开文件并继续运行,否则退出。记得在程序退出 的时候关闭该文件。该方法不是太好,如果在运行中程序意外退出,就 会有问题。 和上面的方法类似,可以把文件换成一个 socket,这样比较好。 2.操作系统是根据什么信息来感知进程的存在的? 进程控制块 PCB:用来描述进程的一切静态和动态的特征,操作系统只 能通过它来感知和管理进程。每个进程都有且仅有一个进程控制块。 进程控制块的内容:PCB 的具体内容随不同系统而异,一般包括以下信 2012-4-18 1
10 级《操作系统》实验 5 学号: 姓名: 息: 前值 进程标识: 唯一地标识进程的名称或代码 进程状态: 标识进程是运行态、就绪态或阻塞态 进程实体: 指示进程的程序部分和数据部分在存储器中的位置和大小 调度信息(优先数): 确定就绪进程转为运行进程的优先级 资源信息: 描述内存占用、外设占用等信息 现场信息: 包括程序计数器、程序状态字、累加器、变址寄存器的当 进程通信信息:用于进程间的通信 三、实验内容和要求 1.创建一个进程,来运行一个 Windows 系统自带的记事本程序(notepad.exe)设计出来的 界面大体如图: 要求:通过点击界面上的按钮,来分别启动、阻塞、唤醒和终止记事本进程。 2012-4-18 2
10 级《操作系统》实验 5 学号: 姓名: 2.自己建立一个可执行程序,用几个不同的进程来启动它。可参考如下步骤: (1)自己用 VB 建立一个应用程序 hello.exe,保存起来,为下一步做准备。 (2)在 VC 环境下设计界面如下: 2012-4-18 3
10 级《操作系统》实验 5 学号: 姓名: 分别点击界面中的三个按钮,来启动三个进程,但让它们运行的程序都是(1)中建立的 hello.exe。 问:在这里,哪个是父进程,哪个(些)是子进程? *3.选做)Linux 下的进程创建(用 fork()函数创建子进程): (1)在 linux 操作系统下,建立一个 C 语言文件,命名为 fork1.c (2)fork1.c 文件的内容为: #include main( ) int { int pid; pid=fork(); if( pid < 0 )printf(“error in fork!\n”); else if (pid==0) printf(“I am child, and my process id is: %d !\n”,pid); else printf(“I am father process, and my process id is %d !\n”,pid); return 0; } (3)编译该 fork1.c 文件,并形成可执行文件 fork1.exe: -o fork1.c gcc (4)执行刚形成的 fork1.exe 文件,多执行几次,观察结果: fork1.exe 2012-4-18 4
10 级《操作系统》实验 5 学号: 姓名: ./fork1.exe 四、实验小结 本次试验是进程的创建与控制,这是对进程的最基本的了解。我们通过实 验感受到了一到多的关联。同时,我们体会到了程序的静态性和进程的动态性 2012-4-18 5
分享到:
收藏