نرم افزار سیستم
یک بخش حیاتی هر کامپیوتر همه منظوره نرم افزار سیستم یا ابزار های نرم افزاری هستند که همراه با سخت افزار کامپیوتر به کار می روند. کامپیوتر بدون نرم افزار سیستم بیشتر شبیه به ماشینی است بدون بنزین، اگرچه مکانیک پایه ای سیستم وجود دارد، ولی هیچ راهی برای استفاده واقعی از آن وجود ندارد. این بخش بر ابزارهای نرم افزاری ای تمرکز دارد که برای تبدیل یک کامپیوتر همه منظوره به یک سیستم کامپیوتری مفید برای برنامه ریزی کاربردی، برای توسعه کاربردهای میکروپروسور، یا برای استفاده که به عنوان یک سیستم تجاری یا اداری، لازم هستند. با در نظر گیری وظایف متعددی که می توان با استفاده از یک کامپیوتر همه منظوره تقبل کرد، می توان دیدی در مورد انواع برنامه های لازم به دست آورد.
بارکننده
هنگام روشن کردن یک کامپیوتر، اولین ضرورت نوعی برنامه بارکننده است که می تواند برای بار کردن هر برنامه دیگری از محیط ذخیره سازی کمکی به حافظه قبل ز اجرا بکار رود. در اکثر کامپیوترهای مدرن، بار کننده یک برنامه بزرگ است که در ROM ذخیره شده و برای خواندن برنامه ها از یک دیسک طراحی شده است.
ایده استفاده از یک قطعه نرم افزار برای امکان پذیر کردن اجرای یک قطعه نرم افزار (عموماً پیچیده تر) دیگر خود راه اندازی خوانده می شود. از اینرو برنامه بار کننده یک روش خود راه اندازی سایر برنامه های پیچیده تر را فراهم می کند. این رهیافت به منظور حداقل کردن استفاه از حافظه سیستم کامپیوتر اتخاذ می شود؛ برنامه بارکننده که به طور دائمی در ROM قرار دارد نوعاً فقط حدود 1KBYTE حافظه را اشغال می کند و از اینرو قسمت اعظم حافظه باقیمانده را برای سایر برنامه ها آزاد می گذارد. همچنین برنامه بارکننده اغلب با یک برنامه نمایش دهنده یا خطایاب ترکیب می شدکه می تواند برای اشکال گیری از برنامه های کد ماشین و نیز برای تأیید عملکرد سخت افزار کامپیوتر بدون لزوم دسترسی به یک محیط ذخیره سازی کمکی بکار رود.
نوع متفاوتی از کامپیوتر نیز می تواند با استفاده از نرم افزار متقابل برای خود راه اندازی بکار رود. به عنوان مثال امکان دارد با استفاده از یک اسمبلر نوشته شده به زبانی که در کامپیوتر بزرگ قابل دسترسی است مثلاً پاسکال، C، یا فرترن، برنامه ای برای میکروپروسوری مانند MC6809 روی یک مینی کامپیوتر یا کامپیوتر بزرگ نوشته شود. برنامه اسمبلری که روی کامپیوتر کوچکتر اجرا می شود به یک اسمبلر متقابل مشهور است زیرا برای ریز کامپیوتر کد ماشین تولید می کند نه برای کامپیوتری که روی آن اسمبلر اجرا می شود. سپس برنامه کد ماشین می تواند یا بصورت PROM یا متوسط هر محیط ذخیره سازی دیگر، به کامپیوتر هدف منتقل شود یا می تواند مستقیماً توسط یک رابط ارتباطات سری یا موازی گرفته و بارگذاری شود.
سیستم عامل دیسکی
نرم افزاری که برنامه ها را قادر به بار شدن از (و ذخیره شدن در) محیط های ذخیره سازی کمکی می سازد، می تواند با تسهیلاتی ترکیب شود که ترمینال های نمایش و سایر دستگاه های جانبی کامپیوتر مانند چاپگرها، رسام ها و غیره را، بکار می گیرند تا یک برنامه کنترلی همه منظوره را تدارک ببینند. این برنامه سیستم عامل عموماً به دلیل سهولت دسترسی تصادفی به نواحی مختلف دیسک حاوی فایلهای مختلف ، از فلاپی دیسکها یا هارد دیسک ها به عنوان محیط ذخیره سازی کمکی اصلی استفاده می کند. از اینرو برنامه به یک سیستم عامل دیسکی (DOS) معروف است. یک سیستم عامل دیسکی دو قابلیت اساسی فراهم می آورد. اولاً با گردانش ورودی و خروجی به کنسول کاربر و اجرای دستورات تعیین شده توسط کاربر مکانیزمی برای ارتباط بین کامپیوتر و کاربر فراهم می کند. دوماً مکانیزمی برای ذخیره و بازاریابی برنامه فراهم می کند، اگرچه در حالت کلی به طریقی انعطاف پذیرتر و پیچیده تر از برنامه بار کننده ساده انجام می شود. کاربرها با استفاده از محیط سیستم عامل قادر به دسترسی به فایلهای مرجع و فراخوانی ویرایشگرهای متن جهت انجام تغییرات در آنها هستند. سپس می توانند کد مرجع را اسمبل یا کامپایل کنند (به صورتی مناسب) تا برنامه های کد ماشین به وجود آورند، و کد ماشین می تواند در حافظه بارگذاری و اجرا شود، که همگی تحت کنترل سیستم عامل هستند. فایلها که می توانند حاوی کد ماشین، متن مرجع کد بندی شده به صورت ASCII، داده ها یا هر اطلاعات دیگری باشند، با فرمتی که توسط سیستم عامل تعریف شده است روی دیسک ذخیره می شوند و توسط اسم فایل ها قابل دسترسی هستند. اسم فایلها، که به طور ساده یادآورهایی هستند که توسط کاربر به منظور نشان دادن محتویات یک فایل انتخاب شده اند، در فهرستی ذخیره می شوند که می تواند توسط کاربر بررسی شود. سپس کار بافایلها می تواند به سادگی با مراجعه به فایل با استفاده از اسم فایل آن انجام شود. به روش مشابه، تمامی سایر برنامه های سیستم که در این فصل توصیف داده شدند توسط یک سیستم عامل در دسترس قرار می گیرند. همچنین سیستم عامل تعدادی برنامه کمکی محیط اداری تهیه می کند که به گونه ای ضروری هستند که کاربر بتواند فایلهای خود را به صورتی منظم روی دیسک نگهدارد. نوعاً، سیستم عامل شامل موارد زیر است