์šฐ๊ทœ์ด์ธ์šฐ์œค
Eager To Learn ๐ŸŒŒ
์šฐ๊ทœ์ด์ธ์šฐ์œค
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿก ํ™ˆ
  • ๐Ÿš€ ๊นƒํ—ˆ๋ธŒ
  • โ›… ํƒœ๊ทธ ํด๋ผ์šฐ๋“œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (217)
    • ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS (170)
      • JAVA (82)
      • MYSQL (1)
      • Docker (2)
      • PYTHON (24)
      • LeetCode 150 (39)
      • Algorithm ๊ธฐ๋ฒ• (1)
      • ๋ฐ”ํ‚น๋… (21)
    • ๋ธ”๋กœ๊ทธ ์ด์‚ฌ (0)
    • Error (1)
    • CS (15)
      • DataBase (2)
      • OS (7)
      • Network (1)
      • Spring (1)
      • ์ž๋ฃŒ๊ตฌ์กฐ (3)
      • Java (1)
    • Learned (7)
      • Spring (7)
    • ๊ฐœ๋ฐœ์„œ์  (15)
      • ๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ (1)
      • ์˜ค๋ธŒ์ ํŠธ - ์กฐ์˜ํ˜ธ (7)
      • ์นœ์ ˆํ•œ SQL ํŠœ๋‹ (7)
    • ํšŒ๊ณ  (2)
hELLO ยท Designed By ์ •์ƒ์šฐ.
์šฐ๊ทœ์ด์ธ์šฐ์œค

Eager To Learn ๐ŸŒŒ

CS/OS

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

2023. 8. 14. 16:48

๋„์„œ ์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” ์šด์˜์ฒด์ œ์™€ ๊ฐ•์˜ ์šด์˜์ฒด์ œ-๋ฐ˜ํšจ๊ฒฝ ๋ฅผ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

 

๐Ÿ“Œ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ”„๋กœ์„ธ์Šค

ํ”„๋กœ๊ทธ๋žจ์€ ์ €์žฅ์žฅ์น˜์— ์ €์žฅ๋˜์–ด์žˆ๋Š” ์ •์ ์ธ ์ƒํƒœ์ด๋‹ค.

 

ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰์„ ์œ„ํ•ด ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜จ ๋™์ ์ธ ์ƒํƒœ์ด๋‹ค.

 

 

๐Ÿ“Œ ํ”„๋กœ์„ธ์Šค์˜ 5 ๊ฐ€์ง€ ์ƒํƒœ

 

ํ”„๋กœ์„ธ์Šค๋ฅผ ์ผ๊ด„ ์ž‘์—…์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉด, ๋ฉ”๋ชจ๋ฆฌ์— ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋งŒ ์˜ฌ๋ ค๋†“๊ณ  ์‚ฌ์šฉํ•˜๋ฉด ๋˜์ง€๋งŒ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋ ๋•Œ๊นŒ์ง€ ๋ฌดํ•œ์ • ๋Œ€๊ธฐํ•ด์•ผํ•œ๋‹ค.

 

๋”ฐ๋ผ์„œ, ์‹œ๋ถ„ํ•  ์ž‘์—… ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค์— CPU๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์„ ๋ถ„๋ฐฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐ”๋€”๋•Œ๋งˆ๋‹ค ๋ฌธ๋งฅ๊ตํ™˜์ด๋ผ๋Š” ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜์ง€๋งŒ, ์ผ๊ด„ ์ž‘์—… ์‹œ ์ƒ๊ธฐ๋Š” CPU์˜ ๋‚ญ๋น„๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

1. ์ƒ์„ฑ ์ƒํƒœ

ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์‹คํ–‰์ค€๋น„๋ฅผ ์™„๋ฃŒํ•œ ์ƒํƒœ์ด๋‹ค.

 

ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ PCB๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

 

PCB(Process Control Block : ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก) : ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ์ •๋ณด๊ฐ€ ๋“ค์–ด์žˆ๋‹ค. 

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ํ”„๋กœ์„ธ์Šค๋Š” ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์‚ญ์ œ๋˜๊ณ  PCB๋„ ํ๊ธฐ๋œ๋‹ค.

 

2. ์ค€๋น„ ์ƒํƒœ

PCB๋ฅผ ์ƒ์„ฑํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์–ป์„ ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ์ด๋‹ค.

 

