سختافزار و نرم افزار رایانه
سختافزار رایانه (به انگلیسی: Computer Hardware) به مجموعهای از اجزای فیزیکی گفته میشود که یک رایانه را میسازند. سختافزار رایانه درواقع همان قسمتها یا اجزای فیزیکیِ رایانه مانند نمایشگر، موشواره، صفحهکلید، دیسک سخت، واحد سیستم (کارتهای گرافیک، کارتهای صدا، حافظه اصلی، مادِربورد و تراشههای دیگر) و ... هستند که قابل لمساند.
در مقابل، نرمافزار مجموعهای از مجموعه دستورالعملهای قابل خواندن برای ماشین است که به پردازنده مرکزی امر میکند تا اعمال خاصی را انجام دهد. ترکیبی از نرمافزار و سختافزار یک سیستم رایانه قابل استفاده را بهوجود میآورند.
انواع سیستمها
امروزه سیستمهای رایانهای مختلفی مورد استفاده قرار میگیرند.
درون یک رایانه: منبع تغذیه در قسمت پایین، خود دارای یک خنککننده جداگانه است.
رایانههای شخصی، که با عنوان PC نیز شناخته میشوند، یکی از رایجترین انواع رایانهها هستند که بهدلیل تنوع، همهکاره بودن و قیمت پایینتر بیش از انواع دیگر مورد استفاده قرار میگیرند. لپتاپها نیز در کل همان رایانههای شخصی هستند که معمولاً با سختافزارهای کممصرفتر و کوچکتر ساخته میشوند.
جعبه یا کیس
جعبه رایانه: Computer Case یک محفظه پلاستیکی یا فلزی است که بیشتر قطعات سختافزاری یک رایانه در درون آن قرار میگیرند. نسخههای مربوط به رایانههای رومیزی معمولاً در اندازههایی ساخته میشوند که بتوان آنها را در زیر یک میز جا داد؛ با این حال در سالهای اخیر طراحیهای کوچکتری نیز بهوجود آمده و محصولاتی مانند آیمک شرکت اپل تمامی سختافزارها را در درون یک جعبه قرار میدهند. لپتاپها نیز رایانههایی هستند که در فرم یک جعبه تاشو ساخته میشوند. در سالهای اخیر طراحی اینگونه رایانهها نیز دچار تحول شده است. برای مثال نسخههایی از لپتاپها بهوجود آمدهاند نمایشگر آنها جدا شده و تبدیل به تبلت میشوند.
منبع تغذیه
یک واحد منبع تغذیه (به انگلیسی: Power Supply Unit) مسئول تبدیل برق متناوب با ولتاژ بالا به برق مستقیم با ولتاژ پایین و قابل استفاده برای قطعات سختافزاری رایانه است. لپتاپها میتوانند به کمک باتری نیز تا چند ساعت انرژی مورد نیاز رایانه را تأمین کنند.
مادِربورد
مادربورد یا بوردِ اصلی (به انگلیسی: Motherboard) قسمت اصلی سختافزار یک رایانه است. بورد اصلی یک قطعه مستطیل شکل بزرگ است که مدارهای مجتمع فراوانی دارد. این قطعه تمامی سختافزارهای دیگر رایانه مانند پردازنده مرکزی، رم، دیسکخوانها (دیسک سخت، دیسک نوری و ...) و دیگر قطعات متصلشدنی را بههم متصل میکند.
قطعاتی که به طور مستقیم به مادربورد متصل میشوند یا بخشی از این بورد هستند:
پردازنده مرکزی مسئولِ کارایی رایانه است و بیشترین محاسبات را انجام میدهد. این پردازنده که با نام مغز رایانه نیز شناخته میشود، توسط یک پنکه خنک و حفره گرما میشود. بیشتر پردازندههای مرکزی جدید بر روی خود مدار پردازنده گرافیکی نیز دارند.
چیپست که مدار نورثبریج بر روی آن قرار دارد، مسئول رابطهٔ پردازنده مرکزی با قطعات دیگر سیستم مانند رم یا حافظه اصلی است.
حافظه دسترسی تصادفی یا رَم دادهها و کُدی توسط پردازنده مرکزی مورد استفاده قرار میگیرد را در خود ذخیره میکند.
حافظه فقط خواندنی یا رام بایوس را بر روی خود ذخیره میکند. بایوس برنامهایست که در هنگام شروعبهکار رایانه اجرا میشود و فرایند «بوت شدن» یا «راهاندازی»[۵] نیز نامیده میشود. بایوس شامل ثابتافزار راهانداز و ثابتافزار مدیریت تغذیه است. مادربوردهای جدید بهجای بایوس دارای UEFI هستند.
گذرگاهها پردازنده مرکزی را به قطعات مختلف داخلی و کارتهای توسعه مانند کارت صدا و کارت گرافیک متصل میکنند.
باتری سیماس نیز به مادربورد متصل میشود. این باتری برق مورد نیاز برای نگهداری زمان و تاریخ در بایوس را تأمین میکند.
کارتهای توسعه
کارت توسعه در رایانه یک مدار کامل از پیش ساختهشده است که در شیاف توسعه بر روی مادربورد قرار میگیرد و از طریق درگاه توسعه، قابلیت جدیدی را به سیستم اضافه میکند.
قطعات ذخیرهسازی
ذخیرهساز داده رایانه که به آن مخرن (به انگلیسی: Storage) یا حافظه (به انگلیسی: Memory) میگویند به قسمتهایی از رایانه اشاره دارد که دادههای دیجیتال را ضبط و نگهداری میکنند. ذخیرهسازی داده یکی از قابلیت اصلی رایانه است و وجود قطعهای برای این کار ضروری است.
رسانههای ثابت
دادههای رایانه بر روی رسانههای (به انگلیسی: Media) بسیاری ذخیرهسازی میگردند. دیسکهای سخت بهدلیل قیمت پایین و حجم ذخیرهسازی بالا تقریباً برروی تمامی سیستمهای قدیمیتر وجود دارند. درایوهای حالت جامد (SSD) امروزه بهدلیل سرعت بیشتر کمکم جایگزین این دیسکها میشوند. اما هنوز قیمت بسیار بالاتری نسبت به دیسکهای سخت دارند. بعضی از سیستمها نیز برای کارایی و قابلیت اطمینان بیشتر از کنترلگر صف دیسکها استفاده میکنند.
رسانههای جداشدنی
برای انتقال داده بین رایانههای مختلف میتوان از یک فلشدرایو یا دیسک نوری استفاده کرد. میزان مفید بودن این رسانهها به قابلیت پشتیبانی آنها در سیستمهای مختلف وابسته است. بیشتر سیستمها دارای دیسکگردان نوری هستی و تقریباً تمامی آنها از درگاه یواسبی بهره میبرند.
دستگاههای جانبی
دستگاههای ورودی و خروجی معمولاً بهصورت دستگاههای خارجی به شاسیِ رایانه متصل میشوند.
ورودی
دستگاههای ورودی به کاربر اجازه میدهند تا اطلاعاتی را به سیستم وارد و یا عملکرد آن را کنترل کند. بیشتر رایانههای شخصی دارای موشواره و صفحه کلید هستند اما بیشتر لپتاپها بهجای موشواره از تاچپد استفاده میکنند. از دستگاههای ورودی دیگر میتوان به وببین، میکروفون، اهرمک و پویشگر تصاویر اشاره کرد.
خروجی
دستگاههای خروجی اطلاعات رایانه را بهصورت قابلِ خواندن برای انسان نمایش میدهند. از میان دستگاههای خروجی میتوان به چاپگر، بلندگو و صفحه نمایش اشاره کرد.
یک بزرگرایانه یک رایانه بسیار بزرگ است که معمولاً برای نگهداری نیاز به یک اتاق کامل دارد. این نوع رایانهها صدها و یا هزاران برابر رایانههای شخصی هزینه دارند. این رایانههای طراحی شدهاند تا محاسبات بسیار زیادی را برای دولتها و شرکتهای بزرگ انجام دهند.
در دهههای ۱۹۶۰ و ۱۹۷۰ روز به روز قسمتهای بیشتری از شرکتها رو به استفاده از رایانههایی با کاربری مخصوص مانند کنترل فرایند و اتوماسیونهای آزمایشگاهها کردند. این رایانههای مینیرایانه یا رایانههای کوچک نام گرفتند.
یک ابررایانه در نگاه اول بسیار شبیه به بزرگرایانه است، اما این نوع رایانهها برای پاسخ به درخواستهایِ زیادِ محاسباتی ساخته شدهاند. از ماه نوامبر سال ۲۰۱۳ میلادی سریعترین ابررایانه دنیا تیانهه-۲ (به معنای راهِ شیری-۲) است که در شهر گوانگژو کشور چین واقع شده است.
عبارت ابررایانه به هیچ تکنولوژی خاصی اشاره نمیکند بلکه در هر دورهٔ زمانی به سریعترین رایانههای در دسترس اطلاق میشود. در اواسط سال ۲۰۱۱ میلادی ابررایانهها از سرعت ۱ پتافلاپ یا 10^{15} (هزار میلیون میلیون) عملیات اعداد اعشاری در ثاینه پیشی گرفتند. با اینکه ابررایانهها بسیار سریع هستند اما بهدلیل هزینه بسیار بالایی که دارند، تنها توسط سازمانهای بسیار بزرگ برای انجام وظایف محاسباتی بسیار سنگین شامل مجموعه دادههای بزرگ مورد استفاده قرار میگیرند. ابررایانهها معمولاً کاربردهای نظامی و علمی دارند. با اینکه استفاده از این نوع رایانهها میلیونها دلار هزینه دارد، اما برای کاربردهای تجاری نیز مورد استفاده قرار میگیرند. مثلاً بانکها برای محاسبه میزان خطر و بدست آوردن استراتژی سرمایهگذاری از ابررایانهها استفاده میکنند یا موسسات بهداشت و درمان با تحلیل دادههای بسیار بزرگ بیماران سعی میکنند روشهای بهینه درمان را پیدا کنند.
نرم افزار رایانه
نرم افزار، مجموعه ای از برنامه های رایانه ای، رویه ها و مستندات است که انجام کارهای مختلف بر روی یک سیستم رایانه ای را بر عهده دارد. عبارت "نرم افزار" برای نخستین بار توسط جان توکی در سال 1958 مورد استفاده قرار گرفت. در سطح بسیار ابتدایی، نرم افزار کامپیوتر، متشکل از زبان ماشین است که شامل گروهی از مقادیر دودویی بوده و دستورالعمل پردازنده را تعیین می کند. دستورالعمل پردازنده تغییر بیان از سخت افزار کامپیوتر در یک توالی از پیش تعریف شده می باشد. به طور خلاصه، نرم افزار کامپیوتر، زبانی است که اصطلاحاً به وسیلۀ آن یک رایانه، صحبت می کند. انواع مختلفی از نرم افزار های رایانه ای وجود دارد و باید دید اقسام اصلی آنها کدامند؟
نرم افزارها از منظرهای مختلفی قابل دسته بندی و تقسیم می باشند و متخصصین علوم رایانه ای با توجه به ابعاد مختلف نرم افزار به ارائۀ تقسیم بندی های متفاوتی از این پدیدۀ فناورانه پرداخته اند.
با توجه به این نکته که هر تقسیم بندی می بایستی فلسفه و فایده ای داشته باشد و از طرفی نرم افزار از دو بعد فنی و حقوقی نیز امکان دسته بندی دارد، آنچه در پی می آید بر آن است که نرم افزار را از منظرهای متفاوتی مورد دسته بندی و تحلیل قرار دهد تا زوایا و ابعاد فنی و حقوقی نرم افزار ، قدری روشن تر گردد؛ زیرا به نظر می رسد، میزان و شکل حمایت حقوقی با توجه به اجزا، مراحل و اقسام نرم افزار، متفاوت خواهد بود.
۱-تقسیم بندی های فنی نرم افزار
به جهت فنی و ابعاد مرتبط با علوم رایانه ای، نرم افزار ها را با توجه به معیارهای گوناگون از جمله هدف و مأموریت نرم افزار، زمینۀ استفاده، نوع نقش و عملکرد و یا کاربر نرم افزار، می توان مورد تقسیم بندیهای مختلفی قرار داد. ذیلاً با توجه به معیارهای پیش گفته به بررسی انواع نرم افزارها از جهت فنی خواهیم پرداخت.
1-1- نرم افزارهای پایه(Programming Software) :
این دسته از نرم افزارها، یکی از انواع معمول، شناخته شده و مورد علاقۀ کاربران در میان نرم افزار های کامپیوتری است . این نرم افزار در قالب ابزار بوده و به برنامه نویس در نوشتن برنامه های کامپیوتری کمک می کند. برنامه های کامپیوتری مجموعه ای از دستورات منطقی هستند که برای یک سیستم کامپیوتری، وظایف خاصی را انجام می دهند . ابزارهایی که به برنامه نویسان در ایجاد یک سیستم کامپیوتری کمک می کنند، شامل ویرایشگر متن ، کامپایلرها و مترجم ها ست. کامپایلرها(مفسرها)، کد منبع را که در قالب یک زبان برنامه نویسی، نوشته شده اند به زبانی که کامپیوتر آن را می فهمد، ترجمه می کنند.(اغلب در قالب دو دویی). کامپایلرها چیزهایی را که به وسیلۀ رابط ها، تجمیع و تبدیل شده اند، تولید می کنند. دی باگرها( اِشکال زداها )، جهت بررسی و اشکال زدایی کدها استفاده می شوند. کد منبع، بعضاً یا به طور کامل، برای ابزارهای اشکال زدا (Debugging tool) که بر روی آنها اجرا شده و به جهت برطرف کردن هرگونه اشکال احتمالی به کار می روند، شبیه سازی می شود. مترجم ها (Interpreters) برنامه ها را اجرا می کنند. آنها کد منبع و یا یک کد از پیش تالیف شده را اجرا و یا کد منبع را قبل از اجرا به یک زبان میانی ترجمه می کنند.
1-2- نرم افزارهای سیستمی(System Software) :
این گونه از نرم افزارها به راه اندازی و اجرای سخت افزار رایانه ای و سیستم رایانه، کمک می کنند. نرم افزارهای سیستمی به سیستمهای عامل، درایورها، سرورها و برنامه های جانبی سیستمی(utilities) اطلاق می شود. نرم افزار سیستمی به یک برنامه نویس کاربردی در خصوص جداسازی و انتزاع زبان برنامه نویسی از سخت افزار، حافظه، و سایر اجزاء مرکب درونی یک رایانه، کمک می کند تا خودش را درگیر زبان ماشین نکند. یک سیستم عامل، برای کاربرها، با یک پلت فرم، امکان اجرای برنامه های سطح بالا را فراهم می آورد.
میان افزارها و سیستم ورودی و خروجی بایوس، ابزاری را فراهم می کنند تا سخت افزار به کار گرفته شود.
1-3- نرم افزارهای کاربردی(Application Software) :
این قسم از نرم افزارها، کاربر نهایی را قادر می سازد تا امور معینی را به انجام رساند. نرم افزارهای مربوط به کسب و کار، پایگاههای داده و نرم افزارهای آموزشی، برخی از اشکال نرم افزارهای کاربردی هستند. همچنین واژه پردازهای مختلف که باید توسط کاربر، به انجام کارهای تخصصی اختصاص داده شوند، نمونه های دیگری از نرم افزارهای کاربردی هستند.
1-3-1- بدافزارها (Malware):
بدافزار، اشاره به هر گونه نرم افزار مخرب داشته و یک طیف وسیع تر از نرم افزارهایی را در بر می گیرد که به هر شکل، تهدیدی برای امنیت رایانه می باشند. ابزارهای تبلیغاتی مزاحم، جاسوس افزارها، ویروس های رایانه ای، کرم های رایانه ای، اسب های تروجان و یا ترس افزارها، مصادیق نرم افزارهای مخرب می باشند. ویروس های رایانه ای، برنامه های مخربی است که به تنهایی قادر به تکثیر خود بوده و از یک رایانه به رایانۀ دیگر در محیط شبکه و یا اینترنت گسترش می یابند. کرم رایانه ای همین کار را انجام می دهد، تنها با این تفاوت که ویروس ها نیاز به یک برنامه میزبان ضمیمه دارند و با آن گسترش می یابند، در حالی که در خصوص کرم ها لازم نیست تا خود را به برنامه ای ضمیمه کنند. تروجان نیز خود را تکثیر و اطلاعات را سرقت می کند. نرم افزارهای جاسوسی می توانند بر فعالیت های کاربر بر روی یک رایانه، نظارت داشته و اطلاعات کاربر را بدون اینکه وی بفهمد، سرقت کنند.
1-3-2- ابزارهای تبلیغاتی مزاحم(Adware) :
ابزارهای تبلیغاتی مزاحم نرم افزارهایی هستند که با استفاده از آن، تبلیغات اینترنی در فضای مجازی ، اجرا یا دانلود می شوند. برنامه نویسان، ابزارهای تبلیغاتی مزاحم را به عنوان وسیلۀ تولید درآمد خود طراحی می کنند. آنها، اطلاعات کاربر، مانند وب سایت هایی را که وی اغلب بازدید می کند و صفحاتی که به عنوان صفحۀ مورد علاقه، ثبت کرده را استخراج می کنند. تبلیغاتی که به عنوان پاپ آپ در صفحۀ نمایش شما ظاهر می شوند، ناشی از برنامه های تبلیغاتی مزاحم هستند که شما را ردیابی می کنند. اما ابزارهای تبلیغاتی مزاحم برای امنیت رایانه و یا حریم خصوصی کاربر، مضر نیست؛ بلکه داده ها را جمع آوری کرده و تنها به وسیلۀ پیشنهاد از طریق کلیک کاربر بر روی تبلیغات عمل می کنند.
برخی دیگر از نرم افزار ها در میان سایر نرم افزارهای رایانه ای، مانند نرم افزار مدیریت موجودی، برنامهریزی منابع سازمانی ، نرم افزارهای جانبی و نرم افزار حسابداری وجود دارندکه در زمینۀ خاص اطلاعاتی و سیستم های مدیریت داده ها، کاربرد دارند. ذیلاً نگاهی گذرا به برخی از آنها، خواهیم داشت.
1-3-3- نرم افزار انبار گردانی(Inventory Management Software) :
این نوع از نرم افزار به یک سازمان در ردیابی کالاها و مواد خود بر اساس کیفیت و کمیت کمک می کند. توابع مدیریت موجودی انبار شامل نقل و انتقالات انبار داخلی و ذخیره سازی می باشد. این نرم افزار انبار کمک می کند تا یک شرکت در سازماندهی موجودی و بهینه سازی جریان کالا در سازمان خود بهتر عمل کرده و در نتیجه این امر به بهبود خدمات به مشتریان منجر می شود.
1-3-4- نرم افزارهای جانبی (Utilities Software):
همچنان که مطابق عرف معمول خدمات نرم افزاری شناخته شده اند، این گونه از نرم افزارها در خصوص مدیریت سخت افزار رایانه و نرم افزارهای رایانه ای کمک می کنند. این فرآیند نرم افزاری، طیف محدودی از وظایف و عملکرد ها را بر عهدا دارد. یک پارچه سازهای دیسک سخت (Disk defragmenters)، نرم افزارهای سیستمی جانبی و ویروس یاب ها، برخی از نمونه های متداول نرم افزار های جانبی هستند.
1-3-5- نرم افزار پشتیبان و بازیابی اطلاعات(Data Backup and Recover Software):
یک نرم افزار پشتیبان و بازیابی اطلاعات ایده آل، ویژگی هایی فراتر از کپی ساده از فایل های داده را فراهم می کند. این نرم افزار اغلب، نیازهای کاربر را در خصوص تشخیص موارد و زمان پشتیبانی و حمایت برنامه ها، برطرف می کند. نرم افزارهای پشتیبانی و بازیابی، سازمان مندی اصلی فایل را حفظ کرده و هرگونه بازیابی آسان از اطلاعات پشتیبانی شده را ممکن می سازد.
1-3-6- نرم افزار های پردازش داده ها :
این مورد، رایج ترین زمینه برای تولید نرم افزار و استفاده از رایانه است. سیستم هایی نظیر حسابداری، انبارداری، حقوق و دستمزد و فروش، در این خصوص قابل ذکرند.
1-3-7- نرم افزارهای شبیه سازی و مدل سازی :
به جهات اقتصادی و ایمنی و صرفه جویی در وقت، برای آموزش و تحقیق در بسیاری از موارد، از این قابلیت در رایانه استفاده می شود. آموزش خلبانی و طراحی بدنه اتومبیل و امثال اینها، مصادیق این دسته اند.
1-3-8- نرم افزارهای سیستم خبره :
مقصود ساختن برنامه هایی است که بتواند کارهای هوشمندانه انسان نظیر گفتگو، ترجمه و تفسیر زبان و معاینه را انجام دهد. سیستم های باهوش مصنوعی، بر اساس منطق است و در آن از پایگاه دانش نیز علاوه بر پایگاه داده، استفاده می شود.
1-3-9- نرم افزار های سیستم بی درنگ :
در این سیستم ها، عکس العمل بلافاصله صورت می گیرند. نرم افزار های بدین منظور بیشتر در مراکز تولیدی نظیر پالایشگاه مورد استفاده دارد که با بروز هر عامل و علامتی، بی درنگ عکس العمل نشان داده و به تنظیم فرآیند تولید می پردازد.
1-3-10- نرم افزارهای سسیتم نهفته :
بسیاری از وسایل کوچک و بزرگ نظیر اسباب بازی، اتومبیل و تجهیزات پزشکی وجود دارند که در آنها کامپیوترهای ریزی به کار رفته است و با برنامه هایی که روی آنها نصب گردیده، کار آن دستگاه کنترل می شود.