کیا لینکس POSIX کے مطابق ہے؟

Is Linux Posix Compliant



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

مختصرا، ، POSIX [1] یونیکس اور UNIX جیسے نظاموں کے لیے بالکل ایسا کرتا ہے (اس موضوع پر مزید تفصیلی تاریخ کے لیے Zak H کا مضمون [4] دیکھیں)۔ یہ ایکسچینج انٹرفیس ، کالنگ میکانزم ، اور سافٹ ویئر کے لیے ڈیٹا منتقل کرنے کی وضاحت کرتا ہے لیکن سافٹ ویئر کے ڈویلپر یا مینٹینر پر اندرونی عمل درآمد چھوڑ دیتا ہے۔ مقصد یہ ہے کہ تمام مختلف UNIX فورکس اور UNIX نما نظاموں کو اس طرح یکجا کیا جائے کہ مختلف سافٹ وئیر کے نفاذ ایک دوسرے کے ساتھ بات چیت کر سکیں۔ POSIX کا بنیادی فائدہ یہ ہے کہ ان اجزاء کے لیے بائنڈنگ دستاویزات ہوں - انٹرفیس ، میکانزم اور ڈیٹا - تحریری شکل میں دستیاب ہے۔







ایک آپریٹنگ سسٹم جو مکمل طور پر POSIX معیار کی پیروی کرتا ہے اسے POSIX کے مطابق درجہ بندی کیا جاتا ہے۔ اس آرٹیکل میں ، ہم وضاحت کرتے ہیں کہ POSIX کا مطلب کیا ہے ، اس بات کا تعین کریں کہ لینکس اس زمرے سے تعلق رکھتا ہے ، اور درج کریں کہ لینکس کے کون سے اجزاء کو اس درجہ بندی سے خارج کیا جانا چاہیے۔



POSIX کی اصطلاح کیا ہے؟

POSIX پورٹیبل آپریٹنگ سسٹم انٹرفیس کا مخفف ہے۔ جیسا کہ مختصر طور پر اوپر بیان کیا گیا ہے ، POSIX معیارات کے مجموعے کا نام ہے جو آپریٹنگ سسٹم کے مابین مطابقت کو برقرار رکھنے کے لیے ضروری ہے۔ جیسا کہ [1] میں بیان کیا گیا ہے ، [یہ] یونیکس اور دیگر آپریٹنگ سسٹم کی مختلف حالتوں کے ساتھ سافٹ ویئر کی مطابقت کے لیے کمانڈ لائن شیلز اور یوٹیلیٹی انٹرفیس کے ساتھ ایپلی کیشن پروگرامنگ انٹرفیس (API) کی وضاحت کرتا ہے۔ POSIX کا پہلا ورژن 1988 میں شائع ہوا تھا۔ تب سے ، POSIX کو آسٹن کامن سٹینڈرڈ ریویژن گروپ (جسے آسٹن گروپ بھی کہا جاتا ہے) [7] کی طرف سے مسلسل توسیع اور اپ ڈیٹ کیا گیا ہے۔



2021 تک ، POSIX معیار مندرجہ ذیل حصوں پر مشتمل ہے:





  1. بنیادی خدمات (معیاری ANSI C کو شامل کرتا ہے) (IEEE std 1003.1-1988)-عمل تخلیق اور کنٹرول ، سگنلز ، فائل اور ڈائریکٹری آپریشنز ، پائپ ، C لائبریری ، I/O پورٹ انٹرفیس اور کنٹرول ، عمل کے محرکات
  1. ایکسٹینشنز (علامتی روابط)
  2. ریئل ٹائم اور I/O ایکسٹینشنز۔ (IEEE Std 1003.1b-1993)-ترجیحی شیڈولنگ ، ریئل ٹائم سگنلز ، گھڑیاں اور ٹائمر ، سیمفورس ، میسج پاسنگ ، شیئرڈ میموری ، اسینکرونس اور سنکرونس I/O ، میموری لاکنگ انٹرفیس
  3. تھریڈز ایکسٹینشنز (IEEE Std 1003.1c-1995)-تھریڈ تخلیق ، کنٹرول ، اور صفائی ، دھاگے کا شیڈولنگ ، دھاگے کی ہم آہنگی ، سگنل ہینڈلنگ
  4. مزید ریئل ٹائم ایکسٹینشنز۔
  5. سیکیورٹی ایکسٹینشنز۔ (رسائی کنٹرول کی فہرستیں)
  1. شیل اور افادیت۔ (IEEE Std 1003.2-1992)-کمانڈ انٹرپریٹر ، یوٹیلیٹی پروگرامز۔

