Если рассматривать историю появления операционных систем, то следует обратиться к эволюции развития вычислительной техники, в которой принято выделять некоторые временные интервалы, называемые “Периоды”.
[toc]
1-й период (1945-1955 гг.).
Первые вычислительные машины появились в середине 40-х годов ХХ века. Каждый экземпляр такой машины был результатом научно-исследовательских и проектно-конструкторских работ одновременно. Технической базой этих машин были электронные лампы. Для каждой задачи на машинном языке разрабатывался уникальный алгоритм решения задачи, записываемый на машинном языке. Громадную и дорогостоящую вычислительную установку эксплуатировал один человек – автор алгоритма. Все действия выполнялись строго последовательно. Первым этапом был ввод с пульта команд ЭВМ действий, какие следует выполнить. Они могли быть такие: чтение исходного текста программы; её отладка (опять таки с пульта); расчёт, выполняемый в автономном режиме. Таким образом, ЭВМ владел только один пользователь, и никаких средств автоматизации вычислительного процесса не было. Правда, в последние годы периода начинают появляться языки программирования, улучшающие процесс подготовки алгоритма, но и требующие дополнительных затрат (трансляция программ, и как следствие появление менее эффективных для исполнения, чем при написании программ на машинном языке).
2-й период (1955-середина 60-х гг.).
Прежде всего, этот период характеризуется появлением новой технической базы вычислительной техники – полупроводниковыми элементами (транзисторами). Первый эффект от их применения – резкое повышение надежности оборудования. Так же значительно сократилось энергопотребление и размеры вычислительных машин. В общем резко сократились затраты на эксплуатацию. С точки зрения подготовки алгоритмов происходит бурный рост языков программирования. Появляются новые области применения ЭВМ. Например, если на первых этапах развития вычислительны машины применялись, в основном, для выполнения вычислительных задач, то в этот период появляется язык программирования Кобол. Про него часто говорят, что он ориентирован на решение экономических задач. Очень важные изменения происходят в технологии подготовки и решения задач на ЭВМ. Появляются разнообразные библиотеки программ и средства, автоматизирующие процесс разработки (компиляторы, редакторы связей и отладчики). Начинается коммерческое использование вычислительной техники. Серьезные изменения происходят и в том, как осуществляется выполнение программ. Исходный текст программы вместе с заданием на выполнение последовательности работ, закодированном на специальном языке, а так же входные данные для расчёта наносятся на машинный носитель (часто это были перфокарты). Такой набор (команды вычислительной установке, исходный текст программы и входные данные для расчётов) называют задание. Появляется возможность выполнять несколько объединенных вместе заданий в автоматизированном режиме. Программные комплексы, предназначенные для этого, называют системы пакетной обработки заданий. Они являются прообразом современных операционных систем. Для второго этапа развития вычислительной техники характерно резкое изменение технологии выполнения программ на компьютере. Разработчик алгоритма формирует задание. Последнее передается для выполнения на ЭВМ обслуживающему персоналу (операторам). Таким образом, выделяются две группы специалистов: разрабатывающими и реализующие алгоритмы и эксплуатирующие аппаратуру (реализующие алгоритмы, созданные специалистами первой группы).
3-й период (середина 60-х-середина 80-х гг.).
Появление новой элементной базы вычислительной техники этого периода (интегральных схем) еще больше увеличило надежность работы вычислительной техники, уменьшило её стоимость. Растет разнообразие и сложность решаемых задач. Фактически любое предприятие заводит подразделение для автоматизации своих производственных функций. Появляются два новых элемента вычислительной установки (магнитные диски и электронно-лучевые дисплеи). Первые реализуют доступ к данным в режиме прямого доступа, в отличие от магнитных лент (они обеспечивали обслуживание данных только в режиме последовательного доступа). Это дало возможность изменить очередность исполнения последовательно записанных на машинный носитель заданий. Тем самым созданы предпосылки появившихся систем планирования заданий, явившихся естественным развитием систем пакетной обработки заданий. Дисплеи обеспечили возможность одновременного подключения к ЭВМ сразу нескольких пользователей. А это требует создания систем разделения времени. Последние появились на базе нового режима работы вычислительной установки – мультипрограммирования. Первые задачи, которые должен был обеспечить такой режим – это более эффективное использование процессора. В оперативную память загружается несколько программ. Начинает работу одна из них. Если ей требуется медленная операция ввода-вывода, то процессор не простаивает, а переключается на обслуживание другой загруженной программы. Такой режим требует настоящих революционных изменений, как в аппаратной части вычислительных машин, так и в программной. Загрузка и попеременное выполнение многих программ вызвало к жизни такие аппаратные механизмы.
Защитные механизмы выполнения (появление двух типов машинных команд: привилегированных и непривилегированных).
Защитные механизмы памяти (для изоляции доступа пользовательских программ к операционной системе, а так же друг к другу).
Наличие прерываний (это связано, например, с появлением асинхронных событий – завершение операции ввода-вывода).
Развитие параллелизма в архитектуре (освобождение центрального процессора от рутинных операций, например, передачей их каналам ввода-вывода).
В программной части режим мультипрограммирования требует, что бы было программно реализован ответ на следующие операции.
Организация интерфейса между прикладными программами и операционной системой.
Организация очереди выполнения загруженных программ. Создание системы сохранения состояния выполняемых заданий при их переключения. Реализация системы стратегии управления памятью. Реализация файловой системы. Создание средств коммуникации выполняемых программ. Реализация средств синхронизации для разрешения конфликтов при совместном использовании различных ресурсов.
Еще раз отметим, что сначала режим мультипрограммирования был реализован вне систем разделения времени, а основывался на системах пакетной обработки. И только появление дисплеев привнес в этот режим новое. Как и для машин первого поколения, разработчики программ (авторы алгоритмов) вновь допущены к вычислительным ресурсам.
Третий этап развития вычислительной техники характеризуется появлением семейств программно совместимых компьютеров. Первым их них имело название IBM/360, а его развитие – IBM/370. Такое семейство совместимых вычислительных машин было разработано известнейшей американской корпорацией. Проекции компьютеров этой серии занимались фирмы других стран (Англии, Японии, России). В СССР и социалистических странах разрабатывалось семейство ЕС ЭВМ. Другое семейство называлось PDP (разработка фирмы DEC). Аналогичные PDP компьютеры разрабатывались так же другими фирмами разных стран. В странах социалистического лагеря разрабатывалось семейство СМ ЭВМ. Появление программно совместимых компьютеров имело очевидное преимущество: одноразовая разработка служебного программного обеспечения и возможность широкого распространения программ, решающих прикладные задачи. НО с другой стороны разнообразие аппаратуры, включаемой в состав семейства программно совместимых ЭВМ, привело к необходимости включения множества функций системного программного обеспечения, а значит появления громоздких операционных систем.
4-й период (с середины 80-х гг.)
Период развития вычислительной техники начинаемый с середины 80-х годов характеризуется появлением больших интегральных схем. Степень интеграции электронных компонент возрастает, что ведет к снижению эксплутационных характеристик и стоимости аппаратных средств. Появляются персональные компьютеры, которые сначала обладают ограниченными техническими возможностями и даже реализуют только однопрограммный режим. Но постепенно аппаратные средства развиваются, и операционные системы реализуют весь спектр возможностей мультипрограммирования. Компьютеры используются не только специалистами, но и неподготовленными пользователями. Возникает режим дружелюбного интерфейса пользователя и компьютера. Появляющиеся вычислительные сети возрождают к жизни новые решения в операционных системах. Появляются сетевые и распределенные операционные системы, в том числе, как объединение персональных компьютеров. Сетевые операционные системы требуют от пользователя знание наличия и правил доступа к удаленному ресурсу. Каждый компьютер в сети должен управляться локальной операционной системой, дополненной средствами доступа к удаленным ресурсам. Распределенные системы напротив не требуют от пользователя знания о том, подключен ли его компьютер к сети и где расположены используемые им программы и файлы.
Таким образом, выделяются три вида операционных систем: локальные (еще называемые классическими), сетевые и распределенные.