Идея компьютера была предложена английским математиком Чарльзом Бэббиджем в середине 19 века. Его механическая аналитическая машина так и не смогла по-настоящему заработать, т. к. технологии того времени не удовлетворяли требованиям необходимым для изготовления нужных деталей точной механики.
Идею этого ученого удалось реализовать в 1943-1945 годах. В это время операционные системы (ОС) ещё не появились. Все задачи решались вручную каждым программистом с пультом управления, который представлял собой примитивное устройство ввода-вывода. Оно состояло из кнопок, переключателей и индикаторов. Предшественников операционных систем являлись системы пакетной обработки. Они стали первыми системными программами для управления вычислительных процессов. В ходе реализации системы пакетной обработки был разработан формализованный язык управлениями заданиями, с помощью которого программист сообщал системе какие действия, и в какой последовательности он хочет выполнить на вычислительной машине. Оператор составлял пакет заданий, которые в дальнейшем без его участия запускались на выполнение. Пакет обычно представлял собой набор перфокарт, но мог переноситься на магнитную ленту или магнитный диск.
Следующий этап развития ОС относится к 1965-1975 годам. Произошёл переход от полупроводниковых элементов к интегральным микросхемам. В этот период были реализованы практически все основные концепции, присущие современным системам: мультипрограммированное программное обеспечение, многотерминальный режим, виртуальная память, файловые системы. Революционное событие данного этапа – мультипрограммирование – это способ организации вычислительного процесса, при котором в памяти находилось одновременно несколько программ, попеременно выполняющихся на одном процессоре. Мультипрограммирование было реализовано в двух вариантах: системах пакетной обработки и разделение времени. В мультипрограммном пакетном режиме процессор не простаивал, пока одна программа выполнила операцию ввода и вывода, а переключался на другую, готовую к выполнению программу. В результате достигалась загрузка всех устройств компьютера, увеличивалось число задач, решаемых в единицу времени. В данном случае пользователь был лишён возможности интерактивно взаимодействовать со своими программами. Для исправления такой ситуации был разработан другой вариант мультипрограммирования – система разделения времени (каждый пользователь работает со своим терминалом).
Реализация мультипрограммирования потребовала очень важных изменений в аппаратуре ПК. В процессорах появился пользовательский режим работы, специальные регистры для переключения с одной программы на другую.
Ещё одна важная тенденция этого периода – создание семейств программно совместимых машин и операционных систем для них. В начале 1970 года появились сетевые операционные системы, которые позволяли рассредоточить пользователей, организовать распределённое хранение и обработку данных между несколькими ПК, связанными электрическими связями. С середины 1970-х годов началось массовое использование операционных систем UNIX, которая сравнительно легко переносилась на различные типы компьютеров. Программный код UNIX был написан на языке C (Си). 1980-е годы – становление интернета, появление персональных компьютеров и ОС для них. На этот момент самой распространённой системой была ОС MS-DOS. Это однопрограммная, однопользовательская ОС с интерфейсом командной строки. Основными задачами для неё были управление файлами и поочерёдный запуск программ.
Наибольшее влияние на развитие программного обеспечения для ПК оказала ОС Windows, представлявшая собой надстройку над MS-DOS. На её основании была создана операционная система Windows 3.1, 3.11, 95, 98, 2000, ME и т.д.