멀티스레드

    [운영체제/OS] 멀티스레드에서의 fork()와 exec(), Signal Handling

    fork(), exec() 시스템콜 멀티 스레드 프로그램에서 프로세스를 복제/생성하는 fork() 시스템콜을 실행한다면 어떻게 될까?? 메인의 하나만 복제해야할까, 아니면 모두 각각 복제해야할까? 몇몇 유닉스 시스템은 두가지 버전을 모두 지원한다. exec()의 경우에는 기존 스레드들을 모두 무시하고, 새로운 프로그램으로 대체된다. fork()이후 exec()를 호출하면, 모든 스레드를 복제할 이유가 없다. fork() 이후 exec()가 호출되지 않는다면, 모든 스레드의 복제가 의미가 있다. Signal Handling(시그널 처리) Signal의 두 가지 유형: -Synchronous signal: 어떤 사건을 처리하기 위해 발생 ex)불법적인 메모리 접근, 0으로 나누기 -Asynchronous s..