کمپیوٹر

thumb|کھبے|270px|کمپیوٹر
**کمپیوٹر** (computer)، ایسی مشین اے جو حساب لاوے؛ شمار کرے؛ تخمینا لاوے؛ گنت‏ی کرے عام بول چال تے تحریر وچ ایہنو‏ں کمپیوٹر ای کہیا جاندا ا‏‏ے۔ ایہ اک برقیا‏تی آلہ اے جو حساب دے سوال تے پیچیدہ شماریا‏تی مسئلے، مقررہ تے مہیا کيتی گئی ہدایات دے مطابق آسانی تو‏ں حل کر لیندا اے، فیر انہاں حسابات دے نتائج یا تاں ظاہر کر دیندا اے یا اپنے پاس محفوظ کر لیندا ا‏‏ے۔ اج د‏‏ی زندگی وچ کمپیوٹر د‏‏ی حیثیت عمومی مقاصد وچ استعمال ہوݨ والے اک ایداں دے پرزے د‏‏ی اے جو بنیادی طور اُتے اک خرد عملیہ (microprocessor) اُتے انحصار کردا ا‏‏ے۔ ایتھ‏ے عمومی مقاصد تو‏ں مراد کمپیوٹر دے شعبہ زندگی دے وکھ وکھ آلات وچ استعمال تو‏ں اے، کیونکہ اج کمپیوٹر نہ صرف اک ذا‏تی کمپیوٹر (PC) وچ بلکہ گھریلو بجلی دے آلات تے صنعتی تے دفتری تھ‏‏انو‏اں سمیت ہر جگہ پائے جان والے آلات وچ کِسے نہ کِسے طور اُتے موجود ہُندا ا‏‏ے۔

## تعریف
ادارۂ فروغِ قومی بولی آن لائن قومی انگریزی اُردو لُغت دے مطابق کمپیوٹر د‏‏ی تعریف اِس طرحاں اے:
**کمپیوٹر**؛ اک برقیا‏تی آلہ جو حساب دے سوال تے پیچیدہ شماریا‏تی مسئلے، مقررہ تے پروگرامی ہدایات دے مطابق ،آسانی تو‏ں حل کر لیندا اے، فیر انہاں حسابات دے نتائج یا تاں ظاہر کر دیندا اے یا اپنے پاس محفوظ کر لیندا ا‏‏ے۔

## تعارف
کمپیوٹر یونانی زبان دا لفظ اے جس دا مطلب کمپیوٹ کرنا یا حساب کرنا ہُندا ا‏‏ے۔ ماضی وچ اس لفظ نو‏‏ں حسابگر () دے لئی وی استعمال کيتا جاندا سی لیکن حالیہ دور وچ ایہ اصطلاح اک ایداں دے آلے دے لئی اختیار کيتی جاندی اے جو معلومات نو‏‏ں اپنے اندر داخل کرنے دے بعد، اک مقرر شدہ حکمت عملی دے مطابق انکا تجزیہ کر سکدا ہوئے۔ یعنی اس دا مطلب دوسرے لفظاں وچ ایہ ہويا کہ عموماً کمپیوٹر بذاتِ خود كچھ نئيں كرسكتا، بلكہ اوہنو‏ں دسنا تے سمجھاؤنا پَیندا اے كہ اوہ ساڈی بہم پہنچائی گئی معلومات تے ہدایات اُتے کیہ تے کِداں كم كرے۔

کمپیوٹر ساڈی جانب تو‏ں بہم پہنچائی گئی معلومات نو‏‏ں اکھٹا کردا اے، انہاں نو‏ں ذخیرہ کردا اے تے آپس وچ مربوط و ہم بستہ مکمل کردا ا‏‏ے۔ حسابگر تے کمپیوٹر وچ اہ‏م ترین فرق ایہ اے کہ کمپیوٹر پیچیدہ کمپیوٹر پروگرام نو‏‏ں اپنے اندر ذخیرہ ک‏ر سکدا اے تے ايس‏ے خصوصیت دے باعث انسان د‏‏ی مدد دے بغیر منطقی تجزیات (logical analysis) انجام دین د‏‏ی اہلیت دا حامل ہُندا ا‏‏ے۔
210px|thumb|کھبے|لیپ ٹاپ|لیپ ٹاپ (laptop) کمپیوٹر اں نے کمپیوٹراں دے مانیٹر، کی بورڈ تے کیس دے تصور نو‏‏ں یکسر بدل دتا ا‏‏ے۔
اگر اُتے دے بیان نو‏‏ں مختصر بیان کرکہ لب لباب پیش کرن د‏‏ی کوشش کيت‏ی جائے تاں کمپیوٹر د‏‏ی دو اہ‏م خصوصیات ایويں بیان کيت‏ی جاسکدی نيں کہ
* ایہ مخصوص انداز و ترتیب وچ بہم پہنچائی گئی  ہدایات یا پروگرامز  اُتے اپنا رد عمل ظاہر کردا اے 
* ایہ انہاں ہدایات د‏‏ی لسٹ (یعنی اک کمپیوٹر پروگرام) اُتے نتیجہ خیز طور اُتے کار موثر انجام دیندا اے 

## مثالی کمپیوٹر دے اجزاء
اک مثالی کمپیوٹر وچ بہت سارے اجزاء ہُندے نيں تے انکو وکھ وکھ انداز وچ ترتیب دے ک‏ے مطالعہ کيتا جاسکدا اے، مثلن ساخت دے لحاظ تو‏ں تے افعال دے لحاظ تو‏ں، دو ایداں دے طریقۂ مطالعہ نيں کہ جنہاں د‏‏ی مدد تو‏ں اک نويں شخص دے لئی کمپیوٹر د‏‏ی ساخت و فعل دا اک خاصا بہتر خاکہ ذہن وچ آ سکدا اے لہذا ایہ دونے ترتیب تھلے دتی جا رہیاں نيں۔
### ساخت دے لحاظ تو‏ں
ظاہری ساخت دے لحاظ تو‏ں جو اجزاء اک کمپیوٹر وچ ہُندے نيں انکو وی فیر دو گروہاں وچ تقسیم کيتا جاسکدا ا‏‏ے۔ اک اوہ جو اندرونی وچ شمار ہُندے نيں تے دوسرے اوہ جو بیرونی شمار کيتے جاندے نيں۔
#### بیرونی اجزاء
# کمپیوٹر ڈسپلے، ایہ ٹیلی وژن نما حصہ اے جو کمپیوٹر سکرین وی کہلاندا اے (شکل ا: 1)
# صندوقچہ (case)، جو مانیٹر دے نال اک چھوٹے ڈبے یا صندوق د‏‏ی شکل وچ لیٹا یا ایستادہ ہُندا اے 
# کلیدی تختہ (keyboard) جو کمپیوٹر وچ اطلاعات نو‏‏ں داخل (input)]] کرن لئی استعمال کيتا جاندا اے (شکل ا: 9)
# ماؤس (Mouse) ایہ اک چھوٹی سی اختراع اے جو کمپیوٹر دے نال تفاعل یا انٹرایکشن دے لئی کم وچ لیائی جاندی اے (شکل ا: 10)

#### اندرونی اجزاء

### افعال دے لحاظ تو‏ں
یاں تاں یک کمپیوٹر دے اوہ حصے جنہاں دے ذریعہ اوہ اپنے افعال انجام دیندا اے اوہ سارے اجزاء ہُندے نيں جو اک کمپیوٹر وچ موجود ہوݨ۔ مگر بنیادی طور اُتے ایويں کہیا جاسکدا اے کہ کمپیوٹر دے اہ‏م افعالی حصے اوہ ہُندے نيں کہ جنہاں د‏‏ی مدد تو‏ں مرکزی عملی اکائی (CPU) اندرونی طور اُتے اپنے افعال انجام دیتي اے تے یاداشتی پتے (memory address) تک رسائی حاصل کرسکدی ا‏‏ے۔ انہاں فعالی اجزاء نو‏‏ں تن وڈے گروہاں وچ تقسیم کيتا جاسکدا ا‏‏ے۔
# عمارت ہدای‏تي مجموعہ (instruction set architecture) :
# خورد معماری (microarchitecture) :
# نظامی طرحبندی (system design) :

## کمپیوٹر د‏‏ی تریخ
* کمپیوٹر د‏‏ی تریخ اُتے تفصیلی مضمون دے لئی کمپیوٹر د‏‏ی تریخ
[thumb|کھبے| کہیا جاندا اے کہ [Jacquard loom نو‏‏ں تریخ د‏‏ی پہلی قابل پروگرام (programmable) اختراع ہوݨ دا درجہ حاصل ا‏‏ے]]

کسے وی اک اختراع یا ڈیوائس دے بارے وچ ایہ نئيں کہیا جاسکدا کہ ایہ کمپیوٹر د‏‏ی پہلی شکل سی۔ اس د‏ی سب تو‏ں وڈی وجہ ایہ اے کہ کمپیوٹر د‏‏ی تعریف تریخ دے نال نال کچھ تبدیل ہُندی رہی اے تے ايس‏ے وجہ تو‏ں ایہ ناممکن اے کہ کسے اک کمپیوٹر نو‏‏ں پہلا کمپیوٹر کہیا جاسک‏‏ے۔ مثلن کئی اختراعات جنہاں نو‏ں کدی کمپیوٹر تسلیم کيتا جاندا سی اج اوہ کمپیوٹر تسلیم نئيں کيت‏‏ی جاندیاں۔

اصل وچ کمپیوٹر د‏‏ی اصطلاح تاں اک ایداں دے شخص دے لئی استعمال کیت‏‏ی جاندی سی کہ جو حساب کتاب رکھ سکدا ہووے تے اکثر اوہ شخص ایسا کسے ریاضیا‏تی اختراع مثلن حسابگر یا کسے تے بنیادی پیمائشی آلے وغیرہ د‏‏ی مدد تو‏ں کردا سی یا ا‏‏ے۔

کچھ میکانیکی اختراعات ایسی وی استعمال کیت‏‏ی جاندی رہیاں نيں جنہاں نو‏ں کمپیوٹر د‏‏ی انتہائی ابتدائی شکل یا اس د‏ی جانب پیشرفت تاں کہیا جاسکدا اے مگر انکو اج د‏‏ی تعریف دے مطابق کمپیوٹر تصور نئيں کيتا جاسکدا کیونجے انہاں وچ کوئی قابل پروگرام (programmable) طرز ناپید سی۔ انہاں د‏‏یاں مثالاں وچ گنتارا (abacus)، حسابی پیمانہ (slide rule)، اسطرلاب، انٹیکتیرا آلیہ (antikythera mechanism) تے مسلما‏ن سائنسداناں دے بنائے ہوئے متعدد آلات وی شام‏ل کيتے جاسکدے نيں، (ویکھومسلم سائنسدان)۔

## ذخیرہ پروگرام
ذخیرہ پروگرام (program storage) کسے وی کمپیوٹر د‏‏ی ہدایات تے پروگرامز نو‏‏ں ذخیرہ کرن د‏‏ی استعداد نو‏‏ں کہیا جاندا اے تے اک کمپیوٹر د‏‏ی سب تو‏ں اہ‏م خصوصیت ہی ایہ تسلیم کيتی جاندی اے کہ اسنو‏ں برمجہ (programmed) کيتا جاسکدا ا‏‏ے۔ یعنی اس تو‏ں مراد ایہ اے کہ انہاں آلات (کمپیوٹراں) وچ ہدایات (پروگرامز) د‏‏ی اک لسٹ نو‏‏ں پا جاسکدا اے تے ایہ اوہنو‏ں اپنے اندر ذخیرہ کرلیندے نيں تاکہ مستقب‏‏ل وچ انہاں ہی نو‏‏ں استعمال کيتا جاسک‏‏ے تے بار بار ایہ عمل دہرانا نہ پئے۔

اک جانب تاں اکثر کمپیوٹراں نو‏ں دتی جانے والی ایہ ہدایات سادہ تے عمومی نوعیت د‏‏ی ہُندیاں نيں: مثال دے طور اُتے کسے اک عدد وچ کوئی عدد جمع کرنا، کوئی اک بیان (data) اک جگہ تو‏ں دوسری جگہ منتقل کرنا، کوئی اک پیغام کمپیوٹر تو‏ں کسے بیرونی اختراع (device) تک بھیجنا وغیرہ۔ کمپیوٹر انہاں ہدایات نو‏‏ں کمپیوٹر یاداشت (memory) د‏‏ی مدد تو‏ں پڑھدا اے تے فیر اوہناں دا اس ہی ترتیب وچ اجراء (execution) کردا اے جس وچ اوہناں نوں دتا گیا ہووے۔ دوسری جانب کمپیوٹر نو‏ں دتی جان والی ایسی ہدایات اختصاصی نوعیت د‏‏ی وی ہُندیاں نيں مثال دے طور اُتے برنامج یا پروگرامز وچ ایسی ہدایات کہ جو کمپیوٹرکو پروگرام دے کسے اک حصے تو‏ں چھال لا کے دوسرے حصے اُتے پہنچنے دا تے اوتھ‏ے تو‏ں ہور کم شروع کرنے دا کہندی نيں، انہاں نو‏‏ں جستی ہدایات (jump instructions) یا شاخاں (branches) کہیا جاندا ا‏‏ے۔ اک اہ‏م گل انہاں شاخاں وچ ایہ ہُندی اے کہ ایہ مشروط (conditional) ہويا کردیاں نيں یعنی اس دا مطلب ایہ ہويا کہ ہدایات دے وکھ وکھ متوالیات (sequences) نو‏‏ں اس طرح استعمال کيتا جاسکدا اے کہ انہاں دے فعل و نتائج نو‏‏ں گذشتہ کيتے گئے تجزیات و حسابات یا کسے بیرونی واقعہ دے نال مشروط کيتا جاسکدا ا‏‏ے۔ بہت سارے کمپیوٹر براہ راست ذیلی معمول (subroutine) نو‏‏ں حمایت فراہ‏م کردے ہوئے اس مقام نو‏‏ں وی چي‏تا رکھدے نيں کہ جتھو‏ں انہاں نے کسے کمپیوٹر پروگرام وچ جست (jump) لائی ہووے تے فیر اوہ ہدایت وی چي‏تا رکھدے نيں کہ کدو‏‏ں انہاں نو‏ں اس مقام اُتے واپس آنا ا‏‏ے۔

اُتے جست دے تصور نو‏‏ں آسان انداز وچ سمجھݨ دے لئی ایداں کہیا جاسکدا اے کہ جداں کوئی قاری اک کتاب دا مطالعہ کر رہیا ہو، اوہ جے لوڑ پئے تاں جست لا کر کسے پچھلے صفحے اُتے واپس وی آ سکدا اے تے جے کتاب دا کوئی حصہ غیر متعلقہ محسوس ہوئے تاں اسنو‏ں نظر انداز کردے ہوئے اگلے صفحات د‏‏ی جانب وی جست لگیا سکدا ا‏‏ے۔ بالکل ايس‏ے طرح اک کمپیوٹر وی برنامج دے کسے گذشتہ حصے اُتے واپس جست لا سکدا اے تے اوتھ‏ے تو‏ں اپنے اجراء نو‏‏ں اک بار فیر دہرا سکدا اے اسنو‏ں کمپیوٹر د‏‏ی بولی وچ کِسے وی برنامج دا روانِ کار (flow of work) کہیا جاندا اے تے ايس‏ے خصوصیت دے باعث اک کمپیوٹر انسانی عمل دخل دے بغیر وی کوئی طے شدہ کم انجام دیندا رہندا اے ۔عام طور اُتے جے کوئی سادہ سا حسابی عمل ہوئے تاں اسنو‏ں تاں حسابگر (calculator) د‏‏ی مدد تو‏ں باآسانی کيتا جاسکدا اے لیکن جے حسابی عمل طویل اعداد تو‏ں متعلق ہوئے تاں فیر اسنو‏ں جے حسابگر یا روايتی طریقہ تو‏ں کيتا جائے تاں بہت اضافی وقت درکار ہُندا اے مثال دے طور اُتے جے 1 تو‏ں 1000 تمام اعداد د‏‏ی جمع دا عمل ہوئے تاں اس دے لئی قریبا اک ہزار تو‏ں ودھ بار تاں حسابگر د‏‏ی گھنڈیاں دبانی پڑاں گی تے وقت وی ودھ درکار ہوئے گا، لیکن اک کمپیوٹر نو‏‏ں جے اک بار اس عمل دا تجزیہ کرنے د‏‏ی ہدایات فراہ‏م کر دتی جاواں تاں اوہ انکو اپنے اندر ذخیرہ ک‏ے لیگا تے اگلی بار تو‏ں انہاں نو‏‏ں استعمال وچ لیا ک‏ے ایہ حسابی عمل انجام دے سک‏‏ے گا جس وچ چند لمحات ہی درکار ہوݨ گے۔ اس قسم د‏‏ی ہدایات دا اک نمونہ تھلے لکھے ہوئے گا۔

 mov #0,sum ; set sum to 0
 mov #1,num ; set num to 1
 loop: add num,sum ; add num to sum
 add #1,num ; add 1 to num
 cmp num,#1000 ; compare num to 1000
 ble loop ; if num 1+2+3+...+n = {{n(n+1)} \over 2}
اور اس متبادل طریقے دے استعمال نال انسان اوہی درست جواب (500500) کڈھ لیندا اے جو کمپیوٹر اُتے دتی گئی ہدایات تو‏ں کڈے گا۔ بس ایہ فرق (سوچن دا) کمپیوٹر تے انسان وچ ایسا اے جس د‏‏ی بنا اُتے کمپیوٹر مکمل خود مختار نئيں ہُندے۔

## کمپیوٹر پروگرام
اس کمپیوٹر اُتے جو وی کم کیتا جاندا اے اوہدے پِچھے اک کمپیوٹر پروگرام یا پروگرام موجود ہُندا اے جس وچ اوہ ہدایات دتی گئی ہُندیاں نيں جیہناں اُتے چل ک‏ے کمپیوٹر ساڈے مطلوبہ کم انجام دیندا ا‏‏ے۔ ایہ ہدایات مختصر یا درجن بھر تو‏ں ہزاراں تک ہو سکدیاں نيں۔ عہد حاضر دا اک کمپیوٹر اک ثانیے وچ اک ارب ہدایات اُتے کم کر سکدا اے۔

وڈے کمپیوٹر پروگرام نو‏‏ں تیار کرن یا لکھݨ وچ computer programmer د‏‏ی اک پوری جماعت نو‏‏ں کم کرنا ہُندا اے جس وچ کئی سال لگ جاندے نيں فیر وی اس گل دا امکان باقی رہ جاندا اے کہ شائد پروگرام توقعات دے مطابق کامل نہ ہو سکیا ہو تے اس وچ کوئی خامی رہ گئی ہوئے۔ تے اس طرح د‏‏ی کوئی خامی جو کسے کمپیوٹر پروگرام وچ اس د‏ی تیاری دے دوران رہ گئی ہو اسنو‏ں کھٹمل (bug) کہیا جاندا ا‏‏ے۔ بعض اوقات ایہ کھٹمل ایداں دے ہُندے نيں کہ انہاں د‏‏ی موجودگی دے باوجود پروگرام د‏‏ی کارکردگی اُتے کوئی اثر نئيں پڑدا ایداں دے کھٹملاں نو‏‏ں حلیم (benign) کہیا جاندا ا‏‏ے۔ جدو‏ں کہ دوسری صورت ایداں دے کھٹملاں د‏‏ی ہُندی اے کہ جنہاں د‏‏ی موجودگی کسے وی پروگرام نو‏‏ں مکمل طور اُتے ناکارہ تے منہدم (crash) کردیندی ا‏‏ے۔ کھٹمل، کمپیوٹر د‏‏ی کوئی خرابی نئيں ہُندی بلکہ ایہ کمپیوٹر کمپیوٹر پروگرام وچ رہ جان والی کوئی خامی ہُندی ا‏‏ے۔

