๐Ÿš€ CPU ์Šค์ผ€์ค„๋ง, ์ด๊ฒŒ ๋ญ๊ธธ๋ž˜? ๐Ÿค”

์„ํ˜„ยท2025๋…„ 2์›” 4์ผ
0

Insight

๋ชฉ๋ก ๋ณด๊ธฐ
3/43
post-thumbnail

์˜ค๋Š˜์˜ ์ด์•ผ๊ธฐ

๋งค์ผ ๊ฐ™์ด Insight๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ์žฌ๋ฏธ์žˆ๋Š” ์ฃผ์ œ๋กœ ์ด๋ฉ”์ผ ๋ณด๋‚ด์ฃผ๋Š” ํ”Œ๋žซํผ์ด ์žˆ๋Š”๋ฐ ํฅ๋ฏธ๋กœ์šด ์ฃผ์ œ๊ฐ€ ์žˆ์–ด์„œ ์ •๋ฆฌํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์„ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š”๋ฐ, ์ด ๊ณผ์ •์—์„œ ์šด์˜์ฒด์ œ๊ฐ€ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค์— CPU๋ฅผ ๋จผ์ € ํ• ๋‹นํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ CPU ์Šค์ผ€์ค„๋ง์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” CPU ์Šค์ผ€์ค„๋ง์˜ ๊ฐœ๋…๊ณผ ๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‰ฝ๊ณ  ์žฌ๋ฏธ์žˆ๊ฒŒ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! ๐Ÿ˜Ž


CPU ์Šค์ผ€์ค„๋ง์ด๋ž€? ๐Ÿค–

CPU ์Šค์ผ€์ค„๋ง์ด๋ž€ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์šด์˜์ฒด์ œ๊ฐ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ CPU๋ฅผ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์šด์˜์ฒด์ œ๊ฐ€ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์–ธ์ œ CPU๋ฅผ ํ• ๋‹นํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

์„ ์ ํ˜•(Preemptive) vs. ๋น„์„ ์ ํ˜•(Non-Preemptive) ์Šค์ผ€์ค„๋ง

๐Ÿ”น ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง: ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘๋‹จํ•˜๊ณ , ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐฉ์‹. ๋ฌธ๋งฅ ๊ตํ™˜(Context Switching)์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ.

๐Ÿ”น ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง: ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๋ฐฉ์‹. ๋ฌธ๋งฅ ๊ตํ™˜์ด ์—†์ง€๋งŒ, ๊ธด ์‹คํ–‰ ์‹œ๊ฐ„์„ ๊ฐ€์ง„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ์Œ.

๐Ÿ“Œ ๋น„์œ ํ•˜์ž๋ฉด?

  • ์„ ์ ํ˜•: ์นดํŽ˜์—์„œ ์ฃผ๋ฌธ์„ ํ•˜๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ ๊ธ‰ํ•œ ์ผ์ด ์ƒ๊ธฐ๋ฉด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋จผ์ € ์ฃผ๋ฌธ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ! โ˜•
  • ๋น„์„ ์ ํ˜•: ํ•œ ์‚ฌ๋žŒ์ด ์ฃผ๋ฌธ์„ ๋งˆ์น  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ๋ฐฉ์‹! โณ

๋‹ค์–‘ํ•œ CPU ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๐Ÿ

1๏ธโƒฃ ์„ ์ž…์„ ์ถœ (FCFS, First Come First Served)

  • ์›๋ฆฌ: ๋จผ์ € ๋„์ฐฉํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จผ์ € ์‹คํ–‰๋จ
  • ์žฅ์ : ๊ฐ„๋‹จํ•˜๊ณ  ๊ณต์ •ํ•จ
  • ๋‹จ์ : ๊ธด ์ž‘์—…์ด ๋จผ์ € ๋„์ฐฉํ•˜๋ฉด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์˜ค๋ž˜ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ํ˜ธ์œ„ ํšจ๊ณผ(Convoy Effect) ๋ฐœ์ƒ ๊ฐ€๋Šฅ

๐Ÿ–ฅ ์˜ˆ์ œ

ํ”„๋กœ์„ธ์Šค | ๋„์ฐฉ ์‹œ๊ฐ„ | ์‹คํ–‰ ์‹œ๊ฐ„
P1      | 0       | 5
P2      | 1       | 3
P3      | 2       | 2

์‹คํ–‰ ์ˆœ์„œ: P1 โ†’ P2 โ†’ P3

FCFS ์Šค์ผ€์ค„๋ง


2๏ธโƒฃ ์ตœ๋‹จ ์ž‘์—… ์šฐ์„  (SJF, Shortest Job First)

  • ์›๋ฆฌ: ์‹คํ–‰ ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ํ”„๋กœ์„ธ์Šค๋ถ€ํ„ฐ ์‹คํ–‰
  • ์žฅ์ : ํ‰๊ท  ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Œ
  • ๋‹จ์ : ๊ธด ์ž‘์—…์ด ๊ณ„์† ๋ฐ€๋ฆฌ๋ฉด์„œ ์‹คํ–‰๋˜์ง€ ๋ชปํ•˜๋Š” ๊ธฐ์•„ ํ˜„์ƒ(Starvation) ๋ฐœ์ƒ ๊ฐ€๋Šฅ

