Файл: История развития средств вычислительной техники ( Поколения ЭВМ ).pdf
Добавлен: 01.04.2023
Просмотров: 862
Скачиваний: 11
Стали шире применяться библиотеки объектных модулей, чтобы избежать лишней работы по программированию исходных модулей, транслированию и отладке; появились диспетчеры, как простейшие версии ОС; сервисные программы (редактирование, отладка).
Область применения ЭВМ расширилась. Кроме научных расчетов они стали использоваться для решения экономических задач. Собственно расширение сферы применения и обеспечило расширение номенклатуры устройств ввода-вывода и ВЗУ.
Режим работы – закрытый. Программиста как бы «отлучили» от машины. Выполнение программ было организовано через посредника (оператора).
Переход от открытого к закрытому режиму использования ЭВМ как бы стимулировал развитие двух направлений программирования: прикладное программирование, связанное с разработкой программ для решения конкретных научно-технических задач, и системное программирование, связанное с разработкой специальных программ, автоматизирующих процесс написания и отладки прикладных программ и обеспечивающих эффективное использование ЭВМ при их исполнении. Совокупность таких вспомогательных программ назвали математическим или программным обеспечением ЭВМ. Прикладные программы являются конечной целью программирования (производства). Системное программирование играет как бы роль средства производства.
Для повышения эффективности работы компьютера (так как скорость работы оператора не может состязаться со скоростью работы процессора, и он часто простаивал) были разработаны системы пакетной обработки, которые автоматизировали всю последовательность действий операторов по организации вычислительного процесса. Фактически системы пакетной обработки явились прообразом современных операционных систем, они стали первыми системными программами, предназначенными не для обработки данных, а для управления вычислительным процессом. В ходе реализации систем пакетной обработки был разработан формализованный язык управления заданиями, с помощью которого программист сообщал системе и оператору, какие действия и в какой последовательности он хочет выполнить на вычислительной машине [20, с. 225].
Оператор составлял пакет заданий (как правило, набор перфокарт, который иногда переносился на магнитную ленту или магнитный диск), которые в дальнейшем без его участия последовательно запускались на выполнение управляющей программой – монитором (находившейся на перфокартах или, в более поздних версиях, на магнитной ленте или магнитном диске).
Это способствовало повышению эффективности работы вычислительных центров, однако имело и свои недостатки, вызвав недовольство программистов.
Типичными машинами этого поколения были МИР (рис. 10), Наири (рис. 11), Минск-2, Минск-22, Минск-32, М-220, Бэсм-6.
Рисунок 10 – ЭВМ «МИР»
Рисунок 11 – ЭВМ «Наири»
2.3. Третье поколение ЭВМ
Элементная база: ЭВМ 3-го поколения (70-е гг.) выполнены на полупроводниковых интегральных схемах с малой и средней степенью интеграции (сотни – тысячи транзисторов в одном корпусе).
Осуществлен переход к стандартным структурам данных и команд: байт (6, в дальнейшем 8 бит), полуслово (16 бит, 2 байта), слово (32 бита, 4 байта), двойное слово (64 бита, 8 байтов).
К данному времени можно констатировать серьезное изменение в распределении функций между программными и аппаратными средствами компьютера: основную часть действий по организации вычислительного процесса взяла на себя операционная система [10, с. 57].
Операционные системы (ОС) становятся неотъемлемыми элементами компьютера, играя роль «продолжения» аппаратуры. Все управление ВС автоматизировано. Верхний уровень автоматизации осуществляет комплекс программ, объединённых в операционную систему. Пользователь общается с ВС через операционную систему, синхронизирующую работу аппаратной части ВС через систему прерываний и таймер. Более того, были реализованы почти все главные механизмы, присущие современным ОС: мультипроцессирование, мультипрограммирование, виртуальная память, поддержка многотерминального многопользовательского режима, разграничение доступа и сетевая работа. В данные годы начинается расцвет системного программирования, которое превращается в отрасль индустрии.
Режимы работы ВС 3-го поколения стали разнообразными. Самым простым режимом остался монопольный, в котором работали ЭВМ 1-го поколения. Использовался также пакетный режим, используемый при работе машин 2-го поколения.
Революционным событием этого этапа явилась промышленная реализация мультипрограммирования. Мультипрограммирование – способ организации вычислительного процесса, при котором в памяти компьютера находится одновременно несколько программ, попеременно выполняющихся на одном процессоре.
Мультипрограммирование было реализовано в двух вариантах – в системах пакетной обработки и разделения времени. В мультипрограммном пакетном режиме процессор не простаивал, пока одна программа выполняла операцию ввода-вывода (как это происходило при последовательном выполнении программ в системах ранней пакетной обработки), а переключался на другую готовую к выполнению программу. Наличие в ВС периферийных и специальных процессоров, расслоение ОЗУ на отдельные независимо работающие блоки, развитая система прерываний и широкие возможности ОС смогли обеспечить одновременную параллельную обработку нескольких программ: одной – на центральном процессоре, остальных – на периферийном процессоре [10, с. 58].
В мультипрограммных системах пакетной обработки пользователь по-прежнему был лишен возможности интерактивно взаимодействовать со своими программами. Системы разделения времени, рассчитанные на многотерминальные системы, вернули пользователю ощущение непосредственного контакта с компьютером. Создавалась иллюзия единоличного владения машиной за счет периодического выделения каждой программе своей доли процессорного времени.
Суть режима разделения времени состоит в следующем. Каждой программе, находящейся в оперативной памяти и готовой к исполнению, выделяется для исполнения фиксированный, задаваемый в соответствии с приоритетом пользователя интервал времени (интервал мультиплексирования). Если программа не выполнена до конца за данный интервал, её исполнение принудительно прерывается, и программа переводится в конец очереди. Из начала очереди извлекается следующая программа, которая исполняется в течение соответствующего интервала мультиплексирования, затем поступает в конец очереди и т. д. в соответствии с циклическим алгоритмом. Если интервал мультиплексирования достаточно мал (приблизительно 200 мс), а средняя длина очереди готовых к исполнению программ невелика (около 10), то очередной квант времени выделяется программе каждые 2 с. В данных условиях ни один из пользователей почти не ощущает задержек, т. к. они сравнимы со временем реакции человека.
Одной из разновидностей режима разделения времени является фоновый режим, когда программа с более низким приоритетом работает на фоне программы с более высоким приоритетом [10, с. 59].
Режим разделения времени был направлен на то, чтобы каждый из пользователей мог работать с ВС в диалоговом режиме с хорошей «реактивностью» (малым временем ответной реакции ВС). Для этого ВС снабжалась большим числом дисплейных терминалов. Этот режим использовался, например, при отладке задач, когда каждому пользователю на время работы отводился отдельный дисплейный терминал. Перед предоставлением ВС пользователю, все необходимые на данном этапе данные задачи вводились в ОЗУ и инициировалась работа программы пользователя, но время, отводимое пользователю, лимитировано. Через определенный интервал времени от таймера выдавалось прерывание, и система переходила к решению другой задачи. Обработку прерываний и обслуживание запросов пользователей выполняла ОС.
Машины 3-го поколения работали и в режиме реального времени. Режим реального времени – это такой режим организации вычислительного процесса, при котором ЭВМ управляет некоторым внешним процессом, обрабатывая данные и информацию, непосредственно поступающую от объекта управления. Этот режим встречается, в основном, в динамических системах управления, наблюдения, диагностики и позволял быстро получать результат (хотя и дорогой ценой). Всякая система реального времени на самом деле работает с некоторым запаздыванием, величина интервала времени запаздывания принимается такой, чтобы основной процесс обслуживаемой системы не успел существенно изменить значений характеризующих его параметров, поэтому правильнее назвать такой режим режимом псевдореального времени.
Реализация мультипрограммирования потребовала внесения очень серьезных изменений в аппаратуру компьютера, непосредственно направленных на поддержку нового метода организации вычислительного процесса. При разделении ресурсов компьютера между программами нужно обеспечивать быстрое переключение процессора с одной программы на другую, а также надёжно защищать коды и данные одной программы от преднамеренной или непреднамеренной порчи другой программой. В процессорах появляется пользовательский и привилегированный режимы работы, средства защиты областей памяти, специальные регистры для быстрого переключения одной программы на другую, а также развитая система прерываний.
В привилегированном режиме, предназначенном для работы программных модулей операционной системы, процессор мог выполнять все команды, в т. ч. и те из них, которые позволяли осуществлять распределение и защиту ресурсов компьютера. Программам, работающим в пользовательском режиме, некоторые команды процессора недоступны. Таким образом, только ОС могла управлять аппаратными средствами и исполнять роль монитора и арбитра для пользовательских программ [10, с. 71].
Прерывание – ситуация, возникающая в результате воздействия некоторого независимого события, приводящего к временному прекращению выполнения последовательности команд одной программы с целью выполнения последовательности команд другой программы. Механизм взаимодействия основной программы и подпрограммы прерывания не отличается от организации обращений к библиотечной программе и выхода из нее. Только там инициатива исходит от основной программы, а в случае прерываний – от сигнала прерывания.
Сигналы прерывания поступают на регистры прерывания, которые периодически, через короткий интервал времени, опрашиваются. Внутренние сигналы прерывания поступают от ОС, ЦУУ при окончании программы, при нехватке данных, при сбоях и т.д. Внешние прерывания поступают от периферийных процессоров, от периферийных устройств, закончивших свою работу, или готовых к работе, от таймера.
Система прерываний включает аппаратные и программные (входят в ОС) блоки. Ее назначение состоит в следующем: если по ходу работы ВС возникает необходимость выполнить срочную работу, не входящую в выполняемую в данный момент программу, то выполнение программы приостанавливается, включается подпрограмма требуемой работы и после ее выполнения вновь восстанавливается работа прерванной программы. Для этого при прерывании основной программы состояние всех регистров ЦУУ и использовавшихся регистров АЛУ запоминается, а также запоминается адрес следующей по порядку команды основной программы, управление передается подпрограмме ОС, обрабатывающей прерывание. В конце этой подпрограммы помещены команды, восстанавливающие состояние ВС перед прерыванием, и последней командой управление вновь передается основной программе [10, с. 73].
Введены специальные периферийные процессоры (каналы обмена, процессоры ввода-вывода, контроллеры внешнего устройства или просто контроллеры (К)) для управления ВЗУ и периферией, создан единый ресурс (селекторный и мультиплексный каналы, общая шина и т.д.), через который осуществляется взаимодействие между центральным процессором и другими устройствами (рис. 12).
Рисунок 12 - Шинная структура ЭВМ
Система прерываний позволяла синхронизировать работу различных устройств компьютера, работающих параллельно и синхронно (каналы ввода-вывода, диски, принтеры и пр.). Аппаратная поддержка операционных систем с тех пор стала неотъемлемым свойством практически любых ВС.
В ЭВМ 3-го поколения была установлена минимальная единица информации для обмена с ОЗУ – 1 байт. Ввели новые единицы измерения информации – машинное слово (4 байта), двойное слово, полуслово. Адрес (номер ячейки ОЗУ) стал относиться к одному байту. Адреса слов меняются уже не через 1; их приращение зависит от длины машинного слова.
В машинах третьего поколения появилось еще несколько особенностей: разная длина команд в зависимости от способа адресации данных, наличие специальной сверхоперативной регистровой памяти, вычисление эффективного адреса ОЗУ как суммы нескольких регистров и пр.
Память ЭВМ первых двух поколений была организована просто: она состояла из отдельных ячеек, содержимое каждой из которых считывалось как единое целое. Номер ячейки и получил название адреса. При необходимости обработки последовательно расположенных ячеек (массивов) адрес модифицировался значением специальных индексных ячеек. Меняя содержание индексной ячейки, можно было получить доступ к различным элементам массива [10, с. 75].