์Šค๋ ˆ๋“œํ”„๋กœ์„ธ์Šค

[ CS > ์šด์˜์ฒด์ œ ]

[์šด์˜์ฒด์ œ] ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ

ย Carrot Yoon
ย 2025-07-15
ย 17

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์ „์— ํ”„๋กœ๊ทธ๋žจ(Program)์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผ ํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์€ "์–ด๋–ค ์ž‘์—…์„ ์œ„ํ•ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ"๋กœ์จ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜์— ์กด์žฌํ•˜์—ฌ ์‹คํ–‰๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋ช…๋ น์–ด์™€ ์ •์  ๋ฐ์ดํ„ฐ ๋ฌถ์Œ์ด๋‹ค.

1. ํ”„๋กœ์„ธ์Šค(Process)

ํ”„๋กœ์„ธ์Šค๋ž€ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๊ณ ์žˆ์–ด ๋ฉ”๋ชจ๋ฆฌ(์ฃผ๊ธฐ์–ต ์žฅ์น˜, ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ, RAM)์— ์˜ฌ๋ผ์˜จ ์ธ์Šคํ„ด์Šค์ด๋‹ค. ๋ณด์กฐ ๊ธฐ์–ต์žฅ์น˜(ํ•˜๋“œ๋””์Šคํฌ, ROM)์— ์ €์žฅ๋œ ์ฝ”๋“œ๋ญ‰์น˜์™€ ์ •์  ๋ฐ์ดํ„ฐ๊ฐ€ ์‹คํ–‰์„ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ(RAM)์— ํ• ๋‹น๋œ ๊ฒƒ์„ ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ์‹œ์Šคํ…œ ์ž์›์„ ํ• ๋‹น๋ฐ›๋Š” ์ž‘์—…์˜ ๋‹จ์œ„์ด๋ฉฐ ์‹คํ–‰๋œ ํ”„๋กœ๊ทธ๋žจ์„ ์˜๋ฏธํ•œ๋‹ค.

image.webp

ํ”„๋กœ์„ธ์Šค๋Š” Code, Data, Stack, Heap ์˜์—ญ 4๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

  • ์ฝ”๋“œ(Code): ํ•จ์ˆ˜ ์ฝ”๋“œ๋“ค์ด ์กด์žฌ

  • ๋ฐ์ดํ„ฐ(Data): ์ „์—ญ ๋ณ€์ˆ˜์™€ Static ๋ณ€์ˆ˜ ์ €์žฅ ๊ณต๊ฐ„

  • ์Šคํƒ(Stack): ์ฝ”๋“œ ์‹คํ–‰์‹œ ์ƒ์„ฑ๋˜๋Š” ์ง€์—ญ ๋ณ€์ˆ˜, ๋งค๊ฐœ ๋ณ€์ˆ˜, ๋ฆฌํ„ด ์ฃผ์†Œ๋“ฑ์ด ์กด์žฌํ•˜๋Š” ์˜์—ญ(์ฝ”๋“œ ์‹คํ–‰์„ ์œ„ํ•œ ์˜์—ญ)

  • ํž™(Heap): ๋Ÿฐํƒ€์ž„ ์ค‘์— ๋™์ ํ• ๋‹น๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ

2. ์Šค๋ ˆ๋“œ(Thread)

"ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ํ๋ฆ„์˜ ๋‹จ์œ„"๋กœ์จ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋ฐ›์€ ์ž์›์„ ์ด์šฉํ•˜๋Š” ์‹คํ–‰ ๋‹จ์œ„์ด๋‹ค. ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ์ตœ์†Œ 1๊ฐœ ์ด์ƒ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ํ• ๋‹น๋ฐ›๊ณ , ์ฝ”๋“œ, ๋ฐ์ดํ„ฐ, ํž™ ์˜์—ญ์€ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ๊ณต์œ ํ•˜๊ณ , ์Šคํƒ์€ ์Šค๋ ˆ๋“œ๋ณ„๋กœ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.

image.webp

