• ABOUT
  • POSTS
  • GUESTBOOK

ยฉ 2025 BlueCool12 All rights reserved.

2026.04.05OS

๐Ÿ’ป ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ, ๊ทธ๋ฆฌ๊ณ  ๋™์‹œ์„ฑ๊ณผ ๋ณ‘๋ ฌ์„ฑ๊นŒ์ง€

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

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

์šด์˜์ฒด์ œ๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ๋…๋ฆฝ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜์—ญ์„ ๊ฐ€์ง„๋‹ค.

  • Code ์˜์—ญ: ์‹คํ–‰ํ•  ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ
  • Data ์˜์—ญ: ์ „์—ญ ๋ณ€์ˆ˜, static ๋ณ€์ˆ˜
  • Heap ์˜์—ญ: ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ํ•„์š”์— ์˜ํ•ด ๋™์ ์œผ๋กœ ํ• ๋‹นํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ
  • Stack ์˜์—ญ: ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ์ž„์‹œ๋กœ ์ƒ์„ฑ๋˜๋Š” ์ง€์—ญ ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, ๋ฆฌํ„ด ์ฃผ์†Œ

์ด๋Ÿฌํ•œ ๋…๋ฆฝ์  ๊ตฌ์กฐ ๋•๋ถ„์— ํ•œ ํ”„๋กœ์„ธ์Šค์˜ ์˜ค๋ฅ˜๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ ์ „ํŒŒ๋˜์ง€ ์•Š์•„ ์•ˆ์ •์„ฑ์ด ๋†’๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ๋‹จ ํ”„๋กœ์„ธ์Šค๋ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง์ ‘ ์ฐธ์กฐํ•  ์ˆ˜ ์—†๊ณ , ์šด์˜์ฒด์ œ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ณ„๋„์˜ IPC(Inter-Process Communication) ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•ด์•ผ ํ•œ๋‹ค.


*PCB(Process Control Block)

์šด์˜์ฒด์ œ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์‹œ์— ์Šค์ผ€์ค„๋งํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ์‹œ ์ปค๋„ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ๋‚ด๋ถ€ ์ž๋ฃŒ๊ตฌ์กฐ์ธ PCB๋ฅผ ํ•จ๊ป˜ ๋งŒ๋“ ๋‹ค.

PCB์—๋Š” ํ”„๋กœ์„ธ์Šค์˜ ํ˜„์žฌ ์ƒํƒœ, ๊ณ ์œ  ์‹๋ณ„์ž(PID), ๋‹ค์Œ์— ์‹คํ–‰ํ•  ๋ช…๋ น์–ด ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ(PC), ๋ ˆ์ง€์Šคํ„ฐ ์ƒํƒœ ๋ฐ ์Šค์ผ€์ค„๋ง ์ •๋ณด ๋“ฑ์ด ์ €์žฅ๋œ๋‹ค.


2. ๋™์‹œ์„ฑ(Concurrency)

ํ•˜๋‚˜์˜ CPU ์ฝ”์–ด๋Š” ํŠน์ • ์ˆœ๊ฐ„์— ์˜ค์ง ํ•˜๋‚˜์˜ ์ž‘์—…๋งŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ๋ฌผ๋ฆฌ์ ์ธ ์ฝ”์–ด์˜ ์ˆ˜๋ณด๋‹ค ์‹คํ–‰ํ•ด์•ผ ํ•  ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋” ๋งŽ๋‹ค๋ฉด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜์ง€ ๋ชปํ•  ๊ฒƒ์ด๋‹ค. ์‹œ์Šคํ…œ์€ ๋™์‹œ์„ฑ์„ ํ†ตํ•ด ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค.

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

ํ”„๋กœ์„ธ์Šค ๋‹จ์œ„์˜ ๋ฌธ๋งฅ ๊ตํ™˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

  1. ์šด์˜์ฒด์ œ๋Š” ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ(๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’, ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ ๋“ฑ)๋ฅผ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์˜ PCB์— ์ €์žฅํ•œ๋‹ค.
  2. ์Šค์ผ€์ค„๋Ÿฌ์— ์˜ํ•ด ์„ ํƒ๋œ ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค์˜ PCB๋ฅผ ์ฝ์–ด์™€ CPU์— ๋กœ๋“œํ•œ๋‹ค.
  3. ์ด์ „ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋˜ CPU ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ณ , ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ด์–ด์„œ ์‹คํ–‰ํ•œ๋‹ค.

์ด ๊ณผ์ •์ด ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ๋ฐ˜๋ณต๋˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž๋ฅผ ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋А๋ผ๊ฒŒ ๋œ๋‹ค. ๋‹จ, ํ”„๋กœ์„ธ์Šค ๋ฌธ๋งฅ ๊ตํ™˜์€ ๋ ˆ์ง€์Šคํ„ฐ ์ƒํƒœ ๊ต์ฒด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋น„์šฐ๋Š” ๋ง‰๋Œ€ํ•œ ์‹œ์Šคํ…œ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๋™๋ฐ˜ํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.


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

์œ„์™€ ๊ฐ™์€ ๋‹จ์ ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ ๊ฐœ๋…์ด ์Šค๋ ˆ๋“œ์ด๋‹ค. ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด๋ถ€์— ์ƒ์„ฑ๋˜๋Š” ์‹คํ–‰ ํ๋ฆ„์˜ ์ตœ์†Œ ๋‹จ์œ„๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

