seegongsik
운영체제

어떻게 하나가 여럿인 척

음악을 들으며 문서를 쓰고, 다운로드까지 한다. 모두 동시에 되는 것 같지만 사실 일꾼(CPU)은 하나뿐이에요. 아주 빠르게 조금씩 번갈아 하니까 우리 눈에는 한꺼번에 되는 것처럼 보인다.

01

다 같이 쓰고 싶다

음악도 틀고, 문서도 쓰고, 파일도 받는다. 셋 다 일꾼(CPU)이 필요하다.
그런데 일꾼은 하나뿐이라 셋이 한꺼번에 쓸 수는 없다.
어떻게 해야 할까요?

음악 재생일꾼 필요
문서 작성일꾼 필요
파일 받기일꾼 필요
→→→
일꾼CPU
셋 다 하나뿐인 CPU를 쓰고 싶어 해요. 한꺼번에는 안 되는데 말이죠.

할 일은 셋인데 일꾼은 하나뿐이다.

2강에서 실행 중인 프로그램이 프로세스라는 것을 보았다.
지금 프로세스는 셋인데 일꾼은 하나다. 이 하나를 셋이 어떻게 나눠 쓰는지가 이번 이야기예요.

02

잠깐씩 돌아가며 한다

방법은 이렇다. 일꾼이 음악을 잠깐, 문서를 잠깐, 파일을 잠깐씩 맡는다.
아주 조금씩 하고 다음 일로 넘어가며 한 바퀴 돌고 또 돌아요.
단추를 눌러 지켜보자.

지금 하는 일·
음악0%
문서0%
파일0%
일꾼이 셋을 잠깐씩 번갈아 맡아요. 막대 셋이 조금씩 함께 차올라요.

일꾼이 조금씩 번갈아 맡는다 → 셋 다 조금씩 나아가요.

한 번에 하나씩만 한다. 그런데 워낙 빨리 바꾸니 셋 다 멈춤 없이 나아가는 것처럼 보인다.
사실 일꾼은 쉴 새 없이 이 일 저 일을 오가고 있어요.

03

속도가 만드는 착시

비결은 속도다. 느리게 바꾸면 번갈아 하는 것이 다 보여서 '아, 하나씩 하는구나' 하고 알아챈다.
그런데 아주 빠르게 바꾸면 사람 눈에는 끊김이 보이지 않는다. 그래서 동시처럼 느껴져요.

지금 하는 일음악
음악
문서
파일
느리게 · 번갈아 하는 게 보여요
느릴 땐 일꾼이 하나씩 맡는 게 또렷이 보여요.

바꾸는 속도를 움직이면 보이는 모습이 달라진다.

실제 컴퓨터는 일꾼을 1초에 수천 번도 바꾼다. 사람은 그 빠르기를 도저히 느끼지 못한다.
그래서 '동시'라고 믿지만, 사실은 엄청나게 빠른 번갈아 하기예요.

04

지금 이 기기도 그렇다

지금 이 글을 보는 기기도 마찬가지다. 화면을 그리고, 소리를 내고, 연결을 확인한다.
수십 가지 일이 함께 도는 것 같지만, 일꾼 하나가 빠르게 번갈아 하는 거예요.

음악
재생 중
브라우저
이 글
메신저
대기 중
↓ 모두 한 일꾼을 번갈아 ↓
CPU · 쉴 새 없이 번갈아
컴퓨터 구조에서 본 그 CPU 하나가 이렇게 잘게 나뉘어 쓰여요.

지금 이 기기에서도 일꾼 하나가 번갈아 일한다.

우리가 '여러 개를 동시에'라고 느끼는 그 매끄러움은, 보이지 않는 살림꾼이 일꾼을 잘게 쪼개 나눠 준 결과다.
운영체제가 뒤에서 이 일을 해요.

05

빠르게 번갈아, 그 한 가지

이번 레슨의 핵심은 하나다. 일꾼은 하나라도 빠르게 번갈아 하면 여럿을 동시에 하는 것처럼 보인다. 이것이 시분할이다.
그런데 번갈아 하려면 하던 일을 멈췄다가 다시 이어야 하지 않을까요?

번갈아 하기 = 동시인 척
일꾼은 하나 · 아주 빠르게 조금씩 번갈아 · 그래서 동시처럼.
멈췄다 다시
자리를 어떻게 바꾸나
누구 먼저
순서를 정하는 법
그 너머
더 깊은 살림
다음 레슨에서는 하던 일을 멈췄다가 다시 잇는 법, 자리 바꾸기를 다뤄요.

번갈아 하기를 알았다면 다음 질문으로 넘어간다.

운영체제가 일꾼을 잘게 나눠 쓰는 덕분에 우리는 컴퓨터 한 대로 여러 일을 누린다.
'하나가 여럿인 척'하는 이 단순한 꾀가 컴퓨터를 훨씬 쓸모 있게 만들어요.

한 줄 정리일꾼(CPU)은 하나지만, 아주 빠르게 조금씩 번갈아 하면 여럿을 동시에 하는 것처럼 보인다. 이것이 시분할이에요. 우리가 느끼는 '동시에'의 매끄러움은 운영체제가 하나뿐인 일꾼을 잘게 쪼개 나눠 준 결과다.
← 운영체제
이 페이지가 도움 됐다면 후원하기