大连理工大学操作系统实验报告Word格式文档下载.docx
- 文档编号:14554809
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:19
- 大小:82.67KB
大连理工大学操作系统实验报告Word格式文档下载.docx
《大连理工大学操作系统实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《大连理工大学操作系统实验报告Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
1
进程管理
2
存储管理
3
磁盘移臂调度
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
总计
学分:
大连理工大学实验报告
计算机科学与技术学院专业:
计算机科学与技术班级:
电计1301
姓名:
学号:
组:
___
实验时间:
2016.6.3实验室:
综412实验台:
指导教师签字:
成绩:
进程管理实验
一、实验目的
加深对于进程并发执行概念的理解。
实践并发进程的创建和控制方法。
观察和体验进程的动态特性。
进一步理解进程生命期期间创建、变换、撤销状态变换的过程。
掌握进程控制的方法,了解父子进程间的控制和协作关系。
练习Linux系统中进程创建与控制有关的系统调用的编程和调试技术。
二、实验原理和内容
原理:
(1)fork成功创建子进程后将返回子进程的进程号,不成功会返回-1
(2)exec系统调用有一组6个函数,其中示例实验中引用了execve系统调用语法:
#include<
unistd.h>
intexecve(constchar*path,constchar*argv[],constchar*envp[]);
path要装入的新的执行文件的绝对路径名字符串.
argv[]要传递给新执行程序的完整的命令参数列表(可以为空).
envp[]要传递给新执行程序的完整的环境变量参数列表(可以为空).Exec执行成功后将用一个新的程序代替原进程,但进程号不变,它绝不会再返回到调用进程了。
exec调用失败,它会返回-1。
内容:
(1)每个进程都执行自己独立的程序,打印自己的pid,每个父进程打印其子进程的pid;
子2
(2)
每个进程都执行自己独立的程序,打印自己的pid,父进程打印其子进程的pid;
(3)编写一个命令处理程序,能处理max(m,n),min(m,n)和average(m,n,l)这几个命令。
(使用exec函数族)
三实验代码及结果
(1)
#include<
stdio.h>
intmain()
{
if(fork()==0)
{
printf("
子进程的pid为:
%d.\n"
getpid());
二级子进程的pid为:
}
else
父进程的pid为%d.\n"
return0;
}
运行结果:
(2)
子进程的pid为%d.\n"
}
else
if(fork()==0)
printf("
子进程2的pid%d.\n"
{
父进程的pid为%d.\n\n"
return0;
(3)
调用函数为:
include<
string.h>
#defineN10
inti;
charcmdname[N];
$"
);
scanf("
%s"
cmdname);
if(strcmp(cmdname,"
min"
)==0)
execl("
/home/lenovo/min"
"
NULL);
elseif(strcmp(cmdname,"
max"
/home/lenovo/max"
elseif(strcmp(cmdname,"
ave"
/home/lenovo/average"
´
í
Î
ó
!
\n"
Max函数为:
stdlib.h>
inta,b;
请输入要比较的两个数:
%d%d"
&
a,&
b);
大的数是:
%d\n"
a>
b?
a:
Min函数为:
小的数是:
a<
Average函数为:
floata,b,c;
请输入要求平均值的两个数:
%f%f%f"
b,&
c);
平均值为:
%.3f\n"
(a+b+c)/3);
实验结果为:
(此处文字打错,实际输入三个数)
四实验总结
本次实验熟悉了用cygwin软件模拟linux系统的编译环境,熟悉了编译语句gcc1.c–o1和执行语句./1.exe的使用。
并且编程实现了fork成功创建子进程及父子进程间的关系,比如else则代表父进程,比如二级子进程的建立方法。
存储管理实验
一实验目的
加深对于存储管理的了解,掌握虚拟存储器的实现原理;
观察和了解重要的页面置换算法和置换过程。
练习模拟算法的编程技巧,锻炼分析试验数据的能力。
二实验内容
1.示例实验程序中模拟两种置换算法:
LRU算法和FIFO算法。
2.能对两种算法给定任意序列不同的页面引用串和任意页面实内存数目的组合测试,显示页置换的过程。
3.能统计和报告不同置换算法情况下依次淘汰的页号、缺页次数(页错误数)和缺页率。
time.h>
inta[100],b[100];
//执行页号序列、主存中的队列
intlen;
//序列长度
intn;
//引用页面号的个数0~n-1
intm;
//内存中可容纳页面数目
intno;
//缺页次数
floatqyl;
//缺页率
intfront,rear;
intcheck(intx)//检查队列中是否有该页号
intj;
for(j=front;
j<
=rear;
j++)
if(b[j]==x)return1;
intfind(inti)//寻找队列中最近最少使用的页号,仅lrU算法使用该函数
intj,k,small=100,x,count=0;
intflag[100];
//标记这个数是否在最近使用的m个数中
memset(flag,0,sizeof(flag));
for(k=i-1;
k>
=0;
k--)
if(flag[a[k]]==0)
flag[a[k]]=1;
count++;
if(count==m)
if(b[j]==a[k])returnj;
returnx;
voidFIFO()//先进先出算法
inti,j;
front=rear=0;
no=0;
b[front]=a[0];
%d无淘汰缺页加1\n"
b[front]);
no+=1;
for(i=1;
i<
len;
i++)
if((rear-front+1)<
m)//内存页数未满
if(check(a[i])==0)//检测到队列中没有该页号
b[++rear]=a[i];
%d"
b[j]);
无淘汰缺页加1\n"
elseif(check(a[i])==1)//检测到队列中有该页号
无淘汰不缺页\n"
elseif((rear-front+1)==m)//内存页数已满
front+=1;
淘汰页号%d缺页加1\n"
b[front-1]);
qyl=(float)no/(float)len;
序列长度:
%d缺页次数:
%d缺页率:
%.2f\n"
len,no,qyl);
voidLRU()//最近最少使用算法
inti,j,temp;
printf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大连理工大学 操作系统 实验 报告