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