77. 사용자 수준에서 지원되는 스레드(thread)가 커널에서 지원되는 스레드에 비해 가지는 장점으로 옳은 것은?
① 한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기할 필요가 없으므로 시스템 성능을 높일 수 있다.
② 동시에 여러 스레드가 커널에 접근할 수 있으므로 여러 스레드가 시스템 호출을 동시에 사용할 수 있다.
③ 각 스레드를 개별적으로 관리할 수 있으므로 스레드의 독립적인 스케줄링이 가능하다.
❹ 커널 모드로의 전환 없이 스레드 교환이 가능하므로 오버헤드가 줄어든다.
좋아요, 이 문제는 **사용자 수준 스레드(User-level thread)**와 **커널 수준 스레드(Kernel-level thread)**의 차이를 묻는 전형적인 운영체제 문제입니다. 아래에서 각 보기와 함께 해설을 정리해 드립니다.
🔎 문제 분석
사용자 수준 스레드(User-level thread)
- 커널의 관여 없이, 사용자 영역에서만 스레드 관리 및 전환이 이루어짐.
- 커널은 스레드의 존재를 모르고, 하나의 프로세스 단위로만 관리.
- 장점: 커널 모드 전환이 없어서 빠르고 오버헤드가 적다.
- 단점: 스레드 하나가 블록되면 전체 프로세스가 블록됨 (운영체제는 스레드를 모르므로).
커널 수준 스레드(Kernel-level thread)
- 스레드를 커널이 직접 관리.
- 운영체제가 각 스레드 단위로 스케줄링하고, 시스템 자원도 각 스레드 단위로 관리.
- 장점: 스레드 하나가 블록되어도 나머지 스레드는 계속 실행 가능.
- 단점: 커널 모드 전환이 필요하므로 오버헤드가 크다.
📝 각 보기 해설
선택지 내용 설명
① | 한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기할 필요가 없으므로 성능 향상 | ❌ 커널 수준 스레드의 장점 (사용자 수준 스레드는 운영체제가 스레드를 모르기 때문에, 하나가 블록되면 전체 프로세스가 블록됨) |
② | 여러 스레드가 커널에 동시에 접근 가능 | ❌ 이것도 커널 수준 스레드의 특징 (사용자 수준 스레드는 하나의 프로세스가 커널과 1:1 관계) |
③ | 스레드를 개별 관리해 독립적 스케줄링 가능 | ❌ 역시 커널 수준 스레드의 장점 (사용자 수준 스레드는 프로세스 단위로 스케줄링) |
❹ | 커널 모드 전환 없이 스레드 교환 가능해 오버헤드 감소 | ⭕ 사용자 수준 스레드의 대표적인 장점 |
✅ 정답: ④
📚 요점 정리
구분 사용자 수준 스레드 커널 수준 스레드
관리 주체 | 사용자 영역 라이브러리 | 커널 |
문맥 전환 속도 | 빠름 (커널 모드 전환 없음) | 느림 (커널 모드 전환 필요) |
블록 처리 | 하나가 블록되면 전체 블록 | 개별 블록 |
시스템 호출 | 프로세스 단위 | 스레드 단위 |
성능 | 오버헤드 적음 | 시스템 자원 관리 효율적 |
반응형
'기출문제 > 정보처리기사' 카테고리의 다른 글
2022년 2회 정보처리기사 기출문제 79번 (0) | 2025.03.02 |
---|---|
2022년 2회 정보처리기사 기출문제 78번 (0) | 2025.03.02 |
2022년 2회 정보처리기사 기출문제 76번 (0) | 2025.02.26 |
2022년 2회 정보처리기사 기출문제 75번 (0) | 2025.02.26 |
2022년 2회 정보처리기사 기출문제 74번 (0) | 2025.02.26 |