๐Ÿ–ฅ๏ธ Computer Science

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

GroovyArea 2024. 3. 3. 15:08

01_ํ”„๋กœ์„ธ์Šค์˜ ๊ฐœ์š”

ํ”„๋กœ์„ธ์Šค์˜ ๊ฐœ๋…


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

์š”์‚ฌ ๋ชจํ˜•์—์˜ ๋น„์œ 


์ผ๊ด„ ์ž‘์—… ๋ฐฉ์‹

  • ํ•œ ๋ฒˆ์— ํ•˜๋‚˜๋งŒ ์ž‘์—… ์ฒ˜๋ฆฌ
  • ์ž‘์—… ํšจ์œจ์ด ๋–จ์–ด์ง„๋‹ค.

์‹œ๋ถ„ํ•  ๋ฐฉ์‹

  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์—…์—์„  ์ผ๊ด„ ์ž‘์—… ๋ฐฉ์‹์ด ๋น„ํšจ์œจ์ ์ด๋‹ค.
  • ์‹œ๊ฐ„์„ ์ ๋‹นํžˆ ๋ฐฐ๋ถ„ํ•˜์—ฌ CPU 1๊ฐœ๊ฐ€ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์‹œ ์ฒ˜๋ฆฌ
  • ์˜ˆ์ƒ ์น˜ ๋ชปํ•œ ์ƒํ™ฉ ์ฒ˜๋ฆฌ
    • ์ž‘์—…์„ ๋งˆ๋ฌด๋ฆฌ ํ•˜์ง€ ๋ชปํ•œ ์ƒํ™ฉ์—์„œ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ƒํ™ฉ ๋ฐœ์ƒ

