《嵌入式操作系统》实验指导书
}
}
2.4 开发环境与工具
系统平台:LINUX环境 实现语言:C语言 开发工具:NANO编辑器
3数据结构与模块说明
3.1 数据结构
通过分析课程设计要求,定义以下的数据: sem_t
mutex,customers,barbers;
//design
three
mutex,customer,barbers
int waiting=0; //the number of waiting customers int chair[5];
3.2程序模块说明 3.2.1主函数模块
主函数流程图如下:
9
semaphores:
《嵌入式操作系统》实验指导书
3.2.2 理发师模块
理发师模块函数流程图如下:
10
《嵌入式操作系统》实验指导书
3.2.3 顾客模块
顾客模块函数流程图如下:
4源程序
4.1用户名、源程序名和目标程序名
用户名:rj070234
源程序名:SleepingBarber.c 目标程序名:SleepingBarber 主机IP地址:192.168.1.254
11
《嵌入式操作系统》实验指导书
4.2源程序代码
#include
#define n 5 //the shop have five chairs
//design three semaphores: mutex,customer,barbers sem_t mutex,customers,barbers;
int waiting=0; //the number of waiting customers int chair[5]; void * barber();
void * customer(void *arg);
int main(int argc,char *argv[]) {
//create 10 semaphores and one Barber semaphore pthread_t Customer_id[10],Barber_id; int i;
sem_init(&mutex,0,1); //init mutex semaphore to 1 sem_init(&customers,0,0);//init semaphore customers to 0 sem_init(&barbers,0,1);
for(i=0;i<5;i++)
pthread_create(&Barber_id,NULL,(void*)barber,NULL);
12
相关推荐: