بازی کامپیوتری
بازی کامپیوتری
بازی کامپیوتری (به انگلیسی: PC game یا Computer game) یک بازی ویدئویی است که به جای اجرای بازی در کنسولهای ویدئویی یا صندوقهای بازی در رایانه شخصی انجام میشود و معمولاً از لوح فشرده یا دیویدی اتصال اینترنتی فراهم میشود.
این بازیها به صورت رایگان یا به عنوان محصولی تجاری عرضه میشوند.
موزه بازیهای رایانهای
موزههای بازیهای رایانهای زیادی در سرتاسر جهان وجود دارد:
در سال ۲۰۱۱ در برلین، موزهای افتتاح شد که محل نگهداری بازیهای رایانهای از دهه ۱۹۷۰ تا کنون است.
موزه هنر و سرگرمیهای دیجیتال، در اوکلند کالیفرنیا نیز نمایشگاه بازیهای رایانهای است که در آن مجموعه، به اینگونه بازیها به صورت کلی جمعآوری شدهاند.
موزه بازی در رم به نگهداری از بازیهای رایانهای اختصاص داده شده است.
موزه تاریخ رایانه در مانتین ویو در کالیفرنیا دارای مجموعهای از بازیهای رایانه است و به بازدیدکنندگان اجازه بازی با نخستین بازی ویدئویی یعنی بازی جنگ فضایی را میدهد.
رایانه
رایانه یا کامپیوتر (به انگلیسی: computer) ماشینی است که از آن برای پردازش اطلاعات استفاده میشود.
نام
در زبان انگلیسی «کامپیوتر» به دستگاه خودکاری میگفتند که محاسبات ریاضی را انجام میداد. بر پایهٔ «واژهنامه ریشهیابی 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 به معنیِ «راست، مستقیم، درست»
برجای ماندهاست.
در فارسیِ نو پسوندِ -ـه (= /e/ در فارسی رسمی ایران و /a/ در فارسی رسمی افغانستان و تاجیکستان) را به ستاکِ حالِ فعلها میچسبانند تا نامِ ابزارِ آن فعلها بهدست آید (البته با این فرمول مشتقهای دیگری نیز ساخته میشود، امّا در اینجا تنها نامِ ابزار مدِّ نظر است)؛ برای نمونه از
مالـ- (یعنی ستاکِ حالِ مالیدن) + -ـه، ماله «ابزار مالیدنِ سیمان و گچِ خیس»
گیر- (یعنی ستاکِ حالِ گرفتن) + -ـه، گیره «ابزار گرفتن»
پوشـ- (یعنی ستاکِ حالِ پوشیدن) + -ـه، پوشه «ابزار پوشیدن» (خود را جایِ کاغذهایی بگذارید که پوشه را میپوشند!)
رسانـ- (یعنی ستاکِ حالِ رساندن) + -ـه، رسانه «ابزار رساندنِ اطّلاعات و برنامههایِ دیداری و شنیداری»
حاصل میگردد.
در فارسیِ نو پسوندِ -ـه (= e- یا همان a-) را به ستاکِ حالِ "رایانیدن" یعنی رایانـ- چسباندهاند تا نامِ ابزارِ این فعل ساخته شود؛ یعنی "رایانه" به معنایِ «ابزارِ نظم بخشیدن و سازماندهی (ِ دادهها)» است.
سازندگان این واژه به واژهیِ فرانسویِ این مفهوم، یعنی ordinateurتوجّه داشتهاند که در فرانسه از مصدرِ ordre«ترتیب و نظم دادن و سازمان بخشیدن» ساخته شده. به هرحال، معنادهیِ واژهیِ رایانه برایِ این دستگاه جامعتر و رساتر از کامپیوتر است. یادآور میشود که computerبه معنایِ «حسابگر» یا «مقایسهگر» است، حال آنکه کارِ این دستگاه براستی فراتر از "حساب کردن" است.
تاریخچه
در گذشته دستگاههای مختلف مکانیکی سادهای مثل خطکش محاسبه و چرتکه نیز رایانه خوانده میشدند. در برخی موارد از آنها بهعنوان رایانه قیاسی نام برده میشود. البته لازم به ذکر است که کاربرد واژهٔ رایانه آنالوگ در علوم مختلف بیش از این است که به چرتکه و خطکش محاسبه محدود شود. به طور مثال در علوم الکترونیک، مخابرات و کنترل روشی برای محاسبه مشتق و انتگرال توابع ریاضی و معادلات دیفرانسیل توسط تقویت کنندههای عملیاتی، مقاومت، سلف و خازن متداول است که به مجموعهٔ سیستم مداری «رایانهٔ قیاسی» (آنالوگ) گفته میشود. چرا که برخلاف رایانههای رقمی، اعداد را نه بهصورت اعداد در پایه دو بلکه بهصورت کمیتهای فیزیکی متناظر با آن اعداد نمایش میدهند. چیزی که امروزه از آن بهعنوان «رایانه» یاد میشود در گذشته به عنوان «رایانه رقمی (دیجیتال)» یاد میشد تا آنها را از انواع «رایانه قیاسی» جدا سازند.
به تصریح دانشنامه انگلیسی ویکیپدیا، بدیعالزمان ابوالعز بن اسماعیل بن رزاز جَزَری (درگذشتهٔ ۶۰۲ ق.) یکی از نخستین ماشینهای اتوماتا را که جد رایانههای امروزین است، ساخته بودهاست. این مهندس مکانیک مسلمان از دیاربکر در شرق آناتولی بودهاست. رایانه یکی از دو چیز برجستهای است که بشر در سدهٔ بیستم اختراع کرد. دستگاهی که بلز پاسکال در سال ۱۶۴۲ ساخت اولین تلاش در راه ساخت دستگاههای محاسب خودکار بود. پاسکال آن دستگاه را که پس از چرتکه دومیت ابزار ساخت بشر بود، برای یاری رساندن به پدرش ساخت. پدر وی حسابدار دولتی بود و با کمک این دستگاه میتوانست همه اعدادشش رقمی را با هم جمع و تفریق کند.
لایبنیتز ریاضیدان آلمانی نیز از نخستین کسانی بود که در راه ساختن یک دستگاه خودکار محاسبه کوشش کرد. او در سال ۱۶۷۱ دستگاهی برای محاسبه ساخت که کامل شدن آن تا ۱۹۶۴ به درازا کشید. همزمان در انگلستان ساموئل مورلند در سال ۱۶۷۳ دستگاهی ساخت که جمع و تفریق و ضرب میکرد.
در سدهٔ هجدهم میلادی هم تلاشهای فراوانی برای ساخت دستگاههای محاسب خودکار انجام شد که بیشترشان نافرجام بود. سرانجام در سال ۱۸۷۵ میلادی استیفن بالدوین نخستین دستگاه محاسب را که هر چهار عمل اصلی را انجام میداد، به نام خود ثبت کرد.
از جمله تلاشهای نافرجامی که در این سده صورت گرفت، مربوط به چارلز ببیج ریاضیدان انگلیسی است. وی در آغاز این سده در سال ۱۸۱۰ در اندیشهٔ ساخت دستگاهی بود که بتواند بر روی اعداد بیست و شش رقمی محاسبه انجام دهد. او بیست سال از عمرش را در راه ساخت آن صرف کرد اما در پایان آن را نیمهکاره رها کرد تا ساخت دستگاهی دیگر که خود آن را دستگاه تحلیلی مینامید آغاز کند. او میخواست دستگاهی برنامهپذیر بسازد که همه عملیاتی را که میخواستند دستگاه برروی عددها انجام دهد، قبلا برنامهشان به دستگاه داده شده باشد. قرار بود عددها و درخواست عملیات برروی آنها به یاری کارتهای سوراخدار وارد شوند. بابیچ در سال ۱۸۷۱ مرد و ساخت این دستگاه هم به پایان نرسید.
کارهای بابیچ به فراموشی سپرده شد تا این که در سال ۱۹۴۳ و در بحبوحه جنگ جهانی دوم دولت آمریکا طرحی سری برای ساخت دستگاهی را آغاز کرد که بتواند مکالمات رمزنگاریشدهٔ آلمانیها را رمزبرداری کند. این مسئولیت را شرکت آیبیام و دانشگاه هاروارد به عهده گرفتند که سرانجام به ساخت دستگاهی به نام ASCC در سال ۱۹۴۴ انجامید. این دستگاه پنج تنی که ۱۵ متر درازا و ۲٫۵ متر بلندی داشت، میتوانست تا ۷۲ عدد ۲۴ رقمی را در خود نگاه دارد و با آنها کار کند. دستگاه با نوارهای سوراخدار برنامهریزی میشد و همهٔ بخشهای آن مکانیکی یا الکترومکانیکی بود.
تعریف داده و اطلاعات
داده به آن دسته از ورودیهای خام گفته میشود که برای پردازش به رایانه ارسال میشوند.
به دادههای پردازش شده اطّلاعات میگویند.
رایانهها چگونه کار میکنند؟
از زمان رایانههای اولیه که در سال ۱۹۴۱ ساخته شده بودند تا کنون فناوریهای دیجیتالی رشد نمودهاست، معماری فون نوِیمن یک رایانه را به چهار بخش اصلی توصیف میکند: واحد محاسبه و منطق (Arithmetic and Logic Unit یا ALU)، واحد کنترل یا حافظه، و ابزارهای ورودی و خروجی (که جمعا I/O نامیده میشود). این بخشها توسط اتصالات داخلی سیمی به نام گذرگاه (bus) با یکدیگر در پیوند هستند.
حافظه
در این سامانه، حافظه بصورت متوالی شماره گذاری شده در خانهها است، هرکدام محتوی بخش کوچکی از دادهها میباشند. دادهها ممکن است دستورالعملهایی باشند که به رایانه میگویند که چه کاری را انجام دهد باشد. خانه ممکن است حاوی اطلاعات مورد نیاز یک دستورالعمل باشد. اندازه هر خانه، وتعداد خانهها، در رایانهٔ مختلف متفاوت است، همچنین فناوریهای بکاررفته برای اجرای حافظه نیز از رایانهای به رایانه دیگر در تغییر است (از بازپخشکنندههای الکترومکانیکی تا تیوپها و فنرهای پر شده از جیوه و یا ماتریسهای ثابت مغناطیسی و در آخر ترانزیستورهای واقعی و مدار مجتمعها با میلیونها فیوز نیمه هادی یا MOSFETهایی با عملکردی شبیه ظرفیت خازنی روی یک تراشه تنها).
پردازش
واحد محاسبه و منطق یا ALU دستگاهی است که عملیات پایه مانند چهار عمل اصلی حساب (جمع و تفریق و ضرب و تقسیم)، عملیات منطقی (و، یا، نقیض)، عملیات قیاسی (برای مثال مقایسه دو بایت برای شرط برابری) و دستورات انتصابی برای مقدار دادن به یک متغیر را انجام میدهد. این واحد جائیست که «کار واقعی» در آن صورت میپذیرد.
البته CPUها به دو دسته کلی RISC و CISC تقسیم بندی میشوند. نوع اول پردازشگرهای مبتنی بر اعمال ساده هستند و نوع دوم پردازشگرهای مبتنی بر اعمال پیچیده میباشند. پردازشگرهای مبتنی بر اعمال پیچیده در واحد محاسبه و منطق خود دارای اعمال و دستوراتی بسیار فراتر از چهار عمل اصلی یا منطقی میباشند. تنوع دستورات این دسته از پردازندهها تا حدی است که توضیحات آنها خود میتواند یک کتاب با قطر متوسط ایجاد کند. پردازندههای مبتنی بر اعمال ساده اعمال بسیار کمی را پوشش میدهند و در حقیقت برای برنامهنویسی برای این پردازندهها بار نسبتاً سنگینی بر دوش برنامهنویس است. این پردازندهها تنها حاوی ۴ عمل اصلی و اعمال منطقی ریاضی و مقایسهای به علاوه چند دستور بیاهمیت دیگر میباشند. هرچند ذکر این نکته ضروری است که دستورات پیچیده نیز از ترکیب تعدادی دستور ساده تشکیل شدهاند و برای پیادهسازی این دستورات در معماریهای مختلف از پیادهسازی سختافزاری (معماری CISC) و پیادهسازی نرمافزاری (معماری RISC) استفاده میشود.
(قابل ذکر است پردازندههای اینتل از نوع پردازنده مبتنی بر اعمال پیچیده میباشند.)
واحد کنترل همچنین این مطلب را که کدامین بایت از حافظه حاوی دستورالعمل فعلی اجرا شوندهاست را تعقیب میکند، سپس به واحد محاسبه و منطق اعلام میکند که کدام عمل اجرا و از حافظه دریافت شود و نتایج به بخش اختصاص داده شده از حافظه ارسال گردد. بعد از یک بار عمل، واحد کنترل به دستورالعمل بعدی ارجاع میکند (که معمولاً در خانه حافظه بعدی قرار دارد، مگر اینکه دستورالعمل جهش دستورالعمل بعدی باشد که به رایانه اعلام میکند دستورالعمل بعدی در خانه دیگر قرار گرفتهاست).
ورودی/خروجی
بخش ورودی/خروجی (I/O) این امکان را به رایانه میدهد تا اطلاعات را از جهان بیرون تهیه و نتایج آنها را به همان جا برگرداند. محدوده فوق العاده وسیعی از دستگاههای ورودی/خروجی وجود دارد، از خانواده آشنای صفحهکلیدها، نمایشگرها، نَرمدیسک گرفته تا دستگاههای کمی غریب مانند رایابینها (webcams). (از سایر ورودی/خروجیها میتوان موشواره mouse، قلم نوری، چاپگرها (printer)، اسکنرها، انواع لوحهای فشرده(CD, DVD) را نام برد).
چیزی که تمامی دستگاههای عمومی در آن اشتراک دارند این است که آنها رمزکننده اطلاعات از نوعی به نوع دیگر که بتواند مورد استفاده سیستمهای رایانه دیجیتالی قرار گیرد، هستند. از سوی دیگر، دستگاههای خروجی آن اطلاعات به رمز شده را رمزگشایی میکنند تا کاربران آنها را دریافت نمایند. از این رو یک سیستم رایانه دیجیتالی یک نمونه از یک سامانه دادهپردازی میباشد.
دستورالعملها
هر رایانه تنها دارای یک مجموعه کم تعداد از دستورالعملهای ساده و تعریف شده میباشد. از انواع پرکاربردشان میتوان به دستورالعمل «محتوای خانه ۱۲۳ را در خانه ۴۵۶ کپی کن!»، «محتوای خانه ۶۶۶ را با محتوای خانه ۰۴۲ جمع کن، نتایج را در خانه ۰۱۳ کن!»، «اگر محتوای خانه ۹۹۹ برابر با صفر است، به دستورالعمل واقع در خانه ۳۴۵ رجوع کن!».
دستورالعملها در داخل رایانه بصورت اعداد مشخص شدهاند - مثلاً کد دستور العمل (copy instruction) برابر ۰۰۱ میتواند باشد. مجموعه معین دستورالعملهای تعریف شده که توسط یک رایانه ویژه پشتیبانی میشود را زبان ماشین مینامند. در واقعیت، اشخاص معمولاً به زبان ماشین دستورالعمل نمینویسند بلکه بیشتر به نوعی از انواع سطح بالای زبانهای برنامهنویسی، برنامهنویسی میکنند تا سپس توسط برنامه ویژهای (تفسیرگرها (interpreters) یا همگردانها (compilers) به دستورالعمل ویژه ماشین تبدیل گردد. برخی زبانهای برنامهنویسی از نوع بسیار شبیه و نزدیک به زبان ماشین که اسمبلر (یک زبان سطح پایین) نامیده میشود، استفاده میکنند؛ همچنین زبانهای سطح بالای دیگری نیز مانند پرولوگ نیز از یک زبان انتزاعی و چکیده که با زبان ماشین تفاوت دارد بجای دستورالعملهای ویژه ماشین استفاده میکنند.
معماریها
در رایانههای معاصر واحد محاسبه و منطق را به همراه واحد کنترل در یک مدار مجتمع که واحد پردازشی مرکزی (CPU) نامیده میشود، جمع نمودهاند. عموما، حافظه رایانه روی یک مدار مجتمع کوچک نزدیک CPU قرار گرفته. اکثریت قاطع بخشهای رایانه تشکیل شدهاند از سامانههای فرعی (به عنوان نمونه، منبع تغذیه رایانه) و یا دستگاههای ورودی/خروجی.
برخی رایانههای بزرگتر چندین CPU و واحد کنترل دارند که بصورت همزمان با یکدیگر درحال کارند. اینگونه رایانهها بیشتر برای کاربردهای پژوهشی و محاسبات علمی بکار میروند.
کارایی رایانهها بنا به تئوری کاملاً درست است. رایانه دادهها و دستورالعملها را از حافظهاش واکشی (fetch) میکند. دستورالعملها اجرا میشوند، نتایج ذخیره میشوند، دستورالعمل بعدی واکشی میشود. این رویه تا زمانی که رایانه خاموش شود ادامه پیدا میکند. واحد پردازنده مرکزی در رایانههای شخصی امروزی مانند پردازندههای شرکت ای-ام-دی و شرکت اینتل از معماری موسوم به خط لوله استفاده میشود و در زمانی که پردازنده در حال ذخیره نتیجه یک دستور است مرحله اجرای دستور قبلی و مرحله واکشی دستور قبل از آن را آغاز میکند. همچنین این رایانهها از سطوح مختلف حافظه نهانگاهی استفاده میکنند که در زمان دسترسی به حافظه اصلی صرفهجویی کنند.
برنامهها
برنامه رایانهای فهرستهای بزرگی از دستورالعملها (احتمالاً به همراه جدولهائی از داده) برای اجرا روی رایانه هستند. خیلی از رایانهها حاوی میلیونها دستورالعمل هستند، و بسیاری از این دستورها به تکرار اجرا میشوند. یک رایانه شخصی نوین نوعی (درسال ۲۰۰۳) میتواند در ثانیه میان ۲ تا ۳ میلیارد دستورالعمل را پیاده نماید. رایانهها این مقدار محاسبه را صرف انجام دستورالعملهای پیچیده نمیکنند. بیشتر میلیونها دستورالعمل ساده را که توسط اشخاص باهوشی «برنامه نویسان» در کنار یکدیگر چیده شدهاند را اجرا میکنند. برنامهنویسان خوب مجموعههایی از دستورالعملها را توسعه میدهند تا یکسری از وظایف عمومی را انجام دهند (برای نمونه، رسم یک نقطه روی صفحه) و سپس آن مجموعه دستورالعملها را برای دیگر برنامهنویسان در دسترس قرار میدهند. (اگر مایلید «یک برنامهنویس خوب» باشید به این مطلب مراجعه نمایید.)
رایانههای امروزه، قادرند چندین برنامه را در آن واحد اجرا نمایند. از این قابلیت به عنوان چندکارگی (multitasking) نام برده میشود. در واقع، CPU یک رشته دستورالعملها را از یک برنامه اجرا میکند، سپس پس از یک مقطع ویژه زمانی دستورالعملهایی از یک برنامه دیگر را اجرا میکند. این فاصله زمانی اکثرا بهعنوان یک برش زمانی (time slice) نام برده میشود. این ویژگی که CPU زمان اجرا را بین برنامهها تقسیم میکند، این توهم را بوجود میآورد که رایانه همزمان مشغول اجرای چند برنامهاست. این شبیه به چگونگی نمایش فریمهای یک فیلم است، که فریمها با سرعت بالا در حال حرکت هستند و به نظر میرسد که صفحه ثابتی تصاویر را نمایش میدهد. سیستمعامل همان برنامهای است که این اشتراک زمانی را بین برنامههای دیگر تعیین میکند.
سیستمعامل
کامپیوتر همیشه نیاز دارد تا برای بکار انداختنش حداقل یک برنامه روی آن در حال اجرا باشد. تحت عملکردهای عادی این برنامه همان سیستمعامل یا OS که مخفف واژههای Operating System است. سیستم یا سامانه عامل بر اساس پیشفرضها تصمیم میگیرد که کدام برنامه برای انجام چه وظیفهای اجرا شود، چه زمان، از کدام منابع (مثل حافظه، ورودی/خروجی و...) استفاده شود. همچنین سیستمعامل یک لایه انتزاعی بین سختافزار و برنامههای دیگر که میخواهند از سختافزار استفاده کنند، میباشد، که این امکان را به برنامه نویسان میدهد تا بدون اینکه جزئیات ریز هر قطعه الکترونیکی از سختافزار را بدانند بتوانند برای آن قطعه برنامهنویسی نمایند. در گذشته یک اصطلاح متداول بود که گفته میشد با تمام این وجود کامپیوترها نمیتوانند برخی از مسائل را حل کنند که به این مسائل حل نشدنی گفته میشود مانند مسائلی که در مسیر حلشان در حلقه بینهایت میافتند. به همین دلیل نیاز است که با کمک روشهای خاص بطور مثال به چند بخش تقسیم نمودن مساله یا روشهای متداول دیگر از رخ دادن این خطا تا حد امکان جلوگیری نمود. از جمله سیستم عاملهای امروزی میتوان به مایروسافت ویندوز، مکینتاش اپل و لینوکس و بی اس دی اشاره کرد.
کاربردهای رایانه
نخستین رایانههای رقمی، با قیمتهای زیاد و حجم بزرگشان، در اصل محاسبات علمی را انجام میدادند، انیاک یک رایانهٔ قدیمی ایالات متحده اصولاً طراحی شده تا محاسبات پرتابهای توپخانه و محاسبات مربوط به جدول چگالی نوترونی را انجام دهد. (این محاسبات بین دسامبر ۱۹۴۱ تا ژانویه ۱۹۴۶ روی حجمی بالغ بر یک میلیون کارت پانچ انجام پذیرفت! که این خود طراحی و سپس تصمیم نادرست بکارگرفته شده را نشان میدهد) بسیاری از ابررایانههای امروزی صرفاً برای کارهای ویژهٔ محاسبات جنگافزار هستهای استفاده میگردد.
CSIR Mk I نیز که نخستین رایانه استرالیایی بود برای ارزیابی میزان بارندگی در کوههای اسنوئی (Snowy)این کشور بکاررفت، این محاسبات در چارچوب یک پروژه عظیم تولید برقابی انجام گرفت.
برخی رایانهها نیز برای انجام رمزگشایی بکارگرفته میشد، برای مثال Colossus که در جریان جنگ جهانی دوم ساخته شد، جزو اولین کامپیوترهای برنامهپذیر بود (البته ماشین تورینگ کامل نبود). هرچند رایانههای بعدی میتوانستند برنامهریزی شوند تا شطرنج بازی کنند یا تصویر نمایش دهند و سایر کاربردها را نشان دهد.
سیاستمداران و شرکتهای بزرگ نیز رایانههای اولیه را برای خودکارسازی بسیاری از مجموعههای داده و پردازش کارهایی که قبلا توسط انسانها انجام میگرفت، بکار بستند - برای مثال، نگهداری و بروزرسانی حسابها و داراییها. در موسسات پژوهشی نیز دانشمندان رشتههای مختلف شروع به استفاده از رایانه برای مقاصدشان نمودند.
کاهش پیوسته قیمتهای رایانه باعث شد تا سازمانهای کوچکتر نیز بتوانند آنها را در اختیار بگیرند. بازرگانان، سازمانها، و سیاستمداران اغلب تعداد زیادی از کامپیوترهای کوچک را برای تکمیل وظایفی که قبلا برای تکمیلشان نیاز به رایانه بزرگ (mainframe) گرانقیمت و بزرگ بود، به کار بگیرند. مجموعههایی از رایانههای کوچکتر در یک محل اغلب بهعنوان خادم سر (server farm) نام برده میشود.
با اختراع ریزپردازندهها در دههٔ ۱۹۷۰ این امکان که بتوان رایانههایی بسیار ارزان قیمت را تولید نمود بوجود آمد. رایانههای شخصی برای انجام وظایف بسیاری محبوب گشتند، از جمله کتابداری، نوشتن و چاپ مستندات. محاسبات پیش بینیها و کارهای تکراری ریاضی توسط صفحات گسترده (spreadsheet)، ارتباطات توسط پست الکترونیک، و اینترنت. حضور گسترده رایانهها و سفارشی کردن آسانشان باعث شد تا در امورات بسیار دیگری بکارگرفته شوند.
در همان زمان، رایانههای کوچک، که معمولاً با یک برنامه ثابت ارائه میشدند، راهشان را بسوی کاربردهای دیگری باز مینمودند، کاربردهایی چون لوازم خانگی، خودروها، هواپیماها، و ابزار صنعتی. این پردازشگرهای جاسازی شده کنترل رفتارهای آن لوازم را سادهتر کردند، همچنین امکان انجام رفتارهای پیچیده را نیز فراهم نمودند (برای نمونه، ترمزهای ضدقفل در خودروه). با شروع قرن بیست و یکم، اغلب دستگاههای الکتریکی، اغلب حالتهای انتقال نیرو، اغلب خطوط تولید کارخانهها توسط رایانهها کنترل میشوند. اکثر مهندسان پیش بینی میکنند که این روند همچنان به پیش برود... یکی از کارهایی که میتوان بهوسیله رایانه انجام داد برنامه گیرنده ماهوارهاست.
نیز تنها ۴۹۵ دلار قیمت داشت! قیمت آن کامپیوتر نیز ۳٬۰۰۵ دلار بود و IBM در آن زمان توانست ۶۷۱٬۵۳۷ دستگاه از آن را بفروشد.
انواع رایانه
رایانههای توکار (جاسازی شده)
رایانههایی هم وجود دارند که تنها برای کاربردهایی ویژه طراحی میشوند. در ۲۰ سال گذشته، هرچند برخی ابزارهای خانگی که از نمونههای قابل ذکر آن میتوان جعبههای بازیهای ویدئویی را که بعدها در دستگاههای دیگری از جمله تلفن همراه، دوربینهای ضبط ویدئویی، و PDAها و دهها هزار وسیله خانگی، صنعتی، خودروسازی و تمام ابزاری که در درون آنها مدارهایی که نیازهای ماشین تورینگ را مهیا ساختهاند، گسترش یافت، را نام برد (اغلب این لوازم برنامههایی را در خود دارند که بصورت ثابت روی ROM تراشههایی که برای تغییر نیاز به تعویض دارند، نگاشته شدهاند). این رایانهها که در درون ابزارهای با کاربرد ویژه گنجانیده شدهاند «ریزکنترلگرها» یا رایانههای توکار" (Embedded Computers) نامیده میشوند. بنا بر این تعریف این رایانهها به عنوان ابزاری که با هدف پردازش اطّلاعات طراحی گردیده محدودیتهایی دارد. بیشتر میتوان آنها را به ماشینهایی تشبیه کرد که در یک مجموعه بزرگتر به عنوان یک بخش حضور دارند مانند دستگاههای تلفن، ماکروفرها و یا هواپیما که این رایانهها بدون تغییری فیزیکی به دست کاربر میتوانند برای هدفهای گونهگونی به کارگرفته شوند.
رایانههای شخصی
اشخاصی که با انواع دیگری از رایانهها ناآشنا هستند از عبارت رایانه برای رجوع به نوع خاصی استفاده میکنند که رایانه شخصی (PC) نامیده میشوند. رایانهای است که از اجزای الکترونیکی میکرو (ریز) تشکیل شده که جزو کوچکترین و ارزانترین رایانهها به شمار میروند و کاربردهای خانگی و اداری دارند. شرکت آیبیام رایانه شخصی را در سال ۱۹۸۱ میلادی به جهان معرفی کرد.
نخستین رایانه آیبیام از برخی از ماشین حسابهای امروزی نیز ضعیفتر است ولی در آن زمان شگفت انگیز بود. رایانه شخصی سی سال پیش دارای حافظه ROM با ظرفیت 40K و حافظه RAM با ظرفیت 64K بود. البته کاربر میتوانست حافظه RAM را تا 256K افزایش دهد. قیمت هر ماژول 64K حافظه والانیوز
سرمایهگذاری
صنعت رایانه همواره صنعتی رو به رشد، چه در حوزهٔ سختافزارى و چه در حوزهٔ نرمافزارى بوده است، این صنعت پیوسته مورد توجه سرمایه گذاران بوده و سرمایهها را به خود جذب کرده است. آیندهٔ روشن این فنّاوری همواره سرمایه داران را ترغیب میکند تا روی این صنعت سرمایهگذاری کنند.
تاریخ سختافزار رایانه
رایانه یکی از دو چیز برجستهای است که بشر در سدهٔ بیستم اختراع کرد. دستگاهی که بلز پاسکال در سال ۱۶۴۲ ساخت، اولین تلاش در راه ساخت دستگاههای محاسب خودکار بود. تا کنون پنج نسل از رایانهها ساخته و عرضه شدند.کامپیوترهای الکترونیکی و کامپیوترهای مکانیکی اولیه به این خاطر نام گرفتند که کارهایی را که قبلاً انسانهای کامپوتر اختصاص داشت انجام میدادند .کامپیوتر اصالتاً یک عنوان شغلی بود و به کسانی گفته میشد که کارشان این بود که محاسبات برای چیزهایی مانند فهرستهای کشتیرانی و جداول جزر و مد و موقعیتهای نجومی نیاز بودند.تصور کنید که شما ساعتی پس از ساعتی و روزی پس از روزی هیچ کاری جز محاسبه کردنهای بی شمار را انجام نمیدادید . و حتی در بهترین روز هایتان شما نمیتوانستید جوابها را خیلی تند ارائه دهید . بنا براین مخترعین صدها سال به جستجو پرداختند تا راهی برای مکانیزه شدن پیدا کنند . به این معنی که دستگاهی اختراع کنند تا این کار را انجام دهد .به دنبال انسانهای کامپیوتر نوعی کامپیوتر عملگر آمد .
قدیمی ترین سخت افزار درست
دستگاه به کمک محاسبات، عمدتاً با استفاده از یک به یک مکاتبه با انگشتان دست برای هزاران سال مورد استفاده قرار گرفته است. اولین دستگاه شمارش احتمالاً به شکل شمارش چوب بوده اند.
بعد از نگهداری سوابق کمک در سراسر هلال حاصلخیز شامل محاسبه (حوزه های خاک رس، مخروط و غیره) که تعدادی از موارد، احتمالاً دام و دانه، مهرو موم شده در ظروف تو خالی پخته نشده خاک رس نشان داده شده است. استفاده از شمارش میله هایک نمونه است. چرتکه اولیه برای کارهای ریاضی مورد استفاده قرار گرفت. چیزی که ما آن را چرتکه ی روم می نامیم در بابل زودتر از ۲۴۰۰ سال قبل از میلاد مورد استفاده قرار گرفت. از آن زمان، بسیاری از اشکال دیگر تخته حساب و یا جداول ابداع شده است. در یک قرون وسطی اروپا خانه شمارش، یک پارچه شطرنجی میتواند بر روی یک جدول قرار داده شده است و استفاده از نشانگر در اطراف آن با توجه به قوانین خاص نقل مکان کرد، به عنوان کمکی برای محاسبه مبالغ از پول است.
بازی کامپیوتری (به انگلیسی: PC game یا Computer game) یک بازی ویدئویی است که به جای اجرای بازی در کنسولهای ویدئویی یا صندوقهای بازی در رایانه شخصی انجام میشود و معمولاً از لوح فشرده یا دیویدی اتصال اینترنتی فراهم میشود.
این بازیها به صورت رایگان یا به عنوان محصولی تجاری عرضه میشوند.
موزه بازیهای رایانهای
موزههای بازیهای رایانهای زیادی در سرتاسر جهان وجود دارد:
در سال ۲۰۱۱ در برلین، موزهای افتتاح شد که محل نگهداری بازیهای رایانهای از دهه ۱۹۷۰ تا کنون است.
موزه هنر و سرگرمیهای دیجیتال، در اوکلند کالیفرنیا نیز نمایشگاه بازیهای رایانهای است که در آن مجموعه، به اینگونه بازیها به صورت کلی جمعآوری شدهاند.
موزه بازی در رم به نگهداری از بازیهای رایانهای اختصاص داده شده است.
موزه تاریخ رایانه در مانتین ویو در کالیفرنیا دارای مجموعهای از بازیهای رایانه است و به بازدیدکنندگان اجازه بازی با نخستین بازی ویدئویی یعنی بازی جنگ فضایی را میدهد.
رایانه
رایانه یا کامپیوتر (به انگلیسی: computer) ماشینی است که از آن برای پردازش اطلاعات استفاده میشود.
نام
در زبان انگلیسی «کامپیوتر» به دستگاه خودکاری میگفتند که محاسبات ریاضی را انجام میداد. بر پایهٔ «واژهنامه ریشهیابی 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 به معنیِ «راست، مستقیم، درست»
برجای ماندهاست.
در فارسیِ نو پسوندِ -ـه (= /e/ در فارسی رسمی ایران و /a/ در فارسی رسمی افغانستان و تاجیکستان) را به ستاکِ حالِ فعلها میچسبانند تا نامِ ابزارِ آن فعلها بهدست آید (البته با این فرمول مشتقهای دیگری نیز ساخته میشود، امّا در اینجا تنها نامِ ابزار مدِّ نظر است)؛ برای نمونه از
مالـ- (یعنی ستاکِ حالِ مالیدن) + -ـه، ماله «ابزار مالیدنِ سیمان و گچِ خیس»
گیر- (یعنی ستاکِ حالِ گرفتن) + -ـه، گیره «ابزار گرفتن»
پوشـ- (یعنی ستاکِ حالِ پوشیدن) + -ـه، پوشه «ابزار پوشیدن» (خود را جایِ کاغذهایی بگذارید که پوشه را میپوشند!)
رسانـ- (یعنی ستاکِ حالِ رساندن) + -ـه، رسانه «ابزار رساندنِ اطّلاعات و برنامههایِ دیداری و شنیداری»
حاصل میگردد.
در فارسیِ نو پسوندِ -ـه (= e- یا همان a-) را به ستاکِ حالِ "رایانیدن" یعنی رایانـ- چسباندهاند تا نامِ ابزارِ این فعل ساخته شود؛ یعنی "رایانه" به معنایِ «ابزارِ نظم بخشیدن و سازماندهی (ِ دادهها)» است.
سازندگان این واژه به واژهیِ فرانسویِ این مفهوم، یعنی ordinateurتوجّه داشتهاند که در فرانسه از مصدرِ ordre«ترتیب و نظم دادن و سازمان بخشیدن» ساخته شده. به هرحال، معنادهیِ واژهیِ رایانه برایِ این دستگاه جامعتر و رساتر از کامپیوتر است. یادآور میشود که computerبه معنایِ «حسابگر» یا «مقایسهگر» است، حال آنکه کارِ این دستگاه براستی فراتر از "حساب کردن" است.
تاریخچه
در گذشته دستگاههای مختلف مکانیکی سادهای مثل خطکش محاسبه و چرتکه نیز رایانه خوانده میشدند. در برخی موارد از آنها بهعنوان رایانه قیاسی نام برده میشود. البته لازم به ذکر است که کاربرد واژهٔ رایانه آنالوگ در علوم مختلف بیش از این است که به چرتکه و خطکش محاسبه محدود شود. به طور مثال در علوم الکترونیک، مخابرات و کنترل روشی برای محاسبه مشتق و انتگرال توابع ریاضی و معادلات دیفرانسیل توسط تقویت کنندههای عملیاتی، مقاومت، سلف و خازن متداول است که به مجموعهٔ سیستم مداری «رایانهٔ قیاسی» (آنالوگ) گفته میشود. چرا که برخلاف رایانههای رقمی، اعداد را نه بهصورت اعداد در پایه دو بلکه بهصورت کمیتهای فیزیکی متناظر با آن اعداد نمایش میدهند. چیزی که امروزه از آن بهعنوان «رایانه» یاد میشود در گذشته به عنوان «رایانه رقمی (دیجیتال)» یاد میشد تا آنها را از انواع «رایانه قیاسی» جدا سازند.
به تصریح دانشنامه انگلیسی ویکیپدیا، بدیعالزمان ابوالعز بن اسماعیل بن رزاز جَزَری (درگذشتهٔ ۶۰۲ ق.) یکی از نخستین ماشینهای اتوماتا را که جد رایانههای امروزین است، ساخته بودهاست. این مهندس مکانیک مسلمان از دیاربکر در شرق آناتولی بودهاست. رایانه یکی از دو چیز برجستهای است که بشر در سدهٔ بیستم اختراع کرد. دستگاهی که بلز پاسکال در سال ۱۶۴۲ ساخت اولین تلاش در راه ساخت دستگاههای محاسب خودکار بود. پاسکال آن دستگاه را که پس از چرتکه دومیت ابزار ساخت بشر بود، برای یاری رساندن به پدرش ساخت. پدر وی حسابدار دولتی بود و با کمک این دستگاه میتوانست همه اعدادشش رقمی را با هم جمع و تفریق کند.
لایبنیتز ریاضیدان آلمانی نیز از نخستین کسانی بود که در راه ساختن یک دستگاه خودکار محاسبه کوشش کرد. او در سال ۱۶۷۱ دستگاهی برای محاسبه ساخت که کامل شدن آن تا ۱۹۶۴ به درازا کشید. همزمان در انگلستان ساموئل مورلند در سال ۱۶۷۳ دستگاهی ساخت که جمع و تفریق و ضرب میکرد.
در سدهٔ هجدهم میلادی هم تلاشهای فراوانی برای ساخت دستگاههای محاسب خودکار انجام شد که بیشترشان نافرجام بود. سرانجام در سال ۱۸۷۵ میلادی استیفن بالدوین نخستین دستگاه محاسب را که هر چهار عمل اصلی را انجام میداد، به نام خود ثبت کرد.
از جمله تلاشهای نافرجامی که در این سده صورت گرفت، مربوط به چارلز ببیج ریاضیدان انگلیسی است. وی در آغاز این سده در سال ۱۸۱۰ در اندیشهٔ ساخت دستگاهی بود که بتواند بر روی اعداد بیست و شش رقمی محاسبه انجام دهد. او بیست سال از عمرش را در راه ساخت آن صرف کرد اما در پایان آن را نیمهکاره رها کرد تا ساخت دستگاهی دیگر که خود آن را دستگاه تحلیلی مینامید آغاز کند. او میخواست دستگاهی برنامهپذیر بسازد که همه عملیاتی را که میخواستند دستگاه برروی عددها انجام دهد، قبلا برنامهشان به دستگاه داده شده باشد. قرار بود عددها و درخواست عملیات برروی آنها به یاری کارتهای سوراخدار وارد شوند. بابیچ در سال ۱۸۷۱ مرد و ساخت این دستگاه هم به پایان نرسید.
کارهای بابیچ به فراموشی سپرده شد تا این که در سال ۱۹۴۳ و در بحبوحه جنگ جهانی دوم دولت آمریکا طرحی سری برای ساخت دستگاهی را آغاز کرد که بتواند مکالمات رمزنگاریشدهٔ آلمانیها را رمزبرداری کند. این مسئولیت را شرکت آیبیام و دانشگاه هاروارد به عهده گرفتند که سرانجام به ساخت دستگاهی به نام ASCC در سال ۱۹۴۴ انجامید. این دستگاه پنج تنی که ۱۵ متر درازا و ۲٫۵ متر بلندی داشت، میتوانست تا ۷۲ عدد ۲۴ رقمی را در خود نگاه دارد و با آنها کار کند. دستگاه با نوارهای سوراخدار برنامهریزی میشد و همهٔ بخشهای آن مکانیکی یا الکترومکانیکی بود.
تعریف داده و اطلاعات
داده به آن دسته از ورودیهای خام گفته میشود که برای پردازش به رایانه ارسال میشوند.
به دادههای پردازش شده اطّلاعات میگویند.
رایانهها چگونه کار میکنند؟
از زمان رایانههای اولیه که در سال ۱۹۴۱ ساخته شده بودند تا کنون فناوریهای دیجیتالی رشد نمودهاست، معماری فون نوِیمن یک رایانه را به چهار بخش اصلی توصیف میکند: واحد محاسبه و منطق (Arithmetic and Logic Unit یا ALU)، واحد کنترل یا حافظه، و ابزارهای ورودی و خروجی (که جمعا I/O نامیده میشود). این بخشها توسط اتصالات داخلی سیمی به نام گذرگاه (bus) با یکدیگر در پیوند هستند.
حافظه
در این سامانه، حافظه بصورت متوالی شماره گذاری شده در خانهها است، هرکدام محتوی بخش کوچکی از دادهها میباشند. دادهها ممکن است دستورالعملهایی باشند که به رایانه میگویند که چه کاری را انجام دهد باشد. خانه ممکن است حاوی اطلاعات مورد نیاز یک دستورالعمل باشد. اندازه هر خانه، وتعداد خانهها، در رایانهٔ مختلف متفاوت است، همچنین فناوریهای بکاررفته برای اجرای حافظه نیز از رایانهای به رایانه دیگر در تغییر است (از بازپخشکنندههای الکترومکانیکی تا تیوپها و فنرهای پر شده از جیوه و یا ماتریسهای ثابت مغناطیسی و در آخر ترانزیستورهای واقعی و مدار مجتمعها با میلیونها فیوز نیمه هادی یا MOSFETهایی با عملکردی شبیه ظرفیت خازنی روی یک تراشه تنها).
پردازش
واحد محاسبه و منطق یا ALU دستگاهی است که عملیات پایه مانند چهار عمل اصلی حساب (جمع و تفریق و ضرب و تقسیم)، عملیات منطقی (و، یا، نقیض)، عملیات قیاسی (برای مثال مقایسه دو بایت برای شرط برابری) و دستورات انتصابی برای مقدار دادن به یک متغیر را انجام میدهد. این واحد جائیست که «کار واقعی» در آن صورت میپذیرد.
البته CPUها به دو دسته کلی RISC و CISC تقسیم بندی میشوند. نوع اول پردازشگرهای مبتنی بر اعمال ساده هستند و نوع دوم پردازشگرهای مبتنی بر اعمال پیچیده میباشند. پردازشگرهای مبتنی بر اعمال پیچیده در واحد محاسبه و منطق خود دارای اعمال و دستوراتی بسیار فراتر از چهار عمل اصلی یا منطقی میباشند. تنوع دستورات این دسته از پردازندهها تا حدی است که توضیحات آنها خود میتواند یک کتاب با قطر متوسط ایجاد کند. پردازندههای مبتنی بر اعمال ساده اعمال بسیار کمی را پوشش میدهند و در حقیقت برای برنامهنویسی برای این پردازندهها بار نسبتاً سنگینی بر دوش برنامهنویس است. این پردازندهها تنها حاوی ۴ عمل اصلی و اعمال منطقی ریاضی و مقایسهای به علاوه چند دستور بیاهمیت دیگر میباشند. هرچند ذکر این نکته ضروری است که دستورات پیچیده نیز از ترکیب تعدادی دستور ساده تشکیل شدهاند و برای پیادهسازی این دستورات در معماریهای مختلف از پیادهسازی سختافزاری (معماری CISC) و پیادهسازی نرمافزاری (معماری RISC) استفاده میشود.
(قابل ذکر است پردازندههای اینتل از نوع پردازنده مبتنی بر اعمال پیچیده میباشند.)
واحد کنترل همچنین این مطلب را که کدامین بایت از حافظه حاوی دستورالعمل فعلی اجرا شوندهاست را تعقیب میکند، سپس به واحد محاسبه و منطق اعلام میکند که کدام عمل اجرا و از حافظه دریافت شود و نتایج به بخش اختصاص داده شده از حافظه ارسال گردد. بعد از یک بار عمل، واحد کنترل به دستورالعمل بعدی ارجاع میکند (که معمولاً در خانه حافظه بعدی قرار دارد، مگر اینکه دستورالعمل جهش دستورالعمل بعدی باشد که به رایانه اعلام میکند دستورالعمل بعدی در خانه دیگر قرار گرفتهاست).
ورودی/خروجی
بخش ورودی/خروجی (I/O) این امکان را به رایانه میدهد تا اطلاعات را از جهان بیرون تهیه و نتایج آنها را به همان جا برگرداند. محدوده فوق العاده وسیعی از دستگاههای ورودی/خروجی وجود دارد، از خانواده آشنای صفحهکلیدها، نمایشگرها، نَرمدیسک گرفته تا دستگاههای کمی غریب مانند رایابینها (webcams). (از سایر ورودی/خروجیها میتوان موشواره mouse، قلم نوری، چاپگرها (printer)، اسکنرها، انواع لوحهای فشرده(CD, DVD) را نام برد).
چیزی که تمامی دستگاههای عمومی در آن اشتراک دارند این است که آنها رمزکننده اطلاعات از نوعی به نوع دیگر که بتواند مورد استفاده سیستمهای رایانه دیجیتالی قرار گیرد، هستند. از سوی دیگر، دستگاههای خروجی آن اطلاعات به رمز شده را رمزگشایی میکنند تا کاربران آنها را دریافت نمایند. از این رو یک سیستم رایانه دیجیتالی یک نمونه از یک سامانه دادهپردازی میباشد.
دستورالعملها
هر رایانه تنها دارای یک مجموعه کم تعداد از دستورالعملهای ساده و تعریف شده میباشد. از انواع پرکاربردشان میتوان به دستورالعمل «محتوای خانه ۱۲۳ را در خانه ۴۵۶ کپی کن!»، «محتوای خانه ۶۶۶ را با محتوای خانه ۰۴۲ جمع کن، نتایج را در خانه ۰۱۳ کن!»، «اگر محتوای خانه ۹۹۹ برابر با صفر است، به دستورالعمل واقع در خانه ۳۴۵ رجوع کن!».
دستورالعملها در داخل رایانه بصورت اعداد مشخص شدهاند - مثلاً کد دستور العمل (copy instruction) برابر ۰۰۱ میتواند باشد. مجموعه معین دستورالعملهای تعریف شده که توسط یک رایانه ویژه پشتیبانی میشود را زبان ماشین مینامند. در واقعیت، اشخاص معمولاً به زبان ماشین دستورالعمل نمینویسند بلکه بیشتر به نوعی از انواع سطح بالای زبانهای برنامهنویسی، برنامهنویسی میکنند تا سپس توسط برنامه ویژهای (تفسیرگرها (interpreters) یا همگردانها (compilers) به دستورالعمل ویژه ماشین تبدیل گردد. برخی زبانهای برنامهنویسی از نوع بسیار شبیه و نزدیک به زبان ماشین که اسمبلر (یک زبان سطح پایین) نامیده میشود، استفاده میکنند؛ همچنین زبانهای سطح بالای دیگری نیز مانند پرولوگ نیز از یک زبان انتزاعی و چکیده که با زبان ماشین تفاوت دارد بجای دستورالعملهای ویژه ماشین استفاده میکنند.
معماریها
در رایانههای معاصر واحد محاسبه و منطق را به همراه واحد کنترل در یک مدار مجتمع که واحد پردازشی مرکزی (CPU) نامیده میشود، جمع نمودهاند. عموما، حافظه رایانه روی یک مدار مجتمع کوچک نزدیک CPU قرار گرفته. اکثریت قاطع بخشهای رایانه تشکیل شدهاند از سامانههای فرعی (به عنوان نمونه، منبع تغذیه رایانه) و یا دستگاههای ورودی/خروجی.
برخی رایانههای بزرگتر چندین CPU و واحد کنترل دارند که بصورت همزمان با یکدیگر درحال کارند. اینگونه رایانهها بیشتر برای کاربردهای پژوهشی و محاسبات علمی بکار میروند.
کارایی رایانهها بنا به تئوری کاملاً درست است. رایانه دادهها و دستورالعملها را از حافظهاش واکشی (fetch) میکند. دستورالعملها اجرا میشوند، نتایج ذخیره میشوند، دستورالعمل بعدی واکشی میشود. این رویه تا زمانی که رایانه خاموش شود ادامه پیدا میکند. واحد پردازنده مرکزی در رایانههای شخصی امروزی مانند پردازندههای شرکت ای-ام-دی و شرکت اینتل از معماری موسوم به خط لوله استفاده میشود و در زمانی که پردازنده در حال ذخیره نتیجه یک دستور است مرحله اجرای دستور قبلی و مرحله واکشی دستور قبل از آن را آغاز میکند. همچنین این رایانهها از سطوح مختلف حافظه نهانگاهی استفاده میکنند که در زمان دسترسی به حافظه اصلی صرفهجویی کنند.
برنامهها
برنامه رایانهای فهرستهای بزرگی از دستورالعملها (احتمالاً به همراه جدولهائی از داده) برای اجرا روی رایانه هستند. خیلی از رایانهها حاوی میلیونها دستورالعمل هستند، و بسیاری از این دستورها به تکرار اجرا میشوند. یک رایانه شخصی نوین نوعی (درسال ۲۰۰۳) میتواند در ثانیه میان ۲ تا ۳ میلیارد دستورالعمل را پیاده نماید. رایانهها این مقدار محاسبه را صرف انجام دستورالعملهای پیچیده نمیکنند. بیشتر میلیونها دستورالعمل ساده را که توسط اشخاص باهوشی «برنامه نویسان» در کنار یکدیگر چیده شدهاند را اجرا میکنند. برنامهنویسان خوب مجموعههایی از دستورالعملها را توسعه میدهند تا یکسری از وظایف عمومی را انجام دهند (برای نمونه، رسم یک نقطه روی صفحه) و سپس آن مجموعه دستورالعملها را برای دیگر برنامهنویسان در دسترس قرار میدهند. (اگر مایلید «یک برنامهنویس خوب» باشید به این مطلب مراجعه نمایید.)
رایانههای امروزه، قادرند چندین برنامه را در آن واحد اجرا نمایند. از این قابلیت به عنوان چندکارگی (multitasking) نام برده میشود. در واقع، CPU یک رشته دستورالعملها را از یک برنامه اجرا میکند، سپس پس از یک مقطع ویژه زمانی دستورالعملهایی از یک برنامه دیگر را اجرا میکند. این فاصله زمانی اکثرا بهعنوان یک برش زمانی (time slice) نام برده میشود. این ویژگی که CPU زمان اجرا را بین برنامهها تقسیم میکند، این توهم را بوجود میآورد که رایانه همزمان مشغول اجرای چند برنامهاست. این شبیه به چگونگی نمایش فریمهای یک فیلم است، که فریمها با سرعت بالا در حال حرکت هستند و به نظر میرسد که صفحه ثابتی تصاویر را نمایش میدهد. سیستمعامل همان برنامهای است که این اشتراک زمانی را بین برنامههای دیگر تعیین میکند.
سیستمعامل
کامپیوتر همیشه نیاز دارد تا برای بکار انداختنش حداقل یک برنامه روی آن در حال اجرا باشد. تحت عملکردهای عادی این برنامه همان سیستمعامل یا OS که مخفف واژههای Operating System است. سیستم یا سامانه عامل بر اساس پیشفرضها تصمیم میگیرد که کدام برنامه برای انجام چه وظیفهای اجرا شود، چه زمان، از کدام منابع (مثل حافظه، ورودی/خروجی و...) استفاده شود. همچنین سیستمعامل یک لایه انتزاعی بین سختافزار و برنامههای دیگر که میخواهند از سختافزار استفاده کنند، میباشد، که این امکان را به برنامه نویسان میدهد تا بدون اینکه جزئیات ریز هر قطعه الکترونیکی از سختافزار را بدانند بتوانند برای آن قطعه برنامهنویسی نمایند. در گذشته یک اصطلاح متداول بود که گفته میشد با تمام این وجود کامپیوترها نمیتوانند برخی از مسائل را حل کنند که به این مسائل حل نشدنی گفته میشود مانند مسائلی که در مسیر حلشان در حلقه بینهایت میافتند. به همین دلیل نیاز است که با کمک روشهای خاص بطور مثال به چند بخش تقسیم نمودن مساله یا روشهای متداول دیگر از رخ دادن این خطا تا حد امکان جلوگیری نمود. از جمله سیستم عاملهای امروزی میتوان به مایروسافت ویندوز، مکینتاش اپل و لینوکس و بی اس دی اشاره کرد.
کاربردهای رایانه
نخستین رایانههای رقمی، با قیمتهای زیاد و حجم بزرگشان، در اصل محاسبات علمی را انجام میدادند، انیاک یک رایانهٔ قدیمی ایالات متحده اصولاً طراحی شده تا محاسبات پرتابهای توپخانه و محاسبات مربوط به جدول چگالی نوترونی را انجام دهد. (این محاسبات بین دسامبر ۱۹۴۱ تا ژانویه ۱۹۴۶ روی حجمی بالغ بر یک میلیون کارت پانچ انجام پذیرفت! که این خود طراحی و سپس تصمیم نادرست بکارگرفته شده را نشان میدهد) بسیاری از ابررایانههای امروزی صرفاً برای کارهای ویژهٔ محاسبات جنگافزار هستهای استفاده میگردد.
CSIR Mk I نیز که نخستین رایانه استرالیایی بود برای ارزیابی میزان بارندگی در کوههای اسنوئی (Snowy)این کشور بکاررفت، این محاسبات در چارچوب یک پروژه عظیم تولید برقابی انجام گرفت.
برخی رایانهها نیز برای انجام رمزگشایی بکارگرفته میشد، برای مثال Colossus که در جریان جنگ جهانی دوم ساخته شد، جزو اولین کامپیوترهای برنامهپذیر بود (البته ماشین تورینگ کامل نبود). هرچند رایانههای بعدی میتوانستند برنامهریزی شوند تا شطرنج بازی کنند یا تصویر نمایش دهند و سایر کاربردها را نشان دهد.
سیاستمداران و شرکتهای بزرگ نیز رایانههای اولیه را برای خودکارسازی بسیاری از مجموعههای داده و پردازش کارهایی که قبلا توسط انسانها انجام میگرفت، بکار بستند - برای مثال، نگهداری و بروزرسانی حسابها و داراییها. در موسسات پژوهشی نیز دانشمندان رشتههای مختلف شروع به استفاده از رایانه برای مقاصدشان نمودند.
کاهش پیوسته قیمتهای رایانه باعث شد تا سازمانهای کوچکتر نیز بتوانند آنها را در اختیار بگیرند. بازرگانان، سازمانها، و سیاستمداران اغلب تعداد زیادی از کامپیوترهای کوچک را برای تکمیل وظایفی که قبلا برای تکمیلشان نیاز به رایانه بزرگ (mainframe) گرانقیمت و بزرگ بود، به کار بگیرند. مجموعههایی از رایانههای کوچکتر در یک محل اغلب بهعنوان خادم سر (server farm) نام برده میشود.
با اختراع ریزپردازندهها در دههٔ ۱۹۷۰ این امکان که بتوان رایانههایی بسیار ارزان قیمت را تولید نمود بوجود آمد. رایانههای شخصی برای انجام وظایف بسیاری محبوب گشتند، از جمله کتابداری، نوشتن و چاپ مستندات. محاسبات پیش بینیها و کارهای تکراری ریاضی توسط صفحات گسترده (spreadsheet)، ارتباطات توسط پست الکترونیک، و اینترنت. حضور گسترده رایانهها و سفارشی کردن آسانشان باعث شد تا در امورات بسیار دیگری بکارگرفته شوند.
در همان زمان، رایانههای کوچک، که معمولاً با یک برنامه ثابت ارائه میشدند، راهشان را بسوی کاربردهای دیگری باز مینمودند، کاربردهایی چون لوازم خانگی، خودروها، هواپیماها، و ابزار صنعتی. این پردازشگرهای جاسازی شده کنترل رفتارهای آن لوازم را سادهتر کردند، همچنین امکان انجام رفتارهای پیچیده را نیز فراهم نمودند (برای نمونه، ترمزهای ضدقفل در خودروه). با شروع قرن بیست و یکم، اغلب دستگاههای الکتریکی، اغلب حالتهای انتقال نیرو، اغلب خطوط تولید کارخانهها توسط رایانهها کنترل میشوند. اکثر مهندسان پیش بینی میکنند که این روند همچنان به پیش برود... یکی از کارهایی که میتوان بهوسیله رایانه انجام داد برنامه گیرنده ماهوارهاست.
نیز تنها ۴۹۵ دلار قیمت داشت! قیمت آن کامپیوتر نیز ۳٬۰۰۵ دلار بود و IBM در آن زمان توانست ۶۷۱٬۵۳۷ دستگاه از آن را بفروشد.
انواع رایانه
رایانههای توکار (جاسازی شده)
رایانههایی هم وجود دارند که تنها برای کاربردهایی ویژه طراحی میشوند. در ۲۰ سال گذشته، هرچند برخی ابزارهای خانگی که از نمونههای قابل ذکر آن میتوان جعبههای بازیهای ویدئویی را که بعدها در دستگاههای دیگری از جمله تلفن همراه، دوربینهای ضبط ویدئویی، و PDAها و دهها هزار وسیله خانگی، صنعتی، خودروسازی و تمام ابزاری که در درون آنها مدارهایی که نیازهای ماشین تورینگ را مهیا ساختهاند، گسترش یافت، را نام برد (اغلب این لوازم برنامههایی را در خود دارند که بصورت ثابت روی ROM تراشههایی که برای تغییر نیاز به تعویض دارند، نگاشته شدهاند). این رایانهها که در درون ابزارهای با کاربرد ویژه گنجانیده شدهاند «ریزکنترلگرها» یا رایانههای توکار" (Embedded Computers) نامیده میشوند. بنا بر این تعریف این رایانهها به عنوان ابزاری که با هدف پردازش اطّلاعات طراحی گردیده محدودیتهایی دارد. بیشتر میتوان آنها را به ماشینهایی تشبیه کرد که در یک مجموعه بزرگتر به عنوان یک بخش حضور دارند مانند دستگاههای تلفن، ماکروفرها و یا هواپیما که این رایانهها بدون تغییری فیزیکی به دست کاربر میتوانند برای هدفهای گونهگونی به کارگرفته شوند.
رایانههای شخصی
اشخاصی که با انواع دیگری از رایانهها ناآشنا هستند از عبارت رایانه برای رجوع به نوع خاصی استفاده میکنند که رایانه شخصی (PC) نامیده میشوند. رایانهای است که از اجزای الکترونیکی میکرو (ریز) تشکیل شده که جزو کوچکترین و ارزانترین رایانهها به شمار میروند و کاربردهای خانگی و اداری دارند. شرکت آیبیام رایانه شخصی را در سال ۱۹۸۱ میلادی به جهان معرفی کرد.
نخستین رایانه آیبیام از برخی از ماشین حسابهای امروزی نیز ضعیفتر است ولی در آن زمان شگفت انگیز بود. رایانه شخصی سی سال پیش دارای حافظه ROM با ظرفیت 40K و حافظه RAM با ظرفیت 64K بود. البته کاربر میتوانست حافظه RAM را تا 256K افزایش دهد. قیمت هر ماژول 64K حافظه والانیوز
سرمایهگذاری
صنعت رایانه همواره صنعتی رو به رشد، چه در حوزهٔ سختافزارى و چه در حوزهٔ نرمافزارى بوده است، این صنعت پیوسته مورد توجه سرمایه گذاران بوده و سرمایهها را به خود جذب کرده است. آیندهٔ روشن این فنّاوری همواره سرمایه داران را ترغیب میکند تا روی این صنعت سرمایهگذاری کنند.
تاریخ سختافزار رایانه
رایانه یکی از دو چیز برجستهای است که بشر در سدهٔ بیستم اختراع کرد. دستگاهی که بلز پاسکال در سال ۱۶۴۲ ساخت، اولین تلاش در راه ساخت دستگاههای محاسب خودکار بود. تا کنون پنج نسل از رایانهها ساخته و عرضه شدند.کامپیوترهای الکترونیکی و کامپیوترهای مکانیکی اولیه به این خاطر نام گرفتند که کارهایی را که قبلاً انسانهای کامپوتر اختصاص داشت انجام میدادند .کامپیوتر اصالتاً یک عنوان شغلی بود و به کسانی گفته میشد که کارشان این بود که محاسبات برای چیزهایی مانند فهرستهای کشتیرانی و جداول جزر و مد و موقعیتهای نجومی نیاز بودند.تصور کنید که شما ساعتی پس از ساعتی و روزی پس از روزی هیچ کاری جز محاسبه کردنهای بی شمار را انجام نمیدادید . و حتی در بهترین روز هایتان شما نمیتوانستید جوابها را خیلی تند ارائه دهید . بنا براین مخترعین صدها سال به جستجو پرداختند تا راهی برای مکانیزه شدن پیدا کنند . به این معنی که دستگاهی اختراع کنند تا این کار را انجام دهد .به دنبال انسانهای کامپیوتر نوعی کامپیوتر عملگر آمد .
قدیمی ترین سخت افزار درست
دستگاه به کمک محاسبات، عمدتاً با استفاده از یک به یک مکاتبه با انگشتان دست برای هزاران سال مورد استفاده قرار گرفته است. اولین دستگاه شمارش احتمالاً به شکل شمارش چوب بوده اند.
بعد از نگهداری سوابق کمک در سراسر هلال حاصلخیز شامل محاسبه (حوزه های خاک رس، مخروط و غیره) که تعدادی از موارد، احتمالاً دام و دانه، مهرو موم شده در ظروف تو خالی پخته نشده خاک رس نشان داده شده است. استفاده از شمارش میله هایک نمونه است. چرتکه اولیه برای کارهای ریاضی مورد استفاده قرار گرفت. چیزی که ما آن را چرتکه ی روم می نامیم در بابل زودتر از ۲۴۰۰ سال قبل از میلاد مورد استفاده قرار گرفت. از آن زمان، بسیاری از اشکال دیگر تخته حساب و یا جداول ابداع شده است. در یک قرون وسطی اروپا خانه شمارش، یک پارچه شطرنجی میتواند بر روی یک جدول قرار داده شده است و استفاده از نشانگر در اطراف آن با توجه به قوانین خاص نقل مکان کرد، به عنوان کمکی برای محاسبه مبالغ از پول است.
جاوا (به انگلیسی: Java) یک زبان برنامهنویسی شئگراست که برای اولین بار توسط
جیمز گاسلینگ در شرکت سان مایکروسیستمز ایجاد شد و در سال ۱۹۹۵ به عنوان بخشی
از سکوی جاوا منتشر شد. زبان جاوا شبیه به ++C است اما مدل شیءگرایی آسانتری
دارد و از قابلیتهای سطح پایین کمتری پشتیبانی میکند. یکی از قابلیتهای اصلی
جاوا این است که مدیریت حافظه را بطور خودکار انجام میدهد. ضریب اطمینان
عملکرد برنامههای نوشتهشده به این زبان بالا است و وابسته به سیستمعامل خاصی
نیست، به عبارت دیگر میتوان آن را روی هر رایانه با هر نوع سیستمعاملی اجرا
کرد. برنامههای جاوا به صورت کدهای بیتی همگردانی (کامپایل) میشوند. که مانند
کد ماشین هستند و به ویژه وابسته به سیستمعامل خاصی نیستند.
در مقایسه با زبانهای دیگر، همچون ++C یا بیسیک یا فورترن، جاوا زبان نسبتاً جدیدتری است. شرکت سان مایکروسیستمز (به انگلیسی: Sun Microsystems) در سال ۱۹۹۱ یک پروژه تحقیقاتی به نام گرین (Green) را آغاز کرد. هدف این پروژه ایجاد زبانی جدید شبیه به ++C بود که نویسنده اصلی آن، جیمز گاسلینگ، آن را بلوط (Oak) نامید. اما بعدها به دلیل برخی مشکلات حقوقیاز میان لیستی از کلمات تصادفینام آن به جاوا تغییر کرد.
پروژه گرین به دلیل مشکلات بازاریابی در شرف لغو شدن بود تا اینکه گسترش وب در سال ۱۹۹۳ باعث نمایش تواناییهای وافر جاوا در این عرصه گشت. اینگونه بود که شرکت سان مایکروسیستمز در مه ۱۹۹۵ جاوا را رسماً به بازار عرضه کرد.
جاوا یک زبان برنامهنویسی است که در آغاز توسط شرکت سان مایکروسیستمز ایجاد شدهاست و در سال ۱۹۹۵ به عنوان بخش اصلی سکوی جاوا منتشر شد. این زبان قسمتهای بسیاری از گرامر خود را از C و ++C گرفته اما دارای مدل شیگرایی سادهای است و امکانات سطح پایین کمی دارد. کاربرد جاوا در کامپایل به صورت بایت کد است که صرف نظر از معماری و خصوصیات آن کامپیوتر، قابلیت اجرا روی تمامی ماشینهای شبیهسازی جاوا را داشته باشد. اجزای اصلی کامپایلرهای جاوا، ماشینهای پیادهسازی و کتابخانههای آن توسط این شرکت از سال ۱۹۹۵ منتشر شد. در مه ۱۹۹۷ این شرکت، نرمافزار رایگان این زبان را فراهم کرد. دیگران هم کاربردهای دیگری از این زبان را منتشر کردند مثل کامپایلر GNU برای جاوا.
مرورگرهای اصلی وب، به هم پیوستند تا به طور مطمئن جاوا اپلت را بدون صفحات وب اجرا کنند و به این صورت جاوا خیلی زود معروف و محبوب شد. با پیدایش java2، نسخهٔ جدید توانست ترکیبهای جدیدی را برای نوعهای مختلف پلت فرمها ایجاد کند. به عنوان مثال J2EE، باهدف کاربرد برای تشکیلات اقتصادی، و نسخهٔ سکوی جاوا، نسخه میکرو برای تلفن همراه منتشر شد. در سال ۱۹۹۶ با هدف بازاریابی، این شرکت نسخهٔ جدید J2 را با نامهای سکوی جاوا، نسخه سازمانی، سکوی جاوا، نسخه میکرو و سکوی جاوا، نسخه استاندارد منتشر کرد. در سال ۱۹۹۷ شرکت سان میکروسیستمز، ISO/IEC JTC1 standards body و Ecma International را به فرمول جاوا تغییر داد. شرکت Sun بسیاری از کاربردهای جاوایش را بدون هیچ هزینهای فراهم آورد. شرکت Sun با فروش مجوز برای بعضی از کاربردهای خاصش مثل Java Enterprise System درآمدی را بدست آورد. در ۱۳ نوامبر ۱۹۹۶ شرکت Sun نرمافزار جاوا را به صورت رایگان و با مجوز عمومی برای همه منتشر کرد.
اهداف اولیه
این زبان باید ساده، شیگرا و مشهور باشد.
مطمئن و بدون خطا باشد.
وابسته به معماری کامپیوتر نبوده و قابل انتقال باشد.
باید با کارایی بالا اجرا شود.
باید به صورت پویا و نخکشیشده باشد.
برنامههای جاوا و اپلتها
جاوا برای نوشتن انواع برنامههای کاربردی مناسب است. با جاوا میتوان انواع برنامههای زیر را نوشت:
برنامههای تحت وب
برنامهنویسی سیستمهای کوچک مانند تلفن همراه، رایانه جیبی و ...
برنامههای کاربردی بزرگ (Enterprise)
برنامههای رومیزی (Desktop)
قابلیت خاصی در جاوا وجود دارد بنام اپلت. اپلتها امکانات فراوانی برای نوشتن برنامههای تحت وب در اختیار برنامهنویسان قرار میدهند که دیگر زبانهای برنامهنویسی فاقد آن هستند.
البته وجود ماشین مجازی جاوا برای اجرای اپلت لازم است. اپلتها نظیر فناوری اکتیوایکس شرکت مایکروسافت هستند که برنامهنویسان را قادر میسازد تا امکاناتی را به مرورگر کاربر بیفزایند. البته تفاوت این دو در امنیت میباشد به گونهای که اپلتها بدلیل اینکه در محیطی به نام جعبه شنی (sandbox) اجرا میشوند امن هستند ولی اکتیوایکسها فاقد چنین امنیتی هستند.
سیستمعامل: هر چقدر زبانهای net. قوی باشند تنها بر روی پلت فرم ویندوز اجرا میشوند و برخی ویندوز را سیستمعامل غیر قابل اعتمادی در برنامه نویسی Enterprise میدانند.
ولی جاوا از این نظر انتخاب خوبی است.
قابلیت حمل: جاوا بر روی سکوهای رایانش گوناگونی قابل اجرا است، از ATM و ماشین رختشویی گرفته تا سرورهای سولاریس با قابلیت پشتیبانی از 1024 cpu برای پردازش.
جاوا بیشتر از یک زبان است: جاوا فقط یک زبان نیست و انجمنهایی متشکل از بزرگان صنایع و برنامهنویسان زیادی مشغول به توسعه و ایجاد استانداردهای جدید و به روز هستند.
در مقایسه با زبانهای دیگر، همچون ++C یا بیسیک یا فورترن، جاوا زبان نسبتاً جدیدتری است. شرکت سان مایکروسیستمز (به انگلیسی: Sun Microsystems) در سال ۱۹۹۱ یک پروژه تحقیقاتی به نام گرین (Green) را آغاز کرد. هدف این پروژه ایجاد زبانی جدید شبیه به ++C بود که نویسنده اصلی آن، جیمز گاسلینگ، آن را بلوط (Oak) نامید. اما بعدها به دلیل برخی مشکلات حقوقیاز میان لیستی از کلمات تصادفینام آن به جاوا تغییر کرد.
پروژه گرین به دلیل مشکلات بازاریابی در شرف لغو شدن بود تا اینکه گسترش وب در سال ۱۹۹۳ باعث نمایش تواناییهای وافر جاوا در این عرصه گشت. اینگونه بود که شرکت سان مایکروسیستمز در مه ۱۹۹۵ جاوا را رسماً به بازار عرضه کرد.
جاوا یک زبان برنامهنویسی است که در آغاز توسط شرکت سان مایکروسیستمز ایجاد شدهاست و در سال ۱۹۹۵ به عنوان بخش اصلی سکوی جاوا منتشر شد. این زبان قسمتهای بسیاری از گرامر خود را از C و ++C گرفته اما دارای مدل شیگرایی سادهای است و امکانات سطح پایین کمی دارد. کاربرد جاوا در کامپایل به صورت بایت کد است که صرف نظر از معماری و خصوصیات آن کامپیوتر، قابلیت اجرا روی تمامی ماشینهای شبیهسازی جاوا را داشته باشد. اجزای اصلی کامپایلرهای جاوا، ماشینهای پیادهسازی و کتابخانههای آن توسط این شرکت از سال ۱۹۹۵ منتشر شد. در مه ۱۹۹۷ این شرکت، نرمافزار رایگان این زبان را فراهم کرد. دیگران هم کاربردهای دیگری از این زبان را منتشر کردند مثل کامپایلر GNU برای جاوا.
مرورگرهای اصلی وب، به هم پیوستند تا به طور مطمئن جاوا اپلت را بدون صفحات وب اجرا کنند و به این صورت جاوا خیلی زود معروف و محبوب شد. با پیدایش java2، نسخهٔ جدید توانست ترکیبهای جدیدی را برای نوعهای مختلف پلت فرمها ایجاد کند. به عنوان مثال J2EE، باهدف کاربرد برای تشکیلات اقتصادی، و نسخهٔ سکوی جاوا، نسخه میکرو برای تلفن همراه منتشر شد. در سال ۱۹۹۶ با هدف بازاریابی، این شرکت نسخهٔ جدید J2 را با نامهای سکوی جاوا، نسخه سازمانی، سکوی جاوا، نسخه میکرو و سکوی جاوا، نسخه استاندارد منتشر کرد. در سال ۱۹۹۷ شرکت سان میکروسیستمز، ISO/IEC JTC1 standards body و Ecma International را به فرمول جاوا تغییر داد. شرکت Sun بسیاری از کاربردهای جاوایش را بدون هیچ هزینهای فراهم آورد. شرکت Sun با فروش مجوز برای بعضی از کاربردهای خاصش مثل Java Enterprise System درآمدی را بدست آورد. در ۱۳ نوامبر ۱۹۹۶ شرکت Sun نرمافزار جاوا را به صورت رایگان و با مجوز عمومی برای همه منتشر کرد.
اهداف اولیه
این زبان باید ساده، شیگرا و مشهور باشد.
مطمئن و بدون خطا باشد.
وابسته به معماری کامپیوتر نبوده و قابل انتقال باشد.
باید با کارایی بالا اجرا شود.
باید به صورت پویا و نخکشیشده باشد.
برنامههای جاوا و اپلتها
جاوا برای نوشتن انواع برنامههای کاربردی مناسب است. با جاوا میتوان انواع برنامههای زیر را نوشت:
برنامههای تحت وب
برنامهنویسی سیستمهای کوچک مانند تلفن همراه، رایانه جیبی و ...
برنامههای کاربردی بزرگ (Enterprise)
برنامههای رومیزی (Desktop)
قابلیت خاصی در جاوا وجود دارد بنام اپلت. اپلتها امکانات فراوانی برای نوشتن برنامههای تحت وب در اختیار برنامهنویسان قرار میدهند که دیگر زبانهای برنامهنویسی فاقد آن هستند.
البته وجود ماشین مجازی جاوا برای اجرای اپلت لازم است. اپلتها نظیر فناوری اکتیوایکس شرکت مایکروسافت هستند که برنامهنویسان را قادر میسازد تا امکاناتی را به مرورگر کاربر بیفزایند. البته تفاوت این دو در امنیت میباشد به گونهای که اپلتها بدلیل اینکه در محیطی به نام جعبه شنی (sandbox) اجرا میشوند امن هستند ولی اکتیوایکسها فاقد چنین امنیتی هستند.
سیستمعامل: هر چقدر زبانهای net. قوی باشند تنها بر روی پلت فرم ویندوز اجرا میشوند و برخی ویندوز را سیستمعامل غیر قابل اعتمادی در برنامه نویسی Enterprise میدانند.
ولی جاوا از این نظر انتخاب خوبی است.
قابلیت حمل: جاوا بر روی سکوهای رایانش گوناگونی قابل اجرا است، از ATM و ماشین رختشویی گرفته تا سرورهای سولاریس با قابلیت پشتیبانی از 1024 cpu برای پردازش.
جاوا بیشتر از یک زبان است: جاوا فقط یک زبان نیست و انجمنهایی متشکل از بزرگان صنایع و برنامهنویسان زیادی مشغول به توسعه و ایجاد استانداردهای جدید و به روز هستند.
ساعت : 3:21 pm | نویسنده : admin
|
مطلب بعدی