[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์‹ค๊ธฐ] ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ

2022. 7. 21. 18:09

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

์‹คํ–‰์ค‘์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ
  • ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋กœ์„ธ์„œ์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋˜๋Š” ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ, ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋žจ

์ •์˜

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

 

PCB (Process Control Block)

์šด์˜์ฒด์ œ๊ฐ€ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•ด ๋†“๋Š” ๊ณณ
  • ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๋งˆ๋‹ค ๊ณ ์œ ์˜ PCB๊ฐ€ ์ƒ์„ฑ๋จ → ํ”„๋กœ์„ธ์Šค๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด PCB๋Š” ์ œ๊ฑฐ๋จ

PCB์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ •๋ณด

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

 

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

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์Šคํ…œ ๋‚ด์— ์กด์žฌํ•˜๋Š” ๋™์•ˆ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๊ฐ€ ๋ณ€ํ•˜๋Š” ๊ฒƒ

์ถœ์ฒ˜ :  https://velog.io/@mainxcharacter/์šด์˜์ฒด์ œ-ํ”„๋กœ์„ธ์Šค์˜-๊ฐœ์š”

  • ์ œ์ถœ (Submit) : ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์—…์„ ์‹œ์Šคํ…œ์— ์ œ์ถœํ•œ ์ƒํƒœ
  • ์ ‘์ˆ˜ (Hold) : ์ œ์ถœ๋œ ์ž‘์—…์ด ์Šคํ’€ ๊ณต๊ฐ„์ธ ๋””์Šคํฌ์˜ ํ• ๋‹น ์œ„์น˜์— ์ €์žฅ๋œ ์ƒํƒœ (*์Šคํ’€(spool) : CPU์˜ ๋ช…๋ น์„ ์ž๊ธฐ๋””์Šคํฌ์žฅ์น˜์— ์ €์žฅํ•˜๊ณ , ๊ทธ ๋ช…๋ น์„ ์ฃผ๋ณ€์žฅ์น˜๋กœ ์ „๋‹ฌํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹. ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜์™€ ์ž…์ถœ๋ ฅ์žฅ์น˜๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ)
  • ์ค€๋น„ (Ready) : ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ”„๋กœ์„ธ์„œ๋ฅผ ํ• ๋‹น๋ฐ›๊ธฐ ์œ„ํ•ด ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š” ์ƒํƒœ
  • ์‹คํ–‰ (Run) : ์ค€๋น„ ์ƒํƒœ ํ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ”„๋กœ์„ธ์„œ๋ฅผ ํ• ๋‹น๋ฐ›์•„ ์‹คํ–‰๋˜๋Š” ์ƒ์ฑ„
  • ๋Œ€๊ธฐ (Wait) / ๋ธ”๋ก (Block) : ํ”„๋กœ์„ธ์Šค์— ์ž…์ถœ๋ ฅ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋ฉด ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค‘๋‹จ๋˜๊ณ , ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ
  • ์ข…๋ฃŒ (Terminated, Exit) : ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰์ด ๋๋‚˜๊ณ  ํ”„๋กœ์„ธ์Šค ํ• ๋‹น์ด ํ•ด์ œ๋œ ์ƒํƒœ

 

ํ”„๋กœ์„ธ์Šค ์ƒํƒœ ์ „์ด ๊ด€๋ จ ์šฉ์–ด

  • Dispatch : ์ค€๋น„ ์ƒํƒœ์—์„œ ๋Œ€๊ธฐํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ”„๋กœ์„ธ์„œ๋ฅผ ํ• ๋‹น๋ฐ›์•„ ์‹คํ–‰ ์ƒํƒœ๋กœ ์ „์ด๋˜๋Š” ๊ณผ์ • (dispatch : v. ํŒŒ๊ฒฌํ•˜๋‹ค)
  • Wake Up : ์ž…/์ถœ๋ ฅ ์ž‘์—…์ด ์™„๋ฃŒ๋˜์–ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋Œ€๊ธฐ ์ƒํƒœ์—์„œ ์ค€๋น„ ์ƒํƒœ๋กœ ์ „์ด๋˜๋Š” ๊ณผ์ •
  • Spooling : ์ž…·์ถœ๋ ฅํ•  ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์ž…·์ถœ๋ ฅ ์žฅ์น˜์— ๋ณด๋‚ด์ง€ ์•Š๊ณ  ๋‚˜์ค‘์— ํ•œ๊บผ๋ฒˆ์— ์ž…·์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ๋””์Šคํฌ์— ์ €์žฅํ•˜๋Š” ๊ณผ์ •. โ‘ ์ž…·์ถœ๋ ฅ์žฅ์น˜์˜ ๊ณต์œ  ๋ฐ ์ƒ๋Œ€์ ์œผ๋กœ ๋А๋ฆฐ ์ž…·์ถœ๋ ฅ์žฅ์น˜์˜ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ๋ณด์™„ํ•˜๊ณ , โ‘ก๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•จ.
  • Traffic Controller(๊ตํ†ต๋Ÿ‰ ์ œ์–ด๊ธฐ) : ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ์— ๋Œ€ํ•œ ์กฐ์‚ฌ์™€ ํ†ต๋ณด ๋‹ด๋‹น

 

Thread(์Šค๋ ˆ๋“œ)

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

BELATED ARTICLES

more