๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์šด์˜์ฒด์ œ

CPU ์Šค์ผ€์ค„๋ง ๊ฐœ๋…๊ณผ ์•Œ๊ณ ๋ฆฌ์ฆ˜

by ์„œ์•„๋ž‘๐Ÿ˜ 2023. 11. 5.

 

 

CPU ์Šค์ผ€์ค„๋ง ๊ฐœ๋…

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

 

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

 

 

์Šค์ผ€์ค„๋ง ํ

CPU์ž…์žฅ์—์„œ CPU๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋งŽ์„ ๋•Œ, ๋จผ์ € CPU๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค๋Š” ํ”„๋กœ์„ธ์Šคํ•œํ…Œ CPU์ž์›์„ ํ• ๋‹นํ•˜๋Š” ๋‹จ์ˆœํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์ ์ด์ง€ ๋ชปํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์ž…์ถœ๋ ฅ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ํ”„๋กœ์„ธ์Šค CPU์ž‘์—…์„ ํ•˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž…์ถœ๋ ฅ์žฅ์น˜ ์‚ฌ์šฉ ๋นˆ๋„๊ฐ€ ๋งŽ์œผ๋ฉด ๋˜๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ๊ณ ์•ˆํ•ด๋‚ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 

ํ”„๋กœ์„ธ์Šค ์šฐ์„ ์ˆœ์œ„๋Š” ps -el ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ™•์ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. nice ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ผ๋ถ€ ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œˆ๋„์šฐ์—์„œ๋Š” ์ž‘์—…๊ด€๋ฆฌ์ž์—์„œ ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„ ํ™•์ธ๊ณผ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„๋Š” ์ปค๋„์˜์—ญ์˜ PCB์— ๋‹ด๊ฒจ์žˆ์Šต๋‹ˆ๋‹ค. CPU์ž…์žฅ์—์„œ๋Š” CPU๋ฅผ ์‚ฌ์šฉํ•  ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ์šด์˜์ฒด์ œ๊ฐ€ ์ผ์ผ์ด ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์˜ PCB๋ฅผ ๋’ค์ง€๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์šด์˜์ฒด์ œ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์— ์ค„์„ ์„œ์„œ ๊ธฐ๋‹ค๋ฆด ๊ฒƒ์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ๋Š” ์ด ์ค„์„ ์Šค์ผ€์ค„๋ง ํ๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

 

 

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

 

 

 

 

์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง๊ณผ ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง

์„ ์ ํ˜•(Preemptive) ์Šค์ผ€์ค„๋ง๊ณผ ๋น„์„ ์ ํ˜•(Non-preemptive) ์Šค์ผ€์ค„๋ง์€ CPU ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ํ”„๋กœ์„ธ์Šค์˜ CPU ํ• ๋‹น ๋ฐฉ์‹์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š”ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ์ž…๋‹ˆ๋‹ค.

 



1. ์„ ์ ํ˜•(Preemptive) ์Šค์ผ€์ค„๋ง
   ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์€ ํ˜„์žฌ CPU๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์„ ์ ํ•  ์ˆ˜ ์žˆ๋Š” ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์€ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋„์ฐฉํ–ˆ์„ ๋•Œ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉˆ์ถ”๊ณ  ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค์— CPU๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์€ ์šฐ์„ ์ˆœ์œ„ ๊ธฐ๋ฐ˜ ์Šค์ผ€์ค„๋ง, ๋ผ์šด๋“œ ๋กœ๋นˆ(Round Robin) ์Šค์ผ€์ค„๋ง ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.


   ์˜ˆ๋ฅผ ๋“ค์–ด, ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค A๊ฐ€ ์žˆ์„ ๋•Œ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋” ๋†’์€ ํ”„๋กœ์„ธ์Šค B๊ฐ€ ๋„์ฐฉํ•˜๋ฉด ์„ ์ ํ˜• ์Šค์ผ€์ค„๋Ÿฌ๋Š” ํ”„๋กœ์„ธ์Šค A๋ฅผ ๋ฉˆ์ถ”๊ณ  CPU๋ฅผ ํ”„๋กœ์„ธ์Šค B์—๊ฒŒ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.

 

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

 


