런타임 시 스왑 공간 정리

런타임 시 스왑 공간 정리

이론적 질문이 있습니다. 런타임 시 모든 스왑 공간을 지우면 어떻게 됩니까? 커널에서 발생하는 페이지 오류로 인해 OS가 충돌합니까?

답변1

스왑 영역을 임의의 값으로 덮어쓰는 것은 메모리의 프로세스 이미지를 임의의 값으로 덮어쓰는 것과 같습니다.

만약텍스트 세그먼트임의의 값을 실행할 때 가장 가능성이 높은 결과는 프로세스가 종료되는 것입니다.불법적인 지시(신호 SIGILL).

만약데이터 세그먼트임의의 값을 읽으면 다음으로 인해 프로세스가 종료될 가능성이 높습니다.세그멘테이션 오류(신호 SIGSEGV), 포인터가 프로세스의 주소 공간 외부를 가리킬 것이기 때문입니다. 포인터는 스칼라와 마찬가지로 데이터입니다. 특히 스택에는 여러 포인터가 포함되는 경우가 많습니다.반품명령어가 실행될 때 임의의 스택 항목으로 인해 임의의 주소로 점프됩니다.

답변2

"clean"이라고 말할 때 "swapoff -a"를 실행한다는 의미라면 그렇지 않습니다.

스왑 장치/파일을 손상/덮어쓰면 스왑된 응용 프로그램(손상된 데이터 포함)이 충돌할 가능성이 높습니다. 커널은 교체되지 않으므로 "시스템"이 충돌하지 않습니다.

관련 정보