Process (computing)
کمپیوٹنگ میں، ایک عمل ایک کمپیوٹر پروگرام کی مثال ہے جسے ایک یا کئی دھاگوں کے ذریعے انجام دیا جا رہا ہے۔ بہت سے مختلف عمل کے ماڈل ہیں، جن میں سے کچھ ہلکے وزن کے ہیں، لیکن تقریبا تمام عمل (یہاں تک کہ پوری ورچوئل مشینیں) ایک آپریٹنگ سسٹم (او ایس) کے عمل میں جڑے ہوئے ہیں جس میں پروگرام کوڈ، تفویض کردہ سسٹم کے وسائل، جسمانی اور منطقی رسائی کی اجازت، اور ڈیٹا ڈھانچے شامل ہیں جو عمل درآمد کی سرگرمی کو شروع کرنے، کنٹرول کرنے اور مربوط کرنے کے لیے ہیں۔ او ایس پر منحصر ہے، ایک عمل عمل کے متعدد دھاگوں سے بنا ہو سکتا ہے جو بیک وقت ہدایات پر عمل درآمد کرتا ہے۔ جبکہ کمپیوٹر پروگرام ہدایات کا ایک غیر فعال مجموعہ ہے جو عام طور پر ڈسک پر موجود فائل میں محفوظ ہوتا ہے، ایک عمل ڈسک سے میموری میں لوڈ ہونے کے بعد ان ہدایات پر عمل درآمد ہوتا ہے۔ کئی عمل ایک ہی پروگرام سے وابستہ ہو سکتے ہیں ؛ مثال کے طور پر، ایک ہی پروگرام کی کئی مثالوں کو کھولنے کے نتیجے میں اکثر ایک سے زیادہ عمل انجام دیے جاتے ہیں۔ ملٹی ٹاسکنگ ایک ایسا طریقہ ہے جس میں متعدد عمل کو پروسیسرز (سی پی یو) اور نظام کے دیگر وسائل کا اشتراک کرنے کی اجازت دی جاتی ہے۔ ہر سی پی یو (کور) ایک وقت میں ایک ہی عمل کو انجام دیتا ہے۔ تاہم، ملٹی ٹاسکنگ ہر پروسیسر کو ان کاموں کے درمیان تبدیل کرنے کی اجازت دیتی ہے جو ہر کام کے ختم ہونے کا انتظار کیے بغیر انجام دیے جا رہے ہیں۔ آپریٹنگ سسٹم کے نفاذ پر منحصر ہے، جب ٹاسک شروع ہوتے ہیں اور ان پٹ/آؤٹ پٹ آپریشنز کی تکمیل کا انتظار کرتے ہیں، جب کوئی ٹاسک رضاکارانہ طور پر سی پی یو دیتا ہے، ہارڈ ویئر کی رکاوٹ پر، اور جب آپریٹنگ سسٹم شیڈولر فیصلہ کرتا ہے کہ کسی عمل نے سی پی یو وقت کے اپنے منصفانہ حصے کی میعاد ختم کر دی ہے (مثال کے طور پر، لینکس کرنل کے مکمل طور پر منصفانہ شیڈولر کے ذریعہ) تو سوئچ انجام دیے جا سکتے ہیں۔ ملٹی ٹاسکنگ کی ایک عام شکل سی پی یو کے ٹائم شیئرنگ کے ذریعے فراہم کی جاتی ہے جو صارفین کے عمل اور دھاگوں، اور یہاں تک کہ آزاد دانا کے کاموں کو انجام دینے کے لیے ایک طریقہ ہے-حالانکہ مؤخر الذکر خصوصیت صرف لینکس جیسے قبل از وقت دانے میں ممکن ہے۔ انٹرایکٹو عمل کے لیے پریمپشن کا ایک اہم ضمنی اثر ہوتا ہے جسے سی پی یو باؤنڈ عمل کے حوالے سے زیادہ ترجیح دی جاتی ہے، اس لیے صارفین کو کلید کو آسانی سے دبانے یا ماؤس کو منتقل کرتے وقت فوری طور پر کمپیوٹنگ کے وسائل تفویض کیے جاتے ہیں۔ مزید برآں، ویڈیو اور میوزک ری پروڈکشن جیسی ایپلی کیشنز کو کسی قسم کی حقیقی وقت کی ترجیح دی جاتی ہے، جس سے کسی بھی دوسرے کم ترجیحی عمل کو روک دیا جاتا ہے۔ ٹائم شیئرنگ سسٹمز میں، سیاق و سباق کے سوئچ تیزی سے انجام دیے جاتے ہیں، جس سے ایسا لگتا ہے کہ ایک ہی پروسیسر پر بیک وقت متعدد عمل انجام دیے جا رہے ہیں۔ متعدد عملوں کے بظاہر بیک وقت انجام دینے کو کنکرنسی کہا جاتا ہے۔ سلامتی اور وشوسنییتا کے لیے، زیادہ تر جدید آپریٹنگ سسٹم آزاد عمل کے درمیان براہ راست مواصلات کو روکتے ہیں، جو سختی سے ثالثی اور کنٹرول شدہ بین عمل مواصلات فراہم کرتے ہیں۔ نمائندگی عام طور پر، کمپیوٹر سسٹم کا عمل درج ذیل وسائل پر مشتمل ہوتا ہے (یا کہا جاتا ہے کہ اس کا مالک ہے): کسی پروگرام سے وابستہ قابل عمل مشین کوڈ کی تصویر۔ میموری (عام طور پر ورچوئل میموری کا کچھ علاقہ) ؛ جس میں قابل عمل کوڈ، عمل سے متعلق مخصوص ڈیٹا (ان پٹ اور آؤٹ پٹ)، ایک کال اسٹیک (فعال سبروٹائنز اور/یا دیگر واقعات پر نظر رکھنے کے لیے)، اور رن ٹائم کے دوران تیار کردہ انٹرمیڈیٹ کمپیوٹیشن ڈیٹا کو رکھنے کے لیے ایک ڈھیر شامل ہے۔ آپریٹنگ سسٹم کے ان وسائل کی وضاحت کرنے والے جو عمل کے لیے مختص کیے گئے ہیں، جیسے فائل کی وضاحت کرنے والے (یونکس اصطلاحات) یا ہینڈل (ونڈوز)، اور ڈیٹا کے ذرائع اور سنک۔ حفاظتی صفات، جیسے کہ عمل کا مالک اور عمل کی اجازتوں کا مجموعہ (قابل اجازت کارروائیاں)۔ پروسیسر کی حالت (سیاق و سباق)، جیسے رجسٹر کا مواد اور فزیکل میموری ایڈریسنگ۔ ریاست عام طور پر کمپیوٹر رجسٹروں میں محفوظ ہوتی ہے جب عمل انجام دے رہا ہوتا ہے، اور بصورت دیگر میموری میں۔ آپریٹنگ سسٹم ڈیٹا ڈھانچے میں فعال عمل کے بارے میں زیادہ تر معلومات رکھتا ہے جسے پروسیس کنٹرول بلاکس کہا جاتا ہے۔ وسائل کا کوئی بھی ذیلی سیٹ، عام طور پر کم از کم پروسیسر کی حالت، آپریٹنگ سسٹم میں ہر عمل کے دھاگے سے وابستہ ہو سکتا ہے جو دھاگے یا چائلڈ کے عمل کو سپورٹ کرتے ہیں۔ آپریٹنگ سسٹم اپنے عمل کو الگ رکھتا ہے اور ان وسائل کو مختص کرتا ہے جن کی انہیں ضرورت ہوتی ہے، تاکہ ان کے ایک دوسرے کے ساتھ مداخلت کرنے اور سسٹم کی ناکامیوں کا سبب بننے کا امکان کم ہو (مثال کے طور پر، ڈیڈ لاک یا تھریشنگ)۔ آپریٹنگ سسٹم بین عمل مواصلات کے لیے میکانزم بھی فراہم کر سکتا ہے تاکہ عمل کو محفوظ اور متوقع طریقوں سے تعامل کرنے کے قابل بنایا جا سکے۔ ملٹی ٹاسکنگ اور عمل کا انتظام ایک ملٹی ٹاسکنگ آپریٹنگ سسٹم صرف عمل کے درمیان تبدیل ہو سکتا ہے تاکہ بیک وقت چلنے والے بہت سے عمل کی ظاہری شکل دی جا سکے (یعنی متوازی طور پر)، حالانکہ حقیقت میں ایک ہی سی پی یو پر کسی ایک وقت میں صرف ایک عمل انجام دیا جا سکتا ہے (جب تک کہ سی پی یو میں متعدد کور نہ ہوں، پھر ملٹی تھریڈنگ یا اسی طرح کی دیگر ٹیکنالوجیز استعمال کی جا سکتی ہیں)۔ کسی ایک عمل کو مرکزی پروگرام کے ساتھ جوڑنا معمول کی بات ہے، اور چائلڈ کسی بھی اسپن آف، متوازی عمل کے ساتھ عمل کرتا ہے، جو غیر متزلزل سبروٹینز کی طرح برتاؤ کرتے ہیں۔ کسی عمل کے بارے میں کہا جاتا ہے کہ وہ وسائل کا مالک ہوتا ہے، جس میں اس کے پروگرام کی تصویر (میموری میں) ایسا ہی ایک وسیلہ ہوتا ہے۔ تاہم، ملٹی پروسیسنگ سسٹمز میں بہت سے عمل میموری میں ایک ہی مقام پر ایک ہی ری اینٹرنٹ پروگرام سے چل سکتے ہیں، یا شیئر کر سکتے ہیں، لیکن کہا جاتا ہے کہ ہر عمل پروگرام کی اپنی تصویر کا مالک ہوتا ہے۔ سرایت شدہ آپریٹنگ سسٹمز میں عمل کو اکثر "ٹاسک" کہا جاتا ہے۔ "عمل" (یا کام) کا احساس "ایسی چیز ہے جو وقت لیتی ہے"، جیسا کہ "میموری" کے برخلاف ہے، جو "ایسی چیز ہے جو جگہ لے لیتی ہے"۔ مذکورہ بالا تفصیل آپریٹنگ سسٹم کے زیر انتظام دونوں عملوں اور عمل کیلکولی کے ذریعے بیان کردہ عملوں پر لاگو ہوتی ہے۔ اگر کوئی عمل کسی ایسی چیز کی درخواست کرتا ہے جس کے لیے اسے انتظار کرنا پڑتا ہے، تو اسے بلاک کر دیا جائے گا۔ جب عمل مسدود حالت میں ہوتا ہے، تو یہ ڈسک میں تبدیل ہونے کا اہل ہوتا ہے، لیکن یہ ورچوئل میموری سسٹم میں شفاف ہوتا ہے، جہاں عمل کی میموری کے علاقے واقعی ڈسک پر ہو سکتے ہیں اور کسی بھی وقت مرکزی میموری میں نہیں۔ یہاں تک کہ فعال عمل/کاموں (پروگراموں کو انجام دینے والے) کے حصے بھی ڈسک میں تبدیل کرنے کے اہل ہیں، اگر حصے حال ہی میں استعمال نہیں کیے گئے ہیں۔ ایک ایگزیکٹو پروگرام کے تمام حصوں اور اس کے ڈیٹا کو متعلقہ عمل کے فعال ہونے کے لیے فزیکل میموری میں ہونا ضروری نہیں ہے۔ عمل کی ریاستیں ایک آپریٹنگ سسٹم کا دانا جو ملٹی ٹاسکنگ کی ضروریات کے عمل کو بعض حالتوں کی اجازت دیتا ہے۔ ان ریاستوں کے نام معیاری نہیں ہیں، لیکن ان کی فعالیت ایک جیسی ہے۔ سب سے پہلے، عمل کو ثانوی اسٹوریج ڈیوائس (ہارڈ ڈسک ڈرائیو، سی ڈی روم، وغیرہ) سے لوڈ کرکے "تخلیق" کیا جاتا ہے۔ مرکزی میموری میں۔ اس کے بعد عمل شیڈولر اسے "ویٹنگ" حالت تفویض کرتا ہے۔ جب کہ عمل "انتظار" کر رہا ہے، یہ شیڈولر کے نام نہاد سیاق و سباق میں تبدیلی کرنے کا انتظار کرتا ہے۔ سیاق و سباق کا سوئچ عمل کو پروسیسر میں لوڈ کرتا ہے اور حالت کو "رننگ" میں تبدیل کرتا ہے جبکہ پہلے "رننگ" عمل کو "ویٹنگ" حالت میں محفوظ کیا جاتا ہے۔ اگر "رننگ" حالت میں کسی عمل کو کسی وسائل کا انتظار کرنے کی ضرورت ہو (مثال کے طور پر صارف کے ان پٹ یا فائل کے کھلنے کا انتظار کریں)، تو اسے "بلاک" حالت تفویض کی جاتی ہے۔ عمل کی حالت کو واپس "ویٹنگ" میں تبدیل کر دیا جاتا ہے جب عمل کو مزید انتظار کرنے کی ضرورت نہیں ہوتی (مسدود حالت میں)۔ ایک بار جب عمل پر عمل مکمل ہو جاتا ہے، یا آپریٹنگ سسٹم کے ذریعے اسے ختم کر دیا جاتا ہے، تو اب اس کی ضرورت نہیں ہے۔ عمل کو فوری طور پر ہٹا دیا جاتا ہے یا اسے "ختم شدہ" حالت میں منتقل کر دیا جاتا ہے۔ ہٹائے جانے پر، یہ صرف مرکزی میموری سے ہٹائے جانے کا انتظار کرتا ہے۔ انٹر پروسیس کمیونیکیشن جب عمل کو ایک دوسرے کے ساتھ بات چیت کرنے کی ضرورت ہوتی ہے تو انہیں اپنے ایڈریس اسپیس کے کچھ حصے شیئر کرنے چاہئیں یا انٹر پروسیس کمیونیکیشن (آئی پی سی) کی دیگر شکلیں استعمال کرنی چاہئیں۔ مثال کے طور پر شیل پائپ لائن میں، پہلے عمل کی آؤٹ پٹ کو دوسرے پر منتقل کرنے کی ضرورت ہوتی ہے، اور اسی طرح ؛ ایک اور مثال ایک ایسا کام ہے جسے تعاون کرنے والے لیکن جزوی طور پر آزاد عمل میں تحلیل کیا جا سکتا ہے جو ایک ہی وقت میں چل سکتا ہے (یعنی، ہم آہنگی، یا حقیقی متوازی کا استعمال کرتے ہوئے-مؤخر الذکر ماڈل ہم آہنگی کے نفاذ کا ایک خاص معاملہ ہے اور جب بھی چلانے کے لیے تیار تمام عمل کے لیے کافی سی پی یو کور دستیاب ہوں تو ممکن ہے)۔ یہاں تک کہ دو یا دو سے زیادہ عمل مختلف مشینوں پر چلنا ممکن ہے جو مختلف آپریٹنگ سسٹم (او ایس) چلا سکتے ہیں، اس لیے مواصلات اور مطابقت پذیری کے لیے کچھ طریقہ کار (جسے تقسیم شدہ کمپیوٹنگ کے لیے مواصلاتی پروٹوکول کہا جاتا ہے) کی ضرورت ہوتی ہے (مثال کے طور پر، میسج پاسنگ انٹرفیس، جسے اکثر ایم پی آئی کہا جاتا ہے)۔ تاریخ 1960 کی دہائی کے اوائل تک، کمپیوٹر کنٹرول سافٹ ویئر مانیٹر کنٹرول سافٹ ویئر، مثال کے طور پر آئی بی ایس وائی ایس، سے ایگزیکٹو کنٹرول سافٹ ویئر تک تیار ہو چکا تھا۔ وقت گزرنے کے ساتھ، کمپیوٹر تیز تر ہوتے گئے جبکہ کمپیوٹر کا وقت نہ تو سستا تھا اور نہ ہی مکمل طور پر استعمال ہوتا تھا ؛ اس طرح کے ماحول نے ملٹی پروگرامنگ کو ممکن اور ضروری بنا دیا۔ ملٹی پروگرامنگ کا مطلب ہے کہ متعدد پروگرام بیک وقت چلتے ہیں۔ ابتدائی طور پر، ایک سے زیادہ پروگرام ایک ہی پروسیسر پر چلتے تھے، بنیادی یونی پروسیسر کمپیوٹر فن تعمیر کے نتیجے میں، اور انہوں نے کم اور محدود ہارڈ ویئر وسائل کا اشتراک کیا۔ اس کے نتیجے میں، ہم آہنگی ایک سیریل نوعیت کی تھی۔ متعدد پروسیسرز والے بعد کے سسٹمز پر، متعدد پروگرام متوازی طور پر بیک وقت چل سکتے ہیں۔ پروگرام پروسیسرز کے لیے ہدایات کے سلسلے پر مشتمل ہوتے ہیں۔ ایک واحد پروسیسر ایک وقت میں صرف ایک ہدایت چلا سکتا ہے: ایک ہی وقت میں مزید پروگرام چلانا ناممکن ہے۔ کسی پروگرام کو کچھ وسائل کی ضرورت پڑ سکتی ہے، جیسے کہ ان پٹ ڈیوائس، جس میں بڑی تاخیر ہوتی ہے، یا کوئی پروگرام کچھ سست عمل شروع کر سکتا ہے، جیسے کہ پرنٹر کو آؤٹ پٹ بھیجنا۔ اس سے پروسیسر "بیکار" (غیر استعمال شدہ) ہو جائے گا۔ پروسیسر کو ہر وقت مصروف رکھنے کے لیے، اس طرح کے پروگرام پر عمل درآمد روک دیا جاتا ہے اور آپریٹنگ سسٹم پروسیسر کو دوسرے پروگرام کو چلانے کے لیے تبدیل کر دیتا ہے۔ صارف کے لیے، یہ ظاہر ہوگا کہ پروگرام ایک ہی وقت میں چلتے ہیں (اس لیے اصطلاح "متوازی")۔ اس کے فورا بعد، "پروگرام" کے تصور کو "عمل درآمد کرنے والے پروگرام اور اس کے سیاق و سباق" کے تصور تک بڑھا دیا گیا۔ ایک عمل کا تصور پیدا ہوا، جو دوبارہ داخل ہونے والے کوڈ کی ایجاد کے ساتھ بھی ضروری ہو گیا۔ تھریڈز کچھ دیر بعد آئے۔ تاہم، ٹائم شیئرنگ، کمپیوٹر نیٹ ورکس، اور ملٹی پل-سی پی یو شیئرڈ میموری کمپیوٹرز جیسے تصورات کی آمد کے ساتھ، پرانے "ملٹی پروگرامنگ" نے حقیقی ملٹی ٹاسکنگ، ملٹی پروسیسنگ اور بعد میں ملٹی تھریڈنگ کو راستہ دیا۔ پس منظر کا عمل بھی دیکھیں چائلڈ پروسیس ایگزٹ فورک ہلکے وزن کا عمل یتیم عمل پیرنٹ پروسیس پروسیس گروپ ویٹ ورکنگ ڈائرکٹری زومبی پروسیس نوٹ حوالہ جات مزید پڑھنے کے لیے ریمزی ایچ۔ ارپاچی-ڈوسو اور اینڈریا سی۔ ارپاچی-ڈوسو (2014)۔ "آپریٹنگ سسٹم: تین آسان ٹکڑے"۔ ارپاچی-دسو کتابیں۔ متعلقہ ابواب: خلاصہ: عمل API گیری ڈی ناٹ (1974) بعض عمل کے انتظام اور باہمی مواصلات کے ابتدائی ACM SIGOPS آپریٹنگ سسٹم کے جائزے کے لیے ایک تجویز۔ جلد 8، شمارہ 4 (اکتوبر 1974)۔ پی پی۔ 7-44 بیرونی روابط عمل کی معلومات کے لیے آن لائن وسائل کمپیوٹر عمل معلومات ڈیٹا بیس اور فورم عمل ماڈل عمل تخلیق اور اختتامی طریقوں کے ساتھ سمورتی کمپیوٹنگ آپریٹنگ سسٹم ٹیکنالوجی