تسجيل الدخول

مشاهدة النسخة كاملة : Sequencing or queuing parallel process



C++ Programming
08-13-2009, 05:50 PM
Please help to solve these scenario of process waiting for execution in C++
Scenario is as follows
There are 4 process say A B C D
Process A starts at 3:00 pm
Process B starts at 3:15 pm
Process C starts at 3:30 pm
Process D starts at 3:45 pm

Process A take 1 hour for completion and process B,C,D takes
10 mins for completion
At a time only one process is allowed to execute since
these process shared some common resources so at any point of time
only one process is allowed to execute. but these are scheduled job so
process B, C, and D must wait till process A get completes

so process B must wait till 4:00 PM for execution
and starts at 4:00 PM
process C must start at 4:10 PM after completion of process A and B
process D must start at 4:20 PM after completion of process A and B and C
so these sequencing also should maintained

so how to implement wait mechanism for this scenario ?

Currently i have implemented a lock mechanism where first process A will create a lock file and process B,C and D will continuously poll this lock file and as soon as process A finishes it will release a lock on and whichever process acquires a lock first will get executed first but here sequencing is not maintained and process executes randomly

so what kernel objects like event, semaphore are needed to solve this scenario.
Where to store data (simple command line) when this process are waiting ?
How to maintain a sequence for excutation ?

please help to solve this scenario of process waiting for execution

-Thanks