CPU๊ฐ€ ํ•˜๋‚˜๋ผ๋ฉด ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰ ์ˆœ์„œ๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผํ•œ๋‹ค.

 

CPU ์Šค์ผ€์ฅด๋Ÿฌ๊ฐ€ dispatch(PID)๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, PID์— ํ•ด๋‹นํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค€๋น„ ์ƒํƒœ์—์„œ ์‹คํ–‰์ƒํƒœ๋กœ ๋ฐ”๋€Œ์–ด ์ž‘์—…์ด ์ด๋ฃจ์–ด์ง„๋‹ค.

 

3. ์‹คํ–‰ ์ƒํƒœ

์ค€๋น„ ์ƒํƒœ์— ์žˆ๋˜ ํ”„๋กœ์„ธ์Šค ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ƒํƒœ๋กœ, ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ CPU๋ฅผ ์‚ฌ์šฉํ•  ๊ถŒ๋ฆฌ๋ฅผ ๊ฐ–๋Š”๋‹ค.

 

์ฃผ์–ด์ง„ ์‹œ๊ฐ„์„ ๋‹ค ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด, ์ค€๋น„ ์ƒํƒœ๋กœ ๋‹ค์‹œ ๋Œ์•„์™€ ์ฐจ๋ก€๋ฅผ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. (์‹œ๋ถ„ํ•  ๋ฐฉ์‹)

 

์‹œ๊ฐ„์„ ๋‹ค ์‚ฌ์šฉํ•˜๋ฉด timeout(PID)๊ฐ€ ์‹คํ–‰๋˜์–ด ์‹คํ–‰ ์ƒํƒœ์—์„œ ์ค€๋น„ ์ƒํƒœ๋กœ ์˜ฎ๊ธด๋‹ค.

 

 

์‹คํ–‰ ์ƒํƒœ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž…์ถœ๋ ฅ์„ ์š”์ฒญํ•˜๋ฉด

 

CPU๋Š” ์ž…์ถœ๋ ฅ ๊ด€๋ฆฌ์ž์—๊ฒŒ ์ž…์ถœ๋ ฅ์„ ์š”์ฒญํ•˜๊ณ  block(PID)๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ์˜ฎ๊ธด๋‹ค.

 

 

์ž‘์—…์ด ์™„๋ฃŒ๋œ ๊ฒฝ์šฐ์—๋Š” exit(PID)๊ฐ€ ์‹คํ–‰๋˜์–ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๊ณ  ๊ด€๋ จ PCB๋„ ํ๊ธฐ๋œ๋‹ค.

 

4. ๋Œ€๊ธฐ ์ƒํƒœ

์ž…์ถœ๋ ฅ์„ ์š”๊ตฌํ–ˆ๋˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž…์ถœ๋ ฅ์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ์ด๋‹ค.

 

์ž…์ถœ๋ ฅ ๊ด€๋ฆฌ์ž๋Š” ์ž…์ถœ๋ ฅ์ด ์™„๋ฃŒ๋˜๋ฉด CPU์—๊ฒŒ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ณด๋‚ด ์™„๋ฃŒ๋์Œ์„ ์•Œ๋ฆฐ๋‹ค.

 

๋Œ€๊ธฐ ์ƒํƒœ์— ์žˆ๋˜ ํ”„๋กœ์„ธ์Šค๋Š” wakeUp(PID)๋กœ ์ค€๋น„ ์ƒํƒœ๋กœ ์ด๋™ํ•ด CPU๋ฅผ ํ• ๋‹น๋ฐ›๊ธฐ ์œ„ํ•ด ์ฐจ๋ก€๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋œ๋‹ค.

 

5. ์™„๋ฃŒ ์ƒํƒœ

์‹คํ–‰ ์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฃผ์–ด์ง„ ์‹œ๊ฐ„ ๋™์•ˆ ์ž‘์—…์„ ๋งˆ์น˜๋ฉด ์™„๋ฃŒ ์ƒํƒœ๊ฐ€ ๋˜์–ด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ญ์ œํ•˜๊ณ  PCB๋ฅผ ํ๊ธฐํ•œ๋‹ค.

 

 

๐Ÿ“Œ ๋ฌธ๋งฅ ๊ตํ™˜

