Управление памятью, наряду с управлением процессами и ресурсами, — одна из наиболее важных функций операционной системы. Задача ОС заключается в том, чтобы размещать в памяти пользовательские процессы, их данные, обслуживать запросы процессов на области памяти заданных размеров. В данной лекции рассмотрены базовые понятия и механизмы, связанные с управлением памятью, в частности, этапы загрузки программ в память и их связывание с адресами в памяти. Две основеые стратегии управления памятью – страничная организация и сегментная организация – рассмотрены в следующих двух лекциях «Страничная организация памяти» и «Сегментная организация памяти».
Любая программа, введенная в систему, должна быть размещена в памяти и оформлена в виде процесса для ее выполнения. Каждая программа при вворде в систему помещается во входную очередь – совокупность процессов на диске, ожидающих размещения в памяти для выполнения своих программ. До своего выполнения пользовательские программы проходят в системе несколько стадий.
C++ и VC#. Запись в оперативную память. Запись в ОЗУ. Memory Writing. Memory hacking
Перед загрузкой данных или кода в память они должны быть в какой-либо момент связаны с определенными адресами в памяти. Связывание может выполняться на разных этапах:
- Связывание во время компиляции (compile-time). Если адрес в памяти априорно известен, компилятором может быть сгенерирован код с абсолютными адресами. При любом изменении размещения программы в памяти должна быть выполнена перекомпиляция. Данный подход более характерен для ранних компьютерных систем с небольшим объемом памяти, либо для обработки и выполнения системных модулей – частей ядра ОС, для которых характерно использование резидентных абсолютных адресов. Для пользовательских программ такой подход неудобен, так как не обеспечивает достаточной гибкости, в частности, возможности без изменений перезагрузить код в другую область памяти.
- Связывание во время загрузки (load-time). Загрузка программы в память – стадия ее обработки системой, предшествующая выполнению программы. Чтобы начальный адрес области памяти, куда загружается программа, можно было менять, и это не привело бы к необходимости изменения кода программы, применяется следующий метод. Генерируется перемещаемый код (relocatable code) – код, в котором адресация происходит относительно значения регистра перемещения (relocation register), и адрес в памяти равен сумме значения регистра перемещения и адреса, вычисляемого в команде. Таким образом, при необходимости загрузки кода на другое место в памяти требуется изменить только значение регистра перемещения. Подобный подход широко используется для программ, написанных на традиционных языках программирования.
- Связывание во время исполнения (runtime), или динамическое (позднее) связывание. Используется, если процесс во время выполнения может быть перемещен из одного сегмента памяти в другой. Для реализации связывания во время исполнения требуется аппаратная поддержка отображения адресов – например, регистры базы и границы. В большинстве систем для пользовательских программ используется, главным образом, именно связывание во время исполнения.
Источник: studopedia.ru
Виртуальная память. Страничная организация памяти
В процессе обработки программа и данные должны быть загружены в память
В процессе обработки программа и данные должны быть загружены?
Комментарии
О чем именно вопрос?
Ответ проверен экспертом
1 (18 оценок)
smnoregrets 5 лет назад
Светило науки — 846 ответов — 0 раз оказано помощи
Естественно, любая программа чтобы быть выполненной компьютером, должна быть загужена в память. Также для ее работы в память должны быть загружены и ее данные.
Неоторые программы могут подгружать свой код позже, по мере необходимости.
Источник: vashurok.com
Тест по теме «Компьютер и программное обеспечение»
Тест по теме «Компьютер и программное обеспечение» класс: 10 14-15 правильных ответов оценка – 5 11-13 правильных ответов оценка – 4 8-10 правильных ответов оценка – 3 < =7 правильных ответов оценка – 21. Программа – это: a) информация, которая обрабатывается компьютером в двоичном компьютерном коде b) последовательность команд, которую выполняет компьютер в процессе обработки данных c) числовая и текстовая информация d) звуковая и графическая информация Обрабатывает данные в соответствии с заданной программой: a) Процессор b) устройства ввода c) оперативная память d) устройства вывода
Раздел | Информатика |
Класс | — |
Тип | Тесты |
Автор | Степоненко И.А. |
Дата | 28.10.2014 |
Формат | docx |
Изображения | Есть |
Поделитесь с коллегами:
Тест по теме «Компьютер и программное обеспечение»
14-15 правильных ответов оценка — 5
11-13 правильных ответов оценка — 4
8-10 правильных ответов оценка — 3
информация, которая обрабатывается компьютером в двоичном компьютерном коде
последовательность команд, которую выполняет компьютер в процессе обработки данных
числовая и текстовая информация
Источник: for-teacher.ru