الله يوفقك يا شروق يا حياتي بس عندي سؤال بعد وادري اني غثيتك..
Preemptive على اي اساس تقطع العمل يعني هل هناك مدة معينه تعطى لكل عمل ؟؟ وعلى اي اساس ترتب الاعمال فيها ؟؟ لان المثال مو مرتب الاعمال على اقصر وقت وما فهمته
|
ام ساره الـpreemptive تيجى فى ال sjf يعنى العمليه الأقصر تنخدم أول فمثلا لو عندى البروسس الاولى حجمها 7 والثانيه 4 والثالثه 1 والرابعه 4 كالتالى:
p1=7<------- وصلت فى الثانيه 0
p2=4<------- وصلت فى الثانيه 2
p3=1<------- وصلت فى الثانيه 4
p4=4<------- وصلت فى الثانيه 5
p1 وصلت أول يصير حتبدأ تتنفذ الين الثانيه 2 ثم حتوصل p2 أقوم أشوف مين فيهم أقصر p2=4 وp1 أصبحت تساوى 5 (لانها اشتغلت من الثانية صفر الى وقت وصول البروسس الثانية فى الثانية 2)فنترك p1 ونشتغل على p2 الين الثانيه الرابعه حتوصل p3 وفى نفس الوقت p2 حتكون انهت عملها فأقوم أشوف مين أقصر p3 ولا p1 ؟
p2=1 و p1=5 <------- اذا p3 أقصر فتبدأ تتنفذ الين الثانية 5 حتوصل عندى p4 وفى نفس الوقت p3 حتكون خلصت شغلها فأشوف مين أقصر دحين p4 ولا p2 ولا p1 ؟
p1=5
p2=2 (لانها سبق واتنفذت ثانيتين)
p4=4
يصير p2 اقصر ................ وهكذا
شوفى المثال هنا أوضح:
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
SJF (preemptive)
p1 من 0الى 2
P2 من 2الى 4
P3 من 4 الى 5
P2 من 5 الى 7
P4 من 7 الى 11
P5 من اا الى 16
Average waiting time = (9 + 1 + 0 +2)/4 - 3
ام ساره قوليلى ايش الاخبار واضح ولا كيف