3. PCB์™€ TCB

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ๋Š” PCB(Process Control Block)์™€ TCB(Thread control Block)์˜ ์ •๋ณด๋ฅผ ํ†ตํ•ด ์ œ์–ด ๋œ๋‹ค. PCB๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์ปค๋„ ์˜์—ญ์— ์žˆ๊ณ , TCB๋Š” PCB์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ปค๋„ ์˜์—ญ์— PCB๋ฅผ ํ…Œ์ด๋ธ” ํ˜•ํƒœ๋กœ ๊ด€๋ฆฌ๋ฅผ ํ•˜๋ฉฐ, ์ด PCB์—๋Š” ๋‹ค์Œ ์‹คํ–‰ํ•  ์ฝ”๋“œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” PC(Program Counter), Process State(ํ”„๋กœ์„ธ์Šค ์ƒํƒœ), Pointer ์ •๋ณด ๋“ฑ์ด ๋‹ด๊ฒจ ์žˆ๊ณ , TCB๋Š” ๋ถ€๋ชจ PCB ํฌ์ธํ„ฐ, Stack ํฌ์ธํ„ฐ, ์Šค๋ ˆ๋“œ ์ƒํƒœ, PC ๋“ฑ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

ํฌ์ธํ„ฐ

ํ”„๋กœ์„ธ์Šค ์ƒํƒœ

ํ”„๋กœ์„ธ์Šค ๊ตฌ๋ถ„์ž(Process State)

ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ(PC)

ํ”„๋กœ์„ธ์Šค ์šฐ์„ ์ˆœ์œ„

๋ ˆ์ง€์Šคํ„ฐ ๋ฌธ๋งฅ

ํ• ๋‹น๋œ ์ž์› ์ •๋ณด

๋ฉ”๋ชจ๋ฆฌ ์ •๋ณด

PID, PPID, CPID

...

ํ”„๋กœ์„ธ์Šค PCB

ํฌ์ธํ„ฐ

์“ฐ๋ ˆ๋“œ ์ƒํƒœ

ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ(PC)

๋ ˆ์ง€์Šคํ„ฐ ๋ฌธ๋งฅ

๋ถ€๋ชจ PCB ์ฃผ์†Œ

์“ฐ๋ ˆ๋“œ ID

...

์“ฐ๋ ˆ๋“œ TCB

์œ„ ํ‘œ์—์„œ CPU๊ฐ€ ๋งˆ์ง€๋ง‰ ๊นŒ์ง€ ์‹คํ–‰ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ค‘์š”ํ•œ ๋ถ€๋ถ„์€ Status(์ƒํƒœ), PC, SP(ํฌ์ธํ„ฐ)์ด๋‹ค. SP๋Š” ๊ฐ€์žฅ ์ตœ๊ทผ๊นŒ์ง€ ์‹คํ–‰ํ•œ ์ฝ”๋“œ ๋ถ€๋ถ„์˜ ๋งˆ์ง€๋ง‰ ์ฃผ์†Œ ๋ถ€๋ถ„์ด๋ผ๊ณ  ๋ณด๋ฉด ๋˜๊ณ , PC๋Š” ๋‹ค์Œ์— ์‹คํ–‰ํ•  ์ฝ”๋“œ๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , Status๋Š” Blocked๋œ ์ƒํƒœ์ธ์ง€, ์‹คํ–‰ ์ค‘์ธ ์ƒํƒœ์ธ์ง€ ๋“ฑ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์ด๋‹ค. ๊ทธ๋ž˜์„œ CPU๋Š” ์‹คํ–‰๋„์ค‘ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผํ•  ๊ฒฝ์šฐ ์ตœ๊ทผ๊นŒ์ง€ ์‹คํ–‰ํ•œ ์ •๋ณด๋ฅผ PCB์™€ TCB์— ๋‹ด์•„๋‘๊ณ  ๋‹ค์‹œ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

3.1 PCB, TCB ๊ทธ๋ฆฌ๊ณ  ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ

PCB์™€ TCB๋Š” ์šด์˜์ฒด์ œ์—์„œ CPU์— ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  CPU์—์„œ๋„ CPU์™€ PCB์˜ ์ •๋ณด๋ฅผ ํ†ตํ•ด ๊ธฐ์กด ์ฒ˜๋ฆฌ ์ค‘์ด๋˜ ์ž‘์—… ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€ ์ž‘์—…์„ ์ด์–ด ๋‚˜๊ฐ€๊ณ  ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์ƒ๊ธฐ๋ฉด ๋‹ค์‹œ PCB๋‚˜ TCB์— ์ €์žฅ์„ ํ•œ๋‹ค.

image.webp

์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์€ ํฌ๊ฒŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ธํ„ฐ๋ŸฝํŠธ๋กœ ์ผ์–ด๋‚œ๋‹ค.

