자기 관계 란 무엇입니까?

자체 관계는 매우 적은 수의 컴퓨터 프로그램이 소유 한 자산입니다. 이 프로그램은 실행 중에 메모리로 위치를 변경할 수 있습니다. 대부분의 프로그램은 자신의 기본 프로그래밍을 거의 또는 전혀 통제 할 수 없습니다. 대신 고차 프로그램에 의해 처리됩니다. 이러한 시스템은 프로그래밍을 이동하거나 스스로 사본을 만들어 위치를 변경할 수 있습니다. 사본이 이루어지면 실행 위치는 일반적으로 새 프로그램으로 변경되며 이전 코드는 휴면 상태입니다.

대부분의 경우 실행 컴퓨터 프로그램은 두 영역에 동시에 위치합니다. 컴퓨터의 물리적 스토리지, 하드 드라이브 또는 기타 저장 장치와 같은 휘발성 메모리에 있습니다. 이 프로그램은 액세스 시간 속도를 높이고 더 빠르게 작동하도록하기 위해 실행시 휘발성 메모리로 이동합니다. 이 두 위치에서의 위치는 일반적으로 컴퓨터 운영 체제에 의해 결정됩니다.

이 프로그램의 위치를 ​​주소라고합니다. 이 AddresSES는 시스템 및 기타 프로그램에서 필요할 때 프로그램을 신속하게 찾는 데 사용됩니다. 스토리지에서 프로그램이 분해되면 모두 함께있는 것보다 더 천천히 작동합니다. 따라서 대부분의 시스템은 순차적 주소를 통해 더 큰 프로그램을 저장하려고합니다. 다시 한 번,이를 수행하기로 선택한 선택은 일반적으로 운영 체제에 속하며 프로그램은 직접적인 통제가 없습니다.

프로그램이 자체 관계를 사용하는 경우 일반적인 프로그램보다 이러한 프로세스를 훨씬 더 많이 제어 할 수 있습니다. 실행하는 주소를 제어 할 수 있습니다. 사용되는 동안 프로그램은 총 프로그래밍을 동일한 컴퓨터의 메모리 내의 다른 위치로 이동할 수 있습니다. 일부 프로그램은 두 주소 중 하나만 변경할 수 있지만 다른 프로그램은 둘 다 변경할 수 있습니다.

그 자체로 자기 관계는 드문 일이지만 문제가되지는 않습니다. 진정한 위험이 온다자체 관계가 악의적 인 의도와 함께 사용될 때. 프로그램이 자체를 통제 할 때 많은 수의 예기치 않은 일을 할 수 있습니다. 컴퓨터의 메모리를 막기 위해 수많은 물리적 또는 휘발성 사본을 만들 수 있습니다. 이로 인해 재시작이 발생할 수 있으며 부팅 공격의 선구자가 될 수 있습니다.

또한 프로그램은 제거를 방지하기 위해 자체를 백업 할 수 있습니다. 자체 관계가있는 프로그램이 실행 된 후 자체를 복사하는 경우 원래 프로그램이 사용되지 않더라도 여전히 존재합니다. 프로그램이 악의적이고 시스템이 제거를 시도하면 활성 프로그램을 제거하기 전에 원래 코드를 다시 활성화 할 수 있습니다.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?