تکنیکی تبدیلیوں اور بہتری کو ظاہر کرنے کے لیے معیار کا باقاعدگی سے جائزہ لیا جاتا ہے۔ نیا ورژن شائع ہونے اور تبدیلیوں کو شامل کرنے میں بعض اوقات کئی سال لگ سکتے ہیں۔ یہ نقصان دہ ہوسکتا ہے ، لیکن معیار کے دائرہ کار کو دیکھتے ہوئے یہ قابل فہم ہے۔

حالیہ برسوں میں ، ریئل ٹائم پروسیسنگ میں توسیع شامل کی گئی ہے۔ موجودہ ورژن 2018 کے اوائل میں جاری کیا گیا تھا [3]۔ SibylFS [5] کے مصنفین نے POSIX معیار پر بہت سی تشریحات بھی شائع کی ہیں تاکہ اعلی درجے کی منطق اور تعامل کا تعین کیا جا سکے۔



POSIX کے مطابق ہونے کا کیا مطلب ہے؟

POSIX- کمپلینٹ کی اصطلاح کا مطلب یہ ہے کہ آپریٹنگ سسٹم POSIX کے تمام معیارات پر پورا اترتا ہے۔ ایک آپریٹنگ سسٹم UNIX پروگراموں کو مقامی طور پر چلا سکتا ہے ، یا کسی ایپلی کیشن کو UNIX سسٹم سے دوسرے سسٹم میں پورٹ کیا جا سکتا ہے۔ UNIX سے ٹارگٹ آپریٹنگ سسٹم میں ایپلیکیشن کو پورٹ کرنا آسان ہے ، یا کم از کم آسان ہے ، اگر یہ POSIX کو سپورٹ نہیں کرتا ہے۔ محفوظ پہلو پر رہنے کے لیے ، ایک آپریٹنگ سسٹم کو POSIX سرٹیفیکیشن کامیابی سے حاصل کرنا چاہیے تھا [2]۔ یہ قدم خودکار سرٹیفیکیشن ٹیسٹ پاس کرکے (قیمت پر) حاصل کیا جاتا ہے۔ متعلقہ ٹیسٹ سوٹ یہاں پایا جا سکتا ہے [11]۔

2021 تک ، POSIX مصدقہ آپریٹنگ سسٹم کی فہرست میں IBM سے AIX ، HP سے HP-UX ، SGI سے IRIX ، Huawei سے EulerOS [6] ، Mac OS X ایپل سے (10.5 چیتے کے بعد سے) ، سولاریس اور QNX نیوٹرینو شامل ہیں اوریکل ، انسپور کا K-UX [11] ، اور گرین ہلز سافٹ ویئر [15] سے اصل وقت OS انٹیگریٹی۔ فی الحال یہ واضح نہیں ہے کہ تین سولارس جانشینوں کے نئے ورژن ، اوپن سولاریس ، الیوموس ، اور اوپن انڈیانا کو بھی مکمل طور پر POSIX کے مطابق درجہ بندی کیا گیا ہے۔ یہ آپریٹنگ سسٹم POSIX کے مطابق POSIX 2001 تک تھے۔

دوسرے آپریٹنگ سسٹمز جنہیں زیادہ تر (لیکن مکمل طور پر نہیں) POSIX کے مطابق دیکھا جاتا ہے ان میں اینڈرائیڈ ، بی او ایس ، فری بی ایس ڈی ، ہائکو ، لینکس (نیچے ملاحظہ کریں) ، اور وی ایم ویئر ای ایس ایکس آئی شامل ہیں۔ مائیکروسافٹ ونڈوز کے لیے ، سائگ ون بڑی حد تک POSIX- مطابق ترقی اور رن ٹائم ماحول فراہم کرتا ہے۔

کیا لینکس POSIX کے مطابق ہے؟

