Однопрограммный и многопрограммный режимы работы ЭВМ

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

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

Для выпол­нения многопрограммного режима необходимо, прежде всего, разделение ресурсов машины в про­странстве (на множестве устройств компьютера) и во времени. Такое разделение ресурсов эффективно может выполняться только автоматически. Оно особенно необходимо для распределения памяти между несколькими одновременно запускаемыми программами, т.к. недопустимо одновременное обращение двух программ к одному и тому же файлу или устройству (защита памяти). Эти проблемы решают операционные системы, обеспечивающие мно­гопрограммную работу компьютера, драйверы устройств ма­шины и автозагрузчики программ. Особенно эффективные возможности имеет ОС Windows 2000, поддерживающая не только многозадачные и многопользователь­ские режимы с развитой системой приоритетного прерывания, но и многопроцессорность их исполнения, то есть распределение заданий между несколькими мик­ропроцессорами, имеющимися в системе.

 

4.3. Ор­ганизация работы ЭВМ при выполнении задания пользователя.

Организация процессов ввода, преобразования и отображения результатов относится к сфере системного программного обеспечения. Это сложные процессы. Один из них — реализация задания пользователя. Схематично процесс обработки задания операционной системой представлен на рис. 4.1.

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

q данные, подлежащие обработке;

q исходный модуль (ИМ), представляющий задание для ЭВМ в виде программы на алгоритмическом языке;

q управляющие операторы или управляющие предложения, сопровождающие ИМ и указывающие операционной системе (ОС) ЭВМ, на каком языке написана программа и что с ней надо делать. (Если программа, написана в MS DOS, то язык управления – язык команд DOS, иногда оформленный в виде bat-файла).

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

интерпретатор – после перевода на язык машины каждого оператора алгоритмического языка немедленно исполняет полученную машинную программу;

компилятор – полностью переводит всю программу (исходного модуль), на язык машины, создавая машинную программу - объектный модуль (ОМ).

Результат работы компилятора записывается в библиотеку объектных модулей (БОМ) или передаётся другим программам для дальнейшей обработки.

Полученная таким образом машинная программа ещё не готова к исполнению по двум причинам. Во-первых, она содержит неразрешенные внешние ссылки (т.е. обращение к программам, которые не содержатся в исходном модуле, но необходимы для работы основной программы, например, к стандартным программам алгоритмического языка, таким, как извлечение корня квадратного, вычисление тригонометрических функцийи т.д.). Во-вторых, объектный модуль представляет собой машинную программу в условных адресах — каждый объектный модуль начинается с адреса 0h, тогда как для исполнения программа должна быть «привязана» к конкретным физическим адресам основной памяти.

Первую причину устраняет редактор связей, который добавляет к ОМ недостающие программы, беря их из библиотек компилятора (БИМ), и образует т.о. загрузочный модуль (3M), который помещается в соответствующую библиотеку загрузочных модулей (БЗМ). Загрузочный модуль содержит все необходимые стандартные программы, но не привязан к памяти.

Вторую причину устраняет программа выборки, которая переносит загрузочный модуль из БЗМ (обычно хранящейся на магнитном носителе) в основную память и во время этого переноса корректирует адреса.

После перемещения загрузочного модуля в основную память программа выборки инициирует ее выполнение.

Представление машинной программы в виде исходных ИМ, объектных ОМ

Рис. 4.1. Обработка заданий операционной системой

 

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

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








Дата добавления: 2016-01-26; просмотров: 3153;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.