๐Ÿ–ฅ ์˜ˆ์ œ

ํ”„๋กœ์„ธ์Šค | ์‹คํ–‰ ์‹œ๊ฐ„
P1      | 6
P2      | 2
P3      | 8
P4      | 3

์‹คํ–‰ ์ˆœ์„œ: P2 โ†’ P4 โ†’ P1 โ†’ P3

SJF ์Šค์ผ€์ค„๋ง


3๏ธโƒฃ ๋ผ์šด๋“œ ๋กœ๋นˆ (RR, Round Robin)

  • ์›๋ฆฌ: ๊ฐ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ๋™์ผํ•œ ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์„ ๋ถ€์—ฌํ•˜๊ณ , ์ˆœํ™˜ํ•˜๋ฉด์„œ CPU๋ฅผ ์‹คํ–‰
  • ์žฅ์ : ์‘๋‹ต ์‹œ๊ฐ„์ด ๊ฐœ์„ ๋˜๋ฉฐ, ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ผ์ •ํ•˜๊ฒŒ CPU๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
  • ๋‹จ์ : ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์ด ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ๋ฌธ๋งฅ ๊ตํ™˜(Context Switching) ์˜ค๋ฒ„ํ—ค๋“œ ์ฆ๊ฐ€

๐Ÿ–ฅ ์˜ˆ์ œ (Time Quantum = 2)

ํ”„๋กœ์„ธ์Šค | ์‹คํ–‰ ์‹œ๊ฐ„
P1      | 5
P2      | 3
P3      | 6

์‹คํ–‰ ์ˆœ์„œ: P1(2) โ†’ P2(2) โ†’ P3(2) โ†’ P1(2) โ†’ P3(2) โ†’ P1(1) โ†’ P3(2)

RR ์Šค์ผ€์ค„๋ง


4๏ธโƒฃ ๋‹ค๋‹จ๊ณ„ ํ (Multilevel Queue Scheduling)

  • ์›๋ฆฌ: ํ”„๋กœ์„ธ์Šค๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ๋กœ ๋ถ„๋ฅ˜ํ•˜๊ณ , ๊ฐ ํ์— ๋‹ค๋ฅธ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉ
  • ์˜ˆ์ œ:
    • ๋†’์€ ์šฐ์„ ์ˆœ์œ„ ํ: ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์ž‘์—… (๋ผ์šด๋“œ ๋กœ๋นˆ)
    • ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„ ํ: ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—… (FCFS)
  • ์žฅ์ : ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ž‘์—…์„ ๋น ๋ฅด๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ
  • ๋‹จ์ : ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค๋Š” ์˜ค๋žซ๋™์•ˆ ์‹คํ–‰๋˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Œ (๊ธฐ์•„ ํ˜„์ƒ)

Multilevel Queue ์Šค์ผ€์ค„๋ง


๊ธฐ์•„ ํ˜„์ƒ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ๐ŸŒŸ

๊ธฐ์•„ ํ˜„์ƒ(Starvation)์ด๋ž€ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณ„์† ์‹คํ–‰๋˜์ง€ ๋ชปํ•˜๊ณ  ๋Œ€๊ธฐ ์ƒํƒœ์— ๋น ์ง€๋Š” ๋ฌธ์ œ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์—์ด์ง•(Aging) ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โœ” ์—์ด์ง•(Aging) ๊ธฐ๋ฒ•

  • ์˜ค๋ž˜ ๋Œ€๊ธฐํ•œ ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ ์ง„์ ์œผ๋กœ ์ฆ๊ฐ€์‹œ์ผœ ๊ฒฐ๊ตญ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ํ•จ
  • ์ฆ‰, ๊ธฐ๋‹ค๋ฆฐ ์‹œ๊ฐ„์ด ๊ธธ์ˆ˜๋ก ์‹คํ–‰๋  ํ™•๋ฅ ์ด ๋†’์•„์ง!

โœจ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ

CPU ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ๊ณผ ์‘๋‹ต ์‹œ๊ฐ„์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ์‹œ์Šคํ…œ์˜ ์‘๋‹ต ์†๋„์™€ ํšจ์œจ์„ฑ์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿš€ ํ•œ ์ค„ ์š”์•ฝ: ์šด์˜์ฒด์ œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ CPU ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•œ๋‹ค!

์ด์ œ ์—ฌ๋Ÿฌ๋ถ„๋„ CPU ์Šค์ผ€์ค„๋ง์˜ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ณ , ์ ์ ˆํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜์—ˆ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค! ๐Ÿ˜Š

0๊ฐœ์˜ ๋Œ“๊ธ€