리눅스에서의 프로세스와 쓰레드 생성의미와 원리
POSIX 라이브러리 기준으로 fork를 이용해 프로세스 생성에는 부모와 자식은 서로 다른 주소공간을 갖고, pthread_create로 쓰레드를 생성하면 서로 같은 주소공간을 공유하게 된다. 쓰레드 생성은 프로세스 생성과 비교하여 새로이 모든 자원을 생성해야 한다는 점에서 비용적 효율을 가지고 올 수 있다 하지만 자식 프로세스에서 생긴 결함은 부모 프로세스와 직접적으로 연관이 될 수 있다. 따라서 프로세스 모델을 고려할 때 쓰레드 모델을 자원공유에 적합하고, 프로세스 모델은 결함 고립에 적합한 프로그래밍 모델이다 프로세스는 수행되려면 자원(resource)과 수행 흐름(flow of control)이 필요한데, 리눅스 환경에서 프로세스와 쓰레드의 생성 및 지원하기 위해서 task_struct 커널 자료..
2019. 6. 1. 00:32