کمپیوٹنگ کی چند اصطلاحات کی وضاحت — Z

Z-Buffering

اسے Depth Buffering بھی کہا جاتا ہے جو کہ تھری ڈی کمپیوٹر گرافکس میں ایک اہم تکنیک ہے، جس کا مقصد یہ طے کرنا ہوتا ہے کہ بدلتے ہوئے منظر میں کون سے آبجیکٹس یا آبجیکٹس کا حصے کیمرے کے قریب یعنی آگے آ چکے ہیں اور اب انہیں نظر آنا چاہیے، اسی طرح کون سے آبجیکٹس یا آبجیکٹس کے حصے اب پیچھے چھپ جائیں گے۔ سکرین کے ہر پکسل Pixel کے ساتھ ایک Z-Value منسلک ہوتی ہے جو اس کے ظاہر یا غائب ہونے کی حالت کا تعین کرتی ہے، جبکہ Z-Buffer وہ جگہ ہے جہاں ہر پکسل کی Z-Value محفوظ کی جاتی ہے۔ جوں جوں منظر بدلتا ہے تو سکرین کے تمام پکسلز کی Z-Value ساتھ ساتھ چیک کی جاتی ہے اور اس کے مطابق ظاہر ہونے والے آبجیکٹس یا ان کے حصوں کے پکسلز کو اپ ڈیٹ کیا جاتا ہے، جبکہ باقیوں کو نظرانداز کر دیا جاتا ہے۔

Z-Channel

یہ ایک کمیونیکیشن ماڈل ہے جو یہ سمجھنے میں مدد دیتا ہے کہ ڈیٹا کی ترسیل کے دوران غلطیاں کیسے پیدا ہوتی ہیں۔ ڈیٹا کمیونیکیشن کے حوالے سے اس ماڈل کو مدنظر رکھتے ہوئے ایسے Error Correction Codes (غلطیوں کی تصحیح کے کوڈز) تیار کیے جاتے ہیں جو ان غلطیوں کو خودبخود ٹھیک کرنے کی کوشش کرتے ہیں۔ اس تکنیک کو مشین لرننگ میں ماڈلز کی غلطیوں کو سمجھنے اور میموری ڈیزائن میں ڈیٹا کی خرابیوں کو روکنے کے لیے بھی استعمال کیا جاتا ہے، اس طرح یہ ماڈل کمپیوٹر سسٹمز کو زیادہ مؤثر اور قابلِ اعتماد بنانے میں مدد دیتا ہے۔

Z Notation

ایک خاص طرح کی زبان جو کمپیوٹر پروگرام بنانے میں مدد دیتی ہے۔ اس کا مقصد یہ ہے کہ جب کوئی سافٹ ویئر یا پروگرام بنایا جائے تو اس کی تمام تفصیلات اور خصوصیات کو خاص طریقے سے لکھ لیا جائے تاکہ اس میں کوئی ابہام نہ رہے۔ یہ زبان چونکہ ریاضی اور منطق کے اصولوں پر بنائی گئی ہے اس لیے اس کی Notations (ہدایتی علامات) بہت درست اور واضح ہوتی ہے۔ دوسرے الفاظ میں Z notation ایک خاکہ یا بلیوپرنٹ کے طور پر یہ بتاتا ہے کہ کوئی پروگرام کیسے کام کرے گا۔ یہ ہدایات براہ راست کوڈ میں تبدیل نہیں کی جاتیں بلکہ انہیں پروگرام کی بنیادوں اور خصوصیات کو درست طریقے سے بیان کرنے کے لیے استعمال کیا جاتا ہے تاکہ جب پروگرام بنے تو کسی ابہام کی وجہ سے خرابی پیدا نہ ہو۔

Z-Order

کمپیوٹر میں مختلف پروگرامز پر کام کرتے ہوئے اگر ان کی Windows کو چھوٹا کیا جائے تو وہ ایک دوسرے کے اوپر نظر آتی ہیں۔ پھر ان میں سے جب آپ کسی ایسی ونڈو پر کلک کرتے ہیں جو اس وقت کسی دوسری ونڈو کے پیچھے ہے، تو وہ کلک کرنے سے سامنے آجاتی ہے۔ جبکہ جو ونڈو پہلے سامنے ہوتی ہے اب وہ پیچھے چلی جاتی ہے۔ اسے Z-Order کہتے ہیں یعنی ونڈوز کے ایک دوسرے کے اوپر ہونے کی ترتیب۔ آپریٹنگ سسٹم کا جو گرافیکل یوزر انٹرفیس GUI ہوتا ہے اس میں یہ تکنیک استعمال کی جاتی ہے تاکہ پتہ چلایا جا سکے کہ سکرین پر موجود کونسی ونڈوز کے پکسلز کو اپڈیٹ کرنے کی ضرورت ہے۔ یعنی جب آپ کسی ونڈو کو ماؤس کے ساتھ پکڑ کر سکرین پر اس کی جگہ تبدیل کریں تو ضروری نہیں کہ GUI تمام سکرین کے پکسلز کو اپڈیٹ کرے، بلکہ وہ صرف انہی ونڈوز کے پکسلز کو اپ ڈیٹ کرے گا جو اس حرکت سے متاثر ہوئی ہیں، یعنی جن کے کچھ حصے ظاہر کرنے اور کچھ حصے چھپانے کی ضرورت ہے۔

Z3

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

Z80

امریکی کمپنی Zilog کا 1976ء میں تیار کردہ 8-بٹ مائیکرو پروسیسر جو اس زمانے میں پرسنل کمپیوٹرز اور ویڈیو گیمز میں استعمال ہوا اور بہت مقبولیت حاصل کی۔ یہ پروسیسر خاص طور پر Intel 8080 کے ساتھ مطابقت رکھنے کے لیے بنایا گیا تھا تاکہ پرانے سافٹ ویئر بھی اس نئے پروسیسر پر چل سکیں۔ یہ پراسیسر کمپیوٹر کے مختلف حصوں کو کنٹرول کرتا تھا جیسے میموری، ان پٹ/آؤٹ پٹ ڈیوائسز، اور ڈیٹا پروسیسنگ وغیرہ، جو کہ عموماً‌ پراسیسر کا کام ہوتا ہے۔ اس میں 150 سے زائد انسٹرکشنز تھیں جن کے ذریعے یہ مختلف کام انجام دے سکتا تھا جیسے جمع تفریق، ڈیٹا منتقل کرنا، اور لوپنگ وغیرہ۔ اس کی رفتار 2.5MHz سے 8MHz تک تھی جو اسے ایک سیکنڈ میں ہزاروں آپریشنز کرنے کے قابل بناتی تھی، اور اپنے زمانے کے لحاظ سے اس پروسیسر کی کارکردگی بہت متاثر کن تھی۔

Zettabyte (ZB)

ویسے تو کمپیوٹر میں ڈیٹا سٹوریج کا بنیادی یونٹ bit ہے، جو میموری یا ڈرائیو پر 0 اور 1 کی شکل میں محفوظ ہوتا ہے۔ لیکن اگر ڈیٹا کی پیمائش کی بات کی جائے تو اس کا بنیادی یونٹ byte ہے جو کہ 8 بٹس پر مشتمل ہوتا ہے۔ ایک بائٹ کو آپ ایک حرف سمجھ لیں۔ کمپیوٹر میں ڈیٹا سٹوریج کے یونٹس کی ترتیب کچھ اس طرح ہے: بائٹ، کلوبائٹ، میگابائٹ، گیگابائٹ، ٹیرابائٹ، پیٹابائٹ، ایکسابائٹ، زیٹابائٹ، یوٹابائٹ۔ اس سے آپ سمجھ سکتے ہیں کہ Zettabyte کتنا بڑا نمبر ہے۔ فی الحال کمپیوٹنگ کی دنیا گیگابائٹ سے ٹیرابائٹ کی طرف بڑھ رہی ہے۔ بعض رپورٹس کے مطابق دنیا میں اس وقت ڈیجیٹل ڈیٹا کی مقدار تقریباً‌ 200 زیٹابائٹ ہے۔ Zettascale Computing ایسی کمپیوٹنگ کو کہا جاتا ہے جس میں کم از کم ایک زیٹابائٹ ڈیٹا سنبھالنے کی صلاحیت ہو۔

Zero-Day

Zero-Day ایسے حفاظتی نقص (Security Vulnerability) کو کہتے ہیں جو کسی سافٹ ویئر یا نظام میں موجود ہو لیکن اس کے بنانے والوں یا اس کے صارفین کو اس کے بارے ابھی ابھی پتہ چلا ہو۔ اسے Zero-Day اس لیے کہا جاتا ہے کیونکہ اس خامی کو دریافت ہوئے ابھی ’’صفر دن‘‘ ہی ہوئے ہیں اور اس کا کوئی سدباب موجود نہیں ہے۔ یعنی اس کے لیے کوئی حفاظتی حل یا کوئی سافٹ ویئر اپڈیٹ دستیاب نہیں ہے اس لیے ہیکرز اسے فوراً استعمال کر کے اپنا مقصد حاصل کر سکتے ہیں۔

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

جب کوئی ہیکر کسی ایسے نقص کو دریافت کر لیتا ہے تو وہ ایک Exploit تیار کرتا ہے یعنی ایسا طریقہ جس سے وہ اس کمزوری کا فائدہ اٹھا کر سسٹم میں داخل ہو جائے اور ڈیٹا چرا سکے یا کوئی نقصان پہنچا سکے۔ چونکہ یہ حملہ اس حوالے سے خطرناک ہوتا ہے کہ کمپنی یا صارف اس خامی سے لا علمی کی وجہ سے کوئی حفاظتی اقدام نہیں کر پاتے۔ ہیکرز عموماً‌ حساس نظاموں جیسے بینکنگ، حکومتی اداروں، یا بڑی کمپنیوں کے سافٹ ویئر میں Vulnerabilities تلاش کرتے ہیں، جہاں وہ کوئی بڑا ہاتھ مار سکیں۔

Zero-Fill

یہ ایک سادہ اور مؤثر طریقہ ہے جس کے ذریعے کمپیوٹر کی کسی سٹوریج ڈیوائس سے ڈیٹا کو مستقل طور پر مٹایا جاتا ہے۔ آپ جانتے ہوں گے کہ جب کسی کمپیوٹنگ ڈیوائس سے ڈیٹا ڈیلیٹ کیا جاتا ہے تو وہ فوری طور پر سٹوریج ڈیوائس سے ختم نہیں ہو جاتا، حتیٰ کہ Recycle Bin سے ڈیلیٹ کرنے پر بھی نہیں، بلکہ آپریٹنگ سسٹم اس کو ڈیٹا کو نشانزد کر کے غائب کر دیتا ہے، اور کسی مناسب وقت میں اس وقت ڈیلیٹ کرتا ہے جب اسے ڈیوائس پر مزید خالی جگہ کی ضرورت ہوتی ہے۔ چنانچہ ایسے مختلف سافٹ ویئر ٹولز دستیاب ہیں جو اس طرح کے ڈیلیٹ شدہ ڈیٹا کو Recover کر لیتے ہیں۔

سٹوریج ڈیوائسز کو فارمیٹ کرنے والے ٹولز میں عام طور پر Wiping کے عنوان سے آپشن موجود ہوتا ہے جو پوری سٹوریج ڈیوائس کی Bits کو صفر سے بھر دیتا ہے، یعنی ہر بٹ کو 0 سے اووررائٹ کر دیتا ہے۔ اس کا مقصد یہ ہوتا ہے کہ پرانا ڈیٹا مکمل طور پر ختم ہو جائے اور اسے کسی بھی ڈیٹا ریکوری سافٹ ویئر سے دوبارہ حاصل نہ کیا جا سکے۔ یہ طریقہ موجودہ دور کی تقریباً‌ سب سٹوریج ڈیوائسز پر استعمال ہو سکتا ہے مثلاً‌ مکینیکل ہارڈ ڈرائیو، سالڈ سٹیٹ ڈرائیو، میموری کارڈز وغیرہ۔

اس تکنیک سے سٹوریج ڈیوائس کو صاف کرنا اس صورت میں ضروری ہو جاتا ہے جب آپ کسی پرانی ڈیوائس کو بیچتے ہوئے یا ری سائیکل کرتے ہوئے یہ یقین دہانی کرنا چاہتے ہوں کہ کوئی آپ کے ذاتی یا کاروباری ڈیٹا کو Recover نہ کر سکے۔

Zero-Inflated Model

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

یہ ماڈل خاص طور پر صحت، ماحولیات، سماجی تحقیق، اور دیگر شعبوں میں استعمال ہوتے ہیں جہاں Count Data میں صفر کی تعداد غیر معمولی ہو۔ اور اس میں دو طرح کے صفروں کا لحاظ رکھا جاتا ہے، مثلاً‌ ایک Structural Zeros یعنی جن مریضوں کے آنے کا امکان ہی نہیں ہے، اور دوسرا Sampling Zeros جو مریض کسی خاص وجہ سے نہیں آسکے اور اگلے سال ان کے آنے کا امکان موجود ہے۔

Zero-Knowledge Proof (ZKP)

کمپیوٹر سائنس میں کرپٹوگرافی ایسا شعبہ ہے جس میں خاص معلومات کوڈز کی شکل میں لکھی جاتی ہے تاکہ وہ معلومات صرف وہ لوگ پہچان سکیں جو اسے ڈی۔کوڈ کر سکتے ہیں۔ جبکہ کرپٹوگرافی میں Zero-Knowledge Proof تصدیق کا ایک ایسا طریقہ ہے جس میں بغیر اصل معلومات مہیا کیے اپنے آپ کو مصدقہ ثابت کیا جاتا ہے۔ اس عمل میں ایک Prover ہوتا ہے جس نے بغیر معلومات مہیا کیے یہ ثابت کرنا ہوتا ہے کہ میرے پاس وہ خاص معلومات موجود ہیں۔ دوسرا Verifier ہوتا ہے جس نے اصل معلومات وصول کیے بغیر یہ جاننا ہوتا ہے کہ Prover سچ کہہ رہا ہے کہ اس کے پاس معلومات موجود ہیں۔ چنانچہ Prover اصل معلومات تو مہیا نہیں کرتا، لیکن وہ کچھ دوسرے طریقوں سے یہ ثابت کرتا ہے کہ اس کے پاس وہ معلومات موجود ہیں۔ اسی حوالے سے اسے Zero-Knowledge Proof کہا جاتا ہے۔

Zero Latency

اس سے مراد یہ ہے کہ کمپیوٹنگ کے کسی پراسیس میں کوئی تاخیر نہ ہو یعنی وہ عمل فوراً‌ ہو جائے اور کسی قسم کا انتظار نہ کرنا پڑے۔ یوں سمجھیں کہ جب آپ بجلی کا بٹن دباتے ہیں تو لائٹ فوراً‌ آن ہو جاتی ہے، یعنی اس میں زیرو لیٹنسی ہے۔ اس کے برعکس جب آپ پنکھا چلاتے ہیں تو اس کے پر آہستہ آہستہ گھومنا شروع ہوتے ہیں اور چند سیکنڈز میں پنکھا پوری رفتار پکڑتا ہے، یعنی اس عمل میں زیرو لیٹنسی نہیں ہے۔ کمپیوٹنگ میں Zero-Latency کی اصطلاح اکثر گیمنگ، نیٹ ورکنگ، اور دیگر جدید ٹیکنالوجیز میں استعمال ہوتی ہے جہاں تیز ردعمل بہت ضروری ہوتا ہے، اور معمولی تاخیر بھی کسی عمل کو ناقابلِ قبول بنا سکتی ہے۔

Zero Trust Architecture (ZTA)

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

ZFS (Zettabyte File System)

جیسا کہ نام سے ظاہر ہے کہ یہ ایک جدید فائل سسٹم ہے جو بہت بڑی مقدار میں ڈیٹا کو ہینڈل اور محفوظ رکھنے کے لیے بنایا گیا ہے۔ کمپیوٹر سائنس میں جب ڈیٹا بڑھتا جاتا ہے تو اسے پراسیس کرنے کا عمل بھی چیلنجنگ ہوتا چلا جاتا ہے، چنانچہ اس کے لیے پیچیدہ الگورتھمز لکھے جاتے ہیں اور خاص سافٹ ویئر تیار کیے جاتے ہیں۔ ڈیٹا سٹوریج کے حوالے سے گزشتہ کئی دہائیوں سے مختلف صلاحیتوں کے حامل فائل سسٹمز ایجاد ہوئے ہیں، جیسا کہ ونڈوز آپریٹنگ سسٹم پر FAT سیریز، NTFS، لینکس آپریٹنگ سسٹم پر ext سیریز اور XFS وغیرہ، ایپل آپریٹنگ سسٹم پر HFS سیریز اور APFS، اسی طرح نیٹ ورک سٹوریج کے لیے الگ فائل سسٹمز موجود ہیں۔ ہر فائل سسٹم کی کچھ خصوصیات اور سٹوریج کی حدود ہوتی ہیں جو اسے اس آپریٹنگ سسٹم کے لیے قابلِ استعمال بناتی ہیں جس کے لیے وہ فائل سسٹم تیار کیا گیا ہے۔

