۱.۳ نرم افزار

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