STUDY/OS

[OS] CPU ์Šค์ผ€์ค„๋ง : ์ตœ๋‹จ ์ž‘์—… ์šฐ์„  ์Šค์ผ€์ค„๋ง, ๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง

ozllzL 2022. 3. 27. 19:11

๐Ÿคท‍โ™€๏ธ CPU ์Šค์ผ€์ค„๋ง์ด๋ž€?

์•„๋‚˜.. ๊ธ€์”จ ํฌ๊ธฐ ์กฐ์ ˆ ๊ฐ€๋Šฅํ•œ๊ฑฐ ์ง€๊ธˆ์•Ž..

 

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

 

๐Ÿƒ‍โ™€๏ธ ์ตœ๋‹จ ์ž‘์—… ์šฐ์„  ์Šค์ผ€์ค„๋ง

 

  • SJS(Shortest Job First) ์Šค์ผ€์ค„๋ง, SPN(Shortest Process Next) ์Šค์ผ€์ค„๋ง์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค.
  • ์ค€๋น„ ํ์—์„œ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ์ค‘์—์„œ ๊ฐ€์žฅ ์งง์€(CPU ์š”๊ตฌ๋Ÿ‰์ด ๊ฐ€์žฅ ์ ์€) ํ”„๋กœ์„ธ์Šค๋ฅผ ๋จผ์ € ์‹คํ–‰์‹œ์ผœ ์ค€๋‹ค.
  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์›์„ ํ• ๋‹น๋ฐ›์œผ๋ฉด ์Šค์Šค๋กœ ๋ฐ˜๋‚ฉํ•  ๋•Œ๊นŒ์ง€ ๊ณ„์† ๊ทธ ์ž์›์„ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๋Š” ๋น„์„ ์  ๋ฐฉ์‹์ด๋‹ค.(Nonpreemption) <-> SRT(Shortest Remaining Time) ์Šค์ผ€์ค„๋ง
  • ๋‹จ์  :
    ๊ธด ํ”„๋กœ์„ธ์Šค๋Š” ์ž์›์„ ํ• ๋‹น๋ฐ›์ง€ ๋ชปํ•œ ์ƒํƒœ์—์„œ ์งง์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณ„์†ํ•ด์„œ ๋„์ฐฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋ฌดํ•œ ๋Œ€๊ธฐ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.
    ๊ฐ ํ”„๋กœ์„ธ์Šค๋“ค์˜ ํฌ๊ธฐ๋ฅผ ์‹คํ–‰ ์ „์— ์ •ํ™•ํžˆ ์•Œ ์ˆ˜ ์—†๋‹ค. ๋น„์Šทํ•œ ํ™˜๊ฒฝ์—์„œ ์ž์ฃผ ์‹คํ–‰๋˜์–ด ์ง€๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ์ง€์ˆ˜ ํ‰๊ท ์œผ๋กœ ์ถ”์ธกํ•˜์—ฌ ์Šค์ผ€์ค„๋ง ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

์ง€์ˆ˜ ํ‰๊ท  (exponential averaging)

  • ์˜ˆ์‹œ
ํ”„๋กœ์„ธ์Šค ๋„์ฐฉ ์‹œ๊ฐ„ CPU ์š”๊ตฌ๋Ÿ‰(์ดˆ)
P1  0 10
P2 0.5 5
P3 1 2
P4 1 4