๋ฌธ๋งฅ ๊ตํ™˜์€ CPU๋ฅผ ์ฐจ์ง€ํ•˜๋˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‚˜๊ฐ€๊ณ  ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฐ›์•„๋“ค์ด๋Š” ์ž‘์—…์„ ๋งํ•œ๋‹ค.

 

์‹คํ–‰ ์ƒํƒœ์—์„œ ๋น ์ ธ๋‚˜๊ฐ€๋Š” PCB๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ์‹คํ–‰ ์ƒํƒœ๋กœ ๋“ค์–ด์˜ค๋Š” PCB๋ฅผ ์„ธํŒ…ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

 

์‹คํ–‰ ์ƒํƒœ์— ์žˆ๋˜ ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—… ์ง„ํ–‰ ์ƒํ™ฉ์„ PCB์— ์ €์žฅํ•˜๊ณ  ๋“ค์–ด์˜ค๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ƒˆ๋กœ์šด PCB๋ฅผ ์„ธํŒ…ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.

 

 

์šด์˜์ฒด์ œ์˜ ๋„์›€์ด ํ•„์š”ํ•ด์„œ System call ์„ ํ•˜๊ฑฐ๋‚˜ ์™ธ๋ถ€์—์„œ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋“ค์–ด์™€์„œ,

 

์ปค๋„๋ชจ๋“œ๋กœ ๋˜์—ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์‚ฌ์šฉํ•˜๋˜ ํ”„๋กœ์„ธ์Šค์— CPU๋กœ ๋Œ์•„์˜ค๋Š” ๊ฒฝ์šฐ๋Š” ๋ฌธ๋งฅ๊ตํ™˜์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์—†๋‹ค.

 

ํ•˜์ง€๋งŒ, ์ด์œ  ๋ถˆ๋ฌธํ•˜๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ๋ฌธ๋งฅ๊ตํ™˜์ด ์ผ์–ด๋‚œ ๊ฒƒ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

๐Ÿ“Œ ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ

ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ณต์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.

 

fork()

fork() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์€ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋กœ ๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

 

๐Ÿ’ก ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณต์‚ฌํ•  ๋•Œ ๊ธฐ์กด์˜ ํ”„๋กœ์„ธ์Šค๋Š” ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋˜๊ณ  ์ƒˆ๋กœ ์ƒ๊ธด ํ”„๋กœ์„ธ์Šค๋Š” ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋œ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋‘ ํ”„๋กœ์„ธ์Šค๋Š” ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋กœ ์—ฐ๊ฒฐ๋œ๋‹ค.

 

 

์œ„ ๊ทธ๋ฆผ ์ฒ˜๋Ÿผ, ์ž์‹ ํ”„๋กœ์„ธ์Šค์˜ PPID(๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์˜ ๊ตฌ๋ถ„์ž)์— ๋ถ€๋ชจ PID๊ฐ€ ์ž…๋ ฅ๋˜๊ณ 

 

๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์˜ CPID(์ž์‹ ํ”„๋กœ์„ธ์Šค์˜ ๊ตฌ๋ถ„์ž)์—๋Š” ์ž์‹ PID๊ฐ€ ์ž…๋ ฅ๋œ๋‹ค.

 

๐Ÿ’ก fork() ๋ฅผ ํ™œ์šฉํ•ด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ํ•˜๋“œ๋””์Šคํฌ์— ์ ‘๊ทผํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์„ฑ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ 

 

์ž์‹ ํ”„๋กœ์„ธ์Šค์˜ ์ž์›์ด ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜๊ธฐ ์ „(Copy-on-write)๊นŒ์ง€ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋˜ ์ž์›์„ ์ƒ์†๋ฐ›์•„ ๊ณต์œ ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ

 

์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋ ๋•Œ ์ž์› ํšŒ์ˆ˜๋ฅผ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ๋งก๊ธธ ์ˆ˜ ์žˆ์–ด ํšจ์œจ์ ์ด๋‹ค.

 

 

์™ผ์ชฝ ์ฝ”๋“œ๊ฐ€ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์ด๊ณ  ์˜ค๋ฅธ์ชฝ ์ฝ”๋“œ๊ฐ€ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์˜ fork() ํ•จ์ˆ˜๋กœ ๋งŒ๋“ค์–ด์ง„ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ํ•  ๋•Œ,

 

