جستجو برای:
  • تقویم آموزشی
  • آموزش
    • آموزش آنلاین
    • آموزش آفلاین
  • لابراتوار آنلاین
  • وبینارها
    • پایتون برای هر چیزی
    • وبینار پیش نیاز دوره های امنیت
    • وبینار معرفی دوره Cisco Collaboration
    • وبینار معرفی دوره مهندسی پایتون
    • تکنیک چابکی برای توانمندسازی it
    • راه اندازی IP Telephony سیسکو
    • وبینار Infrastructure as Code
    • وبینار امنیت سیستم های کنترل صنعتی
    • وبینار معرفی مرکز عملیات امنیت
    • وبینار ربات نویسی تلگرام با پایتون
    • وبینار نفوذ و گرفتن دسترسی از تلگرام
    • وبینار اصول نظارت بر شبکه های مخابراتی با رویکرد رگولاتوری
    • وبینار CSCU
    • وبینار Container on Wheels
    • وبینار مسیر آموزشی SANS
    • وبینار پدافند غیرعامل
    • وبینار Wazuh
  • بین الملل
    • ورود و ثبت نام کاربران
    • آموزشگاه های بین المللی
    • آزمون های بین المللی
  • دوره ها
    • امنیت
      • EC-Council
      • F5
      • Fortinet
      • ISACA
      • ISC2
      • Juniper
      • Payment Security
      • SANS
      • SCADA
      • Secure coding
      • SOC
      • Splunk
    • بانک اطلاعاتی
      • Oracle
      • SQL Server
    • برنامه نویسی
      • IOS
      • programming & Web
    • ذخیره و بازیابی اطلاعات
      • Big Data
      • EMC
      • HP
      • Netbackup
      • veeam
    • شبکه
      • Cisco Old Level
      • Cisco New Level
      • CompTIA
      • EPI
      • آموزش Linux
      • Microsoft
      • Mikrotik
      • SolarWinds
    • کارکنان دولت
    • مجازی سازی
      • Cloud computing
      • Hyper-V
      • VMWare
      • AWS
      • Azure
    • Devops
    • مخابرات
    • مدیریت فناوری اطلاعات
      • ISO 27001
      • IT Management
      • Project Management
    • ارزهای دیجیتال
    • ویژه دوران
      • کارگاه ها و سمینارها
      • محصولات دوران
  • کتابخانه
  • پادکست
  • ویدئوها
 
  • 02143585
  • دعوت به همکاری
  • درباره ما
  • تماس با ما
دوران آکادمی
دسته بندی‌ دوره‌ها
  • شبکه
    • Microsoft
    • SolarWinds
    • CompTIA
    • Cisco Old Level
      • Cisco New Level
    • Mikrotik
    • آموزش Linux
    • EPI
  • مخابرات
    • مخابرات
  • امنیت
    • ISC2
    • F5
    • EC-Council
    • Juniper
    • SOC
    • Fortinet
    • SANS
    • SCADA
    • ISACA
    • Secure coding
    • Payment Security
    • Splunk
  • مجازی سازی
    • Hyper-V
    • Cloud computing
    • VMWare
    • AWS
    • Azure
  • Devops
    • Devops
  • مدیریت فناوری اطلاعات
    • ISO 27001
    • IT Management
    • Project Management
  • برنامه نویسی
    • IOS
    • programming & Web
  • ذخیره و بازیابی اطلاعات
    • Big Data
    • HP
    • EMC
    • Netbackup
    • veeam
  • بانک اطلاعاتی
    • Oracle
    • SQL Server
  • دیجیتال مارکتینگ
    • دیجیتال مارکتینگ
  • ارزهای دیجیتال
    • ارزهای دیجیتال
  • ویژه دوران
    • کارگاه ها و سمینارها
    • محصولات دوران
    • کارکنان دولت
0

