Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Эволюция развития операционных систем




Начиная с 1949 г., когда заработала первая цифровая вычислительная машина с запоминаемой программой, и до 1956 г. устройство и способ действия вычислительных машин оставался относительно постоянным. Их классическая фон неймановская архитектура была основана на строго последовательном выполнении команд, включая операции ввода-вывода. При загрузке и выполнении программ пользователи обычно работали за консолью непосредственно с машиной, устанавливая значения регистров, проверяя ячейки памяти и вообще взаимодействуя со своими вычислениями на самом низком машинном уровне. Программы писались на абсолютном машинном языке (десятичная и восьмеричная нотация) и при вводе им предшествовал абсолютный загрузчик). Средства автоматизации программирования либо отсутствовали, либо были минимальными — лишь на наиболее сложных установках имелись простые ассемблеры и интерпретаторы с незначительным использованием библиотечных стандартных программ.

Когда была признана важность символического программирования и ассемблирующие системы получили более широкое распространение, выработалась стандартная операционная процедура: ассемблер считывается загрузчиком; ассемблер преобразует в абсолютную форму “символические колоды” исходных программ пользователя с добавлением библиотечных стандартных программ; ассемблированная программа записывается на ленту или карты, а загрузчик снова используется для считывания карт этой программы в основную память; абсолютная программа затем выполняется. Каждый шаг требует манипуляций со стороны оператора и занимает много времени, в особенности по сравнению со временем, которое требуется ЭВМ для обработки карт на этом шаге.

“Первое поколение” операционных систем было вызвано к жизни упомянутой выше неэффективностью, а также другими соображениями. Эти дополнительные факторы включали: затраты на управление оборудованием; наличие других языков; развитие библиотечных программ и вспомогательных средств, в особенности относящихся к операциям ввода-вывода; неудобство трансляции в абсолютную программу, которая требовала, чтобы все программные секции и подпрограммы, необходимые для прогона, транслировались вместе первоначально и всегда при внесении изменений в любую из программ. Первые пакетные системы автоматизировали стандартную последовательность “загрузка/трансляция/загрузка/ выполнение” с помощью центральной управляющей программы, которая отыскивает и загружает требуемые системные программы (ассемблер, компилятор, загрузчик или библиотечные подпрограммы), а также управляет переходами от задания к заданию. Языковые трансляторы были переписаны для создания программ в перемещаемой, а не в абсолютной форме. Были разработаны связывающие загрузчики, позволяющие смешивать колоды, содержащие программы в исходной и перемещаемой объектной форме, затем также стало возможным хранить и библиотечные программы в перемещаемой объектной форме. Со стороны человека-оператора требовалось управление физическими устройствами, предназначенными для ввода и вывода пакетов, обслуживание нестандартных заданий и восстановление системы при отказах. Автор задания не имел непосредственного доступа к процессу выполнения его задания. В этих ОС защита была самой трудной и насущной проблемой: система могла быть легко разрушена самопроизвольно или пользователем, кроме того, какой-либо пользователь мог легко прочитать в составе своего задания следующее задание в пакете. Распределение ресурсов, в первую очередь основной памяти и устройств ввода-вывода, было в большей степени задачей языковых процессоров и программ пользователей, нежели ОС.

С точки зрения перспективы развития операционных систем различия в аппаратном обеспечении, чем различия, которые могут быть обнаружены в архитектуре аппаратуры и программного обеспечения; периоды же времени приблизительно совпадают с периодами развития поколения ЭВМ.

В период с 1959 до 1963 гг. несколько значительных аппаратных разработок получили широкое распространение и стимулировали развитие ОС. Важным аппаратурным новшеством был канал данных — простейшая ЭВМ со своей собственной системой команд, регистрами и устройством управления, которое управляет связью и передачей данных между основной ЭВМ и устройствами ввода-вывода. При получении запроса на ввод-вывод от центрального обрабатывающего устройства (ЦОУ) канал выполняет операцию ввода-вывода асинхронно и параллельно с продолжающейся работой ЦОУ; становится возможным совмещение во времени операций ввода-вывода и ЦОУ. Основная память разделяется ЦОУ и каналом, поскольку она хранит программы и данные для них. Вначале ЦОУ могло лишь опрашивать состояние канала, но вскоре стало ясно, что можно повысить эффективность, если бы канал с целью передачи сообщения мог также прерывать работу ЦОУ. в большинстве случаев при завершении операции ввода-вывода.

