Перебазирование
Эта статья может быть недостаточно сфокусированной или может быть посвящена более чем одной теме . ( сентябрь 2016 г. ) |
В вычислительной технике перебазирование — это процесс изменения данных на основе одной ссылки на другую. Это может быть одно из следующих:
Общие библиотеки
[ редактировать ]Перебазирование — это процесс создания образа общей библиотеки таким образом, чтобы он гарантированно использовал виртуальную память без конфликта с другими общими библиотеками, загружаемыми в систему.
IBM VM/370 Прерывистые сохраненные сегменты (DCSS) были ранним примером этого метода, хотя он и не назывался перебазированием . Этот метод широко используется на платформах Win32 , чтобы избежать накладных расходов на перемещение адресов системных DLL загрузчиком.
Некоторые расширения безопасности для Linux / x86 используют перебазирование, чтобы принудительно использовать приведенные ниже кодовые адреса. 0x00ffffff
для того, чтобы представить 0x00
байт во все указатели кода; [ нужна ссылка ] устраняет определенный класс проблем безопасности при переполнении буфера, связанных с неправильной проверкой строк с нулевым завершением , распространенных в C. языке программирования Это
Другое использование
[ редактировать ]- Перебазирование — это перемещение набора изменений в другую ветку при использовании системы контроля версий или в некоторых системах путем синхронизации ветки с исходной веткой путем слияния всех новых изменений в последней с первой. Например, это делают Git и Darcs (но Darcs расширяет эту концепцию и называет ее «коммутацией исправлений»).
- Механизм, который (DST) Microsoft Exchange или Outlook TZMOVE.EXE использует инструмент перехода на летнее время для перерасчета и переноса дат встреч, на которые влияет летнее время.
См. также
[ редактировать ]- Переезд (вычисления)
- Независимый от позиции код
- Портативный исполняемый файл (PE)
- Область высокой памяти (HMA)
- Динамическое устранение мертвого кода
Дальнейшее чтение
[ редактировать ]- Левин, Джон Р. (2000) [октябрь 1999 г.]. Линкеры и загрузчики . Серия Моргана Кауфмана по разработке программного обеспечения и программированию (1-е изд.). Сан-Франциско, США: Морган Кауфманн . п. 218. ИСБН 1-55860-496-0 . OCLC 42413382 . Архивировано из оригинала 5 декабря 2012 г. Проверено 12 января 2020 г. Код: [1] [2] Ошибки: [3]
- Чен, Раймонд (17 декабря 2004 г.). «Как Windows 95 перебазировала библиотеки DLL?» . Старая новая вещь .
- Римерсма, Тиадмер (1 декабря 2000 г.). «Перебазирование библиотек Win32 DLL» . Доктор Журнал Добба .
- Марк Бейкер (25 марта 2004 г.). «Оптимизация загрузки DLL» . Журнал доктора Добба .
- Кальдато, Клаудио (февраль 2006 г.). «Улучшение времени запуска приложений» . Журнал MSDN . Корпорация Майкрософт .
- Бисвас, Сурупа (май 2006 г.). «Преимущества производительности NGen» . Журнал MSDN . Корпорация Майкрософт .
- Пьетрек, Мэтт (март 2002 г.). «Углубленный анализ формата переносимого исполняемого файла Win32, часть 2» . Журнал MSDN . Корпорация Майкрософт .
- Аше, Рюдигер Р. (18 сентября 1995 г.). «Перебазирование библиотек Win32: вся история» . Архивировано из оригинала 7 июля 2011 г.
- Роббинс, Джон (2000). Отладка приложений: Microsoft . Серия программ Microsoft. Майкрософт Пресс . стр. 34–36. ISBN 978-0-7356-0886-3 .
- Томас, Реджи; Редди, Бхаскер (14 августа 2006 г.). «Динамическое связывание в Linux и Windows, часть вторая» . Компания Симантек .