آلہ ڈرائیوروں سے تعارف 【LDD3 01】

Introduction Device Drivers Ldd3 01



ایل ڈی ڈی 3: https://lwn.net/Kernel/LDD3/

کچھ دیر کے لئے لینکس ڈرائیور ڈویلپمنٹ کے تحت کام کریں ، لیکن بعض اوقات اس میں شامل کچھ حصہ لینکس کے دانا کے لئے غیر واضح رہتا ہے ، پھر اس کے دانے تو میں کچھ متعلقہ کتابوں پر جانے کا ارادہ رکھتا ہوں ، اسی وقت اپنی اپنی سمجھ بوجھ بھی شیئر کروں گا۔ چونکہ یہ ڈرائیور کررہا ہے ، لہذا ldd3 سے چلا گیا۔ آج تعارف سے شروع ہونے والا پہلا دن ہے ، حالانکہ یہ تعارف بہت آسان اور واضح معلوم ہوتا ہے ، لیکن اکثر آلہ ڈرائیور کی جامع تفہیم کے ل have اہم مدد پر مرکوز رہتے ہیں۔



اگرچہ لینکس کارنال اور ایک بہت بڑا پیچیدہ ، لیکن بنیادی اب بھی ڈیوائس ڈرائیور کا حصہ ہے۔ کیوں کہتے ہو جیسا کہ بنیادی آپریٹنگ سسٹم کی دانا ، آلہ سے براہ راست منسلک تمام کا انتظام کرتی ہے ، صارف عملی طور پر کوئی بھی عمل کسی جسمانی آلہ سے مطابقت رکھتا ہے۔ مثال کے طور پر ، آپ کسی کردار کے ذریعہ کی اسٹروک کرتے ہیں ، آپ کو ہینڈلنگ کے معمولات ، USB آلہ ڈرائیوروں ، کریکٹر پروسیسنگ پروگرام میں رکاوٹ ڈالنے کی ضرورت ہوتی ہے اور پھر صارف موڈ پر ، اسکرین پر دکھائے جانے والے مواد میں ، ہمیں ونڈوز مینیجر وغیرہ کو دوبارہ ڈراو کرنے کی ضرورت ہوتی ہے ، ایکس سرور فریم بفر ڈرائنگ والے GPU کا استعمال کرتے ہوئے ، اور آخر میں ڈسپلے ڈرائیو پر ، اور آخر میں ڈسپلے پر ظاہر ہوا۔ یہ کہا جاسکتا ہے کہ ڈیوائس ڈرائیور دانا کا بہت مرکزی حصہ ہے ، OS آپریشن کا حتمی ہدف ہے۔



ڈویلپرز کے ل device ، ڈیوائس ڈرائیور مشکل سے آسان ہوسکتا ہے ، آسان یا پیچیدہ ہوسکتا ہے ، خود آلہ پر منحصر ہے ، ضرور ، بلکہ انفرادی ڈویلپرز کی صلاحیت کے ساتھ بھی۔ ldd3 کو احساس ہے کہ ڈیوائس ڈرائیور کے بنیادی اصول دو میکانزم (میکانزم) اور پالیسی (پالیسی) موجود ہیں۔ یہ ڈیوائس ڈرائیور ڈویلپمنٹ نہیں ہے ، کوئی بھی پروگرام ان دو اصولوں پر مبنی ہونا چاہئے جیسے نقطہ آغاز ، جیسے انٹرفیس کا ڈیزائن اور عمل درآمد ، آپ کو صرف عملدرآمد کے طریقہ کار پر غور کرنا چاہئے ، ہمیں اس بارے میں فکر مند نہیں ہونا چاہئے کہ کیا ہوگا۔ موکل کے ساتھ میں نے ایک انٹرفیس قائم کیا جس سے یہ معلوم ہوتا ہے کہ کس قسم کی خصوصیات سے صرف یہ معلوم ہوگا کہ کس قسم کے فنکشن ، مؤکل استعمال کے بارے میں کوئی قیاس نہیں کرتا ہے ، بصورت دیگر یہ الجھن انٹرفیس منطق ، جوڑے ہوئے ماڈیول کا باعث بنے گا ، انٹرفیس غیر معقول ہے اور اسی طرح کی۔ اس سے بھی زیادہ آلہ ڈرائیور۔ کمپلیکس ڈیوائس ڈرائیور میموری مینجمنٹ ، نظام الاوقات ، اور پڑھنے اور لکھنے کے قابل ڈیوائس رجسٹر ، فنکشنل صارف اسٹیٹ پروگرام پر عمل درآمد وغیرہ سے متعلق ہوسکتا ہے ، اگر لکھنا ڈرائیو ہیڈ واضح نہیں ہے تو ، ہر ایک کو لاگو کرنا لازمی ہے کہ دوسرے افراد کیسے کریں گے۔ استعمال کریں ، اس بات کا احساس کریں کہ آلہ کے ڈرائیور میں سے بگ 100 ہونا ضروری ہے ، اسے برقرار رکھنا مشکل ہے۔ مختصرا. ، اصول سے نفاذ کے لئے پالیسی فری بہت ضروری ہے ، حالانکہ واضح طور پر سوچنے کے قابل جب اس کا کوڈنگ میکانزم ہے ، جو پالیسی ہے ، ایسا کرنا آسان نہیں ہے۔



