레이블이 Architecture인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Architecture인 게시물을 표시합니다. 모든 게시물 표시

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배  잡아먹고 있는게 아니다. 첫번째 창 메모리와 동일한 영역을 가리키고 있다가. 특정 창에서 그림을 그리면 그때 특정영역의 메모리 복사본을 생성한다.