 بسم اللہ الرحمن الرحیم، آج ہم موڈیول 107 دسکس کریں گے، موڈیول 107 ہے جوب آبجیکٹس جوب آبجیکٹس جوہیں وہ وندوز کا ایک کنسٹرکٹ ہے اور یہ کنسٹرکٹ ڈیوز کیا جا سکتا ہے پروسیس کو ایک طریقے سے مانج کرنےگے لیے۔ جوبز کی جو ترمینولوجی ہے یہ پرانے جو اپریڈنگ سسٹمز ہیں تو وہ جو نمبر آف پروسیس سمیٹ ہوئے ایک وقت میں وہ ایک جوب ہوتا تھا تو اسی لیہاں سے وندوز کے اندر آپ کے پاس جوب آبجیکٹ موجود ہے جوب آبجیکٹ کے اندر آپ نمبر آف پروسیس کی گروپنگ بنا سکتے ہیں آپ پروسیس کو ایس گروپس مانج کر سکتے ہیں اور پھر ہر گروپ کو آپ رسورسائن کر سکتے ہیں رسورسی سپیسفائے کر سکتے ہیں اور وندوز کو بزا سکتے ہیں کہ اس پورے گروپ نے یہ رسورسیس use کرنے اور ان رسورسیس سے وہ پھر ایک سیڈ نہیں کر سکیں گے رسورسیس وہی رسورسیس کے اندر ہی تمام رسورسیس کو کسی نہ کسی طریقے سے مانج کرنا پڑے گا اور پھر آف کورس یہ جوب آبجیکٹ آپ کو ایک اور فسلٹی پروائیٹ کرتا ہے جس کے مدل سے آپ اس کے اندر موجود رسورسیس کو مانج کر سکتے ہیں ان کے اکانٹنگ کر سکتے ہیں جوب آبجیکٹ کیسے بنیں گے very simple API's use ہوں گی کنس API use ہوگی create job object کی API use ہوگی job کو create کرنے گی اور اگر آپ کے پاس پہلے سے named object موجود ہے تو اس کی مدل سے آپ open job objects کی API use کر سکتے ہیں اور اس کی مدل سے آپ کے پاس job object کا ایک reference آجائے گا object آجائے گا اور جب آپ کو job object کی زیادہ نہیں ہے تو close handle کی مدل سے جسنا previous لی ہم کرتے ہیں close handle کی مدل سے آپ اس job object کو close کر سکتے ہیں اس کے بعد جب آپ ایک object create کرلتے ہیں job object create کرلتے ہیں اور آپ نے ایک process create کیا اس process کو آپ نے اس job کے ساتھ اسائن کرنا ہے ایک job object کے ساتھ آپ کئی سارے processes associate کر سکتے ہیں تو ایک آپ نے اگر job پہلے object بنائیں پھر آپ نے ایک process create کیا now جو آپ نے process create کیا اس کو آپ نے اس job کے ساتھ associate کرنا ہے تو اس کے لیے بھی API موجود ہے assign process to job object تو اس کی مدل سے آپ جو بھی ایک process آپ کو نے create کیا اس process کو a specific job object کے ساتھ associate کر سکتے ہیں پھر اس کے لیوہا جب آپ in job objects کو handle کر رہے ہیں تو آپ کو دو تین چیزیں ذہن میں رکھنے گی کہ once اگر ایک process کو آپ نے job object کے ساتھ associate کر دیا تو اس کی association جو ہے وہ change نہیں کر سکتے ہیں وہ کسی اور job object کو پھر assign نہیں کیا جا سکے گا process پھر جو process ایک certain job object کو assign ہوا ہے اس کے جتنے بھی child بنے گے child processes بنے گے وہ by default اسی job اس process کے job object کے ساتھ associate ہوں گے یعنی کہ ایک job object ہے اس کے اندر آپ نے ایک process کو place کر دیا اب اس process نے آگے کئی child processes نکالے ہیں child processes spawn کیا ہے create کیا ہے اب جتنے بھی ان کے child processes ان کو آپ کو assign کرنے کی ضرورت نہیں to this job object وہ by default اسی job object کے ساتھ associate ہو جائیں گے لیکن اگر آپ چاتے ہیں ایک child process create کرنا اور چاہتے ہیں کہ وہ اس job object کے ساتھ associate now تو اس کو create کرتے وقت آپ نے break away والا جو flag ہے یہ use کرنا ہے create break away frag from job اس اگر آپ flag کو سپیسفائے کریں گے create process کے وقت تو جب وہ process create ہوگا تو اس job object کے ساتھ associate نہیں ہوگا although اس کا جو parent process ہے وہ اس job object کے ساتھ associate ہوگا پھر once آپ نے اس طرح سے ایک job object بنا لیا اس کے ساتھ processes بھی associate کر لیا اب آپ اس کے ساتھ اس job object کو کنٹرول کرنا چاہتے ہیں اس کو جو resources ہیں ان کو کنٹرول کرنا چاہتے ہیں تو یہ کام کرنے کے لیے دیکھتے ہیں کونسی API use ہوگی تو یہ API ہے set information job object اس کے اندر آپ دیکھ سکتے ہیں مخلیف پیرامیٹرز ہیں پہلہ پیرامیٹرز ہے that is the handle یہ handle کے سیس کا job object کا handle ہے جب آپ نے job object create کیا تھا تب آپ کو جو handle ملا تھا پھر job object information class ہے job object information class مختلف کلاسیز ہیں آپ ان کے detail msd ان کے اندر دیکھ سکتے ہیں ان کلاسیز کے اندر مخلیف پیرامیٹرز دیفائن ہوئے ہیں کہ کونسی سپیسفیک لیمیٹس آپ نے اگر دیفائن کرنے ہیں تو اس کے اکانڈنلی کونسی کلاس آپ use کریں گے یہ کلاسیز کس چیز کی لیمیٹس کو دیفائن کرتی ہیں عام دور پہ یہ per process time کہ ہر process کو کتنا ٹائم میکسیمم ملنا چاہئے working set limit کہ working set اس کا کتنا بڑا ہوگا یعنی کہ جو اس کے number of pages memory کے اندر آتے ہیں وہ کتنا بڑے ہوں گے limit on an active processes یعنی کہ ایک job کے اندر number of processes ان میں سے کتنا active ہو سکتے ہیں priorities ان کے اپس میں کیا priorities ہوں گی processor affinity اس طرح مختلف کسم کی information سے relevant مختلف کلاسیز دفائن ہوئے ہیں اور ہر کلاس سے associated ایک structure ہے جس کے اندر کہ آپ اس سے associated information پلے کریں گے lp job object information جو ہے اس کے اندر یہ بیسکلی اس structure کا reference ہوگا اس structure کا address ہوگا تو یہ ایک structure نہیں ہے یہ ہر کلاس اس کلاس کی detail اگر آپ msd n میں سے دیکھیں تو ہر کلاس کی gain سے ایک structure ہوگا اس structure کے اندر آپ information پلے کریں گے اور اس structure کا جو address ہے اور آپ یہاں پر سپیسفائی کریں گے lp job object information کی اندر