Seventh Edition Unix terminal interface
ساتویں ایڈیشن یونکس ٹرمینل انٹرفیس عمومی تجریدی ہے، جس میں پروگراموں کے لیے ایک ایپلیکیشن پروگرامنگ انٹرفیس اور صارفین کے لیے طرز عمل کی توقعات کا ایک مجموعہ شامل ہے، جیسا کہ ساتویں ایڈیشن یونکس میں تاریخی طور پر دستیاب ہے۔ اسے بڑی حد تک پوزیکس ٹرمینل انٹرفیس نے ختم کر دیا ہے۔ تصورات اور جائزہ ساتویں ایڈیشن یونکس اور یونکس/32 وی کے ذریعہ فراہم کردہ ٹرمینل انٹرفیس، اور بی ایس ڈی ورژن 4 کے ذریعہ پرانے ٹرمینل ڈرائیور کے طور پر بھی پیش کیا گیا، ایک آسان تھا، جو بڑی حد تک ٹرمینلز کے طور پر ٹیلی ٹائپ رائٹرز کی طرف تیار تھا۔ ان پٹ کو ایک وقت میں ایک لائن میں داخل کیا جاتا تھا، جس میں آپریٹنگ سسٹم میں ٹرمینل ڈرائیور (اور خود ٹرمینلز نہیں) آسان لائن ایڈیٹنگ کی صلاحیتیں فراہم کرتا تھا۔ دانا کے ذریعے ایک بفر برقرار رکھا جاتا تھا جس میں ترمیم کی جاتی تھی۔ ٹرمینل ان پٹ پڑھنے والی ایپلی کیشنز کو بفر کے مندرجات صرف اس وقت موصول ہوں گے جب لائن ایڈیٹنگ کو ختم کرنے کے لیے ٹرمینل پر کلید کو دبایا جائے۔ ٹرمینل سے سسٹم کو بھیجی گئی کلید ایڈیٹنگ بفر کے تمام موجودہ مواد کو مٹا دے گی ("کل")، اور اسے عام طور پر "@" علامت کے طور پر دکھایا جائے گا جس کے بعد پرنٹ پوزیشن کو نئی خالی لائن پر منتقل کرنے کے لیے ایک نئی لائن ترتیب ہوگی۔ ٹرمینل سے سسٹم کو بھیجی گئی کلید ایڈیٹنگ بفر کے آخر سے آخری کردار کو مٹا دے گی، اور اسے عام طور پر '#' علامت کے طور پر دکھایا جائے گا، جسے صارفین کو پچھلے کردار کے "رب آؤٹ" کی نشاندہی کرنے کے طور پر پہچاننا ہوگا (ٹیلی ٹائپ رائٹر کاغذ پر پرنٹ ہونے کے بعد حروف کو مٹانے کے جسمانی طور پر قابل نہیں ہوتے ہیں)۔ پروگرامنگ کے نقطہ نظر سے، ایک ٹرمینل ڈیوائس میں باؤڈ ریٹس منتقل اور وصول ہوتے ہیں، "مٹائیں" اور "مار دیں" حروف (جو لائن ایڈیٹنگ انجام دیتے ہیں، جیسا کہ بیان کیا گیا ہے)، "انٹرپٹ" اور "کوئٹ" حروف (ان تمام عملوں کے لیے سگنل پیدا کرتے ہیں جن کے لیے ٹرمینل ایک کنٹرولنگ ٹرمینل تھا)، "اسٹارٹ" اور "اسٹاپ" حروف (سافٹ ویئر فلو کنٹرول کے لیے استعمال ہوتے ہیں)، "اینڈ آف فائل" کردار (ریڈ () سسٹم کال کے ذریعے بفر سے خارج کیے جانے کے علاوہ کیریج ریٹرن کی طرح کام کرتے ہیں اور اس وجہ سے ممکنہ طور پر صفر لمبائی کا نتیجہ واپس کرنے کا سبب بنتے ہیں) اور مختلف موڈ فلیگ یہ طے کرتے ہیں کہ آیا کرنل کے ٹرمینل ڈرائیور کے ذریعے مقامی گونج کی تقلید کی گئی تھی، آیا موڈیم فلو کنٹرول فعال کیا گیا تھا، مختلف آؤٹ پٹ ساتویں ایڈیشن یونکس میں ٹرمینلز کے لیے تین ان پٹ موڈ تھے: لائن موڈ (جسے "پکا ہوا" موڈ بھی کہا جاتا ہے) لائن موڈ میں لائن ڈسپلن تمام لائن ایڈیٹنگ افعال انجام دیتا ہے اور "انٹرپٹ" اور "کوئٹ" کنٹرول حروف کو پہچانتا ہے اور انہیں عمل میں بھیجے گئے سگنلز میں تبدیل کرتا ہے۔ ٹرمینل سے پڑھنے والے ایپلی کیشنز پروگرام پوری لائنیں وصول کرتے ہیں، جب صارف ریٹرن دبا کر لائن ایڈیٹنگ مکمل کر لیتا ہے۔ سی بریک موڈی بریک موڈ دو کردار پر ایک وقت کے طریقوں میں سے ایک ہے۔ (اسٹیفن آر بورن نے مذاق میں اسے "آدھا پکا ہوا" اور اس لیے "نایاب" موڈ قرار دیا۔) لائن ڈسپلن کوئی لائن ایڈیٹنگ انجام نہیں دیتا، اور لائن ایڈیٹنگ افعال کے لیے کنٹرول سیکوینس کو عام کریکٹر ان پٹ کے طور پر مانا جاتا ہے۔ ٹرمینل سے پڑھنے والے ایپلی کیشنز پروگرام جیسے ہی وہ پڑھنے کے لیے ان پٹ قطار میں دستیاب ہوتے ہیں، فوری طور پر حروف وصول کرتے ہیں۔ تاہم، "انٹرپٹ" اور "کوئٹ" کنٹرول حروف، نیز موڈیم فلو کنٹرول حروف، اب بھی خاص طور پر ہینڈل کیے جاتے ہیں اور ان پٹ اسٹریم سے نکالے جاتے ہیں۔ خام ماڈرا موڈ دو کریکٹر-ایٹ-اے-ٹائم طریقوں میں سے دوسرا ہے۔ لائن ڈسپلن کوئی لائن ایڈیٹنگ انجام نہیں دیتا، اور لائن ایڈیٹنگ افعال اور مختلف خصوصی حروف ("انٹرپٹ"، "کوئٹ"، اور فلو کنٹرول) دونوں کے لیے کنٹرول سیکوینس کو عام کردار ان پٹ کے طور پر مانا جاتا ہے۔ ٹرمینل سے پڑھنے والے ایپلی کیشنز پروگرام فوری طور پر حروف وصول کرتے ہیں، اور پورے کردار کے سلسلے کو بغیر کسی تبدیلی کے وصول کرتے ہیں، بالکل اسی طرح جیسے یہ ٹرمینل ڈیوائس سے آیا تھا۔ پوزیکس ٹرمینل انٹرفیس میں، ان طریقوں کو صرف دو ان پٹ طریقوں کے نظام کے ذریعے ختم کر دیا گیا ہے: کینونکل اور نان کینونکل۔ پوزیکس ٹرمینل انٹرفیس میں سگنل پیدا کرنے والے خصوصی حروف کی ہینڈلنگ ان پٹ موڈ سے آزاد ہے، اور الگ سے قابل کنٹرول ہے۔ کنٹرولنگ ٹرمینلز ساتویں ایڈیشن یونکس میں کوئی ٹرمینل جاب کنٹرول نہیں تھا اور ایک پروسیس گروپ کو وہ نہیں سمجھا جاتا تھا جو آج کل سمجھا جاتا ہے۔ نظام میں ہر عمل میں یا تو ایک واحد کنٹرولنگ ٹرمینل تھا، یا کوئی کنٹرولنگ ٹرمینل بالکل نہیں تھا۔ ایک عمل اپنے کنٹرولنگ ٹرمینل کو اپنے والدین سے وراثت میں حاصل کرتا ہے۔ ایک کنٹرولنگ ٹرمینل اس وقت حاصل کیا گیا جب کوئی ایسا عمل جس میں کوئی کنٹرولنگ ٹرمینل اوپن () نہیں ہے ایک ٹرمینل ڈیوائس فائل ہے جو پہلے سے ہی کسی دوسرے عمل کے لیے کنٹرولنگ ٹرمینل نہیں ہے۔ وہ تمام عمل جن کا کنٹرولنگ ٹرمینل ایک ہی تھا، ایک ہی عمل گروپ کا حصہ تھے۔ ایپلیکیشن پروگرامنگ انٹرفیس ان تمام طریقوں اور کنٹرول حروف کی استفسار اور ترمیم کے لیے پروگراماتی انٹرفیس ioctl () سسٹم کال تھا۔ (اس نے چھٹے ایڈیشن یونکس کے سٹی () اور جی ٹی ٹی () سسٹم کالز کی جگہ لے لی۔) اگرچہ "مٹائیں" اور "مار دیں" حروف کو ان کے ڈیفالٹ سے تبدیل کیا جا سکتا تھا اور، ساتویں ایڈیشن کی ترقی کے جمود کے بعد کئی سالوں تک اس کا مطلب یہ تھا کہ وہ ٹرمینل ڈیوائس ڈرائیوروں میں پہلے سے طے شدہ ڈیفالٹ تھے، اور بہت سے یونکس سسٹمز پر، جنہوں نے صرف ٹرمینل ڈیوائس کی ترتیبات کو لاگ ان کے عمل کے حصے کے طور پر تبدیل کیا، سسٹم لاگ ان اسکرپٹ میں جو صارف کے صارف نام اور پاس ورڈ درج کرنے کے بعد چلتے تھے، لاگ ان اور پاس ورڈ پرامپٹ پر کسی بھی غلطی کو ٹیلی ٹائپ رائٹر ٹرمینلز سے وراثت میں ملنے والے تاریخی ایڈیٹنگ کلیدی حروف کا استعمال کرتے ہوئے درست کرنا پڑتا تھا۔ علامتی مستقلات، جن کی اقدار مقررہ اور متعین تھیں، اور پروگراماتی انٹرفیس کی ڈیٹا ڈھانچے کی تعریفیں sgtty.h سسٹم ہیڈر میں بیان کی گئی تھیں۔ ioctl () آپریشنز آئیوکٹل () آپریشنز مندرجہ ذیل تھے: ایس جی ٹی ٹی آئی بی ڈیٹا اسٹرکچر ٹرمینل سسٹم کالز کے ذریعہ استعمال ہونے والا ایک ڈیٹا اسٹرکچر ایس جی ٹی آئی بی اسٹرکچر ہے، جس کی سی پروگرامنگ زبان کی تعریف مندرجہ ذیل ہے: اسٹرکٹ ایس جی ٹی آئی بی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس جی ایس sg _ ispeed اور sg _ ospeed فیلڈز میں ان پٹ اور آؤٹ پٹ کی رفتار DEC DH-11 کی تھی، اور یہ نمبر 0 سے 15 تک تھے، جن کی نمائندگی علامتی مستقلات (چڑھتے ہوئے ترتیب میں) B0، B50، B75، B110، B134، B150، B200، B300، B 600، B1200، B1800، B2400، B4800، B9600، EXTA، اور EXTB سے ہوتی ہے، جہاں باؤڈ کی شرح نام کی طرح تھی (آخری دو "بیرونی A" اور "بیرونی B" کے ساتھ)۔ صفر کی باؤڈ ریٹ ترتیب دینے سے ٹرمینل ڈرائیور کو موڈیم کو بند کرنے پر مجبور ہونا پڑا (اگر ٹرمینل موڈیم ڈیوائس تھا)۔ ایس جی ایرس اور ایس جی کل فیلڈز بالترتیب "ایرس" اور "کل" حروف کی کریکٹر ویلیوز تھیں، جو بالترتیب "اور" کے لیے (اے ایس سی آئی آئی) ویلیوز پر ڈیفالٹ ہوتی ہیں۔ ایس جی _ فلیگ فیلڈ نے مختلف ان پٹ اور آؤٹ پٹ کنٹرول فلیگ کی وضاحت کی، جیسا کہ درج ذیل ٹیبل میں ہے۔ ٹیچارز ڈیٹا اسٹرکچر ٹرمینل سسٹم کالز کے ذریعہ استعمال ہونے والا ایک ڈیٹا اسٹرکچر ٹیچارز اسٹرکچر ہے، جس کی سی پروگرامنگ زبان کی تعریف مندرجہ ذیل ہے: اسٹرکچر ٹیچارز {چار ٹی _ انٹرک ؛// انٹرپٹ چار ٹی _ کوئٹ سی ؛// اسٹارٹ چار ٹی _ اسٹاپ سی ؛// اسٹاپ چار ٹی _ ای او ایف سی ؛// فائل چار ٹی _ بریک کا اختتام ؛// بریک (اسی اثر کے ساتھ ہارڈ وائرڈ ایل ایف کردار کا متبادل) ؛ ان فیلڈز کی اقدار مختلف پروگراماتی طور پر تشکیل پذیر خصوصی حروف کی اقدار تھیں۔ کسی بھی فیلڈ میں A-1 ویلیو نے ٹرمینل ڈرائیور کے ذریعے اس کی شناخت کو غیر فعال کر دیا۔ حوالہ جات ببلیوگرافی ایپلی کیشن پروگرامنگ انٹرفیس بیل لیبز یونیسیس برکلے سافٹ ویئر ڈسٹری بیوشن کمپیوٹر ٹرمینلز تکنیکی مواصلات