serversim
학습시뮬레이터템플릿가격
…
…
메뉴 열기
학습↗시뮬레이터↗템플릿↗가격↗
내 Documents문서

LEARN · 기초 8장 → 실행 모델 16단원 · FREE

서버 실행 모델을 외우지 않고 이해합니다.

처음이라면 0과 1, CPU와 기다림을 비유로 배우는 기초 8장부터 시작하세요. CPU·메모리 기초를 안다면 실행 모델 16단원에서 스레드풀·이벤트루프·코루틴을 비교하며 배웁니다.

처음 배우기 · 기초 8장실행 모델로 바로 시작

기초: 사전 지식 없이 시작해 서버에 줄이 생기는 이유를 설명합니다.

실행 모델: CPU·메모리 기초를 바탕으로 동시성 방식의 대가를 비교합니다.

두 공개 과정 모두 한국어·영어 본문을 제공합니다.

기초 다음에는 실행 모델

CPU에서 코루틴까지

FREE
  1. 01CPU·메모리↓
  2. 02기다림↓
  3. 03스레드풀↓
  4. 04이벤트루프↓
  5. 05코루틴↓
  6. 06실측 비교
16단원
113분
A/B실측
16실행 모델 단원
113m실행 모델 학습 시간
77시뮬 시나리오
$0핵심 과정

처음이면 여기서

8장 · 약 40분

서버가 바쁘면 왜 밀릴까? 8장으로 배우는 기초

컴퓨터 전공이 아니어도 괜찮습니다. 0과 1에서 시작해 은행 창구와 줄의 비유로 "왜 밀리는지"까지, 한 장에 함정 질문 하나씩만 풉니다.

  1. 010과 1밖에 모르는 컴퓨터가 어떻게 글자를 읽을까?컴퓨터는 0과 1밖에 모른다는데, 그러면 화면에 뜨는 글자는 어디서 오는 걸까요?4분
  2. 02CPU는 정확히 무슨 일을 할까?CPU가 "계산을 한다"고들 하는데, 그 CPU가 할 줄 아는 일은 정확히 몇 가지나 될까요?5분
  3. 03GHz가 2배면 정말 2배 빨라질까?3GHz짜리를 6GHz로 바꾸면 우리 서버가 정말 두 배로 빨라질까요?4분
  4. 04어떤 데이터는 왜 순식간에 오고, 어떤 건 한참 걸릴까?똑같이 "데이터를 가져온다"인데, 어떤 건 0.000001초에 끝나고 어떤 건 0.1초나 걸리는 이유는 뭘까요?5분
  5. 05컴퓨터는 기다리는 동안 다른 일을 할 수 있을까?손님이 금고에 서류를 가지러 간 동안 창구가 비어 있어야 한다면, 손님을 더 받으려면 어떻게 해야 할까요?5분
  6. 06서버가 바쁘면 왜 요청이 밀릴까?창구가 아직 꽉 차지도 않았는데, 왜 손님들은 줄에서 오래 기다리게 될까요?6분
  7. 07창구가 200개인데 왜 10개만 일할까?요청을 받을 자리를 200개나 열어뒀는데, 왜 처리량은 그만큼 늘지 않을까요?5분
  8. 08이벤트루프는 언제 유리하고 언제 불리할까?적은 자리로 많은 일을 처리하는 방식이 항상 유리하다면, 왜 아직도 자리를 많이 두는 서버가 있을까요?6분
1장부터 시작 이미 아는 분은 실행 모델 16단원으로 →

FREE CORE COURSE

CPU에서 코루틴까지

사전 지식 없이 시작해 “왜 다음 실행 모델이 필요해졌는가”를 한 계단씩 이해하는 주 과정입니다. 모든 단원과 실측 결과를 무료로 봅니다.

  • 16단원 전체 공개
  • 결정적 애니메이션과 실측 표
  • 한국어·영어 본문
  • 시뮬레이터 실습 연결
무료 과정 시작

16단원 전체 목차

용어를 먼저 외우지 않습니다. 앞 단원의 한계가 다음 단원의 이유가 됩니다.

