操作系统实验指导书
徐军利 编写
武汉工业学院 计算机与信息工程系
2009年8月
实验一 进程管理
1.目的和要求
通过实验理解进程的概念,进程的组成(PCB结构),进程的并发执行和操作系统进行进程管理的相关原语(主要是进程的创建、执行、撤消)。
2.实验内容
用C语言编程模拟进程管理,至少要有:创建新的进程;查看运行进程;换出某个进程;杀死运行进程以及进程之间通信等功能。
3.实验环境
Windows操作系统、VC++ C语言
4.实验提示
PCB结构通常包括以下信息:进程名,进程优先数,轮转时间片,进程所占用的CPU时间,进程的状态,当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删。
主体程序
#include \ #include \ #include \
struct PCB_type { int pid;
int priority; int cputime;
……… };
struct PCB_type neicun[20]; int shumu=0,pid_l; main() {
int n,m,i;
char a; n=1;
while(n==1) {
clrscr();
printf(\ printf(\进程演示系统 *\ printf(\ printf(\创建新的进程 2.查看运行进程 \ printf(\换出某个进程 4.杀死运行进程 \ printf(\进程之间通信 6.退出系统 \ printf(\ printf(\请选择(1~6)\ a=getchar();
switch(a) { case'1':
create( ); break; case'2':
run( ); /* 自定义过程 */ break; case'3':
huanchu(); /*自定义过程*/ break; case'4': kill( ); break; case'5':
tongxun( ); /*自定义过程*/ break;
case'6': exit(0); default: n=0; } } }
create( ) /* 创建一个进程的示例(不完整的程序) */ {
if(shumu>=20) {
printf(\内存已满,请先结束或换出进程\\n\