문맥 교환(文脈交換, context switch)이란 하나의 프로세스가 CPU를 사용 중인 상태에서 다른 프로세스가 CPU를 사용하도록 하기 위해, 이전의 프로세스의 상태(문맥)를 보관하고 새로운 프로세스의 상태를 적재하는 작업을 말한다. 한 프로세스의 문맥은 그 프로세스의 프로세스 제어 블록에 기록되어 있다.
사전적의미)
● 국어사전
문맥 [文脈] : 문장과 문장이 이어지면서 전달되는 중심적인 의미나 논리적 연관 관계
● 영어사전
context (콘텍스트) : 문맥, 상황
[가산][불가산] (문장·내용의) 문맥, 전후 관계; 배경, 상황
가장 쉽게 이해하기 위한 의미로는 프로세스의 상태 즉, 프로세스의 전후 관계 내용을 보관
★ 프로세스 제어 블록
프로세스 제어 블록(Process Control Block, 줄여서 PCB)은 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영 체제 커널의 자료 구조이다. 작업 제어 블록(Task Control Block, 줄여서 TCB) 또는 작업 구조라고도 한다. "PCB는 운영 체제가 프로세스를 표현한 것이다."
운영체제에서 문맥전환이란 무엇일까요? 쉽게 설명해 드릴게요.
문맥전환이란, 컴퓨터가 여러 개의 프로그램을 동시에 실행하는 것처럼 보이게 하기 위해 사용하는 기술이에요. 마치 여러 사람이 번갈아 가며 한 가지 일을 하는 것과 비슷하다고 생각하면 돼요.
예를 들어볼까요?
우리가 컴퓨터에서 여러 개의 창을 띄워놓고 동시에 작업을 할 수 있는 건 바로 문맥전환 덕분이에요. 컴퓨터는 아주 빠르게 각 창에 해당하는 프로그램들을 번갈아 가며 조금씩 실행시키기 때문에 우리 눈에는 마치 모든 프로그램이 동시에 실행되는 것처럼 보이는 거죠.
더 자세히 설명하자면:
- 프로세스: 컴퓨터에서 실행되는 프로그램 하나하나를 프로세스라고 해요.
- 문맥: 각 프로세스가 실행되기 위해 필요한 정보들을 통틀어 문맥이라고 합니다. 예를 들어, 어디까지 실행했는지, 어떤 데이터를 사용하는지 등이 포함되죠.
- 문맥전환: CPU가 현재 실행 중인 프로세스의 문맥을 저장하고, 다른 프로세스의 문맥을 불러와 실행하는 과정을 문맥전환이라고 합니다.
마치 철수와 영희가 번갈아 가며 책을 읽는 것과 같아요.
- 철수가 책을 읽다가 잠깐 쉬는 동안, 영희가 책을 읽기 시작해요.
- 영희가 책을 읽을 때는 철수가 읽던 부분을 기억해 두었다가, 다시 철수가 읽을 차례가 되면 이어서 읽도록 해요.
문맥전환이 왜 필요할까요?
- 멀티태스킹: 여러 프로그램을 동시에 실행하는 멀티태스킹을 가능하게 해줘요.
- 효율적인 자원 활용: CPU가 한순간도 쉬지 않고 일하도록 해서 컴퓨터 자원을 효율적으로 사용할 수 있게 해줘요.
하지만 단점도 있어요.
- 오버헤드: 문맥전환에는 시간이 소요되기 때문에, 너무 자주 발생하면 오히려 시스템 성능이 저하될 수 있어요.
정리하면,
문맥전환은 컴퓨터가 여러 가지 일을 동시에 처리할 수 있도록 해주는 중요한 기술이지만, 너무 자주 발생하면 시스템 성능에 영향을 줄 수도 있다는 것을 기억해야 해요.
'컴퓨터 잡다학메모' 카테고리의 다른 글
CPU 코어(Core), 쉽게 이해하기 (1) | 2024.12.11 |
---|---|
캐시 메모리에 대해 설명 및 정리 (1) | 2024.12.11 |
운영체제 오버헤드 측정 방법 (0) | 2024.12.11 |
오버헤드(overhead) 정리 (1) | 2024.12.11 |
라운드 로빈(Round Robin) 스케줄링 설명 및 선점형 멀티태스킹 관계 (1) | 2024.12.11 |
콘텐츠 내 자동삽입광고