زمان‌بند کار

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از زمان‌بندی کار)
پرش به: ناوبری، جستجو
برای مشکل ریاضی در علوم رایانه، مقالهٔ زمان‌بندی مغازهٔ کارها را ببینید.

زمان‌بند کار (به انگلیسی: Job scheduler) یک برنامه رایانه‌ای است برای کنترل خودکار اجرای پس زمینهٔ برنامه (معمولاً گفته می‌شود پردازش دسته‌ای). مترادف سیستم‌های دسته‌ای سیستم‌های توزیع شدهٔ مدیریت سیستم (DRMS) و توزیع مدیریت منابع (drm) هستند.

امروزه برنامهٔ زمان بند اغلب اتوماسیون حجم کار نامیده می‌شود به طور معمول ارائه یک رابط کاربر گرافیکی ویک نقطه می‌باشد واحد کنترل برای تعریف و نظارت بر اجرای پس زمینه در یک شبکهٔ توزیع از کامپیوتر به طور فزاینده به کار برده می‌شود.

برای هماهنگ و ادغام موزون زمان واقعی فعالیت‌های کسب و کار با پس زمینه‌های سنتی به پردازش IT در سراسر سیستم عامل‌های مختلف و محیط کسب و کار نرم‌افزار مورد نیاز است.

زمان‌بندی کاری باید با فرایند برنامه ریزی که درحال حاضر فرایندهای در حال اجرا هستند برای پردازنده‌های سیستم عامل اشتباه گرفته شوند.

ویژگی‌ها[ویرایش]

ویژگی‌های عمومی که از نرم‌افزار زمان‌بندی کار انتظار می‌رود عبارت اند از:

  • رابط‌هایی که برای کمک به گردش کار و یا وابستگی کاری تعریف می‌شود.
  • ارسال خودکار اجرا
  • رابط برای نظارت بر اجرا
  • اولویت‌ها و یا صف برای کنترل دستور نا مربوط اجرای کار

اگر نرم‌افزار از یک منطقهٔ کاملاً متفاوت شامل تمام یا برخی از این ویژگی‌های این نرم‌افزار باشد (با توجه به چه کسی) دارای قابلیت‌های زمان‌بندی کار است.

بیشتر سیستم‌های عامل (مانند ویندوز و یونیکس) دارای قابلیت‌های ارائهٔ اساس زمان‌بندی کار می‌باشد برای مثال cron خدمات میزبانی وب ارائهٔ قابلیت زمان‌بندی کار را از طریق کنترل پنل و یا یک راه حل webcron را داراست.

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

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

مفاهیم پایه[ویرایش]

مفاهیم بسیاری که تقریباً در هر اجرای زمان‌بندی کار به طور گسترده‌ای با حداقل تغییرات به رسمیت شناخته شده وجود دارد.

  • مشاغل
  • وابستگی
  • جریان‌های کاری
  • کاربران

برای نمونه دو معماری عمده‌ای که برای نرم‌افزار زمان‌بندی کاری وجود دارد.

نرم‌افزار برنامه ریزی کاری در یک ماشین نصب شده است در حالی که درتولید ماشین آلات تنها یک جزء بسیار کوچک (واسطه) نصب شده است که درابتدا درانتظار دستور سپس اجرای آنها می‌باشد و در آخر کد خروجی را بر می‌گرداند.

معماری تعاونی[ویرایش]

یک مدل غیر متمرکز که در آن هر دستگاه قادر به کمک و برنامه ریزی است و می‌تواند کار را به صورت برنامه ریزی محلی برای همکاری با ماشین‌های دیگر بر دارند.

برای حفظ تعادل حجم کار (پویا) و به حد اکثر رساندن استفاده از منابع سخت‌افزاری و در دسترس بودن اطمینان بالا از ارائه خدمات این را قادر می‌سازد.

دسته بندی صف برای خوشهٔ HPC برای مدیریت زمان‌بندی کار صف کار برای یک خوشه از رایانه است.

تاریخچه[ویرایش]

زمان‌بندی کار دارای سابقهٔ طولانی است زمان‌بندی کار به یکی از اجزای زیر ساخت‌های اصلی IT از سیستم‌های رایانه‌ای بزرگ اولیه اشاره می‌کند.

در ابتدا پشته‌ای از کارت‌های پانچ شده وجود داشت که یکی پس از دیگری پردازش می‌شد.

پردازش دسته‌ای[ویرایش]

از نقطه نظر تاریخی ما می‌توانیم دو دوره اصلی در مورد تشخیص زمان‌بندی کار در نظر بگیریم:

  1. عصر رایانه‌های بزرگ
    کنترل زبان کاری (JCL) در رایانه‌های بزرگ ABM در ابتدا بر روی عمل کرد JCLکه بر اساس مسئولیت رسیدگی به وابستگی‌ها در این دوره توسط توسعهٔ راه حل‌های زمان‌بندی پیچیده تشکیل شده است. بخشی از مدیریت سیستم‌ها و مجموعهٔ ابزار اتوماسیون در پردازندهٔ مرکزی شناسایی می‌شود.
  2. دوره سیستم‌های باز در زمان بتدی مدرن در انواع معماری و سیستم عامل با برنامه ریزی استاندارد محدود می‌باشد مانند CRON نیاز به زمان‌بندی استاندارد کار در پردازنده مرکزی با تصویب افزایش محیط‌های محاسبه توزیع شده افزایش یافته است.

همچنین سه دوره متمایز از لحاظ نوع برنامه ریزی وجود دارد:

  1. پردازش دسته‌ای:اجرای تاریخ سنتی و زمان بر براساس وظایف پس زمینه یک دوره تعیف شده است که در طی آن منابع در دسترس برای پردازش دسته‌ای بودند (پنجره دسته‌ای) در واقع رویکرد پردازنده مرکزی اصلی بر روی محیط سیستم‌های باز منتقل شود.
  2. رویداد فرایند اتوماسیون محور که در آن فرایندهای پس زمینه را به سادگی در یک زمان تعریف شده نمی‌توان اجرا کرد.(مانند ورود یک سفارش از مشتری یابر اساس به روز رسانی سهام از شاخه فروشگاه) و یا اینکه هیچ پنجره دسته‌ای کافی وجود دارد.
  3. زمان‌بندی کار سرویس گرا

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

برنامه‌ریزی[ویرایش]

طرح‌های مختلفی برای تصمیم گیری است که کار خاصی را اجرا می‌کنند.

پارامترهایی که ممکن است در نظر گرفته شود عبارت اند از:

  1. اولویت‌های شغلی
  2. در دسترس بودن منابع محاسبه
  3. کلید مجوز در صورت کار با استفاده از نرم‌افزار مجاز
  4. زمان اجرای اختصاص داده شده به کاربر
  5. تعداد مشاغل مجاز به طور همزمان برای یک کاربر
  6. برآورد زمان اجرا
  7. زمان اجرای سپری شده
  8. در دسترس بودن از دستگاه‌های چانبی
  9. وقوع حوادث تعیین شده

منابع[ویرایش]

  • مشارکت‌کنندگان ویکی‌پدیا، «Job scheduler»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۱ اسفند ۱۳۹۲).