ڈیوائس ڈرائیور ایک بوجھ پذیر ماڈیول ڈرائیور کے طور پر پیدا ہوا ہے ، جس میں مختلف افعال کو حاصل کرنے کے لئے یوٹیلیٹی کرنل پر انحصار کرنا پڑتا ہے ، جس میں مذکورہ میموری میموری ، شیڈولنگ ، اور یہاں تک کہ آلہ رجسٹر تک رسائی بھی شامل ہے۔ دانا قدرتی کردار بہت اہم ہے ، عمل مینیجمنٹ ، میموری مینجمنٹ ، فائل سسٹم ، ڈیوائس کنٹرول ، ڈیٹا نیٹ ورک مینجمنٹ ، وغیرہ ، اس سے کوئی فرق نہیں پڑتا ہے کہ کون سا حصہ ہے ، پورے آپریٹنگ سسٹم کی بنیاد ہے۔ ڈرائیو اچھی ہے یا خراب ، اکثر اس پر انحصار کرتی ہے کہ آیا یہ افعال دانا واقف ہے ، اگر مناسب طریقے سے استعمال کیا جائے تو ، ڈرائیور کی ترقی یہاں رگڑنے کے لئے ، اپنے دائرے سے ناواقف ، یا اپنے پہیے بنانے میں وقت ضائع کرنے کے ل feature ، اپنے کاروباری منطق کو حاصل کرنے کے لئے فیچر دانا کا ایک مرکب کی ضرورت ہے ، یا ڈرائیونگ کی کارکردگی / تقریب میں فرق۔ تو یہاں تک کہ ڈیوائس ڈرائیور بھی لکھیں ، اگر ہم پوری دانا کے بارے میں ایک جامع تفہیم حاصل کرسکیں تو ، ایک بہت بڑی مدد ہوگی ، مکمل خصوصیات ، اعلی کارکردگی ، اسکیل ایبلٹی ، مینٹیبلٹیبلٹی اچھے ڈرائیور کے حصول میں مددگار ہوگی۔

دانا ، بہت اچھے ڈیزائن موجود ہیں ، جیسے ماڈیول ، ہر ڈرائیور کو حاصل کرنے کے ل a ایک الگ ماڈیول ڈرائیور ہے ، رن ٹائم متحرک پر بھری اور لوڈ کیا جاسکتا ہے۔ اس کا مطلب متحرک لنک لائبریری ہے ، دانا منیجر ہے ، ماڈیول ڈرائیور چھوٹے بھائی میں سے ایک ہے ، باس ، باس پر درخواست دے گا کہ مانگ پر کیا وسائل درکار ہیں۔ بہت سارے گروہوں میں تقسیم شدہ قسم یا کلاس کے مطابق تمام ڈرائیور ، تنظیم اور انتظام میں سہولت رکھتے ہیں ، ڈرائیور کو صرف دانا کی ضروریات کے مطابق کال بیک کی ایک مقررہ تعداد پر عمل درآمد کرنے کی ضرورت ہوتی ہے ، آپ کام کرسکتے ہیں ، کام کے ڈرائیور کی مشکل کو بہت حد تک کم کرتے ہیں۔ ڈویلپر ، بلکہ اپنے کاروبار کی غیر منطقی منطق کے حصول کے لئے ڈرائیور کو اتنی نرمی فراہم کرتا ہے۔ ایک اچھا آپریٹنگ سسٹم معاملہ ہے ، آپ آپ کو دینا چاہتے ہیں ، اور آپ کو پوری طرح پیار کی طرح پوری آزادی دی ہے۔



