2014년 12월 12일 금요일

Copy On Write Page (COW)

Linux의 vfork라는 system call은 fork의 복사하는 비효율성 때문에 나온것이다.
fork 다음에 바로 exec* 를 호출하는 경우에 대신 씀..
vfork는 부모의 메모리영역을 복사하지 않고 공유..
- 자식 프로세스가 exit나 exec를 호출할 때까지 부모 프로세스는 실행되지 않고 기다린다.

- 현재는 fork의 효율성이 좋아져, vfork를 쓸필요가 없다..
현대 운영체제(UNIX, Linux, Mac OS X)의 fork() 구현 방식
 → "Copy-On-Write(page)" mechanism  "COW"


COW는 윈도우도 마찬가지.. 그림판 창을 3개 띄운다면.. 메모리를 3배  잡아먹고 있는게 아니다. 첫번째 창 메모리와 동일한 영역을 가리키고 있다가. 특정 창에서 그림을 그리면 그때 특정영역의 메모리 복사본을 생성한다. 

댓글 없음:

댓글 쓰기