《操作系统(A)》实验三 同步机制 计算机 08128..doc

《操作系统(A)》实验三 同步机制 计算机 08128..doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
班 级 计算机 08-1 大连交通大学 姓 名 (28号) 实 验 报 告 同 组 人 课程名称: 操作系统(A) 成 绩 实验名称: 同步机制 指导老师 郭金令 实验目的: 进程是程序在一个数据集合上运行的过程,进程是并发执行的,也即系统中的多个进程轮流地占用处理器运行。我们把若干个进程都能进行访问和修改的那些变量称为公共变量。由于进程是并发地执行的,所以,如果对进程访问公共变量不加限制,那么就会产生“与时间有关”的错误,即进程执行后所得到的结果与访问公共变量的时间有关。 实验要求: 本实验要求学生模拟PV操作同步机构的实现,模拟进程的并发执行,了解进程并发执行时同步机构的作用。 实验仪器: 计算机,Visual C 3.0 实验步骤、内容: 1.实验题目:模拟PV操作同步机构,且用PV操作解决生产者——消费者问题。 2.程序中使用的数据结构及符号说明: 2、b.h头文件代码如下: //数据结构的定义和全局变量 typedef struct Pcb{ char name[10]; //进程名 char state[10]; //运行状态 char reason[10]; //若阻塞,其原因 int breakp; //断点保护 struct Pcb *next; //阻塞时的顺序 }Pcb,*link; int s1,s2; //信号量 link p1;//生产者进程 link c1;//消费者进程 char str[MAX]; //输入的字符串 char buffer[BUF]; //缓冲池 int len; //输入长度 int sp=0; //string的指针 int in=0; //生产者指针 int out=0; //消费者指针 char temp; //供打印的临时产品 char rec_p[MAX];//生产记录 int rp1=0;//生产记录指针 char rec_c[MAX];//消费记录 int rp2=0;//消费记录指针 link ready; //就绪队列 link b_s1; //s1阻塞队列 link b_s2; //s2阻塞队列 int pc; //程序计数器 int count; //字符计数器 int con_cnt; //消费计数器 3、c.h头文件代码如下: void init(); //初始化 void p(int s); //P操作 void v(int s); //V操作 void block(int s);//阻塞函数 void wakeup(int s);//唤醒函数 void control(); //处理机调度 void processor();//处理机执行 void print(); //打印函数 typedef struct Pcb{ char name[10]; //进程名 char state[10]; //运行状态 char reason[10]; //若阻塞,其原因 int breakp; //断点保护 struct Pcb *next; //阻塞时的顺序 进程名 状态 等待原因 断点 后继进程 }Pcb,*link; 进程控制块结构 定义两个进程: link p1;//生产者进程,link c1;//消费者进程。pc程序计数器和 link ready; 就绪队列,link b_s1; s1阻塞队列,link b_s2; s2阻塞队列。了纪录进程执行时的情况,以及进程让出处理器后的状态,断点等信息,每个进程都有一个进程控制块PCB。在模拟实验中,假设进程控制块的结构如图4-1。其中进程的状态有:运行态、就绪态、等待态和完成态。当进程处于等待态时,在进程控制块PCB中要说明进程等待原因(在模

文档评论(0)

sa1fs5g1xc1I + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档