2. ๋น„์„ ์ ํ˜•(Non-preemptive) ์Šค์ผ€์ค„๋ง
   ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์€ ํ˜„์žฌ CPU๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ CPU๋ฅผ ๋Œ€์ฒดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฆ‰, ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์Šค์Šค๋กœ ๋ฐ˜๋‚ฉํ•  ๋•Œ๊นŒ์ง€ CPU๋ฅผ ์œ ์ง€ํ•˜๋Š” ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์€ FCFS(First Come First Serve), SJF(Shortest Job First), ์šฐ์„ ์ˆœ์œ„ ๊ธฐ๋ฐ˜ ์Šค์ผ€์ค„๋ง(์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋™์ผํ•œ ๊ฒฝ์šฐ) ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

 



   ์˜ˆ๋ฅผ ๋“ค์–ด, ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค A๊ฐ€ ๋๋‚˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์„ ๋•Œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค B๊ฐ€ ๋„์ฐฉํ•˜๋”๋ผ๋„ ํ”„๋กœ์„ธ์Šค A๊ฐ€ CPU๋ฅผ ์Šค์Šค๋กœ ๋ฐ˜๋‚ฉํ•˜๊ธฐ ์ „๊นŒ์ง€ B๋Š” CPU๋ฅผ ํ• ๋‹น๋ฐ›์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

 

๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์˜ ์žฅ์ ์œผ๋กœ๋Š” ์„ ์ ํ˜•๊ณผ ๋ฐ˜๋Œ€์ž…๋‹ˆ๋‹ค. ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ ์ง€๋งŒ ๋…์ ์„ ๋ง‰์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

 

 

 

CPU ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜

 

์„ ์ž… ์„ ์ฒ˜๋ฆฌ ์Šค์ผ€์ค„๋ง(FCFS ์Šค์ผ€์ค„๋ง)

์„ ์ž… ์„ ์ฒ˜๋ฆฌ(First Come First Served) ์Šค์ผ€์ค„๋ง์€ ๋‹จ์ˆœํžˆ ์ค€๋น„ ํ์— ์‚ฝ์ž…๋œ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋น„์„ ์  ์Šค์ผ€์ค„๋ง์ž…๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ง๊ด€์ ์ด๊ณ  ์–ธ๋œป ๋ณด๊ธฐ์—๋Š” ๊ณต์ •ํ•ด ๋ณด์ด๋‚˜, ๊ฐ€๋”์€ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๋งค์šฐ ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด 17ms ๋™์•ˆ CPU๋ฅผ ์ด์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค A, 5ms ๋™์•ˆ CPU๋ฅผ ์ด์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค B, 2ms ๋™์•ˆ CPU๋ฅผ ์ด์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค C๊ฐ€ ์ฐจ๋ก€๋กœ ์ค€๋น„ ํ์— ์‚ฝ์ž…๋œ๋‹ค๋ฉด ํ”„๋กœ์„ธ์Šค c์˜ ๋Œ€๊ธฐ์‹œ๊ฐ„์€ 22ms์ž…๋‹ˆ๋‹ค. ํ‰๊ท  ๋Œ€๊ธฐ ์‹œ๊ฐ„์€ 13ms์ž…๋‹ˆ๋‹ค.

 

 

์ตœ๋‹จ ์ž‘์—… ์šฐ์„  ์Šค์ผ€์ค„๋ง(SJF)

์ตœ๋‹จ ์ž‘์—… ์šฐ์„  ์Šค์ผ€์ค„๋ง(Shortest Job First)๋Š” CPU ์‚ฌ์šฉ ์‹œ๊ฐ„์ด ์งง์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จผ์ € ์‹คํ–‰๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.

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

 

 

๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง(RR)

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

 

 

