Операционные системы, подобно аппаратуре компьютеров, в своем развитии прошли через ряд радикальных изменений, так называемых поколений. Появление последовательных поколений сопровождалось резким уменьшением стоимости, габаритов, потребляемых мощностей и тепловыделения, и столь же резким повышением быстродействия и объемов памяти компьютеров.
Нулевое поколение (40-е годы). В первых ЭВМ операционных систем не было. Пользователи имели полный доступ к машинному языку и писали все программы непосредственно в машинных командах.
Первое поколение (50-е годы). Операционные системы были разработаны с целью ускорения и упрощения перехода с задачи на задачу. Это было начало систем пакетной обработки, которые предусматривали объединение отдельных задач в группы или пакеты.
Второе поколение (начало 60-х). Характеризуется появлением методов, обеспечивающих независимость программного обеспечения от внешних устройств. Если в системах первого поколения необходимо было задавать конкретные номера физических устройств, то в системах второго поколения этого уже не требовалось. Появились первые системы реального времени.
Третье поколение (середина 60-х – середина 70-х). Появилось с представлением фирмой IBM в 1964 году семейства компьютеров System/360. ОС третьего поколения были многорежимными. Некоторые из них обеспечивают работы сразу во всех известных режимах: пакетную обработку, разделение времени, режим реального времени и мультипроцессорный режим. Операционные системы стали программной прослойкой между пользователем и аппаратурой ЭВМ.
Четвертое поколение (от середины 70-х). Появление персональных компьютеров стало одним из наиболее важных достижений вычислительной техники за несколько последних десятилетий. Если в 60-х годах пользователям приходилось работать на языках программирования, включающих множество символических, мнемонических обозначений и сокращений, то с середины 70-х годов появились системы с управлением при помощи меню, предоставляющих пользователю ряд различных альтернатив выбора, причём выраженных на простом английском языке. Начала широко распространяться концепция виртуальных машин. Пользователь получил возможность более не задумываться о физических деталях построения вычислительных машин, с которыми он работает. Вместо этого пользователь имеет дело с функциональным эквивалентом компьютера, создаваемым для него операционной системой и называемым виртуальной машиной.
Операционные системы периода 60-х годов были ориентированы на пакетную обработку и нацелены главным образом на повышение пропускной способности дорогостоящей аппаратуры. Эти системы предусматривали мультипрограммный режим, при котором в основной памяти машины размещается несколько программ одновременно, а центральный процессор быстро переключается с программы на программу. Главный фактор, способствующий успешному внедрению концепции мультипрограммирования в качестве средства повышения пропускной способности ЭВМ, был связан с существенным различием в быстродействии устройств ввода-вывода и центрального процессора. Программа, которая формирует запрос ввода-вывода и не может продолжить свое выполнение, пока требуемая операция ввода-вывода не завершиться в однопрограммной машине вызывала перевод центрального процессора (ЦП) в режим ожидания результата ввода-вывода.
Затем появились мультипрограммные системы и комплексы, в которых одновременно работают несколько процессоров – иногда как независимые машины, обменивающиеся данными друг с другом, а иногда как ряд взаимодействующих процессоров с общей памятью. Подобные системы по производительности существенно превосходят машины с одним центральным процессором.
Одним из наиболее значительных достижений этого периода было создание и успешное внедрение системы бронирования и предварительной продажи билетов на самолеты американских авиалиний. Эта система (SABRE) стала первой крупной системой обработки транзакций, в которой пользователи, находящиеся на удалении от центральной ЭВМ, взаимодействовали с ней при помощи терминалов телетайпного типа. Системы обработки транзакций предусматривают диалог между пользователем и машиной, с возможностью оперативного получения ответа.
Обработка транзакций потребовала, чтобы при разработке ОС учитывалась необходимость обеспечить возможность диалога компьютеров со своими пользователями, а это, в свою очередь, привело к тому, что существенно возросло значение таких человеческих факторов как время ответа и простота и удобство интерфейса «человек–машина». Вместо того чтобы просто выполнять одно или несколько пакетных заданий одновременно, ЭВМ пришлось быстро реагировать на запросы, которые поступают с сотен или тысяч терминалов. Поэтому большое значение начали уделять организации подсистем внешней памяти с прямым доступом, обеспечивающих быстрый обмен данными.
Большое значение имело сопряжение компьютеров с телефонными линиями связи. Самым значительным достижением того периода можно, по-видимому, считать стыковку компьютеров и средств передачи данных.
Операционные системы 60-х годов имели следующие характеристики:
· мультипрограммирование;
· мультипроцессорная обработка;
· виртуальная память;
· написание ОС на языке высокого уровня;
· возможность отладки программ на исходном языке.
Вплоть до 70-х годов изготовители компьютеров, как правило, продавали изделия лишь одного вида, а именно аппаратуру. Операционные системы, пакеты прикладных программ, а также эксплуатационная документация часто поставлялись бесплатно или за номинальную цену. Поставщики относились к ПО как к своего рода «подарку», и, поэтому, они практически отказывались нести ответственность за его качество. В начале 70-х фирма IBM разделила свои программные средства и аппаратуру и установила отдельные цены на каждый вид средств. Другие изготовители последовали примеру фирмы IBM, так что разделение цен на программы и аппаратуру быстро стало стандартным.
Пользователи получили серьезный стимул для того, чтобы тщательно анализировать многие существующие конкурирующие программные изделия при выборе ПО для своих ЭВМ. Это привело к тому, что поставщики стали более методично проводить при разработке своих программных средств модульный принцип, с тем, чтобы их можно было продавать или предоставить на них лицензии. Образовался рынок программных средств, на котором свою нишу заняли и ОС. Для IBM-совместимых ПЭВМ в настоящее время наиболее широко используемыми являются ОС, относящиеся к семействам DOS, Windows, OS/2, UNIX и NetWare.
Выделим ряд тенденций в развитии аппаратных и программных средств:
· Цены на аппаратные средства компьютеров будут продолжать снижаться, в то время как скорости процессоров и емкости памяти будут увеличиваться при одновременном уменьшении габаритов этих устройств.
· Продолжится возрастание степени интеграции.
· Получат более широкое распространение многопроцессорные архитектуры.
· Будут создаваться ОС, обеспечивающие более эффективное выполнение параллельных программ.
· Появится возможность с большей скоростью выполнять параллельные программы благодаря высокой степени совмещения операций.
· ЭВМ и их ОС будут разрабатываться таким образом, чтобы обеспечить эффективную работу виртуальных машин, а реальные машины будут скрыты от пользователя.
· Все больше компьютеров будут объединяться в вычислительные сети.
· Стоимость средств передачи данных будет продолжать снижаться, а скорость передачи расти.
· Многие функции ОС будут реализовываться при помощи микрокода, а не обычных программ.
· Продолжится использование концепции семейства компьютеров.
· Методологии конструирования программных средств будут непрерывно совершенствоваться.