Zig

Zig ایک نئی کمپیوٹر پروگرامنگ لینگویج ہے جو 2016ء میں پہلی بار سامنے آئی تھی۔ اس کا مقصد یہ بتایا جاتا ہے کہ یہ ان خامیوں اور کمزوریوں کو دور کرتی ہے جو C پروگرامنگ لینگویج میں پائی جاتی ہیں۔ اگرچہ C کافی پرانی اور پاورفل لینگویج ہے جو 1972ء میں منظر عام پر آئی تھی اور اسے کئی دہائیوں سے لاکھوں کروڑوں سسٹمز میں استعمال کیا جا رہا ہے۔ اس کی خاصیت یہ ہے کہ یہ ہارڈویئر کے قریب ترین لینگویج ہے جو سادہ انگریزی زبان میں ہدایات وصول کرتی ہے۔ لیکن اس میں کچھ کمزوریاں بھی ہیں جیسا کہ پروگرامر کو اپنے لکھے ہوئے پروگرام کے اندر کمپیوٹر میموری کو خود Manage کرنا پڑتا ہے۔ Zig لینگویج کا دعویٰ ہے کہ یہ C کی طرح تیز اور سسٹم کے قریب کام کرتی ہے لیکن اس میں میموری کی حفاظت (Memory Safety) اور غلطیوں سے نمٹنے (Error Handling) کے بہتر طریقے شامل ہیں۔ Zig لینگویج کا ایک اور فائدہ یہ بتایا جاتا ہے کہ یہ براہ راست C لینگویج کے کوڈ کو استعمال کر سکتی ہے، جس سے C کے موجودہ پراجیکٹس کو Zig میں لانا آسان ہو جاتا ہے، یعنی وہ پروگرام نئے سرے سے نہیں لکھنے پڑیں گے۔

Zigbee

Zigbee ایک وائرلیس پروٹوکول ہے جو Wi-Fi اور Bluetooth کے مقابلے میں بہت کم بجلی اور ڈیٹا بینڈوِتھ استعمال کرتا ہے، اس لیے بیٹری سے چلنے والی زیادہ تر ڈیوائسز کے لیے یہ بہت کارآمد ہے، جیسا کہ گھریلو آٹومیشن کی ڈیوائسز، میڈیکل ڈیوائسز، سنسرز، اور سمارٹ لائٹس وغیرہ۔

Zip

Zip ایک ایسا فائل فارمیٹ ہے جو بہت سی دیگر فائلز اور فولڈرز کو ایک فائل میں یکجا کر دیتا ہے۔ اس کے دو فائدے ہوتے ہیں: ایک تو یہ زِپ ہونے والا ڈیٹا ڈسک پر نسبتاً‌ بہت کم جگہ گھیرتا ہے، دوسرا یہ کہ اگر یہ ڈیٹا کہیں ٹرانسفر کرنا ہو تو آسانی رہتی ہے، جیسا کہ ای میل کے ذریعے یا کسی میسنجنگ ایپلیکیشن کے ذریعے بیس تیس الگ الگ فائلیں بھیجنا ایک مشکل کام ہے، جبکہ ان سب فائلوں کی ایک زِپ فائل بنا کر بھیجنا آسان ہے۔

ڈیٹا کو زِپ کرنے کی مثال یوں سمجھ لیں کہ اگر کسی گاؤں میں ایک High-Rise اپارٹمنٹ بلڈنگ بنا کر سب گاؤں والوں کو اس میں رہائش دے دی جائے، تو آپ سمجھ سکتے ہیں کہ کتنی جگہ بچے گی، کیونکہ ہزاروں لوگ جو الگ الگ بکھرے ہوئے مکانوں میں رہ رہے تھے، اب ایک کمپیکٹ بلڈنگ میں آ گئے ہیں۔

Zipping

