操作系统实验指导.docx
- 文档编号:2267274
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:61
- 大小:54.67KB
操作系统实验指导.docx
《操作系统实验指导.docx》由会员分享,可在线阅读,更多相关《操作系统实验指导.docx(61页珍藏版)》请在冰豆网上搜索。
操作系统实验指导
计算机操作系统
实验指导书
郝继升
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"
structjincheng_type
{intpid;
intyouxian;
intdaxiao;………};
structjincheng_typeneicun[20];
intshumu=0,pid_l;
main()
{
intn,m,i;
chara;
n=1;
while(n==1)
{
clrscr();
printf("\n********************************************");
printf("\n*进程演示系统*");
printf("\n********************************************");
printf("\n1.创建新的进程2.查看运行进程");
printf("\n3.换出某个进程4.杀死运行进程");
printf("\n5.进程之间通信6.退出系统");
printf("\n********************************************");
printf("\n请选择(1~6)");
a=getche();
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内存已满,请先结束或换出进程\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.退出系统
********************************************
请选择(1~6)
然后根据你选择的不同,出现不同的结果。
实验二进程调度
1.目的和要求
进程调度是处理机管理的核心内容。
本实验要求用C语言编写和调试一个简单的进程调度程序。
通过本实验可以加深理解有关进程控制块、进程队列的概念,并体会和了解优先数和时间片轮转调度算法的具体实施办法。
2.实验内容
①设计进程控制块PCB表结构(与实验一的结构相同),分别适用于优先数调度算法和循环轮转调度算法。
②建立进程就绪队列。
对两种不同算法编制入链子程序。
③编制两种进程调度算法:
1)优先数调度;2)循环轮转调度
3.实验环境
同实验一
4.实验提示
①本程序用两种算法对五个进程进行调度,每个进程可有三个状态,并假设初始状态为就绪状态。
②为了便于处理,程序中的某进程运行时间以时间片为单位计算。
各进程的优先数或轮转时间数以及进程需运行的时间片数的初始值均由用户给定。
③在优先数算法中,优先数可以先取值为98,进程每执行一次,优先数减3,CPU时间片数加1,进程还需要的时间片数减1。
在轮转算法中,采用固定时间片(即:
每执行一次进程,该进程的执行时间片数为已执行了2个单位),这时,CPU时间片数加2,进程还需要的时间片数减2,并排列到就绪队列的尾上。
④对于遇到优先数一致的情况,采用FIFO策略解决。
5.实验运行结果
TYPETHEALGORITHM(PRIORITY/ROUNDROBIN):
若选择了PRIORITY(优先数算法),则进一步显示:
INPUTNAMEANDNEEDTIME
A12
A23
A34
A42
A54
OUTPUTOFPRIORITY:
CPUTIME:
1
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A11145working
A20347ready
A30446ready
A40248ready
A50446ready
CPUTIME:
2
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A12145ready
A20347ready
A30446ready
A41145working
A50446ready
CPUTIME:
3
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A13145ready
A21244working
A30446ready
A42245ready
A50446ready
CPUTIME:
4
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A14145working
A22244ready
A30446ready
A43245ready
A50446ready
CPUTIME:
5
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A15145ready
A23244ready
A31343working
A44245ready
A50446ready
CPUTIME:
6
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A16145ready
A24244ready
A32343ready
A45245ready
A51343working
CPUTIME:
7
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A17042finish
A25244ready
A33343ready
A46245ready
A52343ready
CPUTIME:
8
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A17042finish
A26244ready
A34343ready
A47142working
A53343ready
CPUTIME:
9
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A17042finish
A27141working
A35343ready
A48142ready
A54343ready
CPUTIME:
10
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A17042finish
A29141ready
A37240working
A49142ready
A55343ready
CPUTIME:
11
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A17042finish
A210141ready
A38240ready
A410142ready
A56240working
CPUTIME:
12
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A17042finish
A211141ready
A39240ready
A411039finish
A57240ready
CPUTIME:
13
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A17042finish
A212038finish
A39240ready
A411042finish
A57240ready
CPUTIME:
13
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A17042finish
A212038finish
A310137working
A411042finish
A58240ready
CPUTIME:
14
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A17042finish
A212038finish
A311137ready
A411042finish
A59137working
CPUTIME:
15
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A17042finish
A212038finish
A312034finish
A411042finish
A510137ready
CPUTIME:
16
NAMECPUTIMENEEDTIMEPRIORITYSTATE
A17042finish
A212038finish
A312034finish
A411042finish
A511034finish
若选择了ROUNDROBIN(时间片轮转算法),则进一步显示:
INPUTNAMEANDNEEDTIME
A12
A23
A34
A42
A54
OUTPUTOF
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 实验 指导