์ž์‹ ํ”„๋กœ์„ธ์Šค๋Š” fork() ์ดํ›„์˜ ๋กœ์ง๋งŒ ์‹คํ–‰๋œ๋‹ค.

 

๊ทธ ์ด์œ ๋Š”, ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์˜ fork() ์ž‘์—…์œผ๋กœ ๋ณต์‚ฌ๊ฐ€ ๋˜๊ณ  ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์˜ PC ๋ ˆ์ง€์Šคํ„ฐ๋Š” fork() ๊นŒ์ง€ ์ˆ˜ํ–‰ํ–ˆ์Œ์ด ๊ธฐ๋ก๋œ ์ƒํƒœ๋กœ ๊ฐ™์ด ๋ณต์ œ๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์— 

 

์ž์‹ ํ”„๋กœ์„ธ์Šค ์—ญ์‹œ, ์ฝ”๋“œ์˜ ์ฒ˜์Œ ๋ถ€๋ถ„๋ถ€ํ„ฐ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ fork() ๋ฌธ ์ดํ›„ ๋ถ€ํ„ฐ ์‹คํ–‰๋˜๊ฒŒ ๋œ๋‹ค.

 

exec()

exec() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์€ ๊ธฐ์กด์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋กœ ์ „ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

 

์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ PCB, ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ, ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ํŽธ๋ฆฌํ•˜๊ณ  ์ƒˆ๋กœ์šด ์ฝ”๋“œ ์˜์—ญ๋งŒ ๊ฐ€์ ธ์˜ค๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์ ์ด๋‹ค.

 

 

์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ, PID, PPID, CPID ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค์™€ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค.

 

exit() ์™€ wait()

exit() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์€ ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ ์‹œ ์‚ฌ์šฉํ•˜๋Š” ์‹œ์Šคํ…œ ํ˜ธ์ถœ์ด๊ณ 

 

wait() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์€ ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋ ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐํ•˜๋Š” ์‹œ์Šคํ…œ ํ˜ธ์ถœ์ด๋‹ค.

 

๐Ÿ’ก ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จผ์ € ์ข…๋ฃŒ๋˜๋ฉด ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ๋Š”์ง€ ์ฒดํฌํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์ƒ์ด ์‚ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์—

 

๋น„์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜์ง€ ์•Š์€ ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‚จ์•„์žˆ์ง€ ์•Š๋„๋ก ํ•˜๋Š” ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ์–ด ์ž์› ๋‚ญ๋น„๋ฅผ ๋ง‰์„ ์ˆ˜ ์žˆ.

 

 

๐Ÿ“Œ ํ”„๋กœ์„ธ์Šค์˜ ๊ตฌ์กฐ์™€ ์Šค๋ ˆ๋“œ

 

 

ํ”„๋กœ์„ธ์Šค๋Š” ํฌ๊ฒŒ ์ฝ”๋“œ ์˜์—ญ, ๋ฐ์ดํ„ฐ ์˜์—ญ, ์Šคํƒ ์˜์—ญ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ง„๋‹ค.

์ฝ”๋“œ ์˜์—ญ : ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณธ๋ฌธ์ด ๊ธฐ์ˆ ๋œ ๊ณณ
๋ฐ์ดํ„ฐ ์˜์—ญ : ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋ฉด์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ณ€์ˆ˜๋‚˜ ํŒŒ์ผ ๋“ฑ์˜ ๊ฐ์ข… ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„๋†“์€ ๊ณณ
์Šคํƒ ์˜์—ญ : ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ€์ˆ˜์ ์œผ๋กœ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„๋†“์€ ๊ณณ

 

์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋ฐ›์€ ์ž์›์„ ์ด์šฉํ•˜๋Š” ์‹คํ–‰ ๋‹จ์œ„์ด๋‹ค.

 

์ฆ‰, ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์—๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

 

๊ฐ ์Šค๋ ˆ๋“œ๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ Stack ์˜์—ญ์„ ๊ฐ–๊ณ  ์ฝ”๋“œ, ๋ฐ์ดํ„ฐ, ํž™ ์˜์—ญ์€ ๊ณต์œ ํ•œ๋‹ค.

 

 

๐Ÿ“Œ ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค์™€ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ

 

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

๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹จ์–ด ๊ทธ๋Œ€๋กœ, ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ์ž‘์—…์„ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๐Ÿ’ก ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค๋Š” ์„œ๋กœ ๋…๋ฆฝ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฐ–๊ธฐ ๋•Œ๋ฌธ์—, ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ๋„ ์„œ๋กœ์—๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

 

๋‹ค๋งŒ, ๐Ÿšจ ์„œ๋กœ์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์–ด ์ •๋ณด ์ฃผ๊ณ  ๋ฐ›์•„์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ IPC ํ†ต์‹ ์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”๋ฐ ๋น„ํšจ์œจ์ ์ด๊ณ  ๋ณต์žกํ•˜๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  CPU ์ž์›์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ต์ฒดํ•˜๋Š” ๋ฌธ๋งฅ ๊ตํ™˜ ๊ณผ์ •์ด ๋นˆ๋ฒˆํ•˜๊ฒŒ ์ผ์–ด๋‚˜ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ž‘์—… ๋‹จ์œ„๋ฅผ ์Šค๋ ˆ๋“œ๋ผ๊ณ  ํ•œ๋‹ค.

 

์ด๋Ÿฌํ•œ ์Šค๋ ˆ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

 

์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์‹œ์— ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ์ผ ์Šค๋ ˆ๋“œ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์„ธ์Šค ๋‚ด์˜ Code, Data, Heap ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—

 

๋ณ€ํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š” ๋ ˆ์ง€์Šคํ„ฐ, ์Šคํƒ ๋“ฑ์˜ ์˜์—ญ๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋˜๋ฏ€๋กœ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์Šค๋ ˆ๋“œ ๊ฐ„ ํšจ์œจ์ ์œผ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๊ณ  ๋ฌธ๋งฅ ๊ตํ™˜์ด ํ”„๋กœ์„ธ์Šค๊ฐ„ ๋ฌธ๋งฅ ๊ตํ™˜๋ณด๋‹ค ๋นจ๋ผ ์ž‘์—… ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

 

๋‹ค๋งŒ, ๐Ÿšจ ํ•œ ์Šค๋ ˆ๋“œ์—์„œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๊ฐ€ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๊ณ , ๊ณต์œ  ์ž์›์˜ ๋™๊ธฐํ™” ์ž‘์—… ๋•Œ๋ฌธ์— ๋ณ‘๋ชฉ ํ˜„์ƒ์ด๋‚˜ ๋ฐ๋“œ๋ฝ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ์™€ ์ปค๋„ ์Šค๋ ˆ๋“œ

์ปค๋„ ์Šค๋ ˆ๋“œ๋Š” ์ปค๋„์ด ์ง์ ‘ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์Šค๋ ˆ๋“œ์ด๋‹ค.

 

์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์˜ํ•ด ๊ตฌํ˜„๋œ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ๋ฐฉ์‹์ด๊ณ  ์ปค๋„์ด ํ•˜๋Š” ์ผ์„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋Œ€์‹  ์ฒ˜๋ฆฌํ•œ๋‹ค.

 

๋”ฐ๋ผ์„œ, ์ปค๋„ ์ž…์žฅ์—์„œ ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๋Š” ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค.

 

์Šค๋ ˆ๋“œ๊ฐ„ ๋ฌธ๋งฅ ๊ตํ™˜ ๊ณผ์ •์ด ์—†์–ด ์†๋„๊ฐ€ ๋น ๋ฅด์ง€๋งŒ, ์ปค๋„ ์ž…์žฅ์—์„œ ์ด ํ”„๋กœ์„ธ์Šค๋Š” ๋‹จ์ผ ์Šค๋ ˆ๋“œ์ฒ˜๋Ÿผ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์—

 

๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š” ์ปค๋„์ด์–ด๋„, ์Šค๋ ˆ๋“œ ๊ฐ„ ์ž‘์—…์„ ๋ถ„๋ฐฐํ•  ์ˆ˜ ์—†๋‹ค.

    'CS/OS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ๊ต์ฐฉ ์ƒํƒœ(DeadLock)
    • ํ”„๋กœ์„ธ์Šค ๋™๊ธฐํ™”
    • CPU ์Šค์ผ€์ค„๋ง
    • ์šด์˜์ฒด์ œ๋ž€?
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ๊ฐœ๋ฐœ์ž ๊ฟˆ๋‚˜๋ฌด

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”