Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция4.doc
Скачиваний:
10
Добавлен:
09.02.2015
Размер:
127.49 Кб
Скачать

Последовательность обработки задания на эвм.

Решение любой задачи на ЭВМ начинается с написания ее алгоритма на языке програм­мирования (например, на алгоритмических языках ФОРТРАН, КОБОЛ, ПЛ/1, ассемблера и др.). Текст ал­горитма называется исходной программой или исходным модулем. Исходная программа удобна и понятна про­граммисту, но совершенно непонятна ЭВМ, поскольку ЦП воспринимает только язык машинных команд. Таким образом, собственно до этапа решения предложенной за­дачи исходная программа (модуль) должна претерпеть несколько этапов обработки, в результате которых смысл алгоритма решения задачи станет понятен конкретной ЭВМ. На рис. 3.3 представлены необходимые этапы об­работки исходного модуля. Исходные модули 1 и 2 напи­саны на различных языках (имеется в виду, что в созда­нии сложных программных комплексов могут участво­вать несколько программистов, использующих различные языки программирования).

Рис. 3.3. Этапы обработки задания на ЭВМ.

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

Для каждого типа ЭВМ должен существовать комп­лект трансляторов, каждый из которых осуществляет трансляцию только с одного из языков программирова­ния.

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

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

Исходной информацией для программы редактора связей является совокупность объектных модулей, а ре­зультатом работы — единый загрузочный модуль. Как правило, загрузочный модуль не сразу попадает в ОП ЭВМ, а предварительно помещается в библиотеку загрузочных модулей (в мини-ЭВМ — в файл образа задачи). Объектные и загрузочные модули, помещенные в свои библиотеки, впоследствии могут быть использованы са­мостоятельно или в комбинации друг с другом неограни­ченное число раз.

Программа редактора связей осуществляет первичное разрешение межмодульных ссылок. На рис. 3.4 изобра­жены объектные модули А и В.

Рис. 3.4. Схема объединения объектных модулей в единый загрузочный.

Предположим, что в мо­дуле А существует команда обращения к модулю В — команда CALL В. Редактор связей после объединения обоих модулей в единый загрузочный модуль в соответ­ствующей машинной команде обращения к модулю В должен проставить адрес модуля В, определенный отно­сительно начала всего загрузочного модуля. В случае, представленном на рис. 3.4, этот адрес составляет 1000 байт.

Чтобы программа могла выполняться, единый загру­зочный модуль должен быть помещен в ОП ЭВМ. Эту операцию называют этапом загрузки, а программу, кото­рая осуществляет загрузку,— загрузчиком или програм­мой выборки.

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

Примечание. Существует термин «перемещаемый загрузоч­ный модуль», что означает возможность размещения загрузоч­ного модуля в любой зоне оперативной памяти.

Сложность этапа загрузки заключается в необходимо­сти настройки относительных адресов загрузочного модуля на абсолютные физические адреса выделенной в ОП зоны задачи, что и является вторичным разрешением межмодульных ссылок. Например, если изображенный на рис. 3.4 загрузочный модуль должен быть размещен в зоне задачи с начальным адресом 10 000 байт, то обра­щение к модулю В после соответствующей настройки должно осуществляться по адресу 11 000 байт.

Не обязательно любая задача пользователя в процес­се своего выполнения на ЭВМ должна проследовать по маршруту, представленному на рис. 3.3. Если исходные модули заранее оттранслированы, то решение задачи бу­дет включать в себя только редактирование связей и вы­полнение. Если исходные модули давно оттранслирова­ны, отредактированы, отлажены и хранятся в библиотеке в виде сформированного загрузочного модуля, то реше­ние задачи заключается только в загрузке в ОП и вы­полнении готового загрузочного модуля. Таким образом, тот или иной этап обработки задачи определяется кон­кретной ситуацией и назначается самим пользователем.

Выше обращение пользователя к ВС с целью осу­ществления некоторых вычислительных процедур опре­делялось термином «задача». В терминологии ОС вычис­лительных машин единой серии (ОС ЕС) существуют термины «задание» и «задача». Задание — некоторая единица работы, выполненная ЭВМ: за смену обработа­но столько-то заданий. Задача- более мелкая по срав­нению с заданием единица работы, определяемая как совокупность некоторой программы и данных, для обра­ботки которых требуются определенные ресурсы систе­мы. Если одна и та же программа обрабатывает различ­ные данные, то это означает существование различных задач. На рис. 3.3 изображена схема обработки одного задания. Это задание состоит из трех задач: 1)трансля­ции; 2)редактирования связей; 3)выполнения. Для пользователя эти задачи представляются единым задани­ем, в итоге выполнения которого получаются некоторые конечные результаты. Для ОС обработка задания выли­вается в выполнение трех самостоятельных задач. Таким образом, задание состоит из одной или нескольких за­дач.

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

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

В настоящее время из наиболее распространенных ОС, используемых в нашей стране, можно выделить: ОС многопроцессорных вычислительных комплексов «Эль­брус» (ОС МВК), ОС ЭВМ единой серии (ОС ЕС), ОС серии малых ЭВМ типа СМ-1, СМ-2 (ЛОС, ДОС, СРВ, СРВ-М, ДМОС РВ), ОС серии малых ЭВМ тина СМ-3, СМ-4, ОС микро-ЭВМ СМ-1800 (СПО СМ 1800, ДОС 1800, ОС 1800), ОС ЭВМ типа «Электроника» [27]. В данном пособии рас­сматриваются только наиболее развитые и перспектив­ные группы ОС, под управлением которых функциониру­ет 'большинство пакетов прикладных программ САПР.