Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 이분탐색
- expired key
- ddl-auto
- 외부 서비스 장애
- DP
- java
- 베타락
- 타임아웃
- prg패턴
- id생성
- 예외처리
- thundering herd
- 벌크헤드패턴
- BFS
- JPA
- 알고리즘
- 캐시 스탬피드
- Stack
- 트라이 자료구조
- Entity Manager
- 스택
- 슬라이스 테스트
- 자바
- queue
- 백준
- 비관적 락
- 낙관적 락
- 다중 서버
- session인증
- 이진탐색
Archives
- Today
- Total
Coding 01
컨텍스트 스위칭 본문
컨텍스트 스위칭(Context Switching)은 CPU나 코어에서 실행 중이던 프로세스나 스레드가 다른 프로세스나 스레드로 교체되는 과정이다.
멀티태스킹 시스템에서는 작업을 효율적으로 관리하기 위해 필수적인 메커니즘이다.
여기서 컨텍스트는 프로세스, 스레드의 상태를 말한다. 컨텍스트에는 스위칭을 할 때 실행을 중단하고 다시 시작할 때의 정보를 담고 있다.
멀티태스킹 시스템에서는 여러 프로세스나 스레드가 동시에 실행되는 것처럼 보이도록, CPU가 짧은 시간 단위로 작업을 전환하면서 처리한다. 사용자는 여러 작업이 동시에 진행되는 것처럼 느끼는 것이다.
컨텍스트 스위칭은 다음 세 가지 경우 발생한다.
우선순위 변경, I/O작업, Time Slice 소진
Time Slice는 각 프로세스나 스레드에게 할당된 시간이 다 소진될 때 발생한다.
우선순위 변경은 더 높은 우선순위의 작업이 발생하면 작업을 중단하고 우선순위가 높은 작업으로 전환되는 것이다.
I/O작업이 필요할 때 CPU가 다른 작업을 처리하기 위해 현재 작업을 중단하고 스위칭한다.
스레드 컨텍스트 스위칭이 프로세스보다 빠른 이유
스레드들은 프로세스의 자원을 공유하고, 컨텍스트 스위칭 시 이 리소스 정보를 새로 설정할 필요가 없기 때문이다.
'기술면접' 카테고리의 다른 글
try-with-resources (0) | 2025.04.07 |
---|---|
캐시 스탬피드 현상 (0) | 2025.01.30 |
스케일 아웃과 스케일 업 (0) | 2025.01.24 |
ACID (0) | 2025.01.23 |
REST(Respresentational State Transfer) (0) | 2025.01.22 |