دانا کا حصہ ، بہت زیادہ کا بنیادی ، لیکن توسیع کا ہر حصہ ایک بہت بڑا منصوبہ ہے۔ پیکیجنگ ڈیوائس کے ڈرائیور کو ، سب سطح پر انٹرفیس فراہم کرنے ، ہر دانے میں دانا اپنے فرائض سرانجام دیتے ہیں ، سوفٹویئر انجینئرنگ کے اسی سالوں میں ، جب تک کہ ایک پرت کا اضافہ کرنے کے لئے وسط ، ہم تمام مسائل حل کرسکتے ہیں ، ایسا لگتا ہے کہ ہر کام ڈھیلے ہے۔ اصل ایک دوسرے کو پریشان کیے بغیر ، ہر کام کی آزادی کی ضمانت دیتا ہے۔

زیادہ تر سامان ایک کریکٹر ڈیوائس ، اس کریکٹر ڈیوائس ، ایک کلاس بلاک ڈیوائس ، اور نیٹ ورک ڈیوائس سے ہوتا ہے۔ ڈیٹا پروسیسنگ کے ل These اس قسم کے آلات ایک جیسے نہیں ہیں ، کریکٹر موڈ بائٹ اسٹریم کے مطابق ڈیوائس پر عملدرآمد کیا جاتا ہے ، بلاک ڈیوائس کو ڈیٹا بلاک کے مطابق پروسیس کیا جاتا ہے ، نیٹ ورک ڈیوائس کو پیکٹ کے مطابق عمل میں لایا جاتا ہے۔ ڈرائیور ڈویلپرز کو یہ جاننے کی ضرورت ہوتی ہے کہ سامان کیا ہوتا ہے ، کیوں کہ رجسٹریشن کے وقت ڈرائیور ایک ہی کریکٹر ڈیوائس کا استعمال نہیں کرے گا ، آپ کو کریکٹر ڈیوائس سے متعلق مخصوص انٹرفیس ، بلاک ڈیوائسز اور نیٹ ورک کا سامان بھی اسی انٹرفیس کو کال کرنے کی ضرورت ہے۔ ڈیوائس کی مختلف خصوصیات کی وجہ سے ، ان آلات کی دانا کو سنبھالنا مبہم ہے ، ڈرائیور ڈویلپرز کو خود سے نمٹنے کی ضرورت ہے۔

ماڈیولر یہ کہا جاسکتا ہے کہ ڈیزائن کے معیار میں تمام سافٹ ویئر انجینئرنگ ، ہر ماڈیول آزادانہ طور پر کام کرتا ہے ، اگر ہم ماڈل کو دیکھیں تو ، ہر ماڈیول دونوں ہی کلائنٹ سرور ہیں۔

جیسا کہ متعارف کروانا ، مرکزی دانا کے کوڈنگ حصے سے متعلق نہیں ہے ، جس کی وضاحت اعلی سطح پر کی جاتی ہے ، اور دانا اور ڈیوائس ڈرائیور کے کردار اور ذمہ داریوں کے بارے میں واضح نمونہ ہے کہ نمونہ ڈرائیور کے پیچھے کوڈنگ کے ل prepare تیاری کریں۔

ldd3 جائزہ :

باب 2 ماڈیولرائزیشن متعارف کروا رہا ہے

باب 3 نمونہ ڈرائیور جو میموری پر مبنی ہے ، اصل ہارڈ ویئر ڈیوائس کی بجائے ، 'ڈیوائس' کو نمونہ ڈرائیور کے ذریعے پڑھا / لکھا جاسکتا ہے۔

باب 4 ڈیبگ ٹیکنالوجی۔

باب 5 اتفاق اور ریس کی حالت۔

باب 6 پیشگی عنوان ، چار ڈیوائس کی روک تھام کا عمل ، منتخب اور ioctl کا استعمال۔

باب 7 وقت دانا میں انتظام

باب 8 میموری مختص.

آلہ 9 / آلہ کا نظم I / O اور آلہ میموری۔

باب 10 رکاوٹ ہینڈل.

باب 11 میں دانا ڈھانچہ اور پورٹیبل کوڈ کا استعمال کیا گیا ہے۔

باب 12 پی سی آئی ڈیوائس ڈرائیور۔

باب 13 USB آلہ۔

باب 14 کرنل نیچے والا آلہ ماڈل کا بنیادی ڈھانچہ۔

باب 15 دانا میموری میموری۔

باب 16 بلاک ڈیوائس ڈرائیور۔

باب 17 نیٹ ورک ڈیوائس ڈرائیور۔