운영체제

Copy On Write (COW) 란?

AlgoPoolJa 2022. 12. 18. 21:12

Copy On Write는 A라는 변수에 B라는 변수를 할당해주었을 때, 새로 메모리에 할당하는 것이 아니라, B의 메모리를 A가 공유하는 형태로 구성됩니다. 그러다가 A가 값이 수정될 때 새로 메모리에 할당이 되는 식으로 동작합니다.

예를 들어 코드로 보면 다음과 같습니다.

std::string x("Hello");
std::string y = x; // x, y 는 같은 버퍼를 사용합니다.
y += " World"; // y 에 값이 변경 되었으므로 y 는 다른 버퍼를 사용합니다.