Live Today
[운영체제] Context Switching 본문
반응형
✅ Context Switching 이란 ?
- 현재 진행하고 있는 Task(Process, Thread)의 상태를 저장하고 다음 진행할 Task의 상태 값을 읽어 적용하는 과정을 말합니다.
- 멀티프로세스 환경에서 CPU가 어떤 하나의 프로세스를 실행하고 있는 상태에서 인터럽트 요청에 의해 다음 우선 순위의 프로세스가 실행되어야 할 때 Context Switching이 일어남
💡 즉, 기존의 프로세스의 상태 또는 레지스터 값(Context)을 저장하고 CPU가 다음 프로세스를 수행하도록 새로운 프로세스의 상태 또는 레지스터 값(Context)를 교체하는 작업을 Context Switch(Context Switching)라고 한다.
✅ 왜 Context Switching이 필요한가?
Computer가 매번 하나의 Task만 처리할 수 있다면?
- 해당 Task가 끝날때까지 다음 Task는 기다릴 수 밖에 없습니다.
- 또한 반응속도가 매우 느리고 사용하기 불편합니다.
그렇다면 다양한 사람들이 동시에 사용하는 것처럼 하기 위해선?
- Computer multitasking을 통해 빠른 반응속도로 응답할 수 있습니다.
- 빠른 속도로 Task를 바꿔 가며 실행하기 때문에 사람의 눈으론 실시간처럼 보이게 되는 장점이 있습니다.
- 따라서 CPU가 Task를 바꿔 가며 실행하기 위해서는 Context Switching이 필요함.
'Computer Science > 운영체제' 카테고리의 다른 글
[운영체제] 경쟁 조건 (Race Condition) (0) | 2023.02.08 |
---|---|
[운영체제] 인터럽트 (0) | 2023.02.05 |
[운영체제] 프로세스 메모리 구조 (0) | 2023.01.31 |
[운영체제] 프로세스 생성 단계 (0) | 2023.01.30 |
[운영체제] 프로세스 상태 (0) | 2023.01.29 |