프로세스의 생성은 부모가 자식을 생성한다. 부모 프로세스의 주소 공간을 자식 프로세스가 그대로 복사한다. 주소 공간을 복사하고 운영체제에 있는 data(pcb,자원 등) 또한 복사한다.
fork() 시스템 콜이 새로운 프로세스를 생성
fork 다음에 이어지는 exec() 시스템 콜을 통해 새로운 프로그램을 메모리에 올림
자식 프로세스를 만들지 않고 exec()을 해버리면 완전히 새로운 프로세스로 바뀔 수도 있다.
사용자가 자식 프로세스를 직접 만드는 것은 아니고, 운영체제를 통해서 생성이 가능하다.
자발적으로 프로세스가 종료될 때는 exit() 시스템 콜을 해주면 되고,
비자발적으로 프로세스를 강제 종료시키는 경우에는 abort() 시스템 콜을 해주면 된다.
자식이 할당 자원의 한계치를 넘어섬
자식에게 할당된 태스크가 더 이상 필요하지 않음
부모가 종료(exit)하는 경우
본 포스팅은 이화여대 반효경교수님 운영체제 강의를 바탕으로 작성하였습니다.