์˜ˆ์‹œ

์„ค๋ช…

์ž๋ฐœ์  ์ธํ„ฐ๋ŸฝํŠธ

์‹œ์Šคํ…œ ์ฝœ (System Call)

์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค๊ฐ€ OS์˜ ๊ธฐ๋Šฅ์„ ์š”์ฒญํ•  ๋•Œ, ์˜ˆ: read(), write()

์ž…์ถœ๋ ฅ ์š”์ฒญ

CPU๊ฐ€ ์•„๋‹ˆ๋ผ ๋””์Šคํฌ๋‚˜ ๋„คํŠธ์›Œํฌ I/O๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์•ˆ CPU๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์–‘๋ณด

sleep(), wait() ๋“ฑ ๋Œ€๊ธฐ ํ˜ธ์ถœ

๋ช…์‹œ์ ์œผ๋กœ ๋ธ”๋กœํ‚น ํ˜ธ์ถœ์„ ํ•˜๋Š” ๊ฒฝ์šฐ

yield() ํ˜ธ์ถœ

๋ช…์‹œ์ ์œผ๋กœ CPU๋ฅผ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์—๊ฒŒ ์–‘๋ณดํ•จ (์ž˜ ์•ˆ ์”€)

๋น„์ž๋ฐœ์  ์ธํ„ฐ๋ŸฝํŠธ

ํƒ€์ด๋จธ ์ธํ„ฐ๋ŸฝํŠธ (Time Slice Expiry)

ํƒ€์ž„ ์Šฌ๋ผ์ด์‹ฑ ์‹œ๊ฐ„ ๋๋‚˜์„œ ๊ฐ•์ œ๋กœ ๋ฌธ๋งฅ ์ „ํ™˜

ํŽ˜์ด์ง€ ํดํŠธ (Page Fault)

์ ‘๊ทผํ•˜๋ ค๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ˜„์žฌ RAM์— ์—†์–ด์„œ OS๊ฐ€ ๊ฐœ์ž…

์˜ˆ์™ธ (์˜ˆ: 0์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ, ๋ถˆ๋ฒ• ๋ช…๋ น์–ด)

CPU ์‹คํ–‰ ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ, OS๊ฐ€ ๊ฐœ์ž…

์™ธ๋ถ€ ์ธํ„ฐ๋ŸฝํŠธ (ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ)

๋””์Šคํฌ, ๋„คํŠธ์›Œํฌ, ํ‚ค๋ณด๋“œ ๋“ฑ์˜ ์žฅ์น˜๊ฐ€ CPU์— ์•Œ๋ฆผ

๊ณ ์šฐ์„ ์ˆœ์œ„ ํ”„๋กœ์„ธ์Šค ๋“ฑ์žฅ (Preemption)

๋” ์ค‘์š”ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ๊ฒจ์„œ ํ˜„์žฌ ํ”„๋กœ์„ธ์Šค ์ค‘๋‹จ

๊ทธ๋ฆฌ๊ณ  PCB์™€ TCB๋Š” ํ์— ๋‹ด๊ฒจ์ ธ์„œ OS๊ฐ€ ํ์—์„œ PCB์˜ ์ •๋ณด๋ฅผ ๊บผ๋‚ด๊ณ  CPU์—์„œ๋Š” ๊ทธ PCB์˜ ์ •๋ณด๋ฅผ ํ† ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ํ๊ฐ€ 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๋ฐ”๋กœ Ready Queue์™€ Blocked Queue๋‹ค. ์—ฌ๊ธฐ์„œ Blocked Queue๋Š” ์‹คํ–‰ ๋„์ค‘์— ์ž๋ฐœ์  ๋ฌธ๋งฅ ๊ตํ™˜์ผ ๊ฒฝ์šฐ์—๋งŒ ๋‹ด๊ฒจ์ง€๊ฒŒ ๋˜๊ณ , ๋‚˜๋จธ์ง€์˜ ๊ฒฝ์šฐ์—๋Š” Ready Queue์— ๋‹ด๊ฒจ์ง€๊ฑฐ๋‚˜ ์ข…๋ฃŒ์ƒํƒœ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.

ํ•ญ๋ชฉ

Ready Queue (์ค€๋น„ ๋ฆฌ์ŠคํŠธ)

Blocked Queue (๋Œ€๊ธฐ ๋ฆฌ์ŠคํŠธ)

