المساعد الشخصي الرقمي

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



C++ Programming
08-13-2009, 06:20 PM
Please help to solve these scenario of process waiting for execution in C++
Scenario is as follows
There is one parent process say P1 and 4 child processes 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

B, C and D cannot start unless and until A is get completed and user dose not know how much time A will take so B,C and D must wait for completion of A and after A completes then and then only B,C and D execute in a same order

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

modified on Thursday, August 13, 2009 9:46 AM