ํ”„๋กœ๊ทธ๋žจ -> ํ”„๋กœ์„ธ์Šค ์ „ํ™˜

  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋  ๋•Œ ํ”„๋กœ๊ทธ๋žจ์€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ ์˜จ๋‹ค.
    • ์ด ๋•Œ, ์ž‘์—… ์ง€์‹œ์„œ์ธ ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋Ÿญ ์ด ๋งŒ๋“ค์–ด์ง„๋‹ค.
    • ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ์ •๋ณด๊ฐ€ ๋“ค์–ด ์žˆ๋‹ค.
    • ํ”„๋กœ๊ทธ๋žจ์ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์€ ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋Ÿญ์„ OS ๋กœ ๋ถ€ํ„ฐ ํ• ๋‹น ๋ฐ›์•˜๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋Ÿญ์˜ ๋Œ€ํ‘œ์ ์ธ 3๊ฐ€์ง€
    • ํ”„๋กœ์„ธ์Šค ๊ตฌ๋ถ„์ž : pid
    • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ จ ์ •๋ณด
      • ์‹คํ–‰ํ•˜๋ ค๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์ €์žฅ ์œ„์น˜
      • ๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ๋ฅผ ์œ„ํ•œ ๊ฒฝ๊ณ„, ํ•œ๊ณ„ ๋ ˆ์ง€์Šคํ„ฐ ํฌํ•จ
    • ๊ฐ์ข… ์ค‘๊ฐ„ ๊ฐ’
      • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ–ˆ๋˜ ์ค‘๊ฐ„ ๋ฐ์ดํ„ฐ
      • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘์—…์„ ์ด์–ด ๊ฐˆ ๋•Œ ํ™œ์šฉ
  • ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋Ÿญ์€ OS ์˜์—ญ์— ๋งŒ๋“ค์–ด์ง„๋‹ค.
  • ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ ์‹œ ์ œ์–ด ๋ธ”๋Ÿญ์€ ํ๊ธฐ ๋œ๋‹ค.

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

  • ์ƒ์„ฑ ์ƒํƒœ
    • ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜จ ์ƒํƒœ
    • ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋Ÿญ ์ƒ์„ฑ, ๊ฐ™์ด ๋ฉ”๋ชจ๋ฆฌ๋กœ ์˜ฎ๊ฒจ์ง
  • ์ค€๋น„ ์ƒํƒœ
    • CPU ๋ฅผ ํ• ๋‹น ๋ฐ›์„ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ
    • ์ค€๋น„ QUEUE ์—์„œ ๋Œ€๊ธฐ
    • ์‹ค์ œ๋กœ๋Š” ๋‹ค์ˆ˜ ์ค€๋น„ ํ ์šด์˜
    • ํ๋ฅผ ์šด์˜ํ•˜๋Š” ๋ฐฉ์‹์€ CPU ์Šค์ผ€์ฅด๋Ÿฌ๊ฐ€ ๊ฒฐ์ •
  • ์‹คํ–‰ ์ƒํƒœ
    • CPU ๋ฅผ ํ• ๋‹น ๋ฐ›์•„ ์‹ค์ œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ƒํƒœ
    • ํ”„๋กœ์„ธ์Šค๋Š” CPU ์‚ฌ์šฉ ๊ถŒ๋ฆฌ ํš๋“
    • ํ• ๋‹น ๋ฐ›์€ ์‹œ๊ฐ„ (ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค) ๋™์•ˆ ์ž‘์—… ๋ฏธ์™„๋ฃŒ ์‹œ ์ค€๋น„ ์ƒํƒœ๋กœ ๋ณต๊ท€
      • "ํƒ€์ž„ ์•„์›ƒ"
    • ์ž…์ถœ๋ ฅ ์š”์ฒญ ์‹œ, block ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰, ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ์˜ฎ๊น€
  • ์™„๋ฃŒ ์ƒํƒœ
    • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘์—…์„ ๋งˆ์นœ ์ƒํƒœ
    • ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋Ÿญ ํ๊ธฐ๋ฅผ ์˜๋ฏธ
    • exit ํ•จ์ˆ˜ ํ˜ธ์ถœ
    • ๊ฐ•์ œ ์ข…๋ฃŒ (abort) ์‹œ, ์ง์ „ ๋ฉ”๋ชจ๋ฆฌ ์ƒํƒœ๋ฅผ ์ €์žฅ์žฅ์น˜๋กœ ์ด๋™ -> ์ฝ”์–ด ๋คํ”„

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

  • ๋Œ€๊ธฐ ์ƒํƒœ
    • ํ”„๋กœ์„ธ์Šค๊ฐ€ IO ๊ด€๋ จ ์ž‘์—… ์š”์ฒญ์„ ์‹คํ–‰ํ•œ ๊ฒฝ์šฐ, ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ๋ฐ”๋€๋‹ค.
    • ์ž‘์—…์˜ ํšจ์œจ์„ฑ์„ ์œ„ํ•จ
    • ์š”์ฒญ ์™„๋ฃŒ ์‹œ, CPU ์Šค์ผ€์ฅด๋Ÿฌ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ ์ƒํƒœ๋กœ ๋งŒ๋“ ๋‹ค.
    • IO ์žฅ์น˜ ๋ณ„ ํ์—์„œ ๋Œ€๊ธฐ
    • IO ์š”์ฒญ ์ž‘์—… ์™„๋ฃŒ ์‹œ, wake up ํ•จ์ˆ˜ ํ˜ธ์ถœ -> ์ธํ„ฐ๋ŸฝํŠธ
  • ํœด์‹ ์ƒํƒœ
    • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘์—…์„ ์ผ์‹œ์ ์œผ๋กœ ์‰ฌ๊ณ  ์žˆ๋Š” ์ƒํƒœ
    • ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋Ÿญ๋„ ์œ ์ง€๋˜๋ฏ€๋กœ, ๋ฉˆ์ถ˜ ์ง€์ ์œผ๋กœ๋ถ€ํ„ฐ ์žฌ์‹œ์ž‘ ๊ฐ€๋Šฅ
  • ๋ณด๋ฅ˜ ์ƒํƒœ
    • ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ž ์‹œ ์ซ“๊ฒจ๋‚œ ์ƒํƒœ (์ผ์‹œ ์ •์ง€ ์ƒํƒœ)
      • ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ชจ์ž๋ž€ ๊ฒฝ์šฐ, ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜, ๋ถ€์ ์ ˆํ•œ ํ”„๋กœ์„ธ์Šค, ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค, IO ์š”์ฒญ ์ž‘์—…์ด ์ง€์—ฐ๋  ๋•Œ
    • ์Šค์™‘ ์˜์—ญ์— ๋ณด๊ด€ ๋œ๋‹ค.

ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋Ÿญ


ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋Ÿญ ๊ตฌ์„ฑ

  • ํฌ์ธํ„ฐ : ํ”„๋กœ์„ธ์Šค ์ œ์–ด๋ธ”๋Ÿญ์˜ ์ฒซ๋ฒˆ์งธ ๋ธ”๋Ÿญ์— ์ €์žฅ (ํ ๊ตฌํ˜„ํ• ๋•Œ ์ด์šฉ)

  • ํ”„๋กœ์„ธ์Šค ์ƒํƒœ : ์ƒ์„ฑ, ์ค€๋น„, ์‹คํ–‰, ๋Œ€๊ธฐ, ๋ณด๋ฅ˜ ์ค€๋น„, ๋ณด๋ฅ˜ ๋Œ€๊ธฐ ๋“ฑ (๋‘ ๋ฒˆ์งธ ๋ธ”๋Ÿญ์— ์ €์žฅ)

  • ํ”„๋กœ๊ทธ๋žจ ๊ตฌ๋ถ„์ž : ์šด์˜์ฒด์ œ ๋‚ด์—์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ

  • ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ : ๋‹ค์Œ์— ์‹คํ–‰ ๋  ๋ช…๋ น์–ด์˜ ์œ„์น˜ ์ €์žฅ

  • ํ”„๋กœ์„ธ์Šค ์šฐ์„ ์ˆœ์œ„ : CPU ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์ค€๋น„์ƒํƒœ์—์„œ ์‹คํ–‰์ƒํƒœ๋กœ ์˜ฎ๊ธธ ๋•Œ ์‚ฌ์šฉ

  • ๊ฐ์ข… ๋ ˆ์ง€์Šคํ„ฐ ์ •๋ณด : ์ž์‹ ์ด ์‚ฌ์šฉํ•˜๋˜ ๋ ˆ์ง€์Šคํ„ฐ์˜ ์ค‘๊ฐ„ ๊ฐ’

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

  • ํ™œ๋‹น๋œ ์ž์› ์ •๋ณด : ์ž…์ถœ๋ ฅ ์ž์›, ์˜คํ”ˆ ํŒŒ์ผ

  • ๊ณ„์ • ์ •๋ณด

  • ๋ถ€๋ชจ ํ”„๋กœ์„ธ์„œ ๊ตฌ๋ถ„์ž, ์ž์‹ ํ”„๋กœ์„ธ์Šค ๊ตฌ๋ถ„์ž


  • ํฌ์ธํ„ฐ์˜ ์—ญํ• 
    • ๊ฐ™์€ IO ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค๋ผ๋ฆฌ ๋ชจ์•„ ๋†“๋Š”๋‹ค.
    • ์ด ๋•Œ, ํฌ์ธํ„ฐ๋ฅผ ํ†ตํ•ด ์ด์ „, ๋‹ค์Œ ์ˆœ์„œ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

