Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Весь курс.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
12.2 Mб
Скачать

Краткие итоги

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

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

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

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

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

Динамическая загрузка – загрузка вызываемой подпрограммы в память при первом ее вызове, при исполнении пользовательской программы. Динамическая линковка – линковка во время выполнения программы. Библиотеки подразделяются на статически и динамически линкуемые. Для динамической линковки в бинарном коде хранится заглушка, которая вызывает ОС для поиска и загрузки динамически линкуемой библиотеки, с последующей заменой кода заглушки на код обращения к библиотеке.

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

Набор для практики Вопросы

  1. В чем заключается задача управления памятью?

  2. Что такое входная очередь заданий?

  3. Что такое связывание адресов и на каких этапах обработки программы оно может выполняться?

  4. Какие этапы обработки проходит программа на пути от исходного кода к двоичному образу в памяти?

  5. Что такое компиляция?

  6. Что такое редактирование связей?

  7. Что такое загрузка?

  8. Что такое линковка?

  9. Что такое объектный модуль?

  10. Что такое таблица символов?

  11. Что такое загрузочный модуль?

  12. Что такое библиотека?

  13. Что такое бинарный образ программы в памяти?

  14. Что такое редактор связей?

  15. Что такое загрузчик?

  16. Что такое ассемблер?

  17. Что такое логический адрес и какой компонентой системы он генерируется?

  18. Что такое физический адрес и какой компонентой системы он генерируется?

  19. Что такое устройство управления памятью?

  20. Что такое регистр перемещения?

  21. Что такое перемещаемый код?

  22. Что такое динамическая загрузка?

  23. Что такое динамическая линковка?

  24. Что такое статически линкуемая библиотека?

  25. Что такое динамически линкуемая библиотека?

  26. Что такое оверлейная структура программы?

  27. Что такое драйвер оверлея?