ورود و ثبت نام

  • تقویم آموزشی
  • آموزش آنلاین
  • لابراتوار آنلاین
  • وبینارها
    • پایتون برای هر چیزی
    • وبینار پیش نیاز دوره های امنیت
    • وبینار معرفی دوره Cisco Collaboration
    • وبینار معرفی دوره مهندسی پایتون
    • تکنیک چابکی برای توانمندسازی it
    • راه اندازی IP Telephony سیسکو
    • وبینار Infrastructure as Code
    • وبینار امنیت سیستم های کنترل صنعتی
    • وبینار معرفی مرکز عملیات امنیت
    • وبینار ربات نویسی تلگرام با پایتون
    • وبینار نفوذ و گرفتن دسترسی از تلگرام
    • اصول نظارت بر شبکه های مخابراتی
    • وبینار CSCU
    • وبینار Container on Wheels
    • وبینار مسیر آموزشی SANS
    • وبینار پدافند غیرعامل
    • وبینار Wazuh
  • بین الملل
    • آموزشگاه های بین المللی
    • آزمون های بین المللی
  • فرم پیش ثبت نام
  • فرم درخواست مدرک
  • ویدئوها
  • آموزش و استخدام همزمان

بلاگ

دوران آکادمی بلاگ مقالات اخبار زمان بندی پردازش ها (Process Scheduling)

زمان بندی پردازش ها (Process Scheduling)

1402/02/16
ارسال شده توسط soheili
اخبار ، مقالات
88 بازدید
زمان بندی پردازش ها (Process Scheduling)

بخشی از سیستم ‌عامل که مشخص می ‌کند که کدام پردازش در چه زمانی و به چه اندازه‌ ای اجرا شود، زمان بندی پردازش ‌‌‌ها نامیده می ‌شود. به بیان ساده ‌تر، در الگوریتم زمان بندی برای هر پردازنده یک اولویت مشخص می‌ شود که براساس آن اولویت مشخص شده هرکدام از پردازنده‌ ها که دارای اولویت بیشتری باشد، سریع ‌‌تر به پردازنده دست پیدا می ‌کند. در ادامه قصد داریم شما را با انواع الگوریتم‌ های زمان بندی و ویژگی ‌های مختلف آن آشنا کنیم. همراه ما باشید‌.

بیشتر درباره زمان بندی پردازش‌ ها بدانید

در تمامی سیستم‌ های کامپیوتری بیش از هزاران پردازش در کسری از ثانیه انجام می‌ شود. در صورتی که پردازنده تصمیم بگیرید که تمامی امور را بر اساس ترتیب اولویت بندی شده‌ اش انجام دهد، قطعا این توانایی وجود نخواهد داشت که بتوان به‌ صورت همزمان با برنامه ‌های گوناگون کار کرد. اگر بخواهیم به صورت دقیق‌ تر زمان بندی پردازنده‌ ها را توضیح دهیم باید بیان کنیم، این الگوریتم زمان بندی در سیستم ‌ها وظیفه مدیریت صحیح فرایند‌ها در زمان پردازش را به عهده دارد.

هدف کلی زمان بندی پردازش ‌ها، تخصیص فرایندهای مختلف در طول زمان پردازنده است. به شکلی که بتواند کارها و اهدافی مانند، توان عملیاتی و کارایی پردازنده، زمان پاسخ پردازنده را انجام دهد. در واقع زمان بندی یکی از مهم‌ ترین اهداف سیستم‌ عامل ‌های چند برنامه ‌ای است. الگوریتم های زمان بندی در سیستم‌ ها دارای اهدافی هستند که در ادامه به برخی از آن‌ ها اشاره خواهیم کرد:

  • از جمله کارهای مهم می‌ توان به حداکثر مشغول نگه داشتن cpu اشاره کرد.
  • این الگوریتم ها cpu را به صورت عادلانه در فرایندهای گوناگون تقسیم می ‌کنند.
  • در واحد زمان تعداد زیادی از فرایندها را به نحو درستی کامل می ‌کنند.
  • در کمترین زمان ممکن فرایندهای مختلف را کامل می ‌کنند.
  • برای دسترسی به یک فرایند، کمترین زمان ممکن در انتظار باقی خواهد ماند.
  • مدت زمان پاسخگویی یک فرایند برای اولین بار در کمترین زمان ممکن است.