์ƒํƒœ

์‹คํ–‰ ์ค€๋น„ ์™„๋ฃŒ

์ด๋ฒคํŠธ(I/O ๋“ฑ) ๋Œ€๊ธฐ ์ค‘

CPU ํ• ๋‹น ๊ฐ€๋Šฅ์„ฑ

๊ณง ํ• ๋‹น ๊ฐ€๋Šฅ

CPU ๋ชป ์”€

ํŠธ๋ฆฌ๊ฑฐ

CPU ์‹œ๊ฐ„ ํ• ๋‹น ์‹œ ์‹คํ–‰

I/O ์š”์ฒญ ๋“ฑ์œผ๋กœ ๋Œ€๊ธฐ

ํ˜„์žฌ ์ƒํƒœ

Ready

Blocked

๋‹ค์Œ ์ƒํƒœ

Running

Ready (์ด๋ฒคํŠธ ์™„๋ฃŒ ์‹œ)

4. ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น, ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค, ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ

์šฐ๋ฆฌ๋Š” ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค, ๋ฉ€ํ‹ฐ ์Šค๋ ˆํŒ…, ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น๊ฐ™์€ ๋‹จ์–ด๋ฅผ ๋งŽ์ด ๋“ฃ๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ ๋ฌด์Šจ ์˜๋ฏธ์ธ์ง€ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.

์„ค๋ช…

ํŠน์ง•

๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น

ํ•˜๋‚˜์˜ CPU ์ฝ”์–ด์—์„œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋น ๋ฅด๊ฒŒ ๋ฒˆ๊ฐˆ์•„ ์‹คํ–‰ํ•˜์—ฌ ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•˜๋Š” ๊ธฐ๋ฒ•

  • ์‚ฌ์šฉ์ž๋Š” ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…์„ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋А๋‚Œ

  • ํƒ€์ž„ ์Šฌ๋ผ์ด์‹ฑ ๊ธฐ๋ฒ•์œผ๋กœ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…๋„ ๋ธ”๋กํ‚น ํ•˜์ง€ ์•Š์Œ

  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งŽ์œผ๋ฉด ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ฆ๊ฐ€

๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค

์—ฌ๋Ÿฌ ๋…๋ฆฝ๋œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๊ฒƒ

  • ํ”„๋กœ์„ธ์Šค๊ฐ„ ๋ฐ์ดํ„ฐ ๊ณต์œ ๊ฐ€ ์–ด๋ ค์›€

  • ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ ๋น„์šฉ์ด ๋” ํผ

  • ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฃฝ์–ด๋„ ์˜ํ–ฅ์ด ์ „ํŒŒ๋˜์ง€ ์•Š์Œ

๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ

ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์‹œ์— ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์Šค๋ ˆ๋“œ๋“ค์€ ๋…๋ฆฝ๋œ ์Šคํƒ์„ ๊ฐ€์ง€๋ฉฐ ๋‹ค๋ฅธ ์ž์›์€ ๊ณต์œ ํ•จ

  • ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค๋ณด๋‹ค ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ ๋น„์šฉ์ด ์ ์Œ

  • ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ ๋ฌธ์ œ์‹œ ์˜ํ–ฅ์ด ์ „ํŒŒ๋จ

๋งˆ๋ฌด๋ฆฌ

ํ•œ๋ฒˆ์— ๋„ˆ๋ฌด ๋งŽ์€ ๊ฐœ๋…์„ ๊ฐ€์ ธ์˜จ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•˜๋‹ค...

CPU์˜ ์ž‘์—…์„ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ PCB, ์Šค๋ ˆ๋“œ์˜ TCB์˜ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•˜๊ณ  ๋‹ค์‹œ ์ €์žฅํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด PCB์™€ TCB๊ฐ€ ์ž‘์—…์„ ์ค‘๋‹จ ํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์ด์–ด์„œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด ์ฃผ๋Š” ์ •๋ณด์ด๊ณ , ์ด๋Ÿฌํ•œ ๋งค์ปค๋‹ˆ์ฆ˜์œผ๋กœ OS๋Š” ์‹œ๋ถ„ํ•  ๋ฐฉ์‹์œผ๋กœ CPU์— ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉด์„œ ํ• ๋‹นํ•ด์ค€๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น, ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค, ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ๋œ ๊ฒƒ์ด๋‹ค.