- •1 Операционная система. Основные понятия
- •1.2 Функции ос
- •2 Эволюция операционных систем и их основные идеи
- •2.1 Поколения операционных систем
- •2.2 Нулевое поколение ос (40-е гг. XX в.)
- •2.3 Первое поколение ос (50-е гг. XX в.)
- •2.4 Второе поколение ос (начало 60-х гг. XX в.)
- •2.5 Третье поколение ос (середина 60-х - середина 70-х гг. XX в.)
- •2.5.1 Развитие ос в середине 60-х гг. XX в.
- •2.5.2 Развитие ос в начале 70-х гг. XX в.
- •2.5.3 Развитие ос в середине 70-х гг. XX в.
- •2.6 Четвертое поколение ос (середина 70-х гг. XX в. - по н. В.)
- •2.6.1 Развитие ос в 80-е гг. XX в.
- •2.6.2 Развитие ос в 90-е гг. XX в.
- •2.6.3 Современный этап развития ос
2 Эволюция операционных систем и их основные идеи
2.1 Поколения операционных систем
Операционные системы, подобно аппаратуре компьютеров, на пути своего развития прошли через ряд радикальных изменений, так называемых поколений.
Для аппаратных средств смена поколений связана с принципиальными достижениями в области электронных компонент:
- электронные лампы (первое поколение ЭВМ);
- транзисторы (второе поколение ЭВМ);
- интегральные микросхемы (третье поколение ЭВМ);
- большие и сверхбольшие интегральные схемы (четвертое поколение ЭВМ).
Появление каждого из этих последовательных поколений аппаратных средств сопровождалось резким уменьшением стоимости, габаритов, потребляемой мощности и тепловыделения и столь же резким повышением быстродействия и объемов памяти компьютеров.
На основе данной классификации выделяют пять поколений операционных систем:
- нулевое поколение (40-е гг. XX в.);
- первое поколение (50-е гг. XX в.);
- второе поколение (начало 60-х гг. XX в.);
- третье поколение (середина 60-х - середина 70-х гг. XX в.);
- четвертое поколение (середина 70-х гг. XX в. - по н. в.).
2.2 Нулевое поколение ос (40-е гг. XX в.)
Идея компьютера была предложена английским математиком Чарльзом Бэббиджем (Charles Babbage) в середине XIX века.
В 1834 г. Бэббидж задумался о создании программируемой вычислительной машины, которую он назвал аналитической (прообраз современного компьютера).
Бэббидж подробно описал конструкцию аналитической машины и принципы ее работы, она так и не была построена при его жизни.
Причин этому было много. Но основными стали: полное отсутствие финансирования проекта по созданию аналитической машины и низкий уровень технологий того времени, который не удовлетворял требованиям, необходимым для изготовления нужных деталей точной механики.
Конечно, никакой речи об операционной системе для этого «компьютера» не шло.
Настоящее рождение цифровых вычислительных машин произошло вскоре после окончания Второй мировой войны.
В середине 40-х гг. были созданы первые ламповые вычислительные устройства. В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. Это была скорее научно-исследовательская работа в области вычислительной техники, а не использование компьютеров в качестве инструмента решения каких-либо практических задач из других прикладных областей.
Программирование осуществлялось исключительно на машинном языке. Не было никакого системного программного обеспечения, кроме библиотек математических и служебных подпрограмм.
Служебные программы минимизировали физические манипуляции оператора с оборудованием, а библиотеки позволяли избежать многократного программирования одних и тех же действий (осуществления операций ввода-вывода, вычисления математических функций и т. п.).
Операционные системы все еще не появились, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления, который представлял собой примитивное устройство ввода-вывода, состоящее из кнопок, переключателей и индикаторов.
2.3 Первое поколение ос (50-е гг. XX в.)
С середины 50-х гг. XX в. начался новый период в развитии вычислительной техники, связанный с появлением новой технической базы - полупроводниковых элементов. Выросло быстродействие процессоров, увеличились объемы оперативной и внешней памяти. Компьютеры стали более надежными, теперь они могли непрерывно работать настолько долго, чтобы на них можно было возложить выполнение действительно практически важных задач.
Наряду с совершенствованием аппаратуры заметный прогресс наблюдался также в области автоматизации программирования и организации вычислительных работ. В эти годы появились первые алгоритмические языки, и таким образом к библиотекам математических и служебных подпрограмм добавился новый тип системного программного обеспечения - трансляторы.
Выполнение каждой программы стало включать большое количество вспомогательных работ:
а) загрузка нужного транслятора (АЛГОЛ, ФОРТРАН, КОБОЛ и т. п.);
б) запуск транслятора и получение результирующей программы в машинных кодах;
в) связывание программы с библиотечными подпрограммами;
г) загрузка программы в оперативную память;
д) запуск программы;
е) вывод результатов на периферийное устройство.
Для организации эффективного совместного использования трансляторов, библиотечных программ и загрузчиков в штат многих вычислительных центров были введены должности операторов, профессионально выполнявших работу по организации вычислительного процесса для всех пользователей этого центра.
Но как бы быстро и надежно ни работали операторы, они никак не могли состязаться в производительности с работой устройств компьютера. Большую часть времени процессор простаивал в ожидании, пока оператор запустит очередную задачу. А поскольку процессор представлял собой весьма дорогое устройство, то низкая эффективность его использования означала низкую эффективность использования компьютера в целом.
Операционные системы 50-х гг. были разработаны с целью ускорения и упрощения перехода с задачи на задачу. До создания этих операционных систем много машинного времени терялось в промежутках между завершением выполнения одной задачи и вводом в решение следующей.
Для решения этой проблемы были разработаны первые системы пакетной обработки, которые автоматизировали всю последовательность действий оператора по организации вычислительного процесса. Ранние системы пакетной обработки явились прообразом современных операционных систем, они стали первыми системными программами, предназначенными не для обработки данных, а для управления вычислительным процессом.
Системы пакетной обработки предусматривали объединение отдельных задач в группы, или пакеты. Запущенная в решение задача получала в свое полное распоряжение все ресурсы машины. После завершения каждой задачи (либо нормального, либо аварийного) управление ресурсами возвращалось операционной системе, которая «прочищала машину после данной задачи» и обеспечивала ввод и запуск в решение следующей задачи.
В ходе реализации систем пакетной обработки был разработан формализованный язык управления заданиями, с помощью которого программист сообщал системе и оператору, какие действия и в какой последовательности он хочет выполнить на вычислительной машине.
Оператор составлял пакет заданий, которые в дальнейшем без его участия последовательно запускались на выполнение управляющей программой-монитором (программа для мониторинга системы). Кроме того, монитор был способен самостоятельно обрабатывать наиболее часто встречающиеся при работе пользовательских программ аварийные ситуации, такие как:
- отсутствие исходных данных;
- переполнение регистров;
- деление на ноль;
- обращение к несуществующей области памяти и т. д.
Пакет обычно представлял собой набор перфокарт, но для ускорения работы он мог переноситься на более удобный и емкий носитель, например на магнитную ленту или магнитный диск. Сама программа-монитор в первых реализациях также хранилась на перфокартах или перфоленте, а в более поздних - на магнитной ленте и магнитных дисках.
Ранние системы пакетной обработки значительно сократили затраты времени на вспомогательные действия по организации вычислительного процесса, а значит, был сделан еще один шаг по повышению эффективности использования компьютеров.
Однако при этом программисты-пользователи лишились непосредственного доступа к компьютеру, что снижало эффективность их работы - внесение любого исправления требовало значительно больше времени, чем при интерактивной работе за пультом машины.
Уже в первых операционных системах появилась концепция системных файлов как средства достижения независимости программ от аппаратуры. Это дало возможность не задавать непосредственно в программе конкретные номера физических устройств, а указывать стандартный системный файл ввода (SYSIN) как устройство, с которого считывается информация, или стандартный системный файл вывода (SYSOUT) как устройство для вывода результатов.
К концу 50-х годов ведущие фирмы-изготовители компьютеров поставляли операционные системы со следующими характеристиками:
- пакетная обработка одного потока задач;
- возможности автоматического перехода от программы к программе, позволяющие сократить накладные расходы на запуск новой задачи в решение;
- средства восстановления после ошибок, обеспечивающие автоматическую «очистку» машины в случае аварийного завершения очередной задачи и позволяющие запускать следующую задачу при минимальном вмешательстве оператора ЭВМ;
- наличие стандартных подпрограмм ввода-вывода, с тем чтобы пользователю не приходилось касаться деталей программирования процессов ввода и вывода на машинном языке;
- языки управления заданиями, предоставляющие пользователям возможность достаточно подробно описывать свои задания и ресурсы, требуемые для их выполнения.
В то время операционные системы использовались главным образом на крупных ЭВМ. Многие из малых машин общего назначения работали без операционной системы.
В 1952 г. фирма IBM выпустила свой первый промышленный электронный компьютер IBM 701. Первой в мире операционной системой считается GM OS (General Motors Operating System) для IBM 701, разработанная в 1955 г.
В 1957 г. была создана операционная система BESYS (Bell Operating System) - операционная система компании Bell Labs, разработанная для собственных нужд ее вычислительного центра. Система BESYS должна была эффективно выполнять большое количество динамически загружаемых в нее коротких задач, используя перфокарты.
BESYS никогда не выпускалась компанией Bell Labs как законченный продукт. Хотя операционная система и использовалась в дальнейшем в различных департаментах компании, она никогда не имела должной технической поддержки.
