문제
사용자 수준에서 지원되는 스레드(thread)가 커널에서 지원되는 스레드에 비해 가지는 장점으로 옳은 것은?
① 한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기할 필요가 없으므로 시스템 성능을 높일 수 있다. ② 동시에 여러 스레드가 커널에 접근할 수 있으므로 여러 스레드가 시스템 호출을 동시에 사용할 수 있다. ③ 각 스레드를 개별적으로 관리할 수 있으므로 스레드의 독립적인 스케줄링이 가능하다. ④ 커널 모드로의 전환 없이 스레드 교환이 가능하므로 오버헤드가 줄어든다.
정답
4번
해설
정답: 4. 사용자 수준 스레드는 커널 모드 전환 없이 스레드 교환이 가능해 오버헤드가 적다.
오답 풀이
- 1번: 사용자 수준 스레드는 한 스레드가 시스템 호출 시 전체 프로세스가 블록될 수 있다.
- 2번: 동시 커널 접근은 커널 수준 스레드의 장점이다.
- 3번: 독립적 스케줄링은 커널 수준 스레드의 장점이다.
- 4번: 커널 전환 없이 교환 가능한 것이 사용자 수준 스레드의 장점이므로 정답이다.
보충 개념 사용자 수준 스레드는 라이브러리가 관리해 빠르지만 한 스레드 블록 시 전체가 블록된다.