История развития операционных систем.


Поколение №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) повышение степени дружественности к оператору и распределенности обработки.