syscall

    SystemSoftware - Creating Processes #2

    SystemSoftware - Creating Processes #2

    SystemSoftware - Creating Processes #1 OS에서 process를 만드는 방식에 대해서 알아보자 process는 fork()라는 syscall을 통해서 child process를 생성한다. fork를 호출한 process가 parent process가 되고, 새로 생긴 process가 child가 process이다... hyeo-noo.tistory.com int wait(int *child_status) child를 reaping하기 위해서 명시적으로 child가 종료할 때까지 기다리는 syscall return : child의 pid 값 만약 int *child_status 가 null이 아니라면 문제가 발생한 것이다. 이때 여러개의 매크로를 통해서 어떤 문제가 발생했는지..

    SystemSoftware - Creating Processes #1

    SystemSoftware - Creating Processes #1

    OS에서 process를 만드는 방식에 대해서 알아보자 process는 fork()라는 syscall을 통해서 child process를 생성한다. fork를 호출한 process가 parent process가 되고, 새로 생긴 process가 child가 process이다. int fork(void) return을 2번 한다. parent에서 fork를 호출하면 child에서 return 하고 parent에서도 return 한다. 이때 return 값에 따라서 parent인지 child인지를 구분할 수 있다. 0을 return 하면 child이고, child의 PID를 return 하면 parent이다. child는 parent의 모든 부분이 복제되어 생성된다. (가상 주소, parent에서 open ..