操作系统实验模板1资料文档格式.docx
- 文档编号:16675311
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:16
- 大小:45.84KB
操作系统实验模板1资料文档格式.docx
《操作系统实验模板1资料文档格式.docx》由会员分享,可在线阅读,更多相关《操作系统实验模板1资料文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
int
MaxNumber=100;
TrackOrder[MaxNumber];
MoveDistance[MaxNumber];
//移动距离
FindOrder[MaxNumber];
//寻好序列
double
AverageDistance;
//平均寻道长度
bool
direction;
//方向true时为向外,false为向里
BeginNum;
//开始磁道号
M=500;
//磁道数
N;
//提出磁盘I/O申请的进程数
SortOrder[MaxNumber];
//排序后的序列
Finished[MaxNumber];
void
Inith()
{
cout<
<
"
请输入提出磁盘I/O申请的进程数:
;
cin>
>
请依次输入要访问的磁道号:
for(int
i=0;
i<
i++)
TrackOrder[i];
j=0;
j<
j++)
MoveDistance[j]=0;
请输入开始磁道号:
k=0;
k<
k++)
Finished[k]=false;
l=0;
l<
l++)
SortOrder[l]=TrackOrder[l];
}
Sort()
temp;
i=N-1;
i>
=0;
i--)
i;
if(SortOrder[j]>
SortOrder[j+1])
temp=SortOrder[j];
SortOrder[j]=SortOrder[j+1];
SortOrder[j+1]=temp;
}
//SSTF,最短寻道法
SSTF()
temp,n;
A=M;
temp=BeginNum;
{
if(abs(TrackOrder[j]-temp)<
A&
&
Finished[j]==false)
A=abs(TrackOrder[j]-temp);
n=j;
else
continue;
Finished[n]=true;
MoveDistance[i]=A;
temp=TrackOrder[n];
FindOrder[i]=TrackOrder[n];
//SCAN,扫描算法
SCAN()
m,n,temp;
Sort();
请选择开始方向:
1--向外;
0---向里:
m;
if(m==1)
direction=true;
if(m==0)
direction=false;
输入错误!
if(SortOrder[i]<
BeginNum)
n=i;
break;
if(direction==true)
i=n;
MoveDistance[i-n]=abs(SortOrder[i]-temp);
temp=SortOrder[i];
FindOrder[i-n]=SortOrder[i];
j=n-1;
j>
j--)
MoveDistance[N-1-j]=abs(SortOrder[j]-temp);
FindOrder[N-1-j]=SortOrder[j];
i=n-1;
MoveDistance[N-i-4]=abs(SortOrder[i]-temp);
FindOrder[N-i-4]=SortOrder[i];
j=n;
MoveDistance[j]=abs(SortOrder[j]-temp);
temp=TrackOrder[j];
FindOrder[j]=SortOrder[j];
//计算平均寻道时间
Count()
Total=0;
Total+=MoveDistance[i];
AverageDistance=((double)Total)/((double)N);
Show()
setw(20)<
被访问的下一个磁道号"
移动距离(磁道数)"
endl;
setw(15)<
FindOrder[i]<
MoveDistance[i]<
平均寻道长度:
AverageDistance<
main()
y=1;
s;
Inith();
while(y)
请选择寻道方式:
1--FCFS;
2--SSTF;
3--SCAN;
4--CSCSN:
switch(s)
case
1:
FCFS();
Count();
Show();
2:
SSTF();
3:
SCAN();
4:
CSCAN();
是否继续选择寻道算法?
1--是;
0--否:
p;
y=p;
exit;
return
0;
实验心得:
十几天的课设时间很快就过去了,
其中既有欢乐又有痛苦。
通过这次的课程
设计,
我认识到要将操作系统这门计算机专业的课学好不仅仅是要把书上的基本
知识学好,
还要不断进行实践,
将所学的跟实践操作结合起来才能更好地巩固所
学,才能提高自己实践能力
.
通过这次的设计使我认识到只停留在表面理解问题是很难使问题得到很好的解决的,
实践能力与理论知识同样重要。
这次试验的理
论难度并不大,
但是若要深入发掘其中的东西,
并且实际去编程实现,
就遇到了
相当大的难度。
我们的编程能力并不是特别突出,
又要在很短的时间内给出算法
的实现,
非常困难。
因此我们不仅要在课上认真试验,
课后还要查资料、
做实验,
终于经过不懈的努力,
我们克服了以上的种种困难,
按时完成了课设的任务,
再
次感谢帮助我们的老师和同学。
成绩评定:
该生对待本次实验的态度□认真□良好□一般□比较差。
本次实验的过程情况□很好□较好□一般□比较差
对实验结果的分析□很好□良好□一般□比较差
文档书写符合规范程度□很好□良好□一般□比较差
综合意见:
成绩
指导教师签名
沈超
日期
12.22
《操作系统》课程实验第二次实验报告
1、了解操作系统中文件系统的结构和管理过程。
2、掌握经典的算法:
混合索引与成组链接法等方法。
编程模拟实现混合索引和成组链接法算法。
stdio.h>
MA[4];
/*空闲块数组*/
A[9][4]={{3,1,2,3},{3,4,5,6},{0,0,0,0},{0,0,0,0},{3,0,7,8},
{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}};
/*磁盘空间*/
mark[9];
/*存放已分配的块*/
No=0;
/*已分配的块数*/
display1()
i,j,temp,count;
if(MA[1]!
=0)
i=MA[0];
printf("
\ngroup1:
);
for(j=1;
=i;
%d
MA[j]);
mark[++No]=MA[j];
temp=MA[1];
count=2;
while(A[temp][1]!
\ngroup%d:
count);
i=A[temp][0];
A[temp][j]);
mark[++No]=A[temp][j];
count++;
temp=A[temp][1];
for(j=2;
=i+1;
if(A[temp][j]>
0)
mark[++No]=A[temp][j];
if(i==1)
\nThe
blocks
are
all
assigned"
mark[++No]=MA[j];
display()
/*显示分组情况*/
i,j;
if(MA[0]!
display1();
i=MA[1];
for(j=0;
=3;
MA[j]=A[i][j];
assign()
/*分配空闲块*/
s,i;
if(MA[0]>
1)
/*若该组不止一个空闲块*/
s=MA[i];
MA[0]--;
number
of
the
block:
%d"
s);
if(MA[0]==1)
/*只剩一个空闲块*/
/*还有其它空闲块组*/
s=MA[1];
for(i=0;
A[0][i]=A[s][i];
/*没有其它空闲块组*/
There
isn'
t
any
space"
return;
/*当前组已分配完*/
MA[i]=A[0][i];
assign();
display();
callback()
/*回收空闲块*/
i,j,temp;
input
No.
block
you
want
to
callback:
scanf("
&
j);
getchar();
/*得到待回收的空闲块号*/
for(temp=1;
temp<
=No;
temp++)
if(mark[temp]==j)
if(temp<
No+1)
/*若该空闲块已在,退出*/
is
in
disk"
if(MA[0]<
3)
/*当前组不满3块*/
MA[i+1]=j;
MA[0]++;
/*已有3块*/
A[j][i]=MA[i];
MA[0]=1;
MA[1]=j;
/*显示*/
menu()
/*功能选择函数*/
choice;
char
judge;
\ninput
your
choice:
(1--assign,2--callback):
choice);
if(choice==1)
if(choice==2)
callback();
\ninvalid
command!
\ncontinue
or
not?
(y--Yes,n--Not):
%c"
judge);
if(judge=='
y'
)
menu();
Now
graph
is:
\npress
key
quit"
getch();
我们每天都在用文件系统,已经习惯了有文件路径寻找的方便,每次找文
件时,感觉好容易,可实际去设计这个程序时,却很难。
用树形结构图去设计,
要有较好的全局思想,
而且一些节点的分配。
在设计此系统时,
发觉自己对文件
系统理解得不够透彻。
不知道如何来具体设计这个实验,
后来耐心回到本学期学
习的课本内容上,
再次翻看了大二第一学期所学的数据结构的书,
才觉悟对文件
系统的理解,
总而言之,
操作系统的设计,
不仅提升了自己的程序设计及编写技
巧,更大大地加深了对操作系统的文件管理的了解。
在本学期的操作系统课程设计的实验中,完成了进程控制,请求分页管理,设备
管理,文件管理和进程调度等一系列实验项目,收获颇丰。
在该门课程中通过实验的
方法,模拟了当今操作系统的部分子系统的实现,进一步加深了对操作系统的理解。
掌握了与操作系统相关的重要算法,相信这些内容会牢牢记在我的脑海中,并在以后
的学习生活中派上用场。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 实验 模板 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)