๐Ÿ’ซ ๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง

 

  • TMI : ๋ผ์šด๋“œ ๋กœ๋นˆ์˜ ์‚ฌ์ „์  ์˜๋ฏธ๋Š” ์„œ๋ช…ํ•œ ์‚ฌ๋žŒ์˜ ์ˆœ์„œ๋ฅผ ๋ฐํžˆ์ง€ ์•Š๊ธฐ ์œ„ํ•ด ์›ํ˜•์œผ๋กœ ์„œ๋ช…ํ•œ ํ•ญ์˜์„œ ์‚ฌ๋ฐœํ†ต๋ฌธ(ๆฒ™้‰ข้€šๆ–‡)์ด๋‹ค. ์ฆ‰, ๊ทธ๋Ÿฐ ์‹์œผ๋กœ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์˜ ์ˆœ์„œ๋ฅผ ๊ณตํ‰ํ•˜๊ฒŒ ํ•˜์ž๋Š” ์‹์œผ๋กœ ์ง€์€ ๊ฒƒ ๊ฐ™์€๋ฐ... ์ด๊ฑด ๋‡Œํ”ผ์…œ์ด๋‹ค.
  • FCFS ์Šค์ผ€์ค„๋ง ๊ธฐ๋ฐ˜(First Come First Service, ์˜จ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰์‹œํ‚ค๋Š” ๋น„์„ ์ ๋ฐฉ์‹) ์œผ๋กœ ํ•˜๋˜,
    ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ํ•œ ๋ฒˆ์— ์“ธ ์ˆ˜ ์žˆ๋Š” CPU ์‹œ๊ฐ„ ํฌ๊ธฐ(์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰)์ด ์ง€๋‚˜๋ฉด ์‹œ๊ฐ„ ์ข…๋ฃŒ ์ธํ„ฐ๋ŸฝํŠธ์— ์˜ํ•ด CPU๋ฅผ ๋บ๊ธฐ๋Š” ์„ ์  ๋ฐฉ์‹์ด๋‹ค.
  • ๊ธฐ๋ณธ์  ๋ผ์šด๋“œ ๋กœ๋นˆ
  • ๊ฐ€์ƒ(Virtual) ๋ผ์šด๋“œ ๋กœ๋นˆ
    - ๊ธฐ๋ณธ์  ๋ผ์šด๋“œ ๋กœ๋นˆ์—์„œ๋Š” ์ž…์ถœ๋ ฅ ์œ„์ฃผ์˜ ํ”„๋กœ์„ธ์Šค๋Š” ์ž…์ถœ๋ ฅ์„ ๋ฐœ์ƒ์‹œํ‚จ ๋‹ค์Œ, ์ž…์ถœ๋ ฅ์ด ์™„๋ฃŒ๋˜๋ฉด ๋ฐ”๋กœ ์ค€๋น„ ํ์˜ ๋งจ ๋’ค๋กœ ๋Œ์•„๊ฐ„๋‹ค. ์ด ๋•Œ, ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์ด ๋‚จ์•„์žˆ๋‹ค๋ฉด, ๊ทธ ์‹œ๊ฐ„์€ ๋ณด์ƒ๋ฐ›์ง€ ๋ชปํ•œ๋‹ค. ๋ฐ˜๋ฉด, ์—ฐ์‚ฐ ์œ„์ฃผ์˜ ํ”„๋กœ์„ธ์Šค๋Š” ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์„ ๋ชจ๋‘ ์†Œ์ง„ํ•˜๊ณ  ์ค€๋น„ ํ๋กœ ๋“ค์–ด๊ฐ„๋‹ค.
    - ์ด ๋ฌธ์ œ๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์ด ๋‚จ์€ ์ž…์ถœ๋ ฅ์„ ๋งˆ์นœ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋“ค์–ด๊ฐ€๋Š” ์ค€๋น„ ํ๋ฅผ ๋”ฐ๋กœ ํ•˜๋‚˜ ๋‘”๋‹ค. ์ด ํ์˜ ์šฐ์„ ์ˆœ์œ„๋Š” ์›๋ž˜ ์ค€๋น„ ํ๋ณด๋‹ค ๋” ๋†’์œผ๋ฉฐ, CPU์— ์‹œ๊ฐ„ ํ• ๋‹น์„ ๋ฐ›์„ ๋•Œ๋Š” ์“ฐ์ง€ ๋ชปํ•˜๊ณ  ๋‚จ๊ธด ์‹œ๊ฐ„๋งŒ ์ค€๋‹ค. 
  • CPU๋ฅผ ๋…์ ํ•˜๋Š” ๋‹จ์ ์€ ๋ณด์™„ํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, CPU์˜ ์„ ์ ์— ๋”ฐ๋ฅธ ๋ฌธ๋งฅ ๊ตํ™˜์˜ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๊ฐ์ˆ˜ํ•ด์•ผํ•œ๋‹ค. 
    ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์ด ์ž‘์œผ๋ฉด ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋„ˆ๋ฌด ์ปค์ง€๋ฉฐ, ๋„ˆ๋ฌด ํฌ๋ฉด FCFS์™€ ๊ฐ™์•„์ง€๊ฒŒ ๋˜๋ฏ€๋กœ ์ ์ ˆํ•œ ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค.
  • ์˜ค๋ฒ„ํ—ค๋“œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋Œ€ํ™”์‹ ์‹œ์Šคํ…œ์ด๋‚˜ ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ์— ์ ํ•ฉํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์•Œ๋ ค์ ธ์žˆ๋‹ค.
  • ์˜ˆ์‹œ
ํ”„๋กœ์„ธ์Šค CPU ์š”๊ตฌ๋Ÿ‰(์ดˆ)
P1  30
P2 8
P3 15
P4 10

 

 

์ถœ์ฒ˜

๊น€์ฃผ๊ท , ใ€ŒOS? Oh Yes!ใ€, ํœด๋จผ์‹ธ์ด์–ธ์Šค

https://ko.wikipedia.org/wiki/%EB%B9%84%EC%84%A0%EC%A0%90_%EC%8A%A4%EC%BC%80%EC%A4%84%EB%A7%81

Silbershartz, Galvin andGagne ใ€ŒOperating System Concepts - 10th Editionใ€, Wiley