موضوع مقاله: پیش‌اجرایی (رایانش) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # پیش‌اجرایی (رایانش) | مقدمه: پیش‌اجرایی در رایانش، یا همان باز پس گیری ، عمل «وقفه موقتی» یک وظیفه درحال‌اجرا با هدف ادامه آن در آینده است، پس از این عمل، وظیفه دیگری اجرا (پیش‌اجرا) می‌گردد. | ## بخش 1: پیش‌اجرایی (رایانش) | این زمان‌بند پیش‌اجرا باید در بالاترین حلقه مجوزی باشد، و این یعنی وقفه‌دادن و ازسرگیری، اعمالی با امنیت بسیار بالا محسوب می‌شوند. مد کاربر و مد هسته در طراحی هر سیستم معینی، تعدادی از عملگرهاکه بهوسیله سیستم به سرانجام می‌رسند ممکن است قابل قبضه کردن نباشند. این معمولابرای کاربرهای هسته و سرویس وقفه به کار گرفته می‌شود که اگر ترخیص نشده باشن برای اجرا به منظور تکامل، ممکن است برای تولید حالت مسابقهکه سرانجامش بن‌بست است گراییده شوند. به جز زمانبندی از وظایف قبضه کردن زمانی که آن‌ها کاربردهای فرایندهای هسته هستند ساده کردن طراحی هسته در هزینه سیستم مودرد توجه است. تفاوت بین مد کاربر و مد هسته در مراحل خاصی بین سیستم مشخص می‌شود که ممکن است همچنین استفاده شودبه منظور تمییز دادن چیزی که یک وظیفه اخیراً قابل قبضه شدن است. بیشتر سیستم‌های مدرن هسته قبضه شدن دارند، طراحی می‌شوند تا اجازه دهند به وظایف تا قبضه شوندحتی وقتی در مد هسته هستند. به عبارت ساده: قبضه کردن چند وظیفه‌ای مستلزم استفاده از یک مکانیزم وقفه که معوق می‌کند فرایند قابل اجرای اخیر را و خواستن یک زمانبندی تا معین کند فرایندی که باید در مرحله بعدی پردازش شود؛ بنابراین همه فرایندها مقداری از cpuدر زمان معین می‌گیرند. در قبضه کردن چند وظیفه‌ای هسته سیستم عامل می‌تواند وارد یک مسیریاب متنی شود به منظور راضی کردن قید زمانبندی اولویت دار، بدین گونه که قبضه کردن وظیفه فعال باشد. زمانی که یک وظیفه با اولویت بالا در آن لحظه وظیفه در حال اجرای قبلی را تصرف کند، آن به عنوان زمانبندی قبضه کردن شناخته می‌شود. | ## بخش 2: پیش‌اجرایی (رایانش) | کلمه" قبضه کردن چند وظیفه‌ای " گاهی اوقات به اشتباه استفاده می‌شود وقتی که معنی از قبل تعیین شده ویژه است، ارجاع داده می‌شود به جای سیاست زمانبندی شناخته می‌شود به عنوان تقسیم زمانبندی یا تسهیم زمانبندی. قبضه کردن چند وظیفه‌ای به سیستم کامپیوتر اجازه می‌دهد تا بیشتر با اعتماد ضمانت کند برای هر فرایند منظم در زمان عملیات. همچنین اجازه می‌دهد که سیستم توزیع کند با وقایع خارجی مهم مثل داده‌های وارد شونده، که می‌تواند مورد نیاز توجه بی درنگ یک یا فرایند دیگر باشد. در سیستم‌های اولیه، فرایندها اغلب "سرشماری می‌شوند" یا "انتظار مشغولی" زمانی که منتظر ورودی درخواست داده شده (مانند دیسک، کیبورد، یا ورودی شبکه). در طول این زمان فرایندها به‌طور مفیدی کار نمی‌کنند، اما هنوز کنترل cpu را به‌طور کامل حفظ می‌کند. با ظهور وقفه و قبضه کردن چندوظیفه ایاین فرایندهای I/O bound می‌توانند "بلاک" شوند یا ثابت نگهداری شوند، تا زمانی که داده‌های مقدم، اجازه می‌دهند به فرایندهای دیگر تا cpu را به دست آورند. هنگامی که داده‌های درخواستی مقدم تولید یک وقفه می‌کنند، فرایندهای بلاک شده یک بازگشت به موقع برای اجرا را ضمانت می‌کنند. اگرچه تکنیک‌های چندوظیفه‌ای از اصل توسعه یافته بودبه منظور اجازه دادن به کاربران چندگانه تا یک ماشین را تقسیم کنند، آن به زودی آشکار شد که چندوظیفه‌ای صرفنظر از شمار کاربران مفید بوده‌است. بیشتر سیستم عامل‌ها، از پردازنده مرکزی تا کامپیوترهای تک کاربر شخصی سیستم‌های بدون کنترل کاربر (شبیه این فضاپیمای خودکار)، سازماندهی می‌شوند به صورت مفیدی از پوشش‌های چندوظیفه‌ای برای دلایل مختلف. | ## بخش 3: پیش‌اجرایی (رایانش) | چندپردازنده‌ای برای یک کاربر ممکن می‌کند تا در یک زمان کاربردهای چندگانه را اجرا کند یا فرایندهای "پس زمینه" را زمانیکه کنترل کامپیوتر را نگه می‌دارد اجرا کند. برش زمان دوره زمانی برای یک فرایند اجازه می‌دهد تا اجرا شود در یک سیستم چندوظیفه‌ای به‌طور عمومی برش زمان نامیده می‌شود یا «کوانتوم». یک وقفه زمانبندی می‌شود تا اجازه دهد به هسته سیستم عامل تا مسیریابی کند بین فرایندها و زمان به انتها رسیدن کوانتومشان. به‌طور مؤثری اجازه می‌دهد تا زمان پردازنده تقسیم شود بین تعدادی از وظایف، دادن اشتباه که آن توزیع این وظایف باهم، یا متقارن. نخستین نسخه ویندوز پوشش می‌داد یک حدی از قبضه کردن چند وظیفه‌ای که Windows 2.1x بود، که استفاده می‌شد از مد ۸۰۸۶ مجازی اینتل ۸۰۳۸۶ تا اجرا کند کاربردهای مجازی DOS در ماشین ۸۰۸۶ مجازی-عموماً به عنوان "DOS boxes "شناخته می‌شود-ممکن است قبضه شود. در ویندوزهای 95,98,ME، ۳۲ بیتی کاربردها قبضه پذیر می‌بودند به وسیله اجرای هریک از فضای آدرس‌های جداگانه، اما در ۱۶ بیتی کاربردها مشارکتی مانده‌اند. OS/2 اولین بار در سال ۱۹۸۷ توسعه پیدا کرد، معمولاً قبضه کردن چندوظیفه‌ای و چند نخی از کاربردهای بومی و "DOS box" تنها را پوشش می‌داد. | ## جمع‌بندی | نسخه ۲٫۰ و OS/2 Warp، بازنویسی هدفگرای IBM در ۳۸۶ سیستم، همچنین اجازه داد به چندین موقعیت مختلف ویندوز تا به‌طور چندوظیفه‌ای قبضه شوند.