리베이스

리베이스(rebase)는 컴퓨팅에서 다른 참조에 대한 하나의 참조를 기반으로 데이터를 수정하는 프로세스이다. 다음 중 하나일 수 있다.

 공유 라이브러리 
리베이스는 시스템에 로드할 수 있는 다른 공유 라이브러리와 충돌하지 않고 가상 메모리 사용이 보장되는 방식으로 공유 라이브러리 이미지를 생성하는 프로세스이다.

IBM VM/370 DCSS(불연속 저장 세그먼트)는 리베이스라고 부르지는 않지만 이 기술의 초기 예이다. 이 기술은 로더에 의한 시스템 DLL의 주소 재배치 오버헤드를 피하기 위해 Win32 플랫폼에서 광범위하게 사용된다.

리눅스/x86에 대한 일부 보안 확장은 리베이스를 사용하여 모든 코드 포인터에 0x00 바이트를 도입하기 위해 0x00ffffff 아래의 코드 주소를 강제로 사용하도록 한다. 이는 C 프로그래밍 언어에서 흔히 발생하는 널 종료 문자열의 부적절한 검사와 관련된 특정 종류의 버퍼 오버플로 보안 문제를 제거한다.

 기타 용도 
 리베이스는 버전 관리 시스템을 사용할 때 또는 일부 시스템에서 변경 집합을 다른 브랜치로 이동하는 행위이다. 원래 브랜치의 모든 새로운 변경 사항을 전자에 병합하여 브랜치를 원래 브랜치와 동기화한다. 예를 들어 Git과 Darcs는 이를 수행한다(그러나 Darcs는 개념을 확장하여 "patch commutation"라고 부른다).
 마이크로소프트 익스체인지 또는 아웃룩 일광 절약 시간제(DST) 기반 조정 도구 TZMOVE.EXE가 DST의 영향을 받는 약속 날짜를 다시 계산하고 일정을 조정하는 데 사용하는 메커니즘이다.

 같이 보기 
 위치 독립 코드
 PE 포맷
 고위 메모리 영역

분류:라이브러리