์Šค๋ ˆ๋“œ๋Š” ์ž์‹ ์ด ์†ํ•œ ํ”„๋กœ์„ธ์Šค์˜ ์ž์›์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด Code, Data, Heap ์˜์—ญ์„ ํ”„๋กœ์„ธ์Šค ๋‚ด์˜ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋“ค๊ณผ ๊ณต์œ ํ•œ๋‹ค. ๋ฐ˜๋ฉด, ๋…๋ฆฝ์ ์ธ ์‹คํ–‰ ํ๋ฆ„์„ ๋ณด์žฅ๋ฐ›๊ธฐ ์œ„ํ•ด Stack ์˜์—ญ๊ณผ PC(Program Counter) ๋ ˆ์ง€์Šคํ„ฐ๋งŒ์€ ๊ฐ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ฐœ๋ณ„์ ์œผ๋กœ ํ• ๋‹น๋ฐ›๋Š”๋‹ค.

์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์‹œ์— ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋”๋ผ๋„ ๊ฐ์ž์˜ ๋งค๊ฐœ๋ณ€์ˆ˜, ์ง€์—ญ ๋ณ€์ˆ˜, ๋ฆฌํ„ด ์ฃผ์†Œ๋ฅผ ๊ฐœ๋ณ„ Stack์— ์ €์žฅํ•จ์œผ๋กœ์จ ์„œ๋กœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์„ž์ด์ง€ ์•Š๊ณ  ๋…๋ฆฝ์ ์ธ ํ•จ์ˆ˜ ์‹คํ–‰์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ ์Šค๋ ˆ๋“œ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜์—ฌ ์ƒ์„ฑ ๋ฐ ๋ฌธ๋งฅ ๊ตํ™˜ ๋น„์šฉ์„ ํš๊ธฐ์ ์œผ๋กœ ๋‚ฎ์ถ”๋ฉด์„œ๋„ ๋™์ผํ•œ ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋™์‹œ์—(๋…๋ฆฝ์ ์œผ๋กœ) ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

๋‹ค๋งŒ ์Šค๋ ˆ๋“œ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ์—์„œ ์ž˜๋ชป๋œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ์ฐธ์กฐ ๋“ฑ์˜ ์น˜๋ช…์ ์ธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด ํ›ผ์†๋  ๊ฒฝ์šฐ, ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰ ์ค‘์ด๋˜ ๋ชจ๋“  ์Šค๋ ˆ๋“œ๊ฐ€ ํ•จ๊ป˜ ๊ฐ•์ œ ์ข…๋ฃŒ๋˜๋Š” ์—ฐ์‡„ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์‹œ์— Data๋‚˜ Heap ์˜์—ญ์˜ ๊ณต์œ  ์ž์›์— ์ ‘๊ทผํ•˜์—ฌ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ ค๊ณ  ํ•  ๋•Œ, ์‹คํ–‰ ํƒ€์ด๋ฐ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์ด ๊นจ์ง€๋Š” ๊ฒฝ์Ÿ ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์—„๊ฒฉํ•œ ๋™๊ธฐํ™” ์ œ์–ด ๋กœ์ง์ด ํ•„์ˆ˜์ ์ด๋‹ค.


4. ๋ณ‘๋ ฌ์„ฑ(Parallelism)

๋ณ‘๋ ฌ์„ฑ์€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ CPU ์ฝ”์–ด๊ฐ€ ๊ฐ๊ฐ ํ• ๋‹น๋ฐ›์€ ์ž‘์—…์„ ๋™์ผํ•œ ์‹œ๊ฐ„์— ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

์•ž์„œ ์„ค๋ช…ํ•œ ๋™์‹œ์„ฑ์ด ๋‹จ์ผ ์ฝ”์–ด ํ™˜๊ฒฝ์—์„œ ๋น ๋ฅธ ๋ฌธ๋งฅ ๊ตํ™˜์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ์ž‘์—…์ด ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ๋งŒ๋“œ๋Š” ๋…ผ๋ฆฌ์  ๊ฐœ๋…์ด๋ผ๋ฉด, ๋ณ‘๋ ฌ์„ฑ์€ ๋ฉ€ํ‹ฐ ์ฝ”์–ด ํ™˜๊ฒฝ์—์„œ ์—ฌ๋Ÿฌ ์ž‘์—…์ด ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์ฝ”์–ด์—์„œ ๋™์‹œ์— ์ฒ˜๋ฆฌ๋˜๋Š” ๋ฌผ๋ฆฌ์  ๊ฐœ๋…์ด๋‹ค.

ํ˜„๋Œ€ ์šด์˜์ฒด์ œ์˜ ์Šค์ผ€์ค„๋Ÿฌ๋Š” ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค๋‚˜ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์ƒ์„ฑ๋œ ์—ฌ๋Ÿฌ ์‹คํ–‰ ํ๋ฆ„์„ ์‹œ์Šคํ…œ ๋‚ด์˜ ๊ฐ€์šฉํ•œ ๋ฌผ๋ฆฌ์  ์ฝ”์–ด๋“ค์— ๋ถ„์‚ฐ ํ• ๋‹นํ•˜์—ฌ ๋ณ‘๋ ฌ ์‹คํ–‰์„ ๊ตฌํ˜„ํ•œ๋‹ค.

์ด์ „ ๊ธ€
๐Ÿ‘ ์ข‹์•„ ๋ณด์—ฌ(Looks Good To Me) | ์—์ด๋“œ๋ฆฌ์—” ๋ธŒ๋ผ๊ฐ„์ž
๋‹ค์Œ ๊ธ€
๋‹ค์Œ ๊ธ€์ด ์—†์Šต๋‹ˆ๋‹ค ( ฮ‡ . ฮ‡)
์žฅ์‹์šฉ ๋กœ๊ณ