خوارزمية جدولة FCFS: ما هي، برنامج مثال

⚡ ملخص ذكي

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

  • 🔄 فريف: يقوم نظام FCFS بتخصيص وحدة المعالجة المركزية لأي عملية تطلبها أولاً، ويدير قائمة الانتظار الجاهزة كهيكل FIFO (الأول في الأول خارج).
  • ⚙️ طبيعة: إن خوارزمية FCFS غير استباقية، لذا فإن العملية الجارية تحتفظ بوحدة المعالجة المركزية حتى تنتهي من وقتها الكامل.
  • تشبيه: مثل طابور شباك التذاكر، تتم خدمة العملية التي تصل أولاً، وينتظر الوافدون اللاحقون دورهم.
  • 📊 الحساب: يتم حساب متوسط ​​وقت الانتظار بواسطة فرعيtracيتم حساب وقت وصول كل عملية من وقت بدايتها، ثم يتم حساب المتوسط ​​عبر جميع العمليات.
  • 🐢 تأثير القافلة: إن وجود عملية طويلة في المقدمة يجبر الوظائف الأقصر على الانتظار، مما يزيد من متوسط ​​وقت الانتظار ويضر بالأداء.
  • 🤖 زاوية الذكاء الاصطناعي: تتنبأ تقنيات التعلم الآلي بأوقات الذروة لتحسين الجدولة، ويساعد Copilot في كتابة واختبار كود FCFS بسرعة.

خوارزمية جدولة FCFS في Operaنظام تينج

ما هي طريقة من يأتي أولاً يخدم أولاً؟

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.

مثال على جدولة FCFS - الخطوة 1

الخطوة 2) في الوقت = 1، يصل P3. لا يزال P4 قيد التنفيذ. ومن ثم، يتم الاحتفاظ بـ P3 في قائمة الانتظار.

مثال على جدولة FCFS - الخطوة 2

الخطوة 3) عند الزمن = 2، يصل P1 ويتم الاحتفاظ به في قائمة الانتظار.

مثال على جدولة FCFS - الخطوة 3

الخطوة 4) عند الزمن = 3، تُكمل عملية P4 تنفيذها.

مثال على جدولة FCFS - الخطوة 4

الخطوة 5) في الوقت = 4، يبدأ التنفيذ P3، وهو الأول في قائمة الانتظار.

مثال على جدولة FCFS - الخطوة 5

الخطوة 6) عند الزمن = 5، يصل P2 ويتم وضعه في قائمة الانتظار.

مثال على جدولة FCFS - الخطوة 6

الخطوة 7) عند الزمن = 11، يكمل البرنامج P3 تنفيذه.

مثال على جدولة FCFS - الخطوة 7

الخطوة 8) عند الزمن 11، يبدأ البرنامج P1 التنفيذ. مدة تنفيذه 6، لذا يكتمل تنفيذه في الفترة الزمنية 17.

مثال على جدولة FCFS - الخطوة 8

الخطوة 9) عند الزمن 17، يبدأ البرنامج P5 التنفيذ. مدة تنفيذه 4، لذا يكتمل تنفيذه عند الزمن 21.

مثال على جدولة FCFS - الخطوة 9

الخطوة 10) عند الزمن 21، يبدأ البرنامج P2 التنفيذ. مدة تنفيذه 2، لذا يكتمل تنفيذه في الفترة الزمنية 23.

مثال على جدولة FCFS - الخطوة 10

الخطوة 11) والآن، دعونا نحسب متوسط ​​وقت الانتظار للمثال أعلاه.

متوسط ​​وقت الانتظار وفقًا لجدولة FCFS

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:

  • إنها خوارزمية جدولة وحدة المعالجة المركزية غير استباقية، لذلك بمجرد تخصيص عملية لوحدة المعالجة المركزية، فلن يتم تحرير وحدة المعالجة المركزية حتى تنتهي من التنفيذ.
  • متوسط ​​وقت الانتظار مرتفع.
  • يتعين على العمليات القصيرة في مؤخرة قائمة الانتظار انتظار انتهاء العملية الطويلة في المقدمة.
  • إنها ليست تقنية مثالية لأنظمة المشاركة الزمنية.
  • بسبب بساطته، FCFS ليست فعالة للغاية.

الأسئلة الشائعة

خوارزمية "الأولوية للأسبق" هي خوارزمية غير استباقية. بمجرد حصول عملية ما على وحدة المعالجة المركزية، تستمر في العمل حتى تنتهي مدة تنفيذها، وبالتالي لا يمكن للمجدول مقاطعتها لتشغيل عملية جديدة أو عملية أقصر.

يحدث تأثير القافلة عندما تنتظر عدة عمليات قصيرة خلف عملية طويلة واحدة في مقدمة قائمة الانتظار. هذه العملية الطويلة الواحدة تزيد من متوسط ​​وقت الانتظار وتقلل من إنتاجية وحدة المعالجة المركزية الإجمالية.

زمن الاستجابة يساوي زمن الإنجاز مطروحًا منه زمن الوصول لكل عملية. وهو يقيس إجمالي الوقت الذي تقضيه العملية في النظام، من لحظة وصولها حتى انتهاء تنفيذها على وحدة المعالجة المركزية.

يتم تقديم الخدمة حسب ترتيب الوصول (FCFS). أقصر وظيفة أولا يتم تقديم الطلبات ذات الكميات الأقل أولاً لتقليل وقت الانتظار، جولة روبن يمنح كل عملية شريحة زمنية ثابتة لتقاسم الوقت.

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

يعمل نظام FCFS في زمن O(n) عندما تكون العمليات مرتبة بالفعل حسب وقت الوصول، حيث يتم جدولة كل عملية مرة واحدة. أما فرز عمليات الوصول غير المرتبة حسب وقت الوصول أولاً فيضيف خطوة O(n log n).

تتنبأ نماذج التعلم الآلي بأوقات ذروة العمليات وتختار أو تضبط سياسات الجدولة لتقليل متوسط ​​وقت الانتظار واستهلاك الطاقة. ويطبق الباحثون هذه الجداول الزمنية المدعومة بالذكاء الاصطناعي في خوادم الحوسبة السحابية ومراكز البيانات.

نعم. يستطيع برنامج GitHub Copilot إنشاء كود FCFS بلغة C. Java أو Python مع حسابات وقت الانتظار ووقت الاستجابة. تحقق دائمًا من فرز وقت الوصول، وحلّ التعادلات، وصيغ المتوسط ​​قبل الوثوق بالنتيجة.

تلخيص هذه التدوينة بـ: