
نام
در زبان انگلیسی «کامپیوتر» به کسی میگفتند که محاسبات ریاضی را (بدون ابزارهای کمکی مکانیکی) انجام میداد. بر اساس «واژهنامه ریشهیابی Barnhart Concise» واژه کامپیوتر در سال ۱۶۴۶ به زبان انگلیسی وارد گردید که به معنی «شخصی که محاسبه میکند» بودهاست و سپس از سال ۱۸۹۷ به ماشینهای محاسبه مکانیکی گفته میشد. در هنگام جنگ جهانی دوم «کامپیوتر » به زنان نظامی انگلیسی و آمریکایی که کارشان محاسبه مسیرهای شلیک توپهای بزرگ جنگی توسط ابزار مشابهی بود، اشاره میکرد .
در اوایل دهه ۵۰ میلادی هنوز اصطلاح ماشین حساب (computing machines) برای معرفی این ماشینها بهکار میرفت. پس از آن عبارت کوتاهتر کامپیوتر (computer) بهجای آن بهکار گرفته شد. ورود این ماشین به ایران در اوائل دهه ۱۳۴۰ بود و در فارسی از آن زمان به آن «کامپیوتر» میگفتند. واژه رایانه در دو دهه اخیر در فارسی رایج شده و بهتدریج جای «کامپیوتر» را گرفت .
برابر این واژه در زبانهای دیگر حتما همان واژه زبان انگلیسی نیست. در زبان فرانسوی واژه "ordinateur" ، که معادل «سازمانده» یا «ماشین مرتبساز» میباشد بهکار میرود. در اسپانیایی "ordenador" با معنایی مشابه استفاده میشود، همچنین در دیگر کشورهای اسپانیایی زبان computadora بصورت انگلیسیمآبانهای ادا میشود. در پرتغالی واژه computador بهکار میرود که از واژه computar گرفته شده و به معنای «محاسبه کردن» میباشد. در ایتالیایی واژه "calcolatore" که معنای ماشین حساب بکار میرود که بیشتر روی ویژگی حسابگری منطقی آن تاکید دارد. در سوئدی رایانه "dator" خوانده میشود که از "data" (دادهها ) برگرفته شدهاست. به فنلاندی "tietokone" خوانده میشود که به معنی «ماشین اطلاعات» میباشد. اما در زبان ایسلندی توصیف شاعرانهتری بکار میرود، «tölva» که واژهایست مرکب و به معنای «زن پیشگوی شمارشگر» میباشد. در چینی رایانه «dian nao» یا «مغز برقی» خوانده میشود. در انگلیسی واژهها و تعابیر گوناگونی استفاده میشود، بهعنوان مثال دستگاه دادهپرداز («data processing machine»).
معنای واژهی فارسی رایانه
واژهی رایانه از مصدر رایانیدن ساخته شده که در فارسی میانه به شکلِ rāyēnīdan و به معنای «مرتّب کردن، نظم بخشیدن و سامان دادن» بوده است. این مصدر در زبان فارسی میانه یا همان پهلوی کاربرد فراوانی داشته و مشتقهای زیادی نیز از آن گرفته شده بوده. در زبان فارسی نو یا همان فارسی (دری) این فعل و مشتقهایش به کار نرفتهاند. برایِ مصدر رایانیدن / رایاندن در لغتنامهی دهخدا چنین آمده :
رایاندن . [ دَ ] (مص) رهنمائی نمودن به بیرون . هدایت کردن . (ناظم الاطباء). اما در مآخذ دیگر دیده نشد .
و گویا تنها در واژهنامهی ناظمالاطبّا آمده است .
شکلِ فارسی میانهی این واژه rāyēnīdan بوده و اگر میخواسته به فارسی نو برسد به شکل رایانیدن/ رایاندن درمیآمده. (بسنجید با واژهیِ فارسیِ میانهیِ āgāhēnīdan که در فارسیِ نو آگاهانیدن / آگاهاندن شده است ).
این واژه از ریشهیِ فرضیِ ایرانیِ باستانِ -radz* است که به معنایِ «مرتّب کردن» بوده. این ریشه بهصورتِ -rad به فارسیِ باستان رسیده و به شکلِ rāy در فارسیِ میانه (پهلوی) بهکار رفته. از این ریشه ستاکهایِ حالِ و واژههایِ زیر در فارسیِ میانه و نو بهکار رفتهاند :
· -ā-rādz-a*یِ ایرانیِ باستان > -ā-rāy ِ فارسی میانه که در واژهیِ آرایشِ فارسیِ نو دیده میشود .
· -pati-rādz-a*یِ ایرانیِ باستان > -pē-rāy ِ فارسی میانه که در واژهیِ پیرایشِ فارسیِ نو دیده میشود؛ و
· -rādz-ta*یِ ایرانیِ باستان > rāst ِ فارسی میانه که در واژهیِ راستِ فارسیِ نو دیده میشود .
این ریشهیِ ایرانی از ریشهیِ هندواروپاییِ -reĝ* به معنایِ «مرتّب کردن و نظم دادن» آمده است. از این ریشه در
· هندی rāj-a به معنیِ «هدایتکننده، شاه» (یعنی کسی که نظم میدهد)؛
· لاتینی rect-us به معنیِ «راست، مستقیم » ،
· فرانسه di-rect به معنیِ «راست، مستقیم » ،
· آلمانی richt به معنیِ «راست، مستقیم کردن» و
· انگلیسی right به معنیِ «راست، مستقیم، درست
دستورالعملها
هر رایانه تنها دارای یک مجموعه کم تعداد از دستورالعملهای ساده و تعریف شده میباشد. از انواع پرکاربردشان میتوان به دستورالعمل «محتوای خانه ۱۲۳ را در خانه ۴۵۶ کپی کن !» ، «محتوای خانه ۶۶۶ را با محتوای خانه ۰۴۲ جمع کن، نتایج را در خانه ۰۱۳ کن !» ، «اگر محتوای خانه ۹۹۹ برابر با صفر است، به دستورالعمل واقع در خانه ۳۴۵ رجوع کن !».
دستورالعملها در داخل رایانه بصورت اعداد مشخص شدهاند - مثلاً کد دستور العمل (copy instruction) برابر ۰۰۱ میتواند باشد. مجموعه معین دستورالعملهای تعریف شده که توسط یک رایانه ویژه پشتیبانی میشود را زبان ماشین مینامند. در واقعیت، اشخاص معمولاً به [زبان ماشین]] دستورالعمل نمینویسند بلکه بیشتر به نوعی از انواع سطح بالای زبانهای برنامهنویسی، برنامهنویسی میکنند تا سپس توسط برنامه ویژهای (تفسیرگرها (interpreters) یا همگردانها (compilers) به دستورالعمل ویژه ماشین تبدیل گردد. برخی زبانهای برنامهنویسی از نوع بسیار شبیه و نزدیک به زبان ماشین که اسمبلر (یک زبان سطح پایین) نامیده میشود، استفاده میکنند؛ همچنین زبانهای سطح بالای دیگری نیز مانند پرولوگ نیز از یک زبان انتزاعی و چکیده که با زبان ماشین تفاوت دارد بجای دستورالعملهای ویژه ماشین استفاده میکنند .
معماریها
در رایانههای معاصر واحد محاسبه و منطق را به همراه واحد کنترل در یک مدار مجتمع که واحد پردازشی مرکزی (CPU) نامیده میشود، جمع نمودهاند. عموما، حافظه رایانه روی یک مدار مجتمع کوچک نزدیک CPU قرار گرفته. اکثریت قاطع بخشهای رایانه تشکیل شدهاند از سامانههای فرعی (به عنوان نمونه، منبع تغذیه ) و یا دستگاههای ورودی/خروجی .
برخی رایانههای بزرگتر چندین CPU و
واحد کنترل دارند که بصورت همزمان با یکدیگر درحال کارند. اینگونه
رایانهها بیشتر برای کاربردهای پژوهشی و محاسبات علمی بکار میروند .
کارایی رایانهها بنا به تئوری کاملاً درست است. رایانه دادهها و دستورالعملها را از حافظهاش واکشی (fetch) میکند. دستورالعملها اجرا میشوند، نتایج ذخیره میشوند، دستورالعمل بعدی واکشی میشود. این رویه تا زمانی که رایانه خاموش شود ادامه پیدا میکند . واحد پردازنده مرکزی در رایانههای شخصی امروزی مانند پردازندههای شرکت ای-ام-دی و شرکت اینتل از معماری موسوم به Pipeline استفاده
میشود و در زمانی که پردازنده در حال ذخیره نتیجه یک دستور است مرحله
اجرای دستور قبلی و مرحله واکشی دستور قبل از آن را آغاز میکند . همچنین این رایانهها از سطوح مختلف حافظه نهانگاهی استفاده میکنند که در زمان دسترسی به حافظه اصلی صرفهجویی کنند .
برنامهها
برنامه رایانهای فهرستهای بزرگی از دستورالعملها (احتمالاً به همراه جدولهائی از داده ) برای
اجرا روی رایانه هستند. خیلی از رایانهها حاوی میلیونها دستورالعمل
هستند، و بسیاری از این دستورات به تکرار اجرا میشوند. یک رایانه شخصی نوین نوعی (درسال ۲۰۰۳ ) میتواند در ثانیه میان ۲ تا ۳ میلیارد دستورالعمل را پیاده نماید . رایانهها این مقدار محاسبه را صرف انجام دستورالعملهای پیچیده نمیکنند . بیشتر میلیونها دستورالعمل ساده را که توسط اشخاص باهوشی «برنامه نویسان » در
کنار یکدیگر چیده شدهاند را اجرا میکنند. برنامهنویسان خوب مجموعههایی
از دستورالعملها را توسعه میدهند تا یکسری از وظایف عمومی را انجام
دهند(برای نمونه، رسم یک نقطه روی صفحه) و سپس آن مجموعه دستورالعملها را
برای دیگر برنامهنویسان در دسترس قرار میدهند. (اگر مایلید «یک برنامهنویس خوب » باشید به این مطلب مراجعه نمایید .)
رایانههای امروزه، قادرند چندین برنامه را در آن واحد اجرا نمایند. از این قابلیت به عنوان چندکارگی (multitasking) نام برده میشود. در واقع، CPU یک
رشته دستورالعملها را از یک برنامه اجرا میکند، سپس پس از یک مقطع ویژه
زمانی دستورالعملهایی از یک برنامه دیگر را اجرا میکند. این فاصله زمانی
اکثرا بهعنوان یک برش زمانی (time slice) نام برده میشود. این ویژگی که CPU زمان
اجرا را بین برنامهها تقسیم میکند، این توهم را بوجود میآورد که رایانه
همزمان مشغول اجرای چند برنامهاست. این شبیه به چگونگی نمایش فریمهای
یک فیلم است، که فریمها با سرعت بالا در حال حرکت هستند و به نظر میرسد
که صفحه ثابتی تصاویر را نمایش میدهد . سیستم عامل همان برنامهای است که این اشتراک زمانی را بین برنامههای دیگر تعیین میکند .
سیستم عامل
رایانه همیشه نیاز دارد تا برای بکارانداختنش حداقل یک برنامه روی آن در حال اجرا باشد. تحت عملکردهای عادی این برنامه همان سیستم عامل یا OS است. سیستم یا سامانه عامل تصمیم میگیرد که کدام برنامه اجرا شود، چه زمان، از کدام منابع (مثل حافظه، ورودی/خروجی و ...) استفاده شود. همچنین سیستم عامل یک لایه انتزاعی بین سخت افزار و برنامههای دیگر که میخواهند از سخت افزار استفاده کنند، میباشد، که این امکان را به برنامه نویسان میدهد تا بدون اینکه جزئیات ریز هر قطعه الکترونیکی از سخت افزار را بدانند بتوانند برای آن قطعه برنامهنویسی نمایند. با تمام این وجود کامپیوتر ها نمیتوانند برخی از مسائل را حل کنند که به این مسائل حل نشدنی گفته میشود مانند مسائلی که در مسیر حلشان در حلقه بی نهایت می افتند
کاربردهای رایانه
نخستین رایانههای رقمی، با قیمتهای زیاد و حجم بزرگشان، در اصل محاسبات علمی را انجام میدادند، انیاک یک رایانه قدیمی ایالات متحده اصولا طراحی شده تا محاسبات پرتابهای توپخانه و محاسبات مربوط به جدول چگالی نوترونی را
انجام دهد. (این محاسبات بین دسامبر ۱۹۴۱ تا ژانویه ۱۹۴۶ روی حجمی بالغ بر
یک میلیون کارت پانچ انجام پذیرفت! که این خود طراحی و سپس تصمیم نادرست
بکارگرفته شده را نشان میدهد) بسیاری از ابررایانههای امروزی صرفاً برای
کارهای ویژه محاسبات جنگ افزار هستهای استفاده میگردد .
CSIR Mk I نیز که نخستین رایانه استرالیایی بود برای ارزیابی میزان بارندگی در کوههای اسنوئی (Snowy)این کشور بکاررفت، این محاسبات در چارچوب یک پروژه عظیم تولید برقابی انجام گرفت .
برخی رایانهها نیز برای انجام رمزگشایی بکارگرفته میشد، برای مثال Colossus که در جریان جنگ جهانی دوم ساخته شد، جزو اولین کامپیوترهای برنامهپذیر بود(البته ماشین تورینگ کامل نبود). هرچند رایانههای بعدی میتوانستند برنامهریزی شوند تا شطرنج بازی کنند یا تصویر نمایش دهند و سایر کاربردها را نشان دهد .
سیاستمداران و شرکتهای بزرگ نیز رایانههای اولیه را برای خودکارسازی
بسیاری از مجموعههای داده و پردازش کارهایی که قبلا توسط انسانها انجام
میگرفت، بکار بستند - برای مثال، نگهداری و بروزرسانی حسابها و داراییها. در موسسات پژوهشی نیز دانشمندان رشتههای مختلف شروع به استفاده از رایانه برای مقاصدشان نمودند .
کاهش پیوسته قیمتهای رایانه باعث شد تا سازمانهای کوچکتر نیز بتوانند
آنها را در اختیار بگیرند. بازرگانان، سازمانها، و سیاستمداران اغلب
تعداد زیادی از کامپیوترهای کوچک را برای تکمیل وظایفی که قبلا برای
تکمیلشان نیاز به رایانه بزرگ (mainframe) گران قیمت و بزرگ بود، به کار بگیرند. مجموعههایی از رایانههای کوچکتر در یک محل اغلب بهعنوان خادم سرا [نیازمند منبع ] (server farm) نام برده میشود .
با اختراع ریزپردازندهها در دهه ۱۹۷۰ این امکان که بتوان رایانههایی بسیار ارزان قیمت را تولید نمود بوجود آمد . رایانههای شخصی برای انجام وظایف بسیاری محبوب گشتند، از جمله کتابداری، نوشتن و چاپ مستندات. محاسبات پیش بینیها و کارهای تکراری ریاضی توسط صفحات گسترده (spreadsheet) ، ارتباطات توسط پست الکترونیک، و اینترنت . حضور گسترده رایانهها و سفارشی کردن آسانشان باعث شد تا در امورات بسیار دیگری بکارگرفته شوند .
در همان زمان، رایانههای کوچک، که معمولاً با یک برنامه ثابت ارائه
میشدند، راهشان را بسوی کاربردهای دیگری باز مینمودند، کاربردهایی چون
لوازم خانگی، خودروها، هواپیماها، و ابزار صنعتی. این پردازشگرهای جاسازی شده کنترل رفتارهای آن لوازم را سادهتر کردند، همچنین امکان انجام رفتارهای پیچیده را نیز فراهم نمودند (برای نمونه، ترمزهای ضدقفل در خودروها ). با
شروع قرن بیست و یکم، اغلب دستگاههای الکتریکی، اغلب حالتهای انتقال
نیرو، اغلب خطوط تولید کارخانهها توسط رایانهها کنترل میشوند. اکثر
مهندسان پیش بینی میکنند که این روند همچنان به پیش برود. یکی از کارهایی
که میتوان بهوسیله رایانه انجام داد پروگرام گیرنده ماهوارهاست .
انواع رایانه
رایانههای توکار
در ۲۰ سال گذشته ، هرچند برخی ابزارهای خانگی که از نمونههای قابل ذکر آن میتوان جعبههای بازیهای ویدئویی را که بعدها در دستگاههای دیگری از جمله تلفن همراه، دوربینهای ضبط ویدئویی، و PDAها و دهها هزار وسیله خانگی، صنعتی، خودروسازی و تمام ابزاری که در درون آنها مدارهایی که نیازهای ماشین تورینگ را مهیا ساختهاند، گسترش یافت، را نام برد(اغلب این لوازم برنامههایی را در خود دارند که بصورت ثابت روی ROM تراشههایی که برای تغییر نیاز به تعویض دارند،نگاشته شدهاند). این رایانهها که در درون ابزارهای با کاربرد ویژه گنجانیده شدهاند «ریزکنترلگرهاً یا »رایانههای توکار " (Embedded Computers) نامیده میشوند. بنابراین تعریف این رایانهها بهعنوان ابزاری که با هدف پردازش اطلاعات طراحی گردیده محدودیتهایی دارد. بیشتر میتوان آنها را به ماشینهایی تشبیه کرد که در یک مجموعه بزرگتر بهعنوان یک بخش حضور دارند مانند دستگاههای تلفن، ماکروفرها و یا هواپیما که این رایانهها بدون تغییر فیزیکی توسط کاربر میتوانند برای مقاصد مختلفی بکارگرفته شوند .
رایانههای شخصی
اشخاصی که با انواع دیگری از رایانهها ناآشنا هستند از عبارت رایانه برای رجوع به نوع خاصی که رایانه شخصی (PC) نامیده میشوند استفاده میکنند