CPU ์‚ฌ์šฉ์‹œ๊ฐ„์ด 11ms, 3ms, 7ms์ด๊ณ  ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ 4ms์ธ ๋ผ์šด๋“œ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง์„ ํ•œ๋‹ค๋ฉด ์œ„์™€ ๊ฐ™์€ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง์—์„œ๋Š” ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค์˜ ํฌ๊ธฐ๊ฐ€ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ ํฌ๋ฉด ์‚ฌ์‹ค์ƒ ์„ ์ž… ์„ ์ฒ˜๋ฆฌ ์Šค์ผ€์ค„๋ง๊ณผ ๋‹ค๋ฅผ ๋ฐ” ์—†์œผ๋ฉฐ, ์ž‘์œผ๋ฉด ์ง€๋‚˜์น˜๊ฒŒ ๋งŽ์€ ๋ฌธ๋งฅ ๊ตํ™˜์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. 

 

 

์ตœ์†Œ ์ž”์—ฌ ์‹œ๊ฐ„ ์šฐ์„  ์Šค์ผ€์ค„๋ง(SRT)

์ตœ์†Œ ์ž”์—ฌ ์‹œ๊ฐ„ ์šฐ์„  ์Šค์ผ€์ค„๋ง(Shortest Remaining Time)์€ ์ตœ๋‹จ ์ž‘์—… ์šฐ์„  ์Šค์ผ€์ค„๋ง(SJF)์— ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๋ผ๋Š” ๊ฐœ๋…์ด ๋”ํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์ •ํ•ด์ง„ ์‹œ๊ฐ„๋งŒํผ CPU๋ฅผ ์ด์šฉํ•˜๋˜, ๋‹ค์Œ์œผ๋กœ CPU๋ฅผ ์‚ฌ์šฉํ•  ํ”„๋กœ์„ธ์Šค๋กœ๋Š” ๋‚จ์€ ์ž‘์—… ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์ ์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

 

 

์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง(Priority)

์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง์€ ํ”„๋กœ์„ธ์Šค์— ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜๊ณ  ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„ ํ”„๋กœ์„ธ์Šค๋ถ€ํ„ฐ ์‹คํ–‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค๋“ค์€ ์„ ์ž… ์„ ์ฒ˜๋ฆฌ๋กœ ์Šค์ผ€์ค„๋งํ•ฉ๋‹ˆ๋‹ค. ์ตœ๋‹จ ์ž‘์—… ์šฐ์„  ์Šค์ผ€์ค„๋ง(SJF)์™€ ์ตœ์†Œ ์ž”์—ฌ ์‹œ๊ฐ„ ์šฐ์„  ์Šค์ผ€์ค„๋ง(SRT)๋Š” ์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง์— ํฌํ•จ๋œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

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

 

๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์•„๋„ ์–ธ์  ๊ฐ€๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์•„์ง€๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰์ด ๋ฌด๊ธฐํ•œ ์—ฐ๊ธฐ๋˜๋Š” ๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

๋‹ค๋‹จ๊ณ„ ํ ์Šค์ผ€์ค„๋ง(Multilevel Queue)

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

 

 

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

 

 

๋‹ค๋‹จ๊ณ„ ํ”ผ๋“œ๋ฐฑ ํ ์Šค์ผ€์ค„๋ง(Multilevel Feedback Queue)

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

 

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

 

๋‹ค๋‹จ๊ณ„ ํ”ผ๋“œ๋ฐฑ ํ ์Šค์ผ€์ค„๋ง์€ ๊ตฌํ˜„์ด ์กฐ๊ธˆ ๋ณต์žกํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์žฅ ๋ณดํŽธ์ ์œผ๋กœ ์“ฐ์ด๋Š” CPU ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 


 

์ถœ์ฒ˜: ํ˜ผ์ž๊ณต๋ถ€ํ•˜๋Š” ์ปดํ“จํ„ฐ๊ตฌ์กฐ + ์šด์˜์ฒด์ œ

๋Œ“๊ธ€