رایانه یا کامپیوتر دستگاهی است که برای پردازش اطلاعات تحت یک روال معین استفاده میشود.
در زبان انگلیسی طی سالیان متمادی واژههای هم ارزش بسیاری برای این واژه بکار میرفته، و کلمات دیگری نیز وجود داشتهاند که از آنها به عنوان کامپیوتر یاد میشود اما معانی متفاوتی را در خود داشته اند.
برای نمونه «کامپیوتر» قبلا عموما به فردی اطلاق میشد که محاسبات ریاضی را (با یا بدون ابزارهای کمکی مکانیکی) انجام میداد. بر اساس «واژه نامه ریشه یابی Barnhart Concise» واژه کامپیوتر در سال ۱۶۴۶ به زبان انگلیسی وارد گردید که به معنی «شخصی که محاسبه میکند» بوده است و سپس از سال ۱۸۹۷ به ماشینهای محاسبه مکانیکی گفته میشد. در هنگام جنگ جهانی دوم «کامپیوتر» به زنان نظامی انگلیسی و امریکایی که کارشان محاسبه مسیرهای شلیک توپهای بزرگ جنگی توسط ابزاز مشابهی بود، اشاره میکرد.
در اوایل دههٔ ۵۰ میلادی هنوز اصطلاح ماشینهای محاسب (computing machines) برای معرفی این ماشینها بهکار میرفت؛ در نهایت پس از آن عبارت کوتاهتر کامپیوتر (computer) بهجای آن بهکار گرفته شد. در اصل، رایانش (computing) به عملیاتی که برای حل مسائل ریاضی انجام میگرفت اطلاق میشد، هر چند که رایانههای امروزی بسیاری از وظایفی را که بی ارتباط مستقیم با ریاضیات است انجام میدهند.
برابر این واژه در زبانهای دیگر حتما همان واژه زبان انگلیسی نیست. در زبان فرانسوی واژه ordinateur، که معادل «سازمان ده» یا «ماشین مرتب ساز» میباشد بهکار میرود. در اسپانیایی ordenador با معنایی مشابه استفاده میشود، همچنین در دیگر کشورهای اسپانیایی زبان computadora بصورت انگلیسی مآبانهای ادا میشود. در پرتغالی واژه computador بهکار میرود که از واژه computar گرفته شده و به معنای «محاسبه کردن» میباشد. در ایتالیایی واژه calcolatore که معنای ماشین حساب بکار میرود که بیشتر روی ویژگی حسابگری منطقی آن تاکید دارد. در سوئدی رایانه dator خوانده میشود که از data (دادهها) برگرفته شده است. به فنلاندی tietokone خوانده میشود که به معنی «ماشین اطلاعات» میباشد. اما در زبان ایسلندی توصیف شاعرانه تری بکار میرود، tölva که واژه ایست مرکب و به معنای «زن پیشگوی شمارشگر!» میباشد. در چینی رایانه dian nao یا «مغز برقی» خوانده میشود. در انگلیسی واژهها و تعابیر گوناگونی استفاده میشود، بعنوان مثال دستگاه داده پرداز (data processing machine).
هنگامی که رایانههای امروزی را درنظر میگیریم، اغلب ویژگی درخور نگرشی که آنها را از ابزارهای محاسبه قدیمی جدا میکند، ویژگی برنامهپذیری آنها میباشد.
هر رایانهای میتواند رفتارهای دیگری را تقلید کند (تنها محدودیت در ظرفیت ذخیره سازی و سرعت اجرا میباشد)، و درواقع این پذیرفته شده است که ماشینهای امروزی میتوانند تمامی ویژگی که در سایر دستگاهها پردازشی که اختراع میشوند تقلید نمایند (به هر حال یقینا با سرعت پایین تر). گهگاه، این آستانه قابلیت یک محک سودمند برای شناسایی «رایانههای همهکاره» از ابزارهای با کارایی ویژه قدیمی میباشد. این تعریف «همه کاره» میتواند بصورت رسمی در این تعریف که یک ماشین معین باید بتواند رفتارهای ماشین تورینگ (Turing machine) را تقلید نماید، بکار گرفته شود. ماشینهایی که این نیازمندی را تامین کرده باشند بعنوان تورینگ کامل (Turing-complete) خطاب میشوند. تا هنگامی که بصورت فیزیکی تامین فضای ذخیره نامتناهی و احتمال zero crashing وجود نداشته باشد لفظ تورینگ کامل بصورت آسان گیرانهای به ماشین با ظرفیت ذخیره سازی بالا (نامتناهی) و با قابلیت اطمینان واقعی، گفته میشود. نخستین سری از این ماشینها در سال 1941 بوجود آمد: Z3 ساخت کونراد زوسه (Konrad Zuse)که توسط برنامه کنترل میشد(اما ویژگی تورینگ کامل آن در سال 1998 به آن داده شد.). ماشینهای دیگری نیز بصورت آشفته و با عجله در سراسر دنیا توسعه یافتند. برای اطلاعات بیشتر به تاریخچه رایانه نگاه کنید.
لایبنیتز (leibniz) ریاضیدان آلمانی از نخستین کسانی است که در ساختن یک دستگاه خودکار محاسبه کوشش کرد. او که به پدر حسابدارش در تنظیم حسابها کمک میکرد، از زمانی که برای انجام محاسبات صرف میکرد گلهمند بود.
چارلز بابیج (Charles Babbage) یکی از اولین ماشینهای محاسبه مکانیکی را که به آن ماشین تحلیلی گفته میشد، طراحی نمود، اما بخاطر مشکلات فنی موجود در زمان حیاتش همچون ماشینی ساخته نشد(در سال 1993 در موزه علوم لندن مدلی که بر اساس طرح بابیج کار میکرد ساخته شد).
در گذشته دستگاههای مختلف مکانیکی سادهای مثل خطکش محاسبه و چرتکه نیز کامپیوتر خوانده میشدند. در برخی موارد از آنها بعنوان رایانههای آنالوگ نام برده میشود. چراکه برخلاف رایانههای رقمی، اعداد را نه بهصورت اعداد در پایه دو بلکه بهصورت کمیتهای فیزیکی متناظر با آن اعداد نمایش میدهند. چیزی که امروزه از آن بعنوان «رایانه» یاد میشود در گذشته به عنوان «رایانههای رقمی (دیجیتال)» یاد میشد تا آنها را از انواع «رایانههای آنالوگ» جدا سازد(که هنوز در برخی موارد استفاده میشود مثلا نشانک پرداز آنالوگ (analog signal processing).
معماری فون نوِیمن یک رایانه را به چهار بخش اصلی توصیف میکند: واحد محاسبه و منطق (Arithmetic and Logic Unit یا ALU)، واحد کنترل یا حافظه، و ابزارهای ورودی و خروجی ( که جمعا I/O نامیده میشود). این بخشها توسط اتصالات داخلی سیمی به نام گذرگاه (bus) با یکدیگر در پیوند هستند.
محتوای هر خانه حافظه ممکن است هر زمان تغییر یابد و بیشتر شبیه دفتر چرکنویس میماند تا یک لوح سنگی.
اندازه هر خانه، وتعداد خانه ها، در رایانهٔ مختلف متفاوت است، همچنین فناوریهای بکاررفته برای اجرای حافظه نیز از رایانهای به رایانه دیگر در تغییر است(از بازپخش کنندههای الکترومکانیکی تا تیوپها و فنرهای پر شده از جیوه و یا ماتریسهای ثابت مغناطیسی و در آخر ترانزیستورهای واقعی و مدار مجتمعها با میلیونها خازن روی یک تراشه تنها).
(قابل ذکر است پردازندههای اینتل از نوع پردازنده مبتنی بر اعمال پیچیده میباشند.)
واحد کنترل همچنین این مطلب را که کدامین بایت از حافظه حاوی دستورالعمل فعلی اجرا شونده است را تعقیب میکند، سپس به واحد محاسبه و منطق اعلام میکند که کدام عمل اجرا و از حافظه دریافت شود و نتایج به بخش اختصاص داده شده از حافظه ارسال گردد. بعد از یک بار عمل، واحد کنترل به دستورالعمل بعدی ارجاع میکند(که معمولا در خانه حافظه بعدی قرار دارد، مگر اینکه دستورالعمل جهش دستورالعمل بعدی باشد که به رایانه اعلام میکند دستورالعمل بعدی در خانه دیگر قرارگرفته است).
چیزی که تمامی دستگاههای عمومی در آن اشتراک دارند این است که آنها رمز کننده اطلاعات از نوعی به نوع دیگر که بتواند مورد استفاده سیستمهای رایانه دیجیتالی قرار گیرد، هستند. از سوی دیگر، دستگاههای خروجی آن اطلاعات به رمز شده را رمزگشایی میکنند تا کاربران آنها را دریافت نمایند. از این رو یک سیستم رایانه دیجیتالی یک نمونه از یک سامانه دادهپردازی میباشد.
دستورالعملها در داخل رایانه بصورت اعداد مشخص شدهاند - مثلا کد دستور العمل (copy instruction) برابر 001 میتواند باشد. مجموعه معین دستورالعملهای تعریف شده که توسط یک رایانه ویژه پشتیبانی میشود را زبان ماشین مینامند. در واقعیت، اشخاص معمولا به ماشین] دستورالعمل نمینویسند بلکه بیشتر به نوعی از انواع سطح بالای زبانهای برنامه نویسی، برنامه نویسی میکنند تا سپس توسط برنامه ویژهای (تفسیرگرها (interpreters) یا همگردانها (compilers) به دستورالعمل ویژه ماشین تبدیل گردد. برخی زبانهای برنامه نویسی از نوع بسیار شبیه و نزدیک به زبان ماشین که اسمبلر (یک زبان سطح پایین) نامیده میشود، استفاده میکنند؛ همچنین زبانهای سطح بالای دیگری نیز مانند پرولوگ نیز از یک زبان انتزاعی و چکیده که با زبان ماشین تفاوت دارد بجای دستورالعملهای ویژه ماشین استفاده میکنند.
برخی رایانههای بزرگتر چندین CPU و واحد کنترل دارند که بصورت همزمان با یکدیگر درحال کارند. اینگونه رایانهها بیشتر برای کاربردهای پژوهشی و محاسبات علمی بکار میروند.
کارایی رایانهها بنا به تئوری کاملاً درست است. رایانه دادهها و دستورالعملها را از حافظه اش واکشی (fetch) میکند. دستورالعملها اجرا میشوند، نتایج ذخیره میشوند، دستورالعمل بعدی واکشی میشود. این رویه تا زمانی که رایانه خاموش شود ادامه پیدا میکند. واحد پردازنده مرکزی در رایانههای شخصی امروزی مانند پردازندههای شرکت ای-ام-دی و شرکت اینتل از معماری موسوم به Pipeline استفاده میشود و در زمانی که پردازنده در حال ذخیره نتیجه یک دستور است مرحله اجرای دستور قبلی و مرحله واکشی دستور قبل از آن را آغاز میکند. همچنین این رایانهها از سطوح مختلف حافظه نهانگاهی استفاده میکنند که در زمان دسترسی به حافظه اصلی صرفه جویی کنند.
رایانههای امروزه، قادرند چندین برنامه را در آن واحد اجرا نمایند. از این قابلیت به عنوان چندکارگی (multitasking) نام برده میشود. در واقع، CPU یک رشته دستورالعملها را از یک برنامه اجرا میکند، سپس پس از یک مقطع ویژه زمانی دستورالعملهایی از یک برنامه دیگر را اجرا میکند. این فاصله زمانی اکثرا بعنوان یک برش زمانی (time slice) نام برده میشود. این ویژگی که CPU زمان اجرا را بین برنامهها تقسیم میکند، این توهم را بوجود میآورد که رایانه همزمان مشغول اجرای چند برنامه است. این شبیه به چگونگی نمایش فریمهای یک فیلم است، که فریمها با سرعت بالا در حال حرکت هستند و به نظر میرسد که صفحه ثابتی تصاویر را نمایش میدهد. سیستم عامل همان برنامهای است که این اشتراک زمانی را بین برنامههای دیگر تعیین میکند.
en:CSIR Mk I نیز که نخستین رایانه استرالیایی بود برای ارزیابی میزان بارندگی در کوههای اسنوئی (Snowy)این کشور بکاررفت، این محاسبات در چارچوب یک پروژه عظیم تولید برقابی انجام گرفت.
برخی رایانهها نیز برای انجام رمزگشایی بکارگرفته میشد، برای مثال en:Colossus که در جریان جنگ جهانی دوم ساخته شد، جزو اولین کامپیوترهای برنامهپذیر بود(البته ماشین تورینگ کامل نبود). هرچند رایانههای بعدی میتوانستند برنامه ریزی شوند تا شطرنج بازی کنند یا تصویر نمایش دهند و سایر کاربردها را نشان دهد.
سیاستمداران و شرکتهای بزرگ نیز رایانههای اولیه را برای خودکارسازی بسیاری از مجموعههای داده و پردازش کارهایی که قبلا توسط انسانها انجام میگرفت،بکاربستند - برای مثال، نگهداری و بروزرسانی حسابها و دارایی ها. در موسسات پژوهشی نیز دانشمندان رشتههای مختلف شروع به استفاده از رایانه برای مقاصدشان نمودند.
کاهش پیوسته قیمتهای رایانه باعث شد تا سازمانهای کوچکتر نیز بتوانند آنها را در اختیار بگیرند. بازرگانان، سازمانها، و سیاستمداران اغلب تعداد زیادی از کامپیوترهای کوچک را برای تکمیل وظایفی که قبلا برای تکمیلشان نیاز به رایانه بزرگ (mainframe) گران قیمت و بزرگ بود، به کار بگیرند. مجموعههایی از رایانههای کوچکتر در یک محل اغلب بعنوان خادم سرا (server farm) نام برده میشود.
با اختراع ریزپردازندهها در دهه en:1970 این امکان که بتوان رایانههایی بسیار ارزان قیمت را تولید نمود بوجود آمد. رایانههای شخصی برای انجام وظایف بسیاری محبوب گشتند، از جمله کتابداری، نوشتن و چاپ مستندات. محاسبات پیش بینیها و کارهای تکراری ریاضی توسط صفحات گسترده (spreadsheet)، ارتباطات توسط پست الکترونیک، و اینترنت. حضورگسترده رایانهها و سفارشی کردن آسانشان باعث شد تا در امورات بسیار دیگری بکارگرفته شوند.
در همان زمان، رایانههای کوچک، که معمولا با یک برنامه ثابت ارائه میشدند، راهشان را بسوی کاربردهای دیگری بازمی نمودند، کاربردهایی چون لوازم خانگی، خودروها، هواپیماها، و ابزار صنعتی. این پردازشگرهای جاسازی شده کنترل رفتارهای آن لوازم را ساده تر کردند، همچنین امکان انجام رفتارهای پیچیده را نیز فراهم نمودند (برای نمونه، en:anti-lock_brake در خودروها). با شروع قرن بیست و یکم، اغلب دستگاههای الکتریکی، اغلب حالتهای انتقال نیرو، اغلب خطوط تولید کارخانهها توسط رایانهها کنترل میشوند. اکثر مهندسان پیش بینی میکنند که این روند همچنان به پیش برود. یکی از کارهایی که میتوان بوسیله رایانه انجام داد پروگرام گیرنده ماهواره است.
Rekenaar | حاسوب | Computadora | Ordinador | Počítač | Cyfrifiadur | Computer | Computer | Computer | Komputilo | Computadora | Arvuti | Tietokone | Telda | Ordinateur | Kompjûter | מחשב | संगणक | Számítógép | Computator | Komputer | Tölva | Computer | コンピュータ | 컴퓨터 | Kompûter | Computatrum | Kompiuteris | Datori | Mpikajy | കംപ്യുട്ടര് | Komputer | Computer | Computer | Datamaskin | Béésh bee ak'e'elchíhí t'áá bí nitsékeesígíí | Komputer | Computador | Computer | Компьютер | Computer | Рачунар | Dator | Bilgisayar | Комп'ютер | شمارندہ | Máy tính | 计算机