(os实验指导.doc
文本预览下载声明
计算机操作系统
实 验 指 导 书
2011年9月
目 录
实验一 进程管理 1
实验二 进程调度 4
实验三 存储管理 15
实验四 文件系统设计 23
实验五 操作系统接口 43
实验一 进程管理
1.目的和要求
加强对进程概念的理解。
2.实验内容
至少要有:创建新的进程;查看运行进程;换出某个进程;杀死运行进程以及进程之间通信等功能。
3.实验环境
①PC兼容机
②Windows、DOS系统
③TC语言
4.实验提示
PCB结构通常包括以下信息:进程名,进程优先数,轮转时间片,进程所占用的CPU时间,进程的状态,当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删。
主体程序
#include conio.h
#include stdio.h
#include stdlib.h
struct jincheng_type
{ int pid;
int youxian;
int daxiao;……… };
struct jincheng_type neicun[20];
int shumu=0,pid_l;
main()
{
int n,m,i;
char a;
n=1;
while(n==1)
{
clrscr();
printf(\n********************************************);
printf(\n* 进程演示系统 *);
printf(\n********************************************);
printf(\n 1.创建新的进程 2.查看运行进程 );
printf(\n 3.换出某个进程 4.杀死运行进程 );
printf(\n 5.进程之间通信 6.退出系统 );
printf(\n********************************************);
printf(\n请选择(1~6));
a=getche();
switch(a)
{ case1:
create( );
break;
case2:
run( );
break;
case3:
huanchu();
break;
case4:
kill( );
break;
case5:
tongxun( );
break;
case6: exit(0);
default: n=0;
}
}
}
create( ) /* 创建一个进程的示例(不完整的程序) */
{
if(shumu=20)
{
printf(\n内存已满,请先结束或换出进程\n);
}
else
{
printf(\n请输入新进程的pid\n);
scanf(%d,neicun[shumu-1].pid);
printf(\n请输入新进程的优先级\n);
scanf(%d,neicun[shumu-1].youxian);
printf(\n请输入新进程的大小\n);
scanf(%d,neicun[shumu-1].daxiao);
shumu++;
}
}
5.实验运行结果
********************************************
* 进程演示系统 *
********************************************
1.创建新的进程 2.查看运行进程
3.换出某个进程 4.杀死运行进程
5.进程之间通信 6.退出系统
********************
显示全部