시스템콜1 [OS] Pintos - system call 호출 및 흐름 유저모드에서 유저 프로세스가 호출한 시스템 콜이 어떻게 커널모드로 바뀌고, 어떻게 해당 시스템 콜에 해당하는 함수가 호출되는지에 대한 과정이 헷갈려서 며칠동안 찾아해멨다. 반에 똑똑한 친구들이 많아서 드디어 흐름을 이해할 수 있어서 짧게 정리해보려고 한다. 우선 유저프로그램에서 fork() 시스템콜을 호출하는 상황을 예로 들어 흐름을 설명해보려고 한다. 1. 유저프로그램에서 fork(스레드이름); 으로 fork 호출 2. fork() : syscall1(fork의 시스템콜 번호, 스레드이름); 호출 /* lib/user/syscall.c 파일 */ pid_t fork (const char *thread_name){ return (pid_t) syscall1 (SYS_FORK, thread_name); }.. 2022. 11. 25. 이전 1 다음 반응형