Basic System: A UNIX computer system handles printing in the following manner: -3 USER processes submit print jobs of various sizes at random intervals to a VALIDATION QUEUE. -jobs are taken from the validation queue by a single VALIDATOR process which will check for a user entry on a USER STATUS file. -the validator will take ONE of the following actions, according to the presence or absence of a user entry and the user status: a. for valid jobs, the validator submits the print job to the PRINT LIST. b. for invalid jobs, the validator sends a message to the LOGFILE explaining why the print job has been rejected. -print jobs are taken from the print queue by 2 PRINTER processes. -after printing, printers send a message to the LOGFILE reporting that the print job has been executed. -a single REPORT process reads the log file and copies new entries to the screen.
## Deliverables
1. create a simulation of the scenario in PERL: -you must simulate all the aspects of the scenario. -the simulation must contain a suitable number of instances of each of the scenario processes to represent the full complexity of the system simulated. -you must use "flock" to simulate critical regions etc. -you must submit a working system. -for development and assessment purposes, verbose reporting of process activity is advisable. 2. -diagrams which show process interaction. -descriptions of the interaction of the processes, queues and list. -explanations of the operating system utilities used (included PERL commands e.g by using commented code snippets). -code listing with appropriate comments. -commented test runs and test data.
## Platform
WINDOWS XP Professional Active Perl 5.6.1