2024. 12. 11. 08:21
반응형
선점형 멀티태스킹과 비선점형 멀티태스킹, 쉽게 알아보기
멀티태스킹은 컴퓨터가 여러 작업을 동시에 처리하는 것처럼 보이게 하는 기술입니다. 마치 여러 사람이 동시에 일을 하는 것처럼 말이죠. 이 멀티태스킹을 구현하는 방식에는 크게 두 가지가 있습니다. 바로 선점형과 비선점형입니다.
선점형 멀티태스킹
- 마치 교통경찰과 같아요: 운영체제가 마치 교통경찰처럼 각 작업(프로세스)들이 CPU를 얼마나 사용할지 정하고, 시간이 다 되면 다른 작업에게 CPU를 넘겨주는 방식입니다.
- 장점:
- 모든 작업이 공평하게 CPU를 사용할 수 있습니다.
- 응답성이 좋습니다. 예를 들어, 웹 브라우저에서 동영상을 보면서 다른 프로그램을 실행해도 버벅임이 적습니다.
- 단점:
- Context Switching (문맥 전환) 오버헤드가 발생할 수 있습니다. 즉, 작업을 바꿀 때마다 약간의 시간이 소모됩니다.
비선점형 멀티태스킹
- 자발적인 양보: 작업이 스스로 CPU 사용을 마치고 다른 작업에게 양보하는 방식입니다.
- 장점:
- Context Switching 오버헤드가 적습니다.
- 단점:
- 한 작업이 CPU를 계속 점유하면 다른 작업은 기다려야 합니다.
- 응답성이 떨어질 수 있습니다. 특히, 한 작업에 문제가 생기면 시스템 전체가 느려질 수 있습니다.
둘의 차이점 정리
| 특징 | 선점형 | 비선점형 |
| CPU 할당 | 운영체제가 결정 | 작업 스스로 결정 |
| 응답성 | 좋음 | 낮음 |
| Context Switching | 많음 | 적음 |
| 대표적인 예시 | Linux, Windows | DOS, 일부 임베디드 시스템 |
어떤 방식이 더 좋을까요?
현재 대부분의 운영체제는 선점형 멀티태스킹을 사용합니다. 왜냐하면, 응답성이 좋고 다양한 작업을 효율적으로 처리할 수 있기 때문입니다. 하지만, 실시간 처리가 중요한 시스템에서는 비선점형 방식을 사용하기도 합니다.
쉽게 말해서, 선점형은 운영체제가 모든 작업을 공평하게 관리하여 여러 작업을 동시에 처리하는 데 더 효율적이고, 비선점형은 한 작업이 끝날 때까지 기다려야 하므로 응답성이 떨어질 수 있습니다.
참고)
문맥 교환(Context Switching)은 쉽게 말해, 컴퓨터가 "지금 하던 일을 잠깐 멈추고 다른 일로 넘어갈 때, 하던 일의 상태를 기억해 두고 새로운 일의 정보를 불러오는 과정"입니다.
이해하기 쉽게 일상생활의 비유와 컴퓨터 내부 이야기로 나누어 설명해 드릴게요.
📚 일상생활 비유: 이어폰으로 책 읽기와 전화 받기
당신이 방에서 재미있는 소설책을 읽고 있다고 상상해 보세요.
- 하던 일 멈추기 (현재 상태 저장): 책을 읽던 중 갑자기 전화가 울립니다. 전화를 받으러 가기 전에, 나중에 다시 와서 이어서 읽어야 하므로 몇 페이지 몇 번째 줄까지 읽었는지 책갈피를 꽂아두고 책을 덮습니다.
- 새로운 일 시작하기 (새 상태 로드): 전화기를 들고 친구와 통화를 시작합니다. 이때는 책 내용이 아니라 친구가 하는 이야기에 집중합니다.
- 다시 원래 일로 돌아가기: 통화가 끝나면 다시 책상으로 돌아와 아까 꽂아둔 책갈피를 확인하고 정확히 멈췄던 부분부터 다시 책을 읽기 시작합니다.
여기서 '책갈피를 꽂아두고 책을 덮는 행동'과 '새로운 전화 통화로 집중 대상을 바꾸는 과정' 전체가 바로 문맥 교환입니다.
💻 컴퓨터 안에서는 어떻게 일어날까요?
컴퓨터의 두뇌인 CPU는 한 번에 딱 하나의 작업(프로세스)만 처리할 수 있습니다. 하지만 우리가 볼 때는 음악을 들으면서 인터넷 서핑을 하고 메신저도 보낼 수 있죠?
이것은 CPU가 여러 작업을 1초에 수백, 수천 번씩 엄청나게 빠른 속도로 번갈아 가며 실행하고 있기 때문입니다.
- 기억 장소 (PCB): CPU가 작업을 바꿀 때, 기존 작업의 '진행 상황(어디까지 계산했는지, 메모리 어디를 쓰고 있었는지 등)'을 컴퓨터 메모리의 특별한 노트(PCB, 프로세스 제어 블록)에 적어둡니다.
- 불러오기: 그다음, 새로 실행할 작업의 노트를 펼쳐서 예전에 멈췄던 진행 상황을 CPU로 불러와 이어서 실행합니다.
⚠️ 문맥 교환이 너무 많으면 어떻게 될까요?
책을 한 페이지 읽고 전화 받고, 한 줄 읽고 메신저 확인하는 행동을 너무 자주 반복하면 어떻게 될까요? 책 내용에 집중하기도 어렵고, 책갈피만 꽂다가 하루가 다 가겠죠?
컴퓨터도 마찬가지입니다. 작업 전환을 너무 자주 하면 정작 중요한 계산은 못 하고, 진행 상황을 저장하고 불러오는 데 시스템 자원(시간과 메모리)을 너무 많이 낭비하게 됩니다. 이 현상을 컴퓨터 과학에서는 오버헤드(Overhead)가 발생했다고 말합니다.
반응형
'컴퓨터 잡다학메모' 카테고리의 다른 글
| 라운드 로빈(Round Robin) 스케줄링 설명 및 선점형 멀티태스킹 관계 (1) | 2024.12.11 |
|---|---|
| 선점형 멀티태스킹에 대해 설명 및 예시 메모 (0) | 2024.12.11 |
| 네트워크에서 Payload 설명 (1) | 2024.12.07 |
| 코덱(codec)이란 무엇이며, 영상은 안나오고 소리만 나올때 (3) | 2024.12.06 |
| 엣지 컴퓨팅과 포그 컴퓨팅, 무엇이 다를까? 간략히 개념정리 (2) | 2024.12.04 |
콘텐츠 내 자동삽입광고