همانطور که مشاهده کردید الگوریتم‌ های زمان بندی دارای ویژگی‌ های بسیار فراوانی هستند که به سیستم عامل کمک زیادی می ‌کنند. اما بد نیست که بدانید این الگوریتم ‌ها در سیستم عامل به چند نوع دسته‌ بندی می ‌شوند. انواع الگوریتم‌ به دو گروه اصلی تقسیم می ‌شوند که عبارتند از:

  1. انحصاری
  2. غیر انحصاری

الگوریتم‌ انحصاری به این شکل عمل می ‌کنند که وقتی یک فرایند را تحویل می ‌گیرد و شروع به کار می ‌کند، تا زمانی که این فرایند به اتمام نرسد و یا اینکه فرایند مسدود نشود، پردازش را به فرایند دیگری نمی ‌سپارد. به بیان ساده‌ تر در این الگوریتم هر فرایندی به مدت یک بار و فقط در یک جا انجام می ‌شود و نمی ‌تواند به قسمت‌ های کوچک تقسیم شود. الگوریتم ‌های انحصاری شامل انواع مختلفی چون: fcfs, sjf, hrrn  می شود.

بیشتر درباره زمان بندی پردازش‌ ها بدانید

الگوریتم غیر انحصاری به این شکل عمل می ‌کند که زمانی که یک فرایند در حال اجرا است، امکان توقف و حالت آماده باش نگه داشتن آن توسط سیستم عامل وجود دارد. در واقع به بیان ساده‌ تر، در این الگوریتم امکان تقسیم فرایندها به چند مرحله و تخصیص پردازنده در چند مرحله صورت می ‌گیرد. این الگوریتم شامل انواع مختلفی چون:  srtf, rr, mlfq  می شود.

 

ابزارهای زمان بندی پردازش‌ها

برای مدیریت پردازش سیستم ‌ها، ابزارهای زمان بندی خاصی وجود دارد که به روش‌ های گوناگونی پردازش ‌ها را مدیریت می‌ کنند. وظیفه اصلی این ابزارها، انتخاب وظایف تحویلی به سیستم عامل و تصمیم برای اینکه کدام پردازش انجام شود، می باشد. این ابزارها به شکل ‌های مختلفی هستند که می ‌‌توان آن‌ ها را در دسته‌ بندی ‌های زیر مشخص کرد:

  1. زمان‌ بندی بلند مدت یا job:

از جمله کارهای این ابزار می ‌توان به بارگیری پردازش انتخاب شده در صف مربوطه، در حافظه اشاره کرد. علت وارد شدن به حافظه، انجام پردازش مربوط به cpu  است. ایجاد ترکیب متعادل از وظایف مهم ابزار بلند مدت است. از طرفی این ابزار میزان چند برنامگی را هماهنگ و متعادل می ‌کند. توجه داشته باشید که برخی از برنامه ‌ها ابزار بلند مدت را ندارند و یا ممکن است کوچک باشد.

  1. زمان ‌بندی کوتاه مدت یا cpu:

این ابزار وظیفه دارد که سیستم عامل را با معیارهای مشخص شده هماهنگ کند و کارایی و عملکرد سیستم را بالا ببرد. از دیگر وظایف این ابزار تغییر وضعیت از آماده باش به اجرایی است. در واقع این ابزار از بین تمام پردازش ‌هایی که در حال اجرا هستند، یکی از آن ها را انتخاب می‌ کند. از نظر سرعت، کوتاه مدت از بلند مدت سریع تر است.

  • ابزار میان‌ مدت:

این ابزار وظیفه خروج پردازش از حافظه را بر عهده دارد و باعث کم شدن چند برنامگی می‌ شود.. همچنین وظیفه جایگزین کردن پردازش ‌های اتمام یافته را به عهده دارد.

 

ابزارهای زمان بندی پردازش‌ها

الگوریتم ‌های مختلف و ویژگی های آن

