[CS/운영체제] 스레드기초 - 2부

황제연·2025년 6월 19일
0

CS학습

목록 보기
110/193
post-thumbnail

프로세스 Context Switching

프로세스 간 컨텍스트 스위칭은 실행 중인 프로세스의 상태
(메모리 정보, CPU 레지스터 값, 프로그램 카운터 등)를 PCB(Process Control Block)에 저장합니다

다음 실행할 프로세스의 PCB에서 상태를 복원하고, CPU를 할당하여 실행을 재개합니다

스레드 Context Switching

스레드 간 컨텍스트 스위칭은 실행 중인 스레드의 상태(레지스터 값, 프로그램 카운터, 스택 정보)를
TCB(Thread Control Block)에 저장합니다

다음 실행할 스레드의 TCB에서 상태를 복원하여 CPU에서 실행합니다

프로세스 컨텍스트 스위칭 vs 스레드 컨텍스트 스위칭

특징프로세스 컨텍스트 스위칭스레드 컨텍스트 스위칭
전환 속도상대적으로 느림 (주소 공간 전환 필요)상대적으로 빠름 (같은 프로세스 내에서 주소 공간 공유)
저장/복원 정보PCB (레지스터, 주소 공간, 파일 정보 등)TCB (레지스터, 스택 정보 등)
오버헤드스레드 컨텍스트 스위칭보다 큼프로세스 컨텍스트 스위칭보다 작음

성능 영향

컨텍스트 전환이 빈번히 발생하면 저장 및 복원 과정의 오버헤드로 인해
CPU 자원이 낭비되어 성능이 저하될 수 있습니다

따라서 프로세스 간 전환이 빈번하면 오버헤드가 더 큽니다
반대로 스레드 간 전환이 빈번하면 상대적으로 작지만 여전히 오버헤드가 존재합니다

결과적으로, 컨텍스트 전환을 최소화하여 CPU 자원을 효율적으로 사용하는 것이 중요합니다

profile
Software Developer

0개의 댓글