스레드 관리
스레드 이전 포스팅(인터럽트)에서 나는 인터럽트와 문맥교환(Context Switching)에 대해 이야기를 했다. 운영체제는 문맥교환을 통해 이전에 작업했던 프로세스를 이어서 작업할 수 있지만, 너무 잦은 문맥교환은 오버헤드와 비용을 증가시킨다. 이 문제를 해결하기 위해서 운영체제는 스레드라는 단위를 관리하게 된다. 그렇다면 스레드는 무엇인가? 스레드를 설명하기 위해서 상위개념인 프로세스라는 것을 가져오려고 한다. 프로세스는 요청받은 작업이 커널에 등록된 상태를 말한다. 간단히 실행중인 프로그램이라고 말할 수 있다. 프로세스가 하는 일은 두 가지 요소로 나눌 수 있는데, 첫째는 자원을 할당받는 것이고, 둘째는 할당받은 자원을 제어하는 것이다. 이 요소 중에 제어부분만 따로 떼어놓은 것을 스레드라고 한다..
2020.10.07