01 — 16
  1. 01컴퓨터는 무엇으로 되어 있나CPU · 메모리 · 장치 · 운영체제 · "CPU는 언제나 누군가를 실행 중"
  2. 02코드 한 줄은 어떻게 실행되나CPU의 세 동작 · 메모리와 주소 · 레지스터와 PC · 스택과 힙
  3. 03스택과 힙 — 무엇이 어디에 쌓이나지역변수는 스택, 객체는 힙 · 함수와 운명을 같이하는 것과 아닌 것
  4. 04메모리는 왜 차는가 — 그리고 GC할당 · 도달 가능성 · 표시하고 쓸어담기 · GC pause와 retention
  5. 05프로세스 — CPU를 나눠 쓰는 첫 방법프로그램 vs 프로세스 · 주소 공간과 격리 · 시분할이라는 착시
  6. 06CPU는 언제 쉬나 — 인터럽트와 컨텍스트 스위치커널 진입 · 문맥 저장과 복원 · 자발적 양보 vs 선점 · idle
  7. 07기다림의 발견 — IO를 만난 CPU는 논다CPU와 장치의 속도 차이 · 블로킹 · 기다려도 자리는 차지한다
  8. 08스레드 — 프로세스가 무거워서 태어났다무엇을 공유하고 무엇을 따로 갖나 · 세 가지 상태 · 공유의 대가
  9. 09동시성 ≠ 병렬성두 단어의 차이 · CPU-bound와 IO-bound · 스레드를 늘려도 안 되는 경우
  10. 10서버의 방법 ① — 스레드풀요청마다 스레드 하나 · 왜 "풀"인가 · 크기와 비용
  11. 11서버의 방법 ② — 이벤트루프C10K의 답 · 등록하고 즉시 반환 · 커널의 도움(epoll)
  12. 12코루틴 / async-await — 콜백을 동기 모양으로콜백 지옥 · 중단과 재개 · 실행은 이벤트루프 그대로
  13. 13함정 ① — CPU-bound 하나가 루프를 얼린다선점이 있는 스레드풀 vs 선점이 없는 이벤트루프
  14. 14함정 ② — 루프 위의 블로킹 호출블로킹 한 줄이 서버 전체를 세운다
  15. 15어떻게 여기까지 왔나 — 60년의 발전사배치 처리 → 프로세스 → 스레드 → C10K → 이벤트루프 → 코루틴 → 가상 스레드
  16. 16종합 — 같은 일, 네 가지 방법총시간 · 갈아타기 · 메모리 · CPU 활용률을 숫자로

FREE INTERACTIVE REFERENCE · KOREAN

컴퓨터는 밑에서 어떻게 움직이나 — 직접 움직이며 배우기

프로그래밍 언어부터 CPU·메모리·캐시·입출력까지, 생활 비유 → 작은 예제 → 직접 조작 → 확인 문제로 이어지는 한국어 인터랙티브 참고 과정입니다.

6 CHAPTERS40 LABS
6장 40절 둘러보기

PRO DEPTH COURSE · EARLY ACCESS

결론 아래의 메커니즘까지 내려갑니다.

Java 코드에서 JVM·커널·스케줄러·CPU까지 내려가는 순서를 서버 개발자의 질문으로 다시 쪼갰습니다. “누가 다음 상태를 결정했는가”를 단계별 실험으로 추적합니다.

과정 제작 현황7 / 20
지금 학습 가능7
전체 제작 경로20

완료되지 않은 단원을 완성된 것처럼 팔지 않습니다. 공개된 실험과 다음 제작 순서를 함께 보여드립니다.

현재 공개된 실험

7 학습 가능
  1. 2.1.1CPU는 명령 하나를 어떻게 실행할까?
  2. 2.1.2코어 하나가 프로그램 여러 개를 돌리는 법
  3. 2.1.3CPU 독점과 하드웨어 타이머
  4. 2.1.4프로세스가 왜 스레드로 발전했을까?
  5. 2.1.5멀티스레드의 실제 메모리 구조
  6. 2.8.1~3소켓과 스레드·이벤트 루프 서버
  7. 2.8.4~6I/O multiplexing·NIO·Selector·epoll
다음 제작 중

스레드 생성 비용과 스레드 풀

이후 경로

공유 메모리·thread safety → callback·async/await → Reactor → JVM·Tomcat·Spring·Netty

Pro

현재 강의·음성은 한국어로 제작 중입니다.

Pro 과정 열기 Free와 Pro 비교

LEARN → RUN → EXPLAIN

읽고 끝내지 않는 학습 흐름

개념을 본 다음 같은 병목을 직접 만들고, 숫자로 원인을 설명할 수 있을 때 한 단원이 끝납니다.

01 · LEARN

움직이는 상태로 원리 보기

CPU 차례, 큐, 대기 상태가 언제 왜 바뀌는지 단계별로 봅니다.

02 · RUN

같은 현상을 직접 만들기

시나리오와 설정값을 바꿔 p99·처리량·drop이 어떻게 움직이는지 확인합니다.

03 · EXPLAIN

결과를 원인으로 설명하기

“느리다”가 아니라 어느 자원이 포화됐고 어떤 선택이 대가를 만들었는지 말합니다.

처음이라면 기초 8장부터 시작하세요.

0과 1에서 서버의 기다림까지, 결제나 로그인 없이 시작합니다.

처음 배우기 · 기초 8장
serversim

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

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

제품

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

자료

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

정책

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