欢迎来到天天文库
浏览记录
ID:21059802
大小:464.54 KB
页数:16页
时间:2018-10-19
《《操作系统(a)》实验三同步机制计算机08128》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、班级计算机08-1大连交通大学姓名(28号)实验报告同组人课程名称:操作系统(A)成缋实骑名称:同步机制指导老师郭金令实验目的:进程是程序在一个数据集合上运行的过程,进程是并发执行的,也即系统中的多个进程轮流地占用处理器运行。我们把若干个进程都能进行访问和修改的那些变量称为公共变量。由于进程是并发地执行的,所以,如果对进程访问公共变量不加限制,那么就会产生“与时间有关”的错误,即进程执行后所得到的结果与访问公共变量的时间有关。实验要求:本实验要求学生模拟PV操作同步机构的实现,模拟进程的并发执行,了解进程并发执行时同步机构的作用。实
2、验仪器:计算机,VisualC3.0实验步骤、内容:1.实验题目:模拟PV操作同步机构,且用PV操作解决生产者一一消费者问题。2.程序中使用的数据结构及符号说明:2、b.h头文件代码如下://数据结构的定义和全局变量typedefstructPcb{charnameflO];//进程名charstate[10];//运行状态charreasonllOJ;//若阻塞,其原因intbreakp;//断点保护structPcb*next;//阻塞时的顺序}Pcb,*link;intsl,s2;//信号量linkpi;//生产者进程link
3、cl;//消费者进程charstr[MAX];/纖入的字符串charbuffer[BUF];//缓冲池intlen;//输入长度intsp=O;//string的指针班级计算机08-1大连交通大学姓名(28号)实验报告同组人课程名称:操作系统(A)成缋实骑名称:同步机制指导老师郭金令实验目的:进程是程序在一个数据集合上运行的过程,进程是并发执行的,也即系统中的多个进程轮流地占用处理器运行。我们把若干个进程都能进行访问和修改的那些变量称为公共变量。由于进程是并发地执行的,所以,如果对进程访问公共变量不加限制,那么就会产生“与时间有关”
4、的错误,即进程执行后所得到的结果与访问公共变量的时间有关。实验要求:本实验要求学生模拟PV操作同步机构的实现,模拟进程的并发执行,了解进程并发执行时同步机构的作用。实验仪器:计算机,VisualC3.0实验步骤、内容:1.实验题目:模拟PV操作同步机构,且用PV操作解决生产者一一消费者问题。2.程序中使用的数据结构及符号说明:2、b.h头文件代码如下://数据结构的定义和全局变量typedefstructPcb{charnameflO];//进程名charstate[10];//运行状态charreasonllOJ;//若阻塞,其原
5、因intbreakp;//断点保护structPcb*next;//阻塞时的顺序}Pcb,*link;intsl,s2;//信号量linkpi;//生产者进程linkcl;//消费者进程charstr[MAX];/纖入的字符串charbuffer[BUF];//缓冲池intlen;//输入长度intsp=O;//string的指针intin=0;//生产者指针intout=0;//消费者指针chartemp;//供打印的临时产品charrec_p[MAX];//生产记录intrpl=O;//生产记录指针charrec_c[MAXl;
6、//消费记录intrp2=0;//消费记录指针linkready;//就绪队列linkb_sl;//si阻塞队列linkb_s2;//s2阻塞队列intpe;//程序计数器intcount;//字符计数器intcon_cnt;//消费计数器3、c.h头文件代码如下:voidinit();//初始化voidp(ints);//P操作voidv(ints);lf操作voidblock(ints);//阻塞函数voidwakeup(ints);//唤醒函数voidcontrol();//处理机调度voidprocessor();//处理
7、机执行voidprint();//打印函数typedefstructPcb{charname[10];//进程名charstateflO];//运行状态charreason[10];//若阻塞,其原因intbreakp;//断点保护structPcb*next;//阻塞时的顺序进程名状态等待原因断点后继进程}Pcb,*link;进程控制块结构定义两个进程:linkpi;//生产者进程,linkcl;//消费者进程。pc程序计数器和linkready;就绪队歹!J,linkb_sl;si阻塞队列,linkb_s2;s2阻塞队列。了纪录
8、进程执行时的情况,以及进程让出处理器后的状态,断点等信息,每个进程都有一个进程控制块PCB。在模拟实验中,假设进程控制块的结构如图4-1。其中进程的状态有:运行态、就绪态、等待态和完成态。当进程处于等待态时,在进程控制块PCB中要说明
此文档下载收益归作者所有