# کمپیوٹنگ پلیٹ فارم

**کمپیوٹنگ پلیٹ فارمڈیجیٹل پلیٹ فارم** یا **سافٹ ویئر پلیٹ فارم**وہ بنیادی ڈھانچہ ہے جس پر سافٹ ویئر چلایا جاتا ہے۔ اگرچہ کمپیوٹنگ پلیٹ فارم کے انفرادی اجزاء تجرید (abstraction) کی تہوں کے نیچے پوشیدہ ہو سکتے ہیں، لیکن درکار تمام اجزاء کا مجموعہ ہی کمپیوٹنگ پلیٹ فارم بناتا ہے۔

بعض اوقات، کسی مخصوص سافٹ ویئر کے لیے سب سے متعلقہ تہ کو ہی کمپیوٹنگ پلیٹ فارم کہا جاتا ہے تاکہ رابطہ آسان ہو سکے۔ اس میں پورے نظام کو اس کی کسی ایک خصوصیت کے ذریعے ظاہر کیا جاتا ہے—یعنی مجازِ مرسل (metonymy) کا استعمال کیا جاتا ہے۔

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

ایک کثیر کمپیوٹر سسٹم میں، جیسے کہ آف لوڈ پروسیسنگ کے معاملے میں، اس میں میزبان کمپیوٹر کا ہارڈویئر، آپریٹنگ سسٹم (OS) اور رن ٹائم لائبریریز کے ساتھ ساتھ دوسرے کمپیوٹرز بھی شامل ہوتے ہیں جو پروسیسنگ کے لیے استعمال ہوتے ہیں اور جن تک رسائی ایپلیکیشن پروگرامنگ انٹرفیسز یا ویب براؤزر کے ذریعے حاصل کی جاتی ہے۔

جب تک کوئی جز پروگرام کے کوڈ کو چلانے کے لیے ضروری ہو، وہ کمپیوٹنگ پلیٹ فارم کا حصہ شمار ہوتا ہے۔

## اجزاء

پلیٹ فارمز میں شامل ہو سکتے ہیں:

* چھوٹے ایمبیڈڈ سسٹمز کی صورت میں صرف ہارڈویئر۔ ایمبیڈڈ سسٹمز براہِ راست ہارڈویئر تک رسائی حاصل کر سکتے ہیں، بغیر کسی آپریٹنگ سسٹم کے؛ اسے "بیئر میٹل" پر چلنا کہا جاتا ہے۔
* ڈیوائس ڈرائیورز اور فرم ویئر۔
* ویب بیسڈ سافٹ ویئر کی صورت میں ایک براؤزر۔ خود براؤزر ہارڈویئر + آپریٹنگ سسٹم پلیٹ فارم پر چلتا ہے، لیکن براؤزر کے اندر چلنے والے سافٹ ویئر کے لیے یہ متعلقہ نہیں ہوتا۔
* ایک ایپلیکیشن، جیسے اسپریڈشیٹ یا ورڈ پروسیسر، جو کسی ایپلیکیشن-مخصوص اسکرپٹنگ زبان (مثلاً ایکسل میکرو) میں لکھے گئے سافٹ ویئر کو ہوسٹ کرتی ہے۔ اسے مائیکروسافٹ آفس سوٹ کو بطور پلیٹ فارم استعمال کرتے ہوئے مکمل ایپلیکیشنز بنانے تک بھی بڑھایا جا سکتا ہے۔
* سافٹ ویئر فریم ورکس جو تیار شدہ فعالیت فراہم کرتے ہیں۔
* کلاؤڈ کمپیوٹنگ اور پلیٹ فارم ایز اے سروس (PaaS)۔ سافٹ ویئر فریم ورک کے تصور کو بڑھاتے ہوئے، یہ ڈویلپرز کو ایسے اجزاء سے سافٹ ویئر بنانے کی اجازت دیتے ہیں جو ڈویلپر کی بجائے فراہم کنندہ کے پاس ہوسٹ ہوتے ہیں، جبکہ انٹرنیٹ کمیونیکیشن انھیں آپس میں جوڑتی ہے۔ سوشل نیٹ ورکنگ سائٹس جیسے ٹوئٹر اور فیس بک کو بھی ترقیاتی پلیٹ فارمز سمجھا جاتا ہے۔
* ایک ایپلیکیشن ورچوئل مشین (VM)، جیسے جاوا ورچوئل مشین یا .NET CLR۔ ایپلیکیشنز کو ایک ایسے فارمیٹ میں کمپائل کیا جاتا ہے جو مشین کوڈ سے ملتا جلتا ہوتا ہے، جسے بائٹ کوڈ کہا جاتا ہے اور پھر اسے VM کے ذریعے چلایا جاتا ہے۔
* ایک مکمل سسٹم کا ورچوئلائزڈ ورژن، جس میں ورچوئلائزڈ ہارڈویئر، آپریٹنگ سسٹم، سافٹ ویئر اور اسٹوریج شامل ہوتے ہیں۔ یہ مثال کے طور پر ایک عام ونڈوز پروگرام کو ایسے سسٹم پر چلانے کی اجازت دیتے ہیں جو حقیقت میں میک ہو۔

کچھ آرکیٹیکچرز میں متعدد تہیں ہوتی ہیں، جہاں ہر تہ اپنے اوپر والی تہ کے لیے پلیٹ فارم کا کردار ادا کرتی ہے۔ عمومی طور پر، کسی جز کو صرف اس تہ کے مطابق ڈھالنا ہوتا ہے جو اس کے فوراً نیچے ہوتی ہے۔

مثال کے طور پر، ایک جاوا پروگرام کو جاوا ورچوئل مشین (JVM) اور متعلقہ لائبریریز کو بطور پلیٹ فارم استعمال کرنے کے لیے لکھا جاتا ہے اور اسے ونڈوز، لینکس یا میکنٹوش آپریٹنگ سسٹمز پر چلنے کے لیے الگ سے ڈھالنے کی ضرورت نہیں ہوتی۔ تاہم، JVM جو ایپلیکیشن کے نیچے والی تہ ہے، اسے ہر آپریٹنگ سسٹم کے لیے الگ الگ تیار کرنا پڑتا ہے۔

## آپریٹنگ سسٹم کی مثالیں

### ڈیسک ٹاپ، لیپ ٹاپ، سرور

* یونیکس اور یونیکس کی طرح بی ایس ڈی SunOS NeXTSTEP ڈارون میک او ایس اوپن ڈارون 386 بی ایس ڈی نیٹ بی ایس ڈی اوپن بی ایس ڈی فری بی ایس ڈی ڈریگن فلائی بی ایس ڈی سسٹم V HP-UX IBM AIX A/UX Solaris OpenSolaris illumos OpenIndia MINIX GNU Hurd Linux Android ChromeOS QubesOS OSF/1 Tru64 UNIX z/OS
	+ بی ایس ڈی
		- سن او ایس
		- NeXTSTEP
			* ڈارون
				+ میکوس
				+ اوپن ڈارون
		- 386 بی ایس ڈی
			* نیٹ بی ایس ڈی
				+ اوپن بی ایس ڈی
			* فری بی ایس ڈی
				+ ڈریگن فلائی بی ایس ڈی
	+ سسٹم V
		- HP-UX
		- آئی بی ایم اے آئی ایکس
		- اے/یو ایکس
		- سولرس
			* اوپن سولارس
				+ روشنیاں
					- اوپن انڈیا
	+ منیکس
	+ GNU ہارڈ
	+ لینکس
		- اینڈرائیڈ
		- کروم او ایس
	+ کیوبیسو
	+ او ایس ایف/1
		- ٹرو64 یونکس
	+ z/OS
* وی ایم
* اوپن وی ایم ایس
* کیو این ایکس
* کلاسیکی میک او ایس
* امیگا او ایس
* ونڈوز این ٹی
* بی او ایس
	+ ہائیکو
* ہم آہنگی او ایس

### موبائل

