프로세스의 구조

프로세스는 코드영역, 데이터 영역, 힙 영역, 스택 영역 으로 구성된다.

예를 들어 워드 프로세서 프로그램을 실행하면

프로그램은 코드 영역에 탑재되고, 편집중인 문서는 데이터 영역에 탑재된다.

또한 운영체제가 워드프로세서를 작동하기 위해 사용하는 각종 부가 데이터는 스택 영역에서 관리한다.

프로세스의 생성과 복사

실행중인 프로세스로부터 새로운 프로세스를 복사하는 방법도 있다.

fork() 시스템 호출은 실행중인 프로세스로 부터 새로운 프로세스를 복사하는 함수이다.

커널에서 제공하는 이 함수는 프로세스를 복사하는 일종의 시스템 호출이다.

fork() 시스템 호출을 사용하면 실행중인 프로세스와 똑같은 프로세스가 하나 더 만들어진다.

예를 들어 워드프로세서로 문서작업하다가 새로운 문서를 실행하면, 운영체제는

새로운 워드프로세서 프로그램을 실행하지 않고, fork() 시스템 호출을 사용해 기존의 프로세스를 복사한다

이렇게 복사하면 속도가 훨씬 빠르다.

fork()의 장점