Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Определение основных элементов




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

Задание формулируется в виде перечня необходимых для решения ресурсов, состава внешних устройств, перечня наборов данных (файлов), используемых для работы, а также файлов, получающихся в результате обработки. Программы, написанные на входном языке системы, транслируются и могут быть помещены в библиотеку исходных модулей (если таковая предусмотрена в системе). В результате трансляции получается объектный модуль, который также может быть помещен в библиотеку объектных модулей, если она предусмотрена в системе. Объектный модуль – это программа в некотором промежуточном, одинаковом для всех входных языков, формате, чаще всего в ассемблированном виде. Объектные модули обрабатываются программами, имеющими общее название «Редактор связей», и в зависимости от уровня операционной системы создают либо абсолютный модуль (ДОС), либо загрузочный. Абсолютный модуль – это полностью готовая к выполнению программа, которая помещается в библиотеку готовых программ, где и ждет своей очереди на выполнение. Такая схема характерна для режима, осуществляемого в рамках дисковой операционной системы. Для более совершенных ОС усложняется и схема трансформации, что будет видно из дальнейшего.

Объектная программа – это результат работы транслятора. Она существует в таком виде, когда содержащиеся в ней адресные константы могут быть построены с учетом изменения абсолютного адреса начала отчета. Это есть суть свойства перемещаемости, таким образом, объектная программа обладает свойством перемещаемости.

Загрузочный модуль, формируемый Редактором связей структурно, подобен объектному модулю и содержит ту же информацию, но, в отличие от объектного модуля, загрузочный состоит не из образов перфокарт (т.е. форматов фиксированной длины по 80 символов), а из записей переменной длины, в которых элементы объектного модуля упакованы более плотно за счет исключения пустот по строкам. Поэтому загрузочный модуль занимает на ЗУ меньше места, чем объектный, содержащий ту же информацию. Текст программы в загрузочном модуле представляет собой совокупность программных секций совместно отредактированных модулей, настроенных на область ОЗУ, начинающуюся с нулевого байта, причем начало каждой секции выправлено на границу двойного слова. Объектные модули могут появляться во входном потоке, а загрузочные модули поступают из библиотек, находящихся на ЗУ прямого доступа, куда их помещает Редактор связей.

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

- объектные модули и заданная пользователем управляющая информация для Редактора связей;

- объектные модули из библиотек программ пользователя;

- объектные модули из системных библиотек с «автоматическим вызовом»;

- модули загрузки.

Каждый входной модуль, обрабатываемый Редактором связей, имеет начальный адрес, присвоенный ему при ассемблировании, компиляции или предыдущей обработке Редактором связей. Когда создается выполняемый загрузочный модуль, Редактор связей присваивает начальный адрес тексту первого модуля и соответственно настраивает адресные константы. Текстам других модулей так же, как и их адресным константам, адреса приписываются относительно этого начального адреса так, что объединенный текст всех модулей занимает последовательные адреса в модуле загрузки. Внешние ссылки между модулями разрешаются путем сопоставления символов связи с уже определенными символами. Словари внешних символов входных модулей объединяются, формируя объединенный словарь внешних символов (CESD-Composite External Symvol Dictionary). Выходной словарь перемещений (RLD) включает информацию о перемещениях полного текста модуля загрузки. Модуль загрузки имеет перемещаемый формат так же, как и объектные модули, но текст его представляет собой готовый к выполнению машинный код.

Во время своей работы Редактор связей пытается разрешить внешние связи объектных модулей, заданных пользователем. Символы, которые еще не определены после обработки всех модулей, заставляют Редактор просматривать иерархию программных библиотек для разрешения еще не установленных связей. Первой просматривается библиотека пользователя, а затем − системные библиотеки.

Другой функцией Редактора связей является редактирование модулей загрузки в соответствии с управляющей информацией, заданной пользователями.

Некоторые ОС вместо редактора связей применяют программу - загрузчик, которая объединяет фазы редактирования связей и выборки программы. В некоторых ОС есть и редактор связей, и загрузчик. Программы-загрузчики используются в тех случаях, когда нет никакой необходимости создавать отдельные модули загрузки для программных библиотек. Загрузчик объединяет объектные модули, создаваемые языковыми трансляторами, и загружает их для выполнения непосредственно в основную память.

Основное различие между загрузчиком и «программой выборки» ОС заключается не в функциональном значении, а в степени эффективности достижения результата. Программа выборки просматривает библиотеку в поисках требуемого модуля загрузки и помещает его в основную память, выполняя необходимую настройку адресных констант. Модуль загрузки считается полным в том смысле, что для его выполнения не требуется дополнительных подпрограмм.

Загрузчик делает больше. Он объединяет объектные модули так же, как и Редактор связей, и разрешает внешние ссылки, просматривая библиотеки подпрограмм, но помещает получаемый модуль загрузки не в библиотеку, а сразу в основную память.

Программа Редактор связей по сложности практически не уступает трансляторам. Существуют разные уровни и версии редактора связей. Версии отличаются друг от друга требованиями к объему ОЗУ и быстродействием.

Задача – это независимая единица работы, которая может участвовать в конкурентной борьбе за ресурсы вычислительной системы.

С каждой задачей в системе связан блок управления задачей (TCB).

ТСB (Task Control Block) – область памяти, содержащая управляющую информацию для данной задачи. Каждая задача имеет свой приоритет (приписанный пользователем, системой или совместно ими обоими) и состояние (активное, готовности или ожидания). Блоки управления задачей в соответствии с приоритетом образуют очередь задач; очередь задач реализуется как связанный список. Когда супервизор выделяет задаче центральное обрабатывающее устройство, оно из очереди задач выбирает первый блок управления задачей, находящийся в состоянии готовности.

Рис. 4.1. Символическое изображение задачи

Обычно для каждого задания существует, по крайней мере, одна задача, соответствующая активному шагу задания; таким образом, если на некоторой стадии выполнения существуют N заданий, то в системе находится, по крайней мере, N задач. Однако задачи могут появляться и по другим причинам:

- подпрограммы управляющей программы, которые выполняются в состоянии «задачи» для программ супервизора, функционируют как задачи;

- задача пользователя может инициировать подзадачу, которая выполняется совместно с породившей ее задачей.

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




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


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


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



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




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