* نیوٹن او ایس
* پام او ایس
* سمبیان
* بلیک بیری او ایس
* ونڈوز موبائل
* یونیکس اور یونکس جیسے آئی او ایس آئی پیڈ او ایس واچ او ایس لینکس اینڈرائیڈ فائر او ایس لائنج او ایس ویب او ایس بڑا اوبنٹو ٹچ ٹزن فائر فاکس او ایس کائی او ایس سیلفش او ایس لونی او ایس پوسٹ مارکیٹ او ایس
	+ آئی او ایس
		- آئی پیڈ او ایس
		- واچ او ایس
	+ لینکس
		- اینڈرائیڈ
			* فائر او ایس
			* لینج او ایس
		- ویب او ایس
		- باڈا
		- اوبنٹو ٹچ
		- ٹیزن
		- فائر فاکس او ایس
			* کائی او ایس
		- سیل فش او ایس
		- لونی او ایس
		- پوسٹ مارکیٹ او ایس
* ونڈوز
	+ ونڈوز فون
	+ ونڈوز 10 موبائل
* بلیک بیری 10
* ہم آہنگی او ایس
* فوکسیا

## سافٹ ویئر کی مثالیں

* شاک ویو
* بائنری رن ٹائم انوائرمنٹ فار وائرلیس (BREW)
* کوکو
* کوکو ٹچ
* ۔ نیٹ
	+ مونو
	+ ۔ نیٹ فریم ورک
	+ سلور لائٹ
* فلیش
	+ ہوا
* جاوا
	+ جاوا ایم ای
	+ جاوا ایس ای
	+ جاوا ای ای
	+ جاوا ایف ایکس
	+ جاوا ایف ایکس موبائل
* لائیو کوڈ
* مائیکروسافٹ XNA
* موزیلا پریزم XUL اور XULRunner
* موزیلا ویب ایکسٹینشنز API گوگل کروم کے API کے بعد ماڈلنگ کی گئی ہے۔ اس طرح فائر فاکس کی توسیعات اب بڑے پیمانے پر اپنے کروم ہم منصبوں کے ساتھ مطابقت رکھتی ہیں۔
* ویب پلیٹ فارم
* اوریکل ڈیٹا بیس
* کیو ٹی
* ایس اے پی نیٹ ویور
* اسمارٹ فیس
* یونیورسل ونڈوز پلیٹ فارم
	+ ونڈوز رن ٹائم
* ایچ ایم ایس کور
* کنگجی
* آرکٹیس
* آرک یو آئی
	+ آرک یو آئی-ایکس
* ہواوے فینکس انجن
	+ فینکس انجن رے شاپ

## ہارڈ ویئر کی مثالیں

* اے آر ایم فن تعمیر پر مبنی آلات راسبیری پائی یا گمسٹکس فل فنکشن منی ایچر کمپیوٹرز اے آر ایم سرورز یونکس جیسے سسٹمز جیسے لینکس یا بی ایس ڈی مختلف مینوفیکچررز سے کروم بکس
	+ رسبری پائی یا گمسٹکس فل فنکشن منی ایچر کمپیوٹر
	+ لینکس یا بی ایس ڈی متغیرات جیسے یونکس جیسے سسٹمز والے اے آر ایم سرورز
	+ مختلف مینوفیکچررز کی کروم بکس
* آئی بی ایم پی سی ہم آہنگ نظام
* آئی بی ایم سسٹم پی اور آئی بی ایم پاور سسٹمز کمپیوٹرز
* آئی بی ایم زیڈ/آرکیٹیکچر مین فریم
* سی پی/ایم کمپیوٹرز ایس-100 بس پر مبنی ہیں، شاید سب سے قدیم مائیکرو کمپیوٹر پلیٹ فارم
* ویڈیو گیم کنسولز کسی بھی قسم کے (پلے اسٹیشن ایکس بکس نینٹینڈو 3 ڈی او انٹرایکٹو ملٹی پلیئر، جو مینوفیکچررز ایپل پیپن کو لائسنس یافتہ تھا، ویڈیو گیم کنسویل ڈویلپمنٹ کے لیے ملٹی میڈیا پلیئر پلیٹ فارم
	+ 3 ڈی او انٹرایکٹو ملٹی پلیئر جو مینوفیکچررز کو لائسنس یافتہ تھا
	+ ایپل پیپن ویڈیو گیم کنسول کی ترقی کے لیے ایک ملٹی میڈیا پلیئر پلیٹ فارم
* سپر کمپیوٹر آرکیٹیکچرز

## حوالہ جات