๋ฌธ๋งฅ ๊ตํ™˜

  • ํ”„๋กœ์„ธ์Šค ๊ฐ„ ์ž‘์—… ์ „ํ™˜์„ ์˜๋ฏธ
  • ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋Ÿญ์˜ ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ ๋œ๋‹ค.
  • ์ธํ„ฐ๋ŸฝํŠธ ์‹œ์—๋„ ๋ฐœ์ƒํ•œ๋‹ค.

03_ํ”„๋กœ์„ธ์Šค์˜ ์—ฐ์‚ฐ

ํ”„๋กœ์„ธ์Šค์˜ ๊ตฌ์กฐ

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

ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ๊ณผ ๋ณต์‚ฌ

  • fork() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์˜ ๊ฐœ๋…
    • ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋กœ๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ํ•จ์ˆ˜
    • ์ปค๋„์—์„œ ์ œ๊ณต, ์ผ์ข…์˜ ์‹œ์Šคํ…œ ํ˜ธ์ถœ
    • ์ƒˆ๋กœ์šด ์›Œ๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ด ์‹œ์Šคํ…œ ํ˜ธ์ถœ์ด ์‹คํ–‰๋œ๋‹ค. (์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ๋ณด๋‹ค ์†๋„๊ฐ€ ํ›จ์”ฌ ๋น ๋ฅด๋‹ค.)
    • ๋ถ€๋ชจ - ์ž์‹ ๊ด€๊ณ„๋กœ ์—ฐ๊ฒฐ๋œ๋‹ค.
  • fork() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์˜ ๋™์ž‘ ๊ณผ์ •
    • ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋Ÿญ์„ ํฌํ•จํ•œ ๋ถ€๋ชจ ํ”„๋กœใ…”์Šค ์˜์—ญ์˜ ๋Œ€๋ถ€๋ถ„์ด ์ž์‹ ํ”„๋กœ์„ธ์Šค์— ๋ณต์‚ฌ ๋˜์–ด ๋™์ผํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ ๋œ๋‹ค.
      • ํ”„๋กœ์„ธ์Šค ๊ตฌ๋ถ„์ž๊ฐ€ ๋ฐ”๋€๋‹ค.
      • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋ฐ”๋€Œ๋‚Ÿ.
      • ppid, cpid ๊ฐ€ ๋ฐ”๋€๋‹ค. ์ž์‹ ํ”„๋กœ์„ธ์Šค์˜ cpid ๋Š” -1
  • fork() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์˜ ์žฅ์ 
    • ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
    • ์ถ”๊ฐ€ ์ž‘์—… ์—†์ด ์ž์›์„ ์ƒ์† ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ์‹œ์Šคํ…œ ๊ด€๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค์˜ ์ „ํ™˜

  • exec() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์˜ ๊ฐœ๋…
    • ๊ธฐ์กด์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋กœ ์ „ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜
    • ํ”„๋กœ์„ธ์Šค์˜ ๊ตฌ์กฐ์ฒด๋ฅผ ์žฌํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ 
    • ์ด๋ฏธ ์ƒ์„ฑ ๋œ PCB, Memory, ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.
    • OS์˜ ์ž‘์—…์ด ํ•œ๊ฒฐ ์ˆ˜์›”ํ•ด์ง.
  • exec() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์˜ ๋™์ž‘ ๊ณผ์ •
    • ์ฝ”๋“œ ์˜์—ญ์— ์žˆ๋Š” ๊ธฐ์กด ๋‚ด์šฉ์„ ์ง€์šฐ๊ณ , ์ƒˆ๋กœ์šด ์ฝ”๋“œ๋กœ ๋ณ€๊ฒฝ, ์Šคํƒ ์˜์—ญ์ด ๋ฆฌ์…‹
    • pid, ppid, pcid ๋ถˆ๋ณ€, Program counter registry ๊ฐ’ ๋“ฑ ๊ฐ์ข… ๋ ˆ์ง€์Šคํ„ฐ์™€ ์‚ฌ์šฉํ•œ ํŒŒ์ผ ์ •๋ณด๊ฐ€ ๋ฆฌ์…‹ ๋จ.