Были написаны более сложные системы программирования ввода-вывода с целью использования преимуществ потенциальной эффективности этой новой архитектуры. В их состав вошли программные средства буферизации для обеспечения автоматического считывания данных, прежде чем они понадобятся программе, и для помещения выходных данных в очередь, с тем чтобы отложить их вывод, а также стандартные программы обработки прерываний, которые должны реагировать на прерывания ввода-вывода и возвращать управление прерванным программам.

Прерывания стали использоваться, чтобы сигнализировать об исключительных внутренних условиях, таких, как арифметическое переполнение, и были добавлены команды для выборочного разрешения (включения), запрещения (выключения) и приостановки (задержки действия) механизмов прерывания.

По мере пополнения и усложнения задач ОС (воспринимаемой как “машина” типичным пользователем, который все больше отдаляется от реальной аппаратуры) оказалось необходимым определить более систематическим способом характеристики заданий и требований к ним. Для этой цели были введены языки управления заданиями.

Для этого периода характерно последовательная пакетная обработка с попыткой эффективно использовать каналы данных, прерывания и вспомогательную память. Однако обработка заданий по одному в каждый момент времени по-прежнему приводила к низкой активности канала для заданий с интенсивными вычислениями и к низкой активности ЦОУ для заданий с интенсивным вводом-выводом, даже если было достигнуто максимальное совмещение операций ЦОУ и канала.

С 1962 по 1969 г. в больших ОС стал почти повсеместно использоваться новый метод обработки заданий —мультипрограммирование, был также разработан новый способ выполнения вычислений, разделение времени, как альтернатива пакетной обработке. Большие дисковые устройства с быстрым доступом обеспечили непосредственно управляемую память для систем и библиотечных программ пользователей, а также для ожидающих обработки заданий пользователей. Во многие ЭВМ были введены аппаратные средства защиты команд и памяти; в некоторых больших машинах появились системы основной памяти с аппаратными средствами настройки адресов, которые допускали реализацию большой “виртуальной” памяти; стали более распространенными мультипроцессорные конфигурации, Проблемы распределения ресурсов и защиты стали более острыми и трудноразрешимыми в мультипрограммной среде, где много процессов могут одновременно запрашивать как совместное, так и монопольное использование ресурсов системы, часто должны передавать сигналы друг другу и могут являться потенциально “злонамеренными” или ошибочными. Именно в этот период исследование операционных систем стало одним из главных направлений в области вычислительной техники.

В это время начинают предлагать коммунальные услуги большие сети ЭВМ, построенные на основе линий связи. Сети предъявляют еще большие требования к системному программному обеспечению. Другие изменения в аппаратуре, такие, как появление управляющей памяти с возможностью перезаписи микропрограмм, иерархий устройств основной памяти с автоматической передачей информации между уровнями, экономичных ассоциативных запоминающих устройств, а также углубление параллелизма в обрабатывающих устройствах, в том числе программируемого, приведут к новым требованиям в отношении программного обеспечения и заставят глубже понимать принципы ОС. К современным направлениям в области разработки программного обеспечения можно отнести:

- выявление примитивов ОС для планирования ресурсов и процессов, которые могли бы быть реализованы с помощью аппаратуры, микропрограмм или стандартного программного обеспечения;

- человеко-ориентированные языки. управления заданиями;

- языки и системы, обеспечивающие параллелизм;

- подсистемы для измерения действия ОС;

- более универсальные схемы защиты.

Важный период развития вычислительных машин относится к началу 60-х – 1980 г. Для повышения эффективности использования процессорного времени вводится прием подкачки-откачки данных или spooling (сокращение от Simultaneous Peripheral Operation On Line). Введение техники подкачки-откачки в пакетные системы позволило совместить реальные операции ввода-вывода одного задания с выполнением другого задания, но потребовало разработки аппарата прерываний для извещения процессора об окончании этих операций.

Дальнейшее повышение эффективности использования процессора было достигнуто с помощью мультипрограммирования. Идея мультипрограммирования заключается в следующем: пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при однопрограммном режиме, а выполняет другую программу. Когда операция ввода-вывода заканчивается, процессор возвращается к выполнению первой программы.




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 696; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.