زمانبند کار
یک زمانبند کار (به انگلیسی: Job scheduler) یک برنامه رایانهای است که برای کنترل و مدیریت کردن غیرحضوری برنامههایی که در پسزمینهٔ سیستم اجرا میشوند (عموماً برای پردازش دستهای)، بکار میرود. اصطلاحات همخانوادهٔ آن عبارتند از سیستم دستهای، سیستم مدیریت منابع توزیعشده، مدیر منابع توزیعشده. زمانبندهای کار امروزی، اغلب با عنوان اتوماسیون کاربار نام برده میشوند، که عموماً یک رابط گرافیکی و یک نقطهٔ کنترلی مرکزی برای تعریف و نظارهکردن بر روی برنامههایی که در پسزمینه اجرا میشوند، در یک شبکهٔ توزیعشده از رایانهها را فراهم میکنند. زمانبندی کار را نباید با زمانبندی فرایند اشتباه گرفته شود. زمانبند فرایند، وظیفهٔ اختصاصدادن پردازنده به یکی از فرایندهای در حال اجرا بر روی سیستم را دارد. همهٔ سیستمعاملها ممکن است زمانبند کار نداشته باشند.
نظر اجمالی
ویژگیهای پایهای که از یک زمانبند کار انتظار میرود از آنها پشتیبانی کند عبارتند از:
- رابطهایی داشته باشد که از طریق آن بتوان جریان کار را تعیین کرد و وابستگی بین کارها را مشخص کرد
- ارائه کردن برنامهها برای اجرا به صورت خودکار
- رابطهایی برای نظارهکردن بر روی برنامههای در حال اجرا
- اولویتها و/یا صفهایی برای کنترل ترتیب اجراشدن کارهای غیرمرتبط
مفاهیم اصلی
مفاهیم بسیاری وجود دارند که تقریباً برای تمامی پیادهسازیها از زمانبند کار اساسی هستند:
- کارها
- وابستگیها
- جریانهای کاری
- کاربران
زمانبندی
روشهای بسیاری وجود دارد که از طریق آنها میتوان تصمیم گرفت کدام کار برای اجرا از روی دیسک انتخاب شود.
- اولویت کار
- محاسبهٔ منابع دردسترس
- کلید پروانه (به انگلیسی: license key) برای مواقعی که کار از یک پروانه استفاده کند
- میزان مدتزمانی که برای اجرا کردن برنامهها به کاربر اختصاص داده شده است
- تعداد برنامههایی که یک کاربر میتواند به صورت موازی و همزمان اجرا کند
- زمان پردازش کار به صورت تخمینی
- مدتزمان سپری شده از شروع زمان پردازش کار
- در دسترس بودن دستگاههای جانبی
- رخ دادن رویدادهای پیشنگاشته