The objective is to implement a solution to the spooler problem. It is similar to implementing a solution to the reader-writer problem using UNIX Semaphores for synchronization and mutual exclusion. The reader-writer implementation is to read and write from and to a shared memory by multiple processes.
In this implementation, multiple processes simultaneously and continuously add filenames to be printed. Every process has a name, and the files to be printed by this process are named by concatenating the name of the process and a sequential number from 1 to some maximum value. For example, a process named "alpha" will print files named "alpha1", "alpha2", etc.
The spooler is a process that prints (actually just remove) the files from the spooler directory as soon as possible with a random wait between files. the spooler prints the names of all printed files on the console. Assume that the spooler directory can contain up to *N* elements. Many processes can print at the same time. when a process accesses the shared data, no other process can read or write to it.
The program should include 2 processes: the printing process, and the spooler.
Use *N* to be equal to 24. when running the printing process, the program takes two arguments: the process name and the number of files to print. For example: Printing_process alpha 30, which will print 30 files named "alpha1", "alpha2",..., until "alpha30". The spooler program takes one argument which is the maximum duration (in msec) between printing successive files.?
Note: No need for a GUI, just a normal command line application. the deadline is 26/12/09 to submit this project
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows? (depending on the nature? of the deliverables):
a)? For web sites or? other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software? installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
it should run under both UNIX and windows.