Студопедия

КАТЕГОРИИ:


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

Перемещающий загрузчик




Абсолютный загрузчик

Виртуальная память

Виртуальная адресация предполагает страничную адресацию, при этом программа может иметь размер больше, чем оперативная память.

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

Для реализации обращения к реальным адресам в оперативной памяти используется специальная таблица, в которой хранятся соответствия адресов программы и адресов оперативной памяти (номера страниц, программ и оперативной памяти).

Впервые такой вариант был применен в машинах IBM.

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

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

Абсолютный загрузочный модуль содержит три типа карт:

H<имя модуля><длина модуля><адрес загрузки>

Т<адрес данных><длина данных><данные>

Е<точка входа>

Алгоритм функционирования абсолютного загрузчика:

  1. Открытие файла с загрузочным модулем.
  2. Чтение и обработка карты Н.
  3. Заказать в операционной системе блок памяти заданной длины по адресу загрузки. Если память не выделена, то сообщение об ошибки и переход к п.7.
  4. Чтение очередной карты.
  5. Если карта Т, то определение адреса данных и длины данных и загрузка данных из карты в оперативную память. Переход к п.4.
  6. Если карта Е, то определение точки входа, передача управления на точку входа.
  7. Конец.

Преимущества загрузчика:

  1. Загрузчик простой, представляет программу из одного, максимум двух циклов.
  2. Маленький размер загрузчика.

Недостаток:

Программа загружается по конкретному адресу.

При одновременном выполнении нескольких программ распределение памяти выполняется пользованием и выполняется в момент создания загрузочного модуля, а не в момент их выполнения.

Абсолютные загрузчики используются в специализированных операционных системах (например, управление технологическими процессами).

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

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

Содержит карты:

H<имя модуля><длина модуля>

Т<адрес данных><длина данных><данные>

M<адрес данных><длина данных>[<имя начала>]

Е<точка входа>

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

Алгоритм перемещающего загрузчика:

  1. Открытие файла с перемещаемым модулем.
  2. Чтение карты Н и ее обработка.
  3. Заказать в операционной системе блок памяти заданной длины. Если память не выделена, то сообщение об ошибке и переход к п.8. Иначе адресу загрузки присваивается значение адреса выделенной памяти.
  4. Чтение очередной карты.
  5. Если карта Т, то определение адреса данных и длины данных. Запись данных из карты по адресу <адрес_данных + адрес_загрузки> и переход к п.4.
  6. Если карта М, то определение адреса данных и длины данных. Увеличение на значение адреса загрузки данных заданной длины по адресу <адрес_данных + адрес_загрузки>. Переход к п.4.
  7. Если карта Е, то определение значения точки входа и передача управления по адресу <точка_входа + адрес_загрузки>.
  8. Конец.

Преимущество:

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

Недостаток:

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




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


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


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



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




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