خوارزمية جدولة FCFS: ما هي، برنامج مثال
⚡ ملخص ذكي
يقوم جدولة First Come First Serve بتشغيل العمليات بالترتيب الدقيق الذي تصل به إلى قائمة الانتظار الجاهزة، باستخدام نهج FIFO بسيط غير استباقي مما يجعله أسهل خوارزمية جدولة وحدة المعالجة المركزية لنظام التشغيل لتنفيذها.

ما هي طريقة من يأتي أولاً يخدم أولاً؟
First Come First Serve (FCFS) أولاً يأتي أولاً خوارزمية جدولة نظام التشغيل FCFS هي خوارزمية تُنفذ الطلبات والعمليات المُدرجة في قائمة الانتظار تلقائيًا حسب ترتيب وصولها. تُعدّ FCFS أسهل وأبسط خوارزميات جدولة وحدة المعالجة المركزية. في هذا النوع من الخوارزميات، تحصل العملية التي تطلب وحدة المعالجة المركزية أولًا على تخصيصها أولًا. ويتم ذلك باستخدام قائمة انتظار FIFO. FCFS اختصار لـ First Come First Serve (أول من يصل أولًا).
عندما تدخل عملية ما إلى قائمة الانتظار، يتم ربط وحدة التحكم الخاصة بها (PCB) بنهاية القائمة. لذا، عندما يصبح المعالج المركزي (CPU) متاحًا، يتم تخصيصه للعملية الموجودة في بداية القائمة.
خصائص طريقة FCFS
فيما يلي الخصائص الرئيسية لطريقة "الأولوية لمن يأتي أولاً":
- هو غير استباقي خوارزمية الجدولة، بحيث تحتفظ العملية بوحدة المعالجة المركزية حتى تكمل وقتها المحدد.
- يتم تنفيذ المهام دائمًا على أساس أسبقية الحضور.
- إنه سهل التنفيذ والاستخدام.
- هذا الأسلوب رديء الأداء، ووقت الانتظار العام مرتفع جدًا.
مثال على جدولة FCFS
من الأمثلة الواقعية على طريقة "الأولوية لمن يصل أولاً" شراء تذكرة فيلم من شباك التذاكر. في هذه الخوارزمية، يُخدَم كل شخص حسب ترتيبه في الطابور. الشخص الذي يصل أولاً يشتري التذكرة أولاً، ثم الشخص الذي يليه، وهكذا حتى يشتري آخر شخص في الطابور التذكرة. وباستخدام هذه الخوارزمية، تعمل وحدة المعالجة المركزية بطريقة مشابهة.
كيف يعمل فكفس؟ حساب متوسط وقت الانتظار
لفهم كيفية جدولة الخوارزمية للعمليات، إليك مثال على خمس عمليات تصل في أوقات مختلفة. لكل عملية وقت تنفيذ مختلف.
| طريقة عملنا | وقت الانفجار | وقت الوصول |
| P1 | 6 | 2 |
| P2 | 2 | 5 |
| P3 | 8 | 1 |
| P4 | 3 | 0 |
| P5 | 4 | 4 |
باستخدام خوارزمية جدولة FCFS، يتم التعامل مع هذه العمليات على النحو التالي.
الخطوة 1) تبدأ العملية بـ P4، والتي يكون وقت وصولها 0.
الخطوة 2) في الوقت = 1، يصل P3. لا يزال P4 قيد التنفيذ. ومن ثم، يتم الاحتفاظ بـ P3 في قائمة الانتظار.
الخطوة 3) عند الزمن = 2، يصل P1 ويتم الاحتفاظ به في قائمة الانتظار.
الخطوة 4) عند الزمن = 3، تُكمل عملية P4 تنفيذها.
الخطوة 5) في الوقت = 4، يبدأ التنفيذ P3، وهو الأول في قائمة الانتظار.
الخطوة 6) عند الزمن = 5، يصل P2 ويتم وضعه في قائمة الانتظار.
الخطوة 7) عند الزمن = 11، يكمل البرنامج P3 تنفيذه.
الخطوة 8) عند الزمن 11، يبدأ البرنامج P1 التنفيذ. مدة تنفيذه 6، لذا يكتمل تنفيذه في الفترة الزمنية 17.
الخطوة 9) عند الزمن 17، يبدأ البرنامج P5 التنفيذ. مدة تنفيذه 4، لذا يكتمل تنفيذه عند الزمن 21.
الخطوة 10) عند الزمن 21، يبدأ البرنامج P2 التنفيذ. مدة تنفيذه 2، لذا يكتمل تنفيذه في الفترة الزمنية 23.
الخطوة 11) والآن، دعونا نحسب متوسط وقت الانتظار للمثال أعلاه.
Waiting time = Start time - Arrival time
P4 = 0 – 0 = 0
P3 = 3 – 1 = 2
P1 = 11 – 2 = 9
P5 = 17 – 4 = 13
P2 = 21 – 5 = 16
متوسط وقت الانتظار = (0 + 2 + 9 + 13 + 16) / 5 = 40 / 5 = 8
مزايا FCFS
فيما يلي مزايا وفوائد استخدام خوارزمية جدولة FCFS:
- إنها أبسط أشكال خوارزمية جدولة وحدة المعالجة المركزية.
- من السهل برمجته.
- يتم اتباع نظام بسيط يعتمد على أسبقية الحضور.
عيوب FCFS
فيما يلي سلبيات وعيوب استخدام خوارزمية جدولة FCFS:
- إنها خوارزمية جدولة وحدة المعالجة المركزية غير استباقية، لذلك بمجرد تخصيص عملية لوحدة المعالجة المركزية، فلن يتم تحرير وحدة المعالجة المركزية حتى تنتهي من التنفيذ.
- متوسط وقت الانتظار مرتفع.
- يتعين على العمليات القصيرة في مؤخرة قائمة الانتظار انتظار انتهاء العملية الطويلة في المقدمة.
- إنها ليست تقنية مثالية لأنظمة المشاركة الزمنية.
- بسبب بساطته، FCFS ليست فعالة للغاية.












