操作系统实验指导书
徐军利 编写
武汉工业学院 计算机与信息工程系
2009年8月
实验一 进程管理
1.目的和要求
通过实验理解进程的概念,进程的组成(PCB结构),进程的并发执行和操作系统进行进程管理的相关原语(主要是进程的创建、执行、撤消)。
2.实验内容
用C语言编程模拟进程管理,至少要有:创建新的进程;查看运行进程;换出某个进程;杀死运行进程以及进程之间通信等功能。
3.实验环境
Windows操作系统、VC++6.0 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(\ 1.创建新的进程 2.查看运行进程 \ printf(\ 3.换出某个进程 4.杀死运行进程 \ printf(\ 5.退出系统 \ printf(\ printf(\请选择(1~5)\ a=getchar();
switch(a) { case'1': create( ); /*自定义过程*/ break; case'2': run( ); /* 自定义过程 */ break; case'3': huanchu(); /*自定义过程*/ break; case'4': kill( ); /*自定义过程*/ break; case'5': exit(0); default: n=0; } } }
create( ) /* 创建一个进程的示例(不完整的程序) */ { if(shumu>=20) { printf(\内存已满,请先结束或换出进程\\n\ } else { printf(\请输入新进程的pid\\n\ scanf(\ printf(\请输入新进程的优先级\\n\ scanf(\
printf(\请输入新进程的大小\\n\ scanf(\ shumu++; }
}
5.实验运行结果
******************************************** * 进程演示系统 * ******************************************** 1.创建新的进程 2.查看运行进程 3.换出某个进程 4.杀死运行进程 5.退出系统
******************************************** 请选择(1~5)
然后根据你选择的不同,出现不同的结果。
6. 实验要求:
1) 上机前认真使用C语言编写好程序,采用Visual C++6.0作为编译环境; 2) 上机时独立调试程序
3) 根据具体实验要求,填写好实验报告(包括目的和要求、实验内容、实验环境、设计思想、源程序、实例运行结果、总结)。
实验二 进程调度
1.目的和要求
通过这次实验,理解进程调度的过程,进一步掌握进程状态的转变、进程调度的策略,进一步体会多道程序并发执行的特点,并分析具体的调度算法的特点,掌握对系统性能的评价方法。
2.实验内容
阅读教材《计算机操作系统》第二章和第三章,掌握进程管理及调度相关概念和原理。
相关推荐: