Skip to Sidebar Skip to Content
اقرأ-تك اقرأ-تك
ضيفنا الكريم

  • تسجيل الدخول
  • الرئيسية
  • المقالات
  • خطط الاشتراك
  • - اصدارتنا
  • ورقة وقلم
  • مدونات فطين
  • شنطة مبرمج
  • النشرة الأسبوعية
  • كنوز
  • - تعرف علينا
  • من نحن
  • الشراكات
  • كتاب المحتوى
  • اكتب معنا
  • تواصل معنا
  • - بنود الخدمة
  • سياسة الخصوصية
  • الشروط والأحكام
الوسوم
  • Backend
  • Distributed Systems
  • System Design
  • Databases
  • LinkedIn
  • X
  • Facebook
  • Telegram
  • GitHub
جميع الحقوق محفوظة لمنصة اقرأ-تِك 2024©
Process Scheduling
  • Operating Systems
  • Computer Science

Process Scheduling

الـ Scheduler في أنظمة التشغيل هو عبارة عن العنصر اللي بيحدد إزاي وإمتى المعالجات (CPUs) تستغل وقتها في تنفيذ البرامج المختلفة. يعني لو عندنا أكتر من برنامج شغال في نفس الوقت، الـ Scheduler هو اللي بيتحكم في توزيع وقت الـ CPU على البرامج دي.

  • Mahmoud Youssef by Mahmoud Youssef
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • ١٥ سبتمبر، ٢٠٢٤
  • •
  • 2 min read
  • Share on X
  • Share on Facebook
  • Share on LinkedIn
  • Share on Pinterest
  • Email

المقدمة

الـ Scheduler في أنظمة التشغيل هو عبارة عن العنصر اللي بيحدد إزاي وإمتى المعالجات (CPUs) تستغل وقتها في تنفيذ البرامج المختلفة. يعني لو عندنا أكتر من برنامج شغال في نفس الوقت، الـ Scheduler هو اللي بيتحكم في توزيع وقت الـ CPU على البرامج دي.

خلينا نتخيل إننا قاعدين بنذاكر وفي نفس الوقت بنحاول نرد على رسايل مابعوتالنا في السوشيال ميديا وعاوزين نشغل حاجة نسمعها. عقلنا هنا بيقوم بدور الـ Scheduler فهو اللي بيحدد إزاي هيقسم وقتنا بين التلات حاجات دول. ممكن نذاكر شوية وبعدين نرد على الرسايل وبعدين نرجع تذاكر تاني ونشغل معاها حاجة. فنفس الموضوع بالظبط بالنسبة للـ CPU والبرامج اللي شغالة.


Process

قبل ما نتكلم باه عن الـ Process Scheduling ونعرف ازاي الـ OS بيـ Schedule الـ Process ويخليها تستغل الـ CPU وازاي يبقى مخصص لكل Process ؟ محتاجين نعرف ايه هي الـ Process , وكنا اتكلمنا عنها في ورقة قبل كده نقدر نشوفها من هنا:

Program vs Process vs Thread
في البرمجة ونظم التشغيل، بتستخدم مصطلحات زي الـ Program والـ Process والـ Thread بشكل متكرر. فخلونا نفهم الفرق بين المصطلحات دي بطريقة مبسطة وسهلة
اقرأ-تكMahmoud Youssef

Program vs Process vs Thread

وكنا اتكلمنا قبل كده برضو عن الـ Process Management:

Process Management
في عالم أنظمة التشغيل، إدارة العمليات هي واحدة من الأساسيات اللي بتضمن تشغيل البرامج بشكل سليم واستخدام موارد النظام بكفاءة. العملية هي ببساطة برنامج بيشتغل، وإدارة العمليات دي مهمة جدًا عشان تضمن استقرار وأداء النظام.
اقرأ-تكMahmoud Youssef

Process Management


Process Scheduling

فيه عندنا 3 أنواع من الـ Process Schedulers اللي أنظمة التشغيل بتستخدمهم:

  1. الـ Long-Term Scheduler (Job Scheduler): وده المسؤول عن إنه يقرر انهي برنامج يدخل الـ Ready Queue، اللي هو Queue البرامج بتستنى فيه لحد ما الـ CPU يبقى فاضي ويبدأ يشتغل عليها. ده زي ما بنكون كده بنقرر إيه المواد اللي هنذاكرها في يومنا قبل ما نبدأ فعليا في مذاكرتها.
  2. الـ Short-Term Scheduler (CPU Scheduler): ده بيكون المسؤول عن إنه يقرر انهي البرامج الموجودة في الـ Ready Queue هياخد الـ CPU ويبدأ يشتغل عليه فعليًا. او بمعنى اصح يعني مين اللي عليه الدور دلوقتي ياخد وقت من دماغك.
  3. الـ Medium-Term Scheduler: وده بيشتغل في بعض الأنظمة اللي بتستخدم تقنية الـ Swapping. فبيقرر إمتى يوقف برنامج من الشغل ويطلعه برا الذاكرة (RAM) عشان يدي امكانية لباقي البرامج انها تشتغل على الـ CPU. وبعدين لما يبقى فيه مكان فاضي يرجعه تاني.
Process Scheduling

مصطلحات خاصة بالـ CPU Scheduling

  • الـ Arrival Time: هو الوقت اللي الـ Process بتدخل فيه الـ Ready Queue وتكون مستنية يكون ليها وقت الـ CPU وتشتغل عليه.
  • الـ Completion Time: ده الوقت اللي فيه الـ Process بتخلص الـ Execution بتاعها أو بتكون خلاص اتنفذت.
  • الـ Burst Time: وده الوقت اللي بتحتاجه الـ Process عشان تتنفذ على الـ CPU.
  • الـ Turn-Around Time: وده فرق الوقت بين الـ Completion Time والـ Arrival Time
  • الـ Waiting Time: وده فرق الوقت بين الـ Turn-Around Time والـ Burst Time

Scheduling Algorithms

فيه أكتر من خوارزمية ممكن الـ Scheduler يستخدمها، وكل واحدة ليها طريقة مختلفة في توزيع وقت الـ CPU على البرامج:

هذا المقال مخصص للأعضاء المنتسبين لخطط الاشتراك المدفوعة فقط

اشترك الآن وتصفح كافة المقالات المميزة واستمتع بمحتوى حصري وابق على اطلاع دائم بالتحديثات المستمرة.

اشترك الآن 🚀

هل لديك حساب؟ تسجيل الدخول

في هذا المقال
اشترك الآن واكمل قراءة المقال
قناة اقرأ-تِك على التليجرام قناة اقرأ-تِك على التليجرام

مقالات ذات صلة

  • Interprocess Communication - Shared Memory 1 min read

    Interprocess Communication - Shared Memory

    Mahmoud Youssef Mahmoud Youssef • ٢٢ يناير، ٢٠٢٥
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Concurrency Building Blocks (Threads) 1 min read

    Concurrency Building Blocks (Threads)

    Mahmoud Youssef Mahmoud Youssef • ٩ يناير، ٢٠٢٥
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Concurrency Building Blocks (Process) 2 min read

    Concurrency Building Blocks (Process)

    Mahmoud Youssef Mahmoud Youssef • ٥ يناير، ٢٠٢٥
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Deadlock vs. Starvation 1 min read

    Deadlock vs. Starvation

    Mahmoud Youssef Mahmoud Youssef • ٧ يوليو، ٢٠٢٤
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Process Management 1 min read

    Process Management

    Mahmoud Youssef Mahmoud Youssef • ٢٥ يونيو، ٢٠٢٤
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Program vs Process vs Thread 1 min read

    Program vs Process vs Thread

    Mahmoud Youssef Mahmoud Youssef • ١٢ يونيو، ٢٠٢٤
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • Concurrency vs Parallelism 1 min read

    Concurrency vs Parallelism

    Mahmoud Youssef Mahmoud Youssef • ٥ يونيو، ٢٠٢٤
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website
  • How to Choose The Idea Threadpool Size 2 min read

    How to Choose The Idea Threadpool Size

    Mahmoud Youssef Mahmoud Youssef • ٨ مايو، ٢٠٢٤
    Mahmoud Youssef Mahmoud Youssef
    CEO & Founder
    • X
    • Facebook
    • Website

اشترك الآن بنشرة اقرأ‑تِك الأسبوعية

لا تدع أي شيء يفوتك. واحصل على أحدث المقالات المميزة مباشرة إلى بريدك الإلكتروني وبشكل مجاني!

اقرأ-تك اقرأ-تك
  • الرئيسية
  • المقالات
  • خطط الاشتراك
  • - اصدارتنا
  • ورقة وقلم
  • مدونات فطين
  • شنطة مبرمج
  • النشرة الأسبوعية
  • كنوز
  • - تعرف علينا
  • من نحن
  • الشراكات
  • كتاب المحتوى
  • اكتب معنا
  • تواصل معنا
  • - بنود الخدمة
  • سياسة الخصوصية
  • الشروط والأحكام
الوسوم
  • Backend
  • Distributed Systems
  • System Design
  • Databases
  • LinkedIn
  • X
  • Facebook
  • Telegram
  • GitHub
جميع الحقوق محفوظة لمنصة اقرأ-تِك 2024©