Zipping کمپیوٹر پروگرامنگ کی ایک اصطلاح ہے جو Zip سے بالکل مختلف ہے۔ کمپیوٹر پروگرامنگ میں جب ڈیٹا کی دو مختلف فہرستوں (List/Tuples) کو اکٹھا کرنا ہو تو اس کے لیے Zipping کی اصطلاح استعمال ہوتی ہے۔ مثلاً‌ ایک لسٹ ہے [1, 2, 3] اور دوسری لسٹ ہے ['a', 'b', 'c'] تو ان کی Zipped ہونے والی لسٹ اس طرح ہو گی [(1, 'a'), (2, 'b'), (3, 'c')]

Zlib

zlib ایک سافٹ ویئر لائبریری ہے جو ڈیٹا کو کمپریس اور ڈی۔کمپریس کرنے کے لیے استعمال ہوتی ہے۔ یہ ایک اوپن سورس لائبریری ہے جو C پروگرامنگ لینگویج میں لکھی گئی ہے۔ zlib کا اصل مقصد فائل کمپریشن کی بجائے ڈیٹا سٹریمز (Data Streams) کو کمپریس کرنا بتایا جاتا ہے، جیسے کہ نیٹ ورک ٹریفک کا ڈیٹا، یا کمپیوٹر میموری میں موجود ڈیٹا وغیرہ۔ جبکہ zlib کمپیوٹر پروگرام یا ایپلیکیشن نہیں ہے بلکہ ایک لائبریری ہے جسے کمپیوٹر پروگرامرز اپنے پروگرام میں شامل کر سکتے ہیں، یوں اس پروگرام میں ڈیٹا کو کمپریس کرنے کی صلاحیت آجائے گی۔

Zombie Process

کمپیوٹر کی میموری میں آپریٹنگ سسٹم ایک ’’پراسیس ٹیبل‘‘ بناتا ہے جس میں وہ ہر پراسیس کا ریکارڈ رکھتا ہے۔ جب کوئی پیرنٹ پراسیس اپنے تحت ایک چائلڈ پراسیس شروع کرتا ہے تو اس چائلڈ پراسیس کو چلانے، مکمل کرنے اور اس کے بعد ہٹانے کی ذمہ داری بھی پیرنٹ پراسیس کی ہوتی ہے۔ اگر پیرنٹ پراسیس اپنے چائلڈ پراسیس کو کسی وجہ سے ہٹانے میں ناکام رہے تو اس چائلڈ پراسیس کی انٹری ’’پراسیس ٹیبل‘‘ میں موجود رہتی ہے۔ یہ انٹری اگرچہ ہارڈ ویئر ریسورسز پر بوجھ نہیں ہوتی لیکن پراسیس ٹیبل میں ایک طرح سے بھیڑ کا باعث بن جاتی ہے۔ چنانچہ ایسا پراسیس جس کا کام تو مکمل ہو گیا ہو لیکن وہ پراسیس ٹیبل سے ہٹایا نہ جا سکا ہو، اسے Zombie Process کہتے ہیں۔

Zone File

جب آپ براؤزر میں کسی ویب سائٹ کا ایڈریس لکھتے ہیں، جیسے www.example.com ہیں، تو آپ کا کمپیوٹر اس ویب سائیٹ کا اصل پتہ یعنی IP Address تلاش کرنے کے لیے DNS (Domain Name System) سے رابطہ کرتا ہے۔ DNS ایک قسم کی فون بک کی طرح کام کرتا ہے جو ویب سائٹ کے ناموں کے ذریعے ان کے IP ایڈریسز تک پہنچاتا ہے۔ زون فائل دراصل ایک ٹیکسٹ فائل ہوتی ہے جو DNS سرور پر محفوظ ہوتی ہے۔ یہ فائل ڈومینز (جیسے example.com) سے متعلق خاص معلومات محفوظ رکھتی ہے، جیسا کہ آئی پی ایڈریس، میل سرورز، زونز، اور دیگر ضروری ریکارڈز۔ ہر زون فائل میں مختلف قسم کے ریکارڈز ہوتے ہیں۔

ZoneTransfer