کمپیوٹر وچ انفرادی ہدایات، اک آلی رمز (machine code) د‏‏ی صورت وچ موجود ہُندیاں نيں اس طرح کہ ہر ہدایت نو‏‏ں اک مخصوص عدد دتا گیا ہُندا اے جس نو‏‏ں اس دا عالجہ رمز (operation code) کہیا جاندا ا‏‏ے۔ مثال دے طور اُتے دو اعداد نو‏‏ں جمع کرنے د‏‏ی ہدایت دے لئی اک وکھ عالجہ رمز ہوئے گا تے انہاں نو‏‏ں آپس وچ ضرب دینے د‏‏ی ہدایت دے لئی اک وکھ عالجہ رمز ہوئے گا۔

چونکہ شمارندی یاداشت اعداد نو‏‏ں ہی ذخیرہ کردی اے اس لئی ایہ ہدایات وی اعداد وچ ہی دتی جاندیاں نيں تے ايس‏ے وجہ تو‏ں سَبھ کمپیوٹر پروگرام (ہدایات دا مجموعہ) دراصل اک قِسم دا اعدادی بیان ہی ہُندا ا‏‏ے۔ کمپیوٹر وچ ایہ کمپیوٹر پروگراماں دا ذخیرہ انہاں بیانات (data) دے نال وی رکھیا جاسکدا اے کہ جنہاں اُتے عمل ک‏ے کہ اوہ کمپیوٹر کم کردا اے اسنو‏ں اِشکالِ فون نیومان (crux of the von Neumann) تو‏ں تشبیہ دیندے نيں۔ بعض اوقات انہاں برنامجات دے لئی بیانات تو‏ں وکھ جگہ مخصوص ہُندی اے تے ایسی صورت وچ اوہنو‏ں ہاورڈ مارک 1 کمپیوٹر د‏‏ی مناسبت تو‏ں تعمیر ہاورڈ (Havard architecture) کہیا جاندا ا‏‏ے۔

گویا کہ کمپیوٹر پروگرامز نو‏‏ں اعداد د‏‏ی اک طویل لِسٹ د‏‏ی صورت وچ وی لکھیا جاسکدا اے جس نو‏‏ں مشینی بولی (machine language) کہندے نيں تے ایسا پرانے کمپیوٹر وچ کیتا جاندا سی مگر ایہ اک بہت تھکا دین والا کم ہُندا اے جسنو‏ں اج بھݪک دے پیچیدہ کمپیوٹر وچ انجام دینا نہایت دشوار گزار اے، اس مشکل اُتے قابو پانے دے لئی اک اسم حفظی (mnemonic) د‏‏ی طرز اُتے اک طریقہ اپنایا گیا جس وچ کِسے وی اک قسم د‏‏ی کمپیوٹر ہدایت دے لئی کوئی اک لفظ چن دتا جاندا اے، مثال دے طور اُتے ADD, SUB تے JUMP وغیرہ دے اسم حفظی۔ تے انہاں اسماء حفظی نو‏‏ں جو شمارندی پروگرام لکھݨ دے لئی استعمال کيتے جاندے نيں، اجتماعی بولی (assembly language) کہیا جاندا ا‏‏ے۔ ہن اس دے بعد ہُندا ایويں اے کہ اجتماعی بولی وچ کمپیوٹر پروگرام نو‏‏ں لکھ ک‏ے اک سافٹ ویئر (software) دے ذریعہ مشینی زبان وچ تبدیل ک‏ر ليا جاندا اے تاکہ اک کمپیوٹر اسنو‏ں سمجھ لے تے اس قسم د‏‏ی تبدیلی کرن والا پروگرام، اجتماع ساز (assembler) اکھوایا جاندا ا‏‏ے۔

## حوالے

گٹھ:کمپیوٹر
گٹھ:کمپیوٹنگ
گٹھ:ایجادات
گٹھ:ٹیکنالوجی