04. ํ”„๋กœ์„ธ์Šค์˜ ๊ณ„์ธต ๊ตฌ์กฐ

์œ ๋‹‰์Šค์˜ ํ”„๋กœ์„ธ์Šค ๊ณ„์ธต ๊ตฌ์กฐ

  • ์œ ๋‹‰์Šค์—์„œ ์ปค๋„์ด ์ฒ˜์Œ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ๋ถ€ํŒ…์ด ๋˜๋ฉด, ์ปค๋„ ๊ด€๋ จ ํ”„๋กœ์„ธ์Šค๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ƒ์„ฑํ•œ๋‹ค.
  • init ํ”„๋กœ์„ธ์Šค๋Š” ์ „์ฒด ํ”„๋กœ์„ธ์Šค์˜ ์ถœ๋ฐœ์ ์ด ๋œ๋‹ค
  • ํ•˜์œ„ ํ”„๋กœ์„ธ์Šค์˜ ๊ฒฝ์šฐ, ๋ชจ๋‘ ์ž์‹์ด ๋˜๋Š” ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ด๋ฃฌ๋‹ค.

ํ”„๋กœ์„ธ์Šค ๊ณ„์ธต ๊ตฌ์กฐ์˜ ์žฅ์ 

  • ํ”„๋กœ์„ธ์Šค์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋Š” ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ข…๋ฃŒ๋œ ํ”„๋กœ์„ธ์Šค์˜ ์ž์›์„ ํšŒ์ˆ˜ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•˜๋‹ค.
    • ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค๋ฉด, ๊ด€๊ณ„ ๊ฐ„ ์ฑ…์ž„์ด ๋ถ„๋ช…ํ•ด์ ธ, ์‹œ์Šคํ…œ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์ˆ˜์›”ํ•˜๋‹ค.
    • ์ž‘์—…์„ ๋งˆ์นœ ํ”„๋กœ์„ธ์Šค์˜ ์ž์›์„ ํšŒ์ˆ˜ํ•  ๋•Œ ํŠนํžˆ ํŽธ๋ฆฌํ•˜๋‹ค.