DNS سسٹم میں Zone Transfer ایک اہم عمل ہے جس کا مقصد ایک ڈومین کے تمام DNS ریکارڈز کو پرائمری سرور سے سیکنڈری سرورز تک منتقل کرنا ہے۔ یہ اس لیے ضروری ہوتا کہ اگر پرائمری سرور کسی وجہ سے ناکام ہو جائے تو سیکنڈری سرورز درخواستوں کا جواب دے سکیں اور مطلوبہ ڈومینز تک رسائی دستیاب رہے۔ یعنی زون ٹرانسفر کا بنیادی مقصد DNS ریکارڈز کو ایک سے زیادہ سرورز کے درمیان ہم آہنگ (sync) کرنا ہوتا ہے۔

Zoom

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

Zope

Zope ایک ویب ایپلیکیشن سرور ہے جو Python لینگویج کی مدد سے ڈیویلپ گیا ہے، اس کے متعلق بتایا جاتا ہے کہ یہ CMS اور Portals وغیرہ کے لیے زیادہ موزوں ہے۔ دوسری طرف معروفِ زمانہ Apache ویب سرور ہے جو ویب پیجز یا فائلز کو ہوسٹ کرنے کے لیے استعمال ہوتا ہے، یعنی کلائنٹ کمپیوٹر کی طرف سے بھیجے گئے URL کی مدد سے فائل سسٹم میں موجود کوئی فائل اٹھاتا کر بھیجتا ہے۔

Zope ویب ایپلیکیشنز کو ایک منظم آبجیکٹ کے طور پر ہینڈل کرتا ہے۔ جبکہ Apache صرف سادہ فائلوں کو ڈیل کرتا ہے، اگرچہ اپاچی سرور مختلف زبانوں جیسے PHP، Perl یا Python کے ساتھ کام کر سکتا ہے لیکن وہ خود کوئی ایپلیکیشن لاجک نہیں سنبھالتا۔ چنانچہ Zope ویب ایپلیکیشنز کے لیے زیادہ مفید بتایا جاتا ہے، یا ان ویب سائٹس کے لیے جن کا مواد Dynamic ہوتا ہے یعنی مسلسل تبدیل ہوتا رہتا ہے۔

Zorin OS

یہ ایک لینکس آپریٹنگ سسٹم ہے جو خاص طور پر ان لوگوں کے لیے بنایا گیا ہے جو پہلے Windows یا macOS استعمال کرتے رہے ہیں اور اب لینکس آپریٹنگ سسٹم کی کوئی ڈسٹری بیوشن آزمانا چاہتے ہیں۔ Zorin استعمال میں آسان ہے اور اس کا حلیہ کافی حد تک ونڈوز جیسا ہے تاکہ یوزرز کو اسے اپنانے میں مشکل نہ ہو۔ سیکیورٹی، تیزرفتاری اور کارکردگی اس کی وہی بتائی جاتی ہے جو کہ لینکس آپریٹنگ سسٹم کی ہوتی ہے۔

Zsh (Z Shell)

Shell آپریٹنگ سسٹم کا ایسا پروگرام ہوتا ہے جو یوزر کو آپریٹنگ کے ساتھ رابطہ یا بات چیت کی سہولت دیتا ہے۔ یہ دراصل ایک انٹرفیس ہے جو یوزر کی ہدایات کو سمجھ کر انہیں آپریٹنگ سسٹم کے Kernel تک پہنچاتا ہے تاکہ پر عمل ہو سکے۔

Shell دو اقسام کا ہوتا ہے: ایک کمانڈ شیل، جہاں یوزر کمانڈز لکھ کر ہدایات دیا ہے۔ اور دوسرا گرافیکل شیل، جہاں یوزر ماؤس اور کی بورڈ کی مدد سے آئیکنز اور مینیو وغیرہ کے ذریعے ہدایات دیتا ہے۔

چنانچہ Z Shell یونیکس سسٹم میں استعمال ہونے والا شیل ہے جو Interactive Login کے ساتھ Command Interpreter دونوں کی سہولیات مہیا کرتا ہے۔

Zookeeper (Apache ZooKeeper)

ZooKeeper اپاچی والوں کی ایک اوپن سورس سروس ہے جو ڈسٹری بیوٹیڈ ایپلی کیشنز (Distributed Applications) کو منظم کرنے میں مدد کرتی ہے۔ اس کا مقصد کمپیوٹرز کے بڑے گروپس (Clusters) کو سنبھالنا اور ان کے درمیان کوارڈینیشن قائم کرنا ہے۔

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