资源简介

包括课程设计报告和源代码 模拟实现用同步机构避免发生进程执行时可能出现的与时间有关的错误。 我们把若干个进程都能进行访问和修改的那些变量称为公共变量。由于进程是并发地执行的,所以,如果对进程访问公共变量不加限制,那么就会产生“与时间有关”的错误。为了防止这类错误,系统必须要用同步机构来控制进程对公共变量的访问。本实习要求我们模拟PV操作同步机构的实现,模拟进程的并发执行,了解进程并发执行时同步机构的作用。

资源截图

代码片段和文件信息

#include
#include
#include

#define  num_item  10   // 定义由屏幕输入的字符串的大小
#define  num_buff  10    //定义缓冲区大小
struct PCB               //进程控制块
{
char name[10];
char state;          //W:等待态  R:运行态  O:就绪态  C:完成态
char wait_Reason;    //E:wait empty;F:wait full;
int  breakPoint;
};

typedef struct process   //进程
{
char item;           //生产或消耗的产品
PCB  pcb;            //进程控制快
struct process *next;
}*Queue;

//变量声明及初始化

Queue waitreadyend;   //wait:等待(阻塞)队列   ready:就绪队列   end:运行结束队列  
int empty=num_bufffull=0;   //空缓冲和满缓冲数目
int in=0out=0;   //记录放入和获取缓冲区数据的位置
int rand_num=5;   //随机数,标示进程的在队列中的位置,用于随机获取进程
int count_p=0count_c=0end_p=0end_c=0count=0;  //count_p  记录生产者的个数 
  //count_c  记录生产者的个数

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      13257  2010-06-25 01:51  同步机制\pv.cpp

    ..A.SH.       162  2010-06-24 22:59  同步机制\~$六 同步机构.doc

    ..A.SH.    705024  2010-06-24 22:26  同步机制\~WRL0003.tmp

     文件     731136  2011-04-14 20:57  同步机制\同步机制.doc

     目录          0  2011-04-14 20:57  同步机制

----------- ---------  ---------- -----  ----

              1449579                    5


评论

共有 条评论