یکی از انواع الگوریتم‌ های مورد استفاده در زمان بندی، الگوریتم fcfs  است که جزو ساده ‌ترین نوع الگوریتم ‌ها محسوب می‌ شود. از ویژگی ‌های این الگوریتم می ‌توان به موارد زیر اشاره کرد:

  • اجرای این الگوریتم بسیار ساده است و می ‌توان به راحتی این کار را انجام داد.
  • از جمله ویژگی‌ های بد این الگوریتم می ‌توان به مدت زمان انتظار بالای آن اشاره کرد که باعث می ‌‌شود عملکرد ضعیفی داشته باشد.

از دیگر الگوریتم‌ های زمان‌ بندی می ‌توان به الگوریتم SJN  اشاره کرد که کمترین زمان را در اجرای برنامه ‌ها دارد. در واقع این الگوریتم قدرت قابل توجهی را در کاهش زمان انتظار برای اجرای فرایند‌‌ها دارد‌. هنگامی که شما از این الگوریتم استفاده می‌ کنید، می ‌توانید مدت زمان مشخصی برای اتمام کار در نظر بگیرید. در نتیجه می‌ توان از آن برای پردازش دسته ‌ای استفاده کنید. بر اساس این الگوریتم، کارهایی که دارای تایم انجام کوتاه‌ تری هستند در اولویت قرار می‌ گیرند و می ‌توان با این‌کار به انجام فرایندها بهبود بخشید.

Shortest Remaining Time یکی دیگر از انواع الگوریتم زمان بندی پردازش ‌ها است که عملکردی مشابه پردازنده  sjf دارد. در واقع در این پردازش، اولویت انتخاب با فرایندی است که نیاز به زمان کمتری برای اجرا داشته باشد. به بیان ساده ‌تر اگر چندین فرایند با اهمیت یکسان وجود داشته باشد، فرایندی انتخاب می‌ شود که دارای زمان کمتری باشد. از ویژگی ‌های آن می ‌توان به حداقل تایم انتظار و برگشت اشاره کنیم.

MLFQ  از دیگر الگوریتم‌ ها است که غیر انحصاری است و از جمله کارهای آن، مدیریت فرایندها می باشد. روش کار آن به این صورت است که صف‌ های چندگانه ایجاد می ‌کند که دارای کلاس‌ های اولویت هستند، زمانی که فرایند تازه ای وارد کار می ‌شود، در قسمت آخر بالاترین کلاس اولویت قرار می ‌گیرد. از نظر بازه زمانی مورد استفاده در هر فرایند، می‌ توان گفت که هر فرایند براساس اولویت خود از کوانتوم و بازه زمانی تقسیم شده از قبل، استفاده می‌ کند.

میزان استفاده هر فرایند از کوانتوم به این صورت است که بالاترین کلاس یک، کلاس بعدی ۲، کلاس بعدی ۴ و… به همین ترتیب تا آخر تعداد کوانتوم ‌ها افزایش می ‌یابد. در صورتی که فرایند برای انجام به بیش از بازه زمانی تعیین شده نیاز داشته باشد، می ‌تواند وارد کلاس ‌های پایین ‌تر شود. نحوه رسیدگی ‌به کلاس ‌ها به این صورت است که ابتدا کل کلاس ‌های بالاتر از کلاس مشخص شده باید خالی شده باشند، سپس کلاس مورد نظر اجرا می ‌شود. اگر هنگام زمان بندی پردازش‌ ها، فرایند جدیدی به صف اول کلاس ‌ها وارد شد، باید فرایند حال حاضر را رها کنید و به فرایند جدید بپردازید و تا زمان اتمام فرایند از انجام فرایند فعلی خودداری شود.

الگوریتم rr   یکی از الگوریتم ‌هایی است که برای هر فرایند معین یک بازه زمانی مشخص به نام کوانتوم در نظر می ‌گیرد. از جمله ویژگی‌ های این الگوریتم می ‌توان به ساده بودن اجرای آن، نداشتن گرسنگی و قحطی در سیستم عامل، دارای عملکرد متعادل و بسیاری دیگر از موارد که شما با‌ توجه به این ویژگی ‌ها می ‌توانید از الگوریتم ‌های مورد نظر نهایت استفاده را ببرید.

 

الگوریتم ‌های مختلف و ویژگی های آن

جمع ‌بندی

