serversim
학습시뮬레이터템플릿가격
…
…
메뉴 열기
학습↗시뮬레이터↗템플릿↗가격↗
내 Documents문서
기초 트랙 목차/5 / 85분

컴퓨터는 기다리는 동안 다른 일을 할 수 있을까?

함정 질문손님이 금고에 서류를 가지러 간 동안 창구가 비어 있어야 한다면, 손님을 더 받으려면 어떻게 해야 할까요?

움직여 보기

0/49 스텝속도동시에 온 손님
0.0초완료01DB금고줄 0
응대 중통화 중금고에 감비어 있음

0.0초 · 줄 0명 · 응대 중 0곳 · 완료 0명 — 아직 아무도 오지 않았습니다

문장 따라가기

1/40

컴퓨터는 기다리는 동안 다른 일을 할 수 있을까요?

텍스트 모드에서는 3초마다 다음 문장으로 넘어갑니다.

이렇게 생각해 보세요

창구는 하나뿐입니다. 일이 실제로 처리되는 자리는 그 창구 하나이고, 손님이 금고에 서류를 가지러 간 동안에는 창구가 빕니다.

손님이 한 명이면 그 한 명이 볼일을 차례로 봅니다 — 금고에 다녀올 때마다 창구는 아무 일도 하지 않고 기다립니다. 앞 장에서 본 "기다리는 시간"이 여기서는 빈 창구로 보입니다.

손님을 네 명으로 늘리면 어떻게 될까요? 한 명이 금고에 간 사이 다른 손님이 창구를 씁니다. 창구를 더 만든 것이 아니라, 비어 있던 시간을 쓴 것입니다.

위 화면의 "동시에 온 손님"을 1과 4로 바꿔 보세요. 컴퓨터에서는 이 손님 한 명이 스레드 하나입니다.

숫자로 뒤집기

실측 · 지금 계산됨

손님 한 명이 볼일 12건을 혼자 보면 전부 끝나는 데 96.0칸이 걸립니다(여기서 "칸"은 초가 아니라 시뮬레이터의 시간 눈금입니다 — 두 숫자의 비가 중요합니다). 그동안 창구가 실제로 일한 시간은 25.0%뿐입니다. 나머지는 금고에서 서류가 오기를 기다린 시간입니다.

손님을 4명으로 늘리면 같은 12건이 34.6칸에 끝납니다 — 2.8배입니다. 창구는 그대로 하나인데 일한 시간의 비율만 69.4%로 올라갔습니다. 금고에 동시에 가 있는 사람이 1명에서 4명이 됐기 때문입니다.

공짜는 아닙니다. 창구에 앉은 사람이 바뀐 횟수가 0번에서 21번으로 늘고, 손님마다 자기 자리가 필요하니 동시에 붙들고 있는 메모리도 1개에서 4개로 늘어납니다. 손님을 계속 늘리면 언젠가는 이 비용이 먼저 한계를 만듭니다.

이 숫자는 문구에 박아둔 값이 아니라, 이 화면을 그릴 때 시뮬을 돌려 나온 값입니다.

다음 단계로 이어서 보기

실행 모델 5단원 — 프로세스: CPU를 나눠 쓰는 첫 방법→

한 문장으로

프로세스와 스레드는 "더 빨리 일하려고"가 아니라 "기다리는 시간을 놀리지 않으려고" 생겼습니다.

진도는 이 브라우저에만 저장됩니다 (계정·기기 간 동기화 없음).

확인 문제

0 / 3 맞음
  1. 1.기다림이 대부분인 일을 CPU 하나짜리 컴퓨터에서 여러 갈래로 나눠 함께 진행하면?

  2. 2.손님을 1명에서 4명으로 늘렸을 때 실제로 늘어난 것은 무엇인가요?

  3. 3.창구가 하나일 때, 기다림 없이 계산만 하는 작업이라면 손님(스레드)을 네 배로 늘리면 어떻게 되나요?

새로 나온 말

프로세스
실행 중인 프로그램 하나입니다. 자기 메모리를 따로 가지고 있어서 옆 프로그램이 잘못돼도 함께 무너지지 않습니다.
스레드
한 프로그램 안에서 따로 진행되는 일의 갈래 하나입니다. 위 화면의 손님 한 명이 스레드 하나이고, 각자 "어디까지 했는지"를 들고 있습니다.
컨텍스트 스위치
창구에 앉은 사람이 바뀌는 일입니다. 어디까지 했는지 적어두고 다음 사람 것을 꺼내 오는 데 시간이 듭니다.

이전 장

어떤 데이터는 왜 순식간에 오고, 어떤 건 한참 걸릴까?

다음 장

서버가 바쁘면 왜 요청이 밀릴까?

serversim

서버가 느려지고 터지는 이유를 배우고, 같은 현상을 직접 시뮬레이션하는 학습 도구.

© 2025-2026 serversim · 아키텍처 시뮬레이션 도구

제품

  • 학습
  • 시뮬레이터
  • 템플릿
  • 가격

자료

  • 문서
  • 벤치마크
  • 블로그

정책

  • 개인정보
  • 약관
  • 환불 정책