۱.۳ نرم افزار
دقیقاً به همان اندازه که سختافزار یک کامپیوتر اهمیت دارد، یعنی اجزای فنی که کامپیوتر را تشکیل میدهند، نرم افزار (یعنی برنامهای که کامپیوتر اجرا میکند) نیز اهمیت دارد که به طور کلی میتواند به سه دسته تقسیم شود: میان افزار که بر روی مادربورد ذخیره میشود و فقط میتواند به سختی عوض شود یا جایگزین شود که کمتر چنین اتفاقی میافتد. این نرم افزار برای قرار دادن کامپیوتر در یک وضعیت مشخص بعد از روشن شدن استفاده میشود. اکثرا میتوان به یک حالت نصب دسترسی پیدا کرد که به شما اجازه میدهد ساعت سیستم را تنظیم کنید یا ویژگیهای خاصی از مادر بورد را فعال یا غیر فعال کنید. در کامپیوترهای شخصی میانافزار، BIOS و در سیستمهای جدیدتر EFI) نامیده میشود. بعضی از مادربوردها شامل یک سیستم کوچک لینوکس میشوند که به طور قابل توجهی سریعتر از لینوکس است و مثلا برای مرور صفحات وب یا تماشای یک دی وی دی، بدون نیاز به بالا آمدن ویندوز استفاده میشود. این که آیا چنین چیزی به زحمتش میارزد جای بحث دارد. سیستم عامل که کامپیوتر را به یک دستگاه قابل استفاده تبدیل میکند: منابع را از قبیل RAM، دیسکهای سخت، زمان تخصیص داده شده به برنامهها به منظور استفاده از CPU و دسترسی به تجهیزات جانبی دیگر را مدیریت میکند. سیستمعامل همچنین اجازهی شروع و پایان برنامهها را میدهد و یک جداسازی میان کاربران کامپیوتر اعمال میکند. به علاوه، در یک سطح ابتدایی، شرکت کامپیوترها را در یک شبکهی محلی یا اینترنت امکانپذیر میسازد. سیستم عامل اغلب یک رابط کاربری فراهم میکند و به این شکل مشخص میکند که چگونه کامپیوتر برای کاربرانش «به نظر برسد». وقتی شما یک کامپیوتر جدید خریداری میکنید معمولاً از قبل یک سیستم عامل بر روی آن نصب شده است: کامپیوترهای شخصی با Microsoft Windows مکها با OS X و تلفنهای هوشمند اغلب با Android (مشتق شده از لینوکس). با این وجود سیستم عامل نسبت به میانافزار وابستگی کمتری به کامپیوتر دارد، اما در بسیاری از موارد میتواند با یک سیستم عامل متفاوت جایگزین شود به عنوان مثال شما میتوانید لینوکس را بر روی بسیاری از مکها و کامپیوترهای شخصی نصب کنید. یا اینکه علاوه بر سیستم عامل موجود لینوکس را هم بر روی کامپیوتر خود نصب کنید که معمولاً مشکلی پیش نمیآید. برنامههای سطح کاربر اجازه انجام کارهای مفیدی مثل نوشتن اسناد، ایجاد و دستکاری تصاویر، ساختن موسیقی، بازی کردن، گشتن در محیط اینترنت یا توسعهی نرم افزارهای جدید را به شما میدهند. برنامههایی از این قبیل را Application نیز مینامند. علاوه بر این امکاناتی وجود دارد که سیستم عامل فراهم میکند که به شما یا مدیر سیستم اجازه ایجاد تغییراتی در پیکربندی کامپیوتر و کارهایی از این قبیل را میدهد. در عوض سرورها اغلب از نرم افزارهایی پشتیبانی میکنند که خدماتی مانند وب، پست الکترونیکی ویا سرورهای پایگاه داده را در اختیار دیگر کامپیوترها قرار میدهند.