Поколение №0:
1740-ые первая механическая счетная машина. Электронные машины появились после появления триггеров. Некоторый прогресс в создании цифровых вычислительных машин произошел после второй мировой войны. 1944 в США, на них не было ОС. Устройства ввода/вывода – бумажные носители.
В первых ВМ не было ОС, пользователи имели полный доступ к машинному языку, все программы писались непосредственно в машинных командах.
Поколение №1: 50-е годы.
Основные направления:
а) Автоматизация ввода/вывода (перфокарты, перфоленты) зарождение BIOS.
б) Экономия времени (сателлит – малые машины для ввода/вывода рядом с большой вычислительной машиной). Появление операторов ЭВМ.
Первая ОС – начало 50-х годов: General Motors для IBM 701. ОС были разработаны с целью ускорения и упрощения перехода с задачи на задачу. Назначение ОС – обеспечение пакетного режима (пакетный обработкой, который предусматривал объединение отдельных задач в группы или пакеты).
Выделение повторяющихся команд в отдельные процедуры. Создание stdio, стандартов ввода/вывода.
Поколение №2: 60-е годы.
Основные направления:
а) Многозадачная пакетная логика.
б) Многопользовательские режимы.
в) Чисто многозадачный режим.
Бурное развитие ОС и различных теорий ОС. Развиваются ОС пакетной обработки, многозадачные ОС, многопользовательские ОС, ОС с транзакциями. Появились методы, обеспечивающие независимость программирования от внешних устройств (ВУ). Появление многопроцессорных машин и соответственно ОС. Появление ОС реального времени. Пример глобальной сложной системы: Multics (проект провален).
К большой машине стыковались по последовательному порту терминалы (символьные).
К концу 60-х годов появление распределенных машин (сбор информаций из многих мест, например: сбор информации об авиабилетах).
Поколение №3: 70-е годы.
Появление научной дисциплины проектирование программ, создание совместимых систем, создание эмуляторов, начало специализирования ОС. Разработка модульного процедурного программного обеспечения.
Совместимость ОС и программных средств (обеспечения) впервые организовала фирма IBM. Было много фирм, их машины и системы команд были разными. Очень сложно было переходить к вычислительной машине другого класса.
IBM создала линейку вычислительных машин совместимых снизу вверх: IBM System 360 и ОС, совместимую со всеми машинами этой линейки (OS/360), её аналог в СССР – ЕС-ЭВМ. Для облегчения перехода с других машин на эту линейку фирма IBM создала эмуляторы других систем на своей системе. (Аналогично в свое время поступит Win95, потребовала написания драйверов под эту систему). Позднее будут созданы DEC-PDP и ОС UNIX.
Сложность проектирования отладки и поддержки ОС породила технологию конструирования программ – модульность, совместимость и мобильность ОС.
Поколение №4: 80-е годы.
ОС ещё более функционально насыщены. ОС общего назначения становятся сетевыми. Распределенные вычислительные системы. Развиваются средства управления базами данных. Данные стали рассматриваться как объект управления. С точки зрения совместимости широко развивается концепция виртуальной машины.
Удобство для пользователя (системы управления при помощи меню и так далее). Появление первых персональных компьютеров. Удобство программирования (интегрированная оболочка программирования). В 70-е годы появление языка C, языка высокого уровня. В 80-е годы C++ – объектно-ориентированный язык программирования.
В эти годы произошло разделение производителей и появление большого количества независимых фирм, разрабатывающих ОС.
Поколение №5: 90-е годы.
Принцип распределенной обработки данных перешел на принцип распределенных сетевых ОС, в которых основные функции реализуются на распределенных в пределах сети процессорах. Появление глобальной сети.
Интерфейс становится более дружественным (интуитивно понятный интерфейс). Для программиста создание среды визуального программирования.
Новый класс ОС, специализированных для процессоров ЦОС.
Вывод:
ОС на современном этапе развиваются в направлении:
1) повышения функциональной сложности, насыщенности и производительности.
2) повышение степени абстрагирования от аппаратуры (мобильности).
3) повышение степени дружественности к оператору и распределенности обработки.