미니 그러니까 이번에 적용된 램스왑이 새로운 기능인거죠?
- 비둘기야먹자
- 조회 수 2270
- 2021.10.11. 02:25
예.. 그 위에도 설명을 남겨두었지만, 램처럼 작동하는 건 아닙니다. 일종의 스왑 영역을 할당해놓고 가상주소를 저장시켜놓는 가상 메모리 기법입니다. 사실 이 가상메모리 방식은 예전에 윈도우NT 4.0에도 존재하던 개념입니다..
램 플러스는 가상 메모리로, 스왑 메모리와 같은 스왑 방식의 하나이긴 하나.. (삼성이 적용 방식을 밝힌 바는 아니나) 우리가 알고 있는 가상메모리는 실제로 스왑 메모리와는 작동 방식이 완전히 다릅니다.
일반인들에게나 램 플러스라는 가상메모리 기능이 렉을 줄여주는 기능으로 간단히 소개될 수는 있으나,, 본질적으로는 단순히 렉을 줄여주는 기능이 아니라(렉을 줄여주는 기능이 이미 존재했다면 멀티코어 최적화나, 코드 간소화 또는 병렬처리와 같은.. 등등 최적화에 대한 연구가 필요가 없었겠죠.. ?), 시스템 부하에 따른 부족해진 램 용량 문제를 일정부분 해소하기 위해 저장공간의 일정 공간을 스왑영역으로 지정해 사용하는것이라고 보시면 됩니다.
그런거죠. 갤럭시 S6 때도 이미 램 스왑 영역은 잡혀 있었어요. 안드로이드도 리눅스 커널 기반으로 돌아가기 때문에 아마 리눅스랑 비슷하게 돌아갈 것 같긴 한데...
스왑 메모리랑 가상 메모리는 다른 방식으로 램 처럼 작동합니다. 아시다시피 스왑 메모리는 기본 저장 공간에 swap 파티션을 일정량 지정하여 RAM(실제 메모리)가 부족할 경우 RAM처럼 사용할 수 있도록 예약시켜 놓은 공간입니다.
그러나 보통 리눅스에서 가상메모리도 그렇고, 윈도우도 그렇고, 아마 안드로이드도 그럴 것 같은데 안정성 탓에 스왑파일 시스템으로 쓸 것 같은데... (스왑파일로 사용하지 않으면 리파티션으로 인한 전체 포맷이 필요). 가상메모리도 스왑메모리와 같이, 기본 저장공간의 일부의 한 영역(SWAP 영역)으로 사용하지만, 가상 메모리는 디스크를 RAM 처럼 쓴다는 의미가 아니라..
시스템에 부하로 인해 실제 메모리(RAM) 영역을 벗어나게 되면, 각 애플리케이션 프로세스의 일부를 임시로 저장공간 일부 (SWAP 영역)에 저장시키는데, 저장 시킬 때는 가상 주소로 할당시켜놓고 RAM에다가는 할당된 가상 주소에 지정된 실제 메모리 주소로 불러들여서 처리하는 방식입니다.
가상메모리는 일반적으로 램과 저장공간의 속도가 크게 달랐던 것이 맞았으나, 점차 저장공간의 속도가 빨라지게 되자, 여전히 램의 속도만큼은 아니지만, 램플러스와 같은 가상메모리도 실제로 램이 부족하다고 느끼지 못할 정도가 되었죠. 여전히 저장공간의 속도가 램 만큼 빠르지 못하기 때문에, 이게 실제 메모리(RAM) 처럼 작동하냐고 한다면 아닙니다..
말씀하신대로 기존 램 스왑에 가상메모리(스왑)이 또 하나 추가되었다고 보시면됩니다.
램 스왑은 예전부터 있던 기능 아닌가요?