๋ฏธ์•„ ํ”„๋กœ์„ธ์Šค

  • ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จผ์ € ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜, ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋น„์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜์–ด ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์— ์—ฐ๋ฝ์ด ์•ˆ ๋˜๋Š” ๊ฒฝ์šฐ, ์‚ฌ์šฉํ•˜๋˜ ์ž์›์ด ๊ทธ๋Œ€๋กœ ๋‚จ๊ฒŒ ๋œ๋‹ค.
  • "์ข€๋น„ํ”„๋กœ์„ธ์Šค"
  • OS ๋Š” ๋ฐ˜ํ™˜ ๋˜์ง€ ๋ชปํ•œ ์ž์›์„ ํšŒ์ˆ˜ํ•˜๋Š” ์ž์› ํšŒ์ˆ˜๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ํ•ด์•ผ ํ•œ๋‹ค.
  • C ์–ธ์–ด์˜ return, exit ํ•จ์ˆ˜๋Š” ์ž์‹ ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—…์ด ๋๋‚œ๋‹ค๋Š” ๊ฒƒ์„ ๋ถ€๋ชจ์—๊ฒŒ ์•Œ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค.
  • ์ด๋ฅผ ํ†ตํ•ด ๋ถ€๋ชจ๋Š” ๋™๊ธฐํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์ด๋Š” ํ˜„๋Œ€ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์—๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉํ•œ๋‹ค. ex) Java ์˜ Object ํด๋ž˜์Šค

4. ์Šค๋ ˆ๋“œ

์Šค๋ ˆ๋“œ์˜ ๊ฐœ๋…

  • ํ”„๋กœ์„ธ์Šค์˜ ์ฝ”๋“œ์— ์ •์˜๋œ ์ ˆ์ฐจ์— ๋”ฐ๋ผ CPU ์— ์ž‘์—… ์š”์ฒญ์„ ํ•˜๋Š” ์‹คํ–‰ ๋‹จ์œ„

ํ”„๋กœ์„ธ์Šค์˜ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด

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

๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ์˜ ๊ตฌ์กฐ์™€ ์˜ˆ

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

๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๋ชจ๋ธ

  • ์ปค๋„ ์Šค๋ ˆ๋“œ

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

    • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์˜ํ•ด ๊ตฌํ˜„๋œ ์ผ๋ฐ˜์ ์ธ ์Šค๋ ˆ๋“œ
    • ์ปค๋„ ์ž…์žฅ์—์„œ ์ด ์Šค๋ ˆ๋“œ๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค.
    • ์ปค๋„ ์Šค๋ ˆ๋“œ์™€ 1:N ๊ด€๊ณ„
    • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ง์ ‘ ์Šค์ผ€์ฅด๋ง์„ ํ•˜๊ณ  ์ž‘์—…์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ๋งฅ ๊ตํ™˜์ด ํ•„์š” ์—†๋‹ค.
    • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ํ•˜๋‚˜์˜ ์ปค๋„ ์Šค๋ ˆ๋“œ์™€ ์—ฐ๊ฒฐ ๋˜๋ฏ€๋กœ, ์ปค๋„ ์Šค๋ ˆ๋“œ๊ฐ€ IO ์ž‘์—…์„ ์œ„ํ•ด ๋Œ€๊ธฐ ์ƒํƒœ์ผ ๋•Œ ์—ฐ๊ฒฐ ๋œ ๋ชจ๋“  ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๋„ ๋Œ€๊ธฐํ•œ๋‹ค.
    • ํ•œ ํ”„๋กœ์„ธ์Šค์˜ ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๋ฅด ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ณต์œ ํ•˜๋ฏ€๋กœ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ CPU ๋ฅผ ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ํ•˜์ง€๋งŒ ์ปค๋„์˜ ๊ฒฝ์šฐ ์Šค๋ ˆ๋“œ๋ฅผ ์—ฌ๋Ÿฌ CPU ์— ๋‚˜๋ˆ„์–ด ์ž‘์—…์‹œํ‚ค๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ๋˜ํ•œ ์‚ฌ์šฉ์ž ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ๋Š” ๋ณด์•ˆ์— ์ทจ์•ฝํ•˜๋‹ค. ์ปค๋„ ๋ ˆ๋ฒจ์—์„œ๋Š” ๊ณต์œ  ๋ณ€์ˆ˜๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ์žฅ์น˜๊ฐ€ ์žˆ๋‹ค.
  • ๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ

    • ์‚ฌ์šฉ์ž ๋ ˆ๋ฒจ, ์ปค๋„ ์Šค๋ ˆ๋“œ๋ฅผ ํ˜ผํ•ฉํ•œ ๋ฐฉ์‹
    • ๋ฌธ๋งฅ ๊ตํ™˜์˜ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์žˆ์–ด ๋น ๋ฅด์ง„ ์•Š๋‹ค.

๋ฐ˜์‘ํ˜•