اصطلاح لینکس پورے لینکس آپریٹنگ سسٹم سے مراد ہے ، ذائقہ سے قطع نظر ، جیسے ڈیبین جی این یو/لینکس ، ریڈ ہیٹ لینکس ، لینکس منٹ ، اوبنٹو لینکس ، فیڈورا اور سینٹوس ، مثال کے طور پر۔ عین مطابق ، لینکس صرف دانا کا نام ہے جو اس مفت آپریٹنگ سسٹم کا بنیادی جزو ہے۔

جیسا کہ لینس ٹوروالڈس نے کتاب جسٹ فار فن [8] میں بیان کیا ہے ، لینکس دانا تیار کرنے کے لیے ، اس نے POSIX معیار کی ایک کاپی کی درخواست کی۔ اس نے اسے اسی میکانزم کو نافذ کرنے میں مدد دی جو تجارتی UNIX سسٹم میں استعمال ہوتی ہے۔ مزید برآں ، اس نے اسے لینکس کرنل کو جی این یو ٹولز سے جوڑنے کی اجازت دی جو بنیادی طور پر اسی نقطہ نظر پر عمل پیرا ہے۔ منصفانہ طور پر ، لینکس سسٹم کے سافٹ ویئر کو مختلف ذرائع سے تعاون کیا جاتا ہے جو POSIX معیار کا احترام کرتے ہیں ، لیکن یہ بعض اوقات ان کے اپنے تصورات کو بھی نافذ کرتا ہے۔ ایک ہی وقت میں ، تاہم ، یہ تنوع کو بھی ظاہر کرتا ہے جو لینکس کو ایک آپریٹنگ سسٹم بناتا ہے۔

اس کی ایک مثال وہ طریقہ ہے جس میں کمانڈ لائن دلائل لکھے جاتے ہیں۔ دو ڈیشز (جیسے ، phelp) کے ساتھ دلائل GNU کنونشن ہیں ، جبکہ POSIX کمانڈ کبھی بھی دو ڈیش دلائل استعمال نہیں کرتے ہیں بلکہ اس کے بجائے صرف ایک (مثال کے طور پر ، مدد)۔ شروع سے ہی ، لینکس کو جی این یو کو ذہن میں رکھتے ہوئے ڈیزائن کیا گیا تھا ، اور اسی وجہ سے کمانڈز میں جی این یو طرز موجود ہے

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

ابھی کے لیے ، لینکس زیادہ قیمتوں کی وجہ سے POSIX سے تصدیق شدہ نہیں ہے ، سوائے دو تجارتی لینکس کی تقسیم کے Inspur K-UX [12] اور Huawei EulerOS [6] کے۔ اس کے بجائے ، لینکس کو زیادہ تر POSIX کے مطابق سمجھا جاتا ہے۔

یہ تشخیص اس حقیقت کی وجہ سے ہے کہ بڑی لینکس تقسیم POSIX [9] کے بجائے لینکس سٹینڈرڈ بیس (LSB) کی پیروی کرتی ہے۔ ایل ایس بی کا مقصد انفرادی لینکس تقسیم کے درمیان فرق کو کم کرنا ہے [14]۔ اس سے مراد سافٹ وئیر سسٹم ڈھانچہ ہے ، بشمول فائل سسٹم ہائیرارچی سٹینڈرڈ (FHS) جو لینکس کرنل میں استعمال ہوتا ہے۔ LSB POSIX تصریح ، سنگل UNIX تفصیلات (SUS) [10] ، اور کئی دوسرے کھلے معیاروں پر مبنی ہے ، بلکہ بعض علاقوں میں ان کی توسیع بھی کرتا ہے۔

ایل ایس بی پر مبنی لینکس کی تقسیم میں ریڈ ہیٹ لینکس ، ڈیبین جی این یو/لینکس (2002-2015) ، اور اوبنٹو (2015 تک) شامل ہیں۔

POSIX کو ذہن میں رکھتے ہوئے ترقی کرنا۔

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

لنکس اور حوالہ جات۔

شکریہ۔

مصنف اس مضمون کی تیاری کے دوران ان کی مدد اور مشورے کے لیے ایکسل بیکرٹ اور ویٹ شیل کا شکریہ ادا کرنا چاہیں گے۔