读者写者问题!!
读者-写者问题
(1)课程设计目的
通过本课程设计,要求掌握Linux进程的创建方法,掌握文件的操作方法,掌握信号量的使用方法。
(2)课程设计要求
问题描述:
一个数据文件可以被多个进程共享,其中,有些进程要求读(reader进程),而另一些进程要求对数据进行写或修改(writer进程)。允许多个reader进程同时读一个共享对象,因为读操作不会使数据文件混乱,但绝不允许一个writer进程和其他reader进程或writer进程同时访问共享对象。所谓“读者-写者问题”是指保证一个writer进程必须与其他进程互斥访问共享对象的同步问题。
本课题所设计的系统要求实现以下功能:
l创建一个文件sharefile作为共享数据存放的文件。
l创建2个reader进程及2个writer进程,4个进程共享使用文件sharefile。
l使用信号量机制,编写“读者-写者问题”的实现代码,使得每个writer进程与其他进程互斥访问共享文件sharefile。
l要求给出编译所用到的makefile文件。