در صورتی یک الگوریتم‌ خوب است که بتواند باعث افزایش میزان بهره وری cpu  شود تا بتوانید در کمترین زمان به نتیجه دستیابید. الگوریتم‌ها به صورت کلی به دو گروه انحصاری و غیر انحصاری دسته ‌بندی می ‌شوند. در دسته بندی الگوریتم ‌ها، چندین الگوریتم مختلف جای می ‌گیرد که در این مطلب به برخی از آن ‌ها مانند sjn,  mlfq  و … اشاره کردیم. نکته مهمی که وجود دارد این است که ممکن است برای هر سیستم عامل چند الگوریتم‌ متفاوت وجود داشته باشد که برای زمان بندی‌ های مختلف وجود دارد. البته حتی در برخی موارد می‌ توان از الگوریتم‌ هایی که ترکیبی از چند الگوریتم است، استفاده کرد.

۱
۲
۳
۴
۵
میانگین امتیازات ۵ از ۵
از مجموع ۱ رای
اشتراک گذاری:
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
مطالب زیر را حتما بخوانید
  • Fast Switching
    آشنایی با Fast Switching

    10 بازدید

  • نحوه ایجاد توپولوژی در STP
    نحوه ایجاد توپولوژی در STP

    20 بازدید

  • چرا زبان برنامه نویسی Go را GOLANG می‌نامند؟
    زبان برنامه نویسی Go

    104 بازدید

  • بحران نیروی انسانی در حوزۀ IT
    بحران نیروی انسانی در حوزۀ IT

    93 بازدید

  • ربات‌ها و کامپیوترها چه مشاغلی را بر عهده میگیرند؟
    کامپیوترها چه مشاغلی را بر عهده میگیرند؟

    97 بازدید

  • آموزش sql
    آموزش sql

    74 بازدید

قدیمی تر آموزش sql
جدیدتر کامپیوترها چه مشاغلی را بر عهده میگیرند؟

دیدگاهتان را بنویسید لغو پاسخ

دسته‌های دوره های آموزشی
  • آموزش دوره های devOPS
  • ارزهای دیجیتال
  • امنیت
    • EC-Council
    • F5
    • Fortinet
    • ISACA
    • ISC2
    • Juniper
    • Payment Security
    • SANS
    • SCADA
    • Secure coding
    • SOC
    • Splunk
  • بانک اطلاعاتی
    • Oracle
    • SQL Server
  • برنامه نویسی
    • IOS
    • programming & Web
  • درحال برگزاری
  • دیجیتال مارکتینگ
  • ذخیره و بازیابی اطلاعات
    • Big Data
    • EMC
    • HP
    • Netbackup
    • veeam
  • شبکه
    • Cisco Old Level
      • Cisco New Level
    • CompTIA
    • EPI
    • Microsoft
    • Mikrotik
    • SolarWinds
    • آموزش Linux
  • کارکنان دولت
  • مجازی سازی
    • AWS
    • Azure
    • Cloud computing
    • Hyper-V
    • VMWare
  • مخابرات
  • مدیریت فناوری اطلاعات
    • ISO 27001
    • IT Management
    • Project Management
  • ویژه دوران
    • کارگاه ها و سمینارها
    • محصولات دوران

درباره ما

گروه دوران یکی از موفق‌ترین مجموعه شرکت‌های فناوری اطلاعات است، که با هدف ارائه محصولات وخدمات متنوع در تاسیس گردیده است. این مجموعه بیش از 20 سال سابقه کاری در زمینه نرم افزار، مخابرات و شبکه دارد.

تماس با ما

  • خیابان بهشتی، خیابان پاکستان، خیابان حکیمی پلاک ۱۲
  • 02143585 داخلی 266
  • academy@douran.com
Icon-facebook Icon-instagram Icon-youtube Icon-send-2

پیوندهای مهم

  • کتابخانه
  • مجوزها
  • مشتریان
  • لابراتوار
  • فضای آموزشی
  • بلاگ
  • گروه دوران
  • دورتال

نماد اعتماد الکترونیک

تمامی حقوق برای آکادمی دوران محفوظ می باشد.

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت