CPU ์Šค์ผ€์ค„๋ง๐Ÿ“†

DEVJUNยท2022๋…„ 8์›” 2์ผ
0

์šด์˜์ฒด์ œ(OS)

๋ชฉ๋ก ๋ณด๊ธฐ
5/5
post-thumbnail

CPU๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๊ณ„์–ด ๋ช…๋ น์„ ์‹ค์ œ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ์ปดํ“จํ„ฐ ๋‚ด์˜ ์ค‘์•™ ์ฒ˜๋ฆฌ์žฅ์น˜์ด๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘๋˜์–ด ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๋ฉด ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ(Program Counter: PC)๋ผ๋Š” ์ด๋ฆ„์˜ ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ํ˜„์žฌ CPU์—์„œ ์ˆ˜ํ–‰ํ•  ์ฝ”๋“œ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด CPU๋Š” ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฃผ์†Œ์˜ ๊ธฐ๊ณ„์–ด ๋ช…๋ น์„ ํ•˜๋‚˜์”ฉ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ์˜ ์ˆ˜ํ–‰์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๋‹จ๊ณ„์˜ ์กฐํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ์ฒซ์งธ๋Š” ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์ด CPU๋ฅผ ์ง์ ‘ ๊ฐ€์ง€๊ณ  ๋น ๋ฅธ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ผ๋ จ์˜ ๋‹จ๊ณ„์ด๊ณ , ๋‘˜์งธ๋Š” I/O ์š”์ฒญ์ด ๋ฐœ์ƒํ•ด ์ปค๋„์— ์˜ํ•ด ์ž…์ถœ๋ ฅ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋Š” ๋น„๊ต์  ๋Š๋ฆฐ ๋‹จ๊ณ„์ด๋‹ค.

์ „์ž๋ฅผ CPU ๋ฒ„์ŠคํŠธ, ํ›„์ž๋ฅผ I/O๋ฒ„์ŠคํŠธ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์ฆ‰ ํ”„๋กœ๊ทธ๋žจ์ด I/O๋ฅผ ํ•œ ๋ฒˆ ์ˆ˜ํ–‰ํ•œ ํ›„ ๋‹ค์Œ ๋ฒˆ I/O๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ๊นŒ์ง€ ์ง์ ‘ ์ง์ ‘ CPU๋ฅผ ๊ฐ€์ง€๊ณ  ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ผ๋ จ์˜ ์ž‘์—…์ด CPU ๋ฒ„์ŠคํŠธ์ด๊ณ , ์ดํ•ด ๋น„ํ•ด I/O ๋ฒ„์ŠคํŠธ๋Š” I/O ์ž‘์—…์ด ์š”์ฒญ๋œ ํ›„ ์™„๋ฃŒ๋˜์–ด ๋‹ค์‹œ CPU ๋ฒ„์ŠคํŠธ๋กœ ๋Œ์•„๊ฐ€๊ธฐ๊นŒ์ง€ ์ผ์–ด๋‚˜๋Š” ์ผ๋ จ์˜ ์ž‘์—…์„ ๋งํ•œ๋‹ค.

๊ฐ ํ”„๋กœ๊ทธ๋žจ๋งˆ๋‹ค CPU ๋ฒ„์ŠคํŠธ์™€ I/O ๋ฒ„์ŠคํŠธ๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ๋น„์œจ์ด ๊ท ์ผํ•˜์ง€ ์•Š๋‹ค. I/O ์š”์ฒญ์ด ๋นˆ๋ฒˆํ•ด CPU ๋ฒ„์ŠคํŠธ๊ฐ€ ์งง๊ฒŒ ๋‚˜ํƒ€๋‚˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ I/O ๋ฐ”์šด๋“œ ํ”„๋กœ์„ธ์Šค๋ผ ํ•˜๊ณ  ๊ทธ ๋ฐ˜๋Œ€๋ฅผ CPU ๋ฐ”์šด๋“œ ํ”„๋กœ์„ธ์Šค๋ผ ํ•œ๋‹ค.

CPU ์Šค์ผ€์ค„๋ง์€ ์ด์™€ ๊ฐ™์ด CPU๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํŒจํ„ด์ด ์ƒ์ดํ•œ ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ผํ•œ ์‹œ์Šคํ…œ ๋‚ด๋ถ€์—์„œ ํ•จ๊ฒŒ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ•„์š”ํ•˜๋‹ค.

์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ๋‚ด์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์˜ CPU ๋ฒ„์ŠคํŠธ๋ฅผ ๋ถ„์„ํ•ด๋ณด๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ์„ธ์Šค๋Š” CPU ๋ฒ„์ŠคํŠธ๊ฐ€ ์งง๊ฒŒ ๋‚˜ํƒ€๋‚œ๋‹ค. ์ด๋Š” CPU๋ฅผ ํ•œ๋ฒˆ์— ์˜ค๋ž˜ ์‚ฌ์šฉํ•˜๊ธฐ๋ณด๋‹ค ์ž ๊น ์‚ฌ์šฉํ•˜๊ณ  I/O ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋งŽ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

CPU ๋ฒ„์ŠคํŠธ๊ฐ€ ์งง์€ ํ”„๋กœ์„ธ์Šค๋Š” ๋Œ€๋ถ€๋ถ„ ๋Œ€ํ™”ํ˜• ์ž‘์—…์œผ๋กœ ์‚ฌ์šฉ์ž์™€ ์ธํ„ฐ๋ž™์…˜์„ ํ•ด๊ฐ€๋ฉฐ ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜ํ–‰์‹œํ‚ค๋Š”๋ฐ ์ด๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ž…๋ ฅ์„ ๋ฐ›์•„ CPU์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ์ถœ๋ ฅํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” CPU์˜ ๋น ๋ฅธ ์„œ๋น„์Šค๋ฅผ ํ•„์š”๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— CPU ์Šค์ผ€์ค„๋ง์„ ํ•  ๋•Œ CPU ๋ฒ„์ŠคํŠธ๊ฐ€ ์งง์€ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์šฐ์„ ์ ์œผ๋กœ CPU๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์Šค์ผ€์ค„๋ง์ด ํ•„์š”ํ•˜๋‹ค.


1. CPU ์Šค์ผ€์ค„๋Ÿฌ

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

CPU ์Šค์ผ€์ค„๋ง ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋Š” ๋ช‡๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

  1. ์‹คํ–‰ ์ƒํƒœ์— ์žˆ๋˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ I/O ์š”์ฒญ ๋“ฑ์— ์˜ํ•ด ๋ด‰์‡„ ์ƒํƒœ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ
  2. ์‹คํ–‰ ์ƒํƒœ์— ์žˆ๋˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํƒ€์ด๋จธ ์ธํ„ฐ๋ŸฝํŠธ ๋ฐœ์ƒ์— ์˜ํ•ด ์ค€๋น„ ์ƒํƒœ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ
  3. I/O ์š”์ฒญ์œผ๋กœ ๋ด‰์‡„ ์ƒํƒœ์— ์žˆ๋˜ ํ”„๋กœ์„ธ์Šค์˜ I/O ์ž‘์—…์ด ์™„๋ฃŒ๋˜์–ด ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ ์ด ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๊ฐ€ ์ค€๋น„ ์ƒํƒœ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ
  4. CPU์—์„œ ์‹คํ–‰์ƒํƒœ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ๊ฒฝ์šฐ

CPU ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์—๋Š” ๋น„์„ ์ ํ˜• ๋ฐฉ์‹๊ณผ ์„ ์ ํ˜• ๋ฐฉ์‹์ด ์žˆ๋‹ค.

๋น„์„ ์ ํ˜• ๋ฐฉ์‹์ด๋ž€ CPU๋ฅผ ํš๋“ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์Šค์Šค๋กœ CPU๋ฅผ ๋ฐ˜๋‚ฉํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” CPU๋ฅผ ๋นผ์•—๊ธฐ์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•œ๋‹ค.
์„ ์ ํ˜• ๋ฐฉ์‹์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•˜๊ธฐ๋ฅผ ์›ํ•˜๋”๋ผ๋„ ๊ฐ•์ œ๋กœ ๋นผ์•—์„ ์ˆ˜ ์žˆ๋Š” ์Šค์ผ€์ค„๋ง ๋ฐฉ๋ฒ•์„ ๋งํ•œ๋‹ค.

์œ„์— ์Šค์ผ€์ค„๋ง์ด ํ•„์š”ํ•œ 4๊ฐ€์ง€ ๊ฒฝ์šฐ์ค‘ 1๋ฒˆ๊ณผ 4๋ฒˆ์€ ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์˜ ์˜ˆ์‹œ๊ฐ€ ๋˜๊ณ , 2๋ฒˆ๊ณผ 3๋ฒˆ์€ ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์— ํ•ด๋‹นํ•œ๋‹ค.


2. ๋””์ŠคํŒจ์ฒ˜

CPU ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค์—๊ฒŒ CPU๋ฅผ ํ• ๋‹นํ•ด์•ผ ํ• ์ง€ ๊ฒฐ์ •ํ•˜๊ณ ๋‚˜๋ฉด ์„ ํƒ๋œ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์‹ค์ œ๋กœ CPU๋ฅผ ์ด์–‘ํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.
์ด๋ ‡๊ฒŒ ์ƒˆ๋กญ๊ฒŒ ์„ ํƒ๋œ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ํ• ๋‹น๋ฐ›๊ณ  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™˜๊ฒฝ์„ค์ •์„ ํ•˜๋Š” ์šด์˜์ฒด์ œ์˜ ์ฝ”๋“œ๋ฅผ ๋””์ŠคํŒจ์ฒ˜(dispatcher)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๋””์ŠคํŒจ์ฒ˜๋Š” ํ˜„์žฌ ์ˆ˜ํ–‰ ์ค‘์ด๋˜ ํ”„๋กœ์„ธ์Šค์˜ ๋ฌธ๋งฅ(context)์„ ๊ทธ ํ”„๋กœ์„ธ์Šค์˜ PCB์— ์ €์žฅํ•˜๊ณ , ์ƒˆ๋กญ๊ฒŒ ์„ ํƒ๋œ ํ”„๋กœ์„ธ์Šค์˜ ๋ฌธ๋งฅ์„ PCB๋กœ๋ถ€ํ„ฐ ๋ณต์›ํ•œ ํ›„ ๊ทธ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ CPU๋ฅผ ๋„˜๊ธฐ๋Š” ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

3. ์Šค์ผ€์ค„๋ง ์„ฑ๋Šฅ ํ‰๊ฐ€

์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ•์˜ ์„ฑ๋Šฅ ํ‰๊ฐ€๋Š” ํฌ๊ฒŒ ์‹œ์Šคํ…œ ๊ด€์ ์˜ ์ง€ํ‘œ์™€ ์‚ฌ์šฉ์ž ๊ด€์ ์˜ ์ง€ํ‘œ๋กœ ๋‚˜๋ˆ„์–ด์ง„๋‹ค.

์‹œ์Šคํ…œ ๊ด€์ ์˜ ์ง€ํ‘œ๋กœ๋Š” CPU ์ด์šฉ๋ฅ ๊ณผ ์ฒ˜๋ฆฌ์–‘์ด ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž ๊ด€์ ์˜ ์ง€ํ‘œ๋กœ๋Š” ์†Œ์š”์‹œ๊ฐ„, ๋Œ€๊ธฐ์‹œ๊ฐ„, ์‘๋‹ต์‹œ๊ฐ„ ๋“ฑ ๊ธฐ๋‹ค๋ฆฐ ์‹œ๊ฐ„๊ณผ ๊ด€๋ จ๋œ ์ง€ํ‘œ๋“ค์ด ์žˆ๋‹ค.

์‹œ์Šคํ…œ ๊ด€์ ์˜ ์ง€ํ‘œ

CPU ์ด์šฉ๋ฅ  : ์ „์ฒด ์‹œ๊ฐ„ ์ค‘์—์„œ CPU๊ฐ€ ์ผ์„ ํ•œ ์‹œ๊ฐ„์˜ ๋น„์œจ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. cpu๋Š” ๋Œ€๋ถ€๋ถ„ ์‹œ์Šคํ…œ์— ํ•˜๋‚˜๋งŒ ์กด์žฌํ•˜๋ฏ€๋กœ CPU๊ฐ€ ์ผ์„ํ•˜์ง€ ์•Š๋Š” ์ƒํƒœ์— ๋จธ๋ฌด๋ฅด๋Š” ์‹œ๊ฐ„์„ ์ตœ๋Œ€ํ•œ ์ค„์ด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ๋ชฉํ‘œ์ด๋‹ค.

CPU์ฒ˜๋ฆฌ๋Ÿ‰ : ์ฃผ์–ด์ง„ ์‹œ๊ฐ„ ๋™์•ˆ ์ค€๋น„ ํ์—์„œ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ์ค‘ ๋ช‡๊ฐœ๋ฅผ ๋๋งˆ์ณค๋Š”์ง€(CPU ๋ฒ„์ŠคํŠธ๋ฅผ ์™„๋ฃŒํ•œ ํ”„๋กœ์„ธ์Šค ๊ฐœ์ˆ˜)๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

์‚ฌ์šฉ์ž ๊ด€์ ์˜ ์ง€ํ‘œ

์†Œ์š”์‹œ๊ฐ„ : ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์š”์ฒญํ•œ ์‹œ์ ๋ถ€ํ„ฐ ์ž์‹ ์ด ์›ํ•˜๋Š” ๋งŒํผ CPU๋ฅผ ๋‹ค ์“ฐ๊ณ  CPU ๋ฒ„์ŠคํŠธ๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„, ์ฆ‰ ์ค€๋น„ ํ์—์„œ ๊ธฐ๋‹ค๋ฆฐ ์‹œ๊ฐ„๊ณผ ์‹ค์ œ๋กœ CPU๋ฅผ ์‚ฌ์šฉํ•œ ์‹œ๊ฐ„์˜ ํ•ฉ

๋Œ€๊ธฐ์‹œ๊ฐ„ : CPU ๋ฒ„์ŠคํŠธ ๊ธฐ๊ฐ„ ์ค‘ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค€๋น„ ํ์—์„œ CPU๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ๊ธฐ๋‹ค๋ฆฐ ์‹œ๊ฐ„์˜ ํ•ฉ

์‘๋‹ต์‹œ๊ฐ„ : ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค€๋น„ ํ์— ๋“ค์–ด์˜จ ํ›„ ์ฒซ ๋ฒˆ์งธ CPU๋ฅผ ํš๋“ํ•˜๊ธฐ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ ์‹œ๊ฐ„


4. ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜โ—๏ธ(์ค‘์š”โญ๏ธ)


1) ์„ ์ž…์„ ์ถœ ์Šค์ผ€์ค„๋ง(First-Come First-Served:FCFS)

์„ ์ž…์„ ์ถœ ์Šค์ผ€์ค„๋ง์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค€๋น„ ํ์— ๋„์ฐฉํ•œ ์‹œ๊ฐ„ ์ˆœ์„œ๋Œ€๋กœ CPU๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค.


ํ”„๋กœ์„ธ์ŠคCPU ๋ฒ„์ŠคํŠธ ์‹œ๊ฐ„
P112
P23
P33

์˜ˆ์‹œ์ด๋‹ค. ํ”„๋กœ์„ธ์Šค์˜ ๋„์ฐฉ ์ˆœ์„œ๊ฐ€ p1, P2, P3๋ผ ํ•˜๊ณ  CPU ๋ฒ„์ŠคํŠธ ์‹œ๊ฐ„์ด 12, 3, 3์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.

๋งŒ์•ฝ ํ”„๋กœ์„ธ์Šค๊ฐ€ p2, p3, p1 ์ˆœ์œผ๋กœ ๋„์ฐฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค๋ฉด ์ด๋Ÿฐ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.

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

CPU๋ฅผ ๋จผ์ € ์š”์ฒญํ•œ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ CPU๋ฅผ ๋จผ์ € ํ• ๋‹นํ•˜๊ณ , ๊ทธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž๋ฐœ์ ์œผ๋กœ CPU๋ฅผ ๋ฐ˜๋‚ฉํ•  ๋•Œ๊นŒ์ง€ ๋นผ์•—์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ๋จผ์ € ๋„์ฐฉํ•œ ํ”„๋กœ์„ธ์Šค์˜ ์„ฑ๊ฒฉ์— ๋”ฐ๋ผ ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„์ด ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง„๋‹ค.

์ฆ‰ CPU๋ฒ„์ŠคํŠธ๊ฐ€ ๊ธด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จผ์ € ๋„์ฐฉํ•  ๊ฒฝ์šฐ ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๋Š” ๋ฐ˜๋ฉด, ์งง์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จผ์ € ๋„์ฐฉํ•˜๋ฉด ํ‰๊ท ๋Œ€๊ธฐ์‹œ๊ฐ„์ด ์งง์•„์ง€๊ฒŒ ๋œ๋‹ค.

๋”ฐ๋ผ์„œ FCFS ์Šค์ผ€์ค„๋ง์˜ ๊ฐ€์žฅ ํฐ ๋‹จ์ ์€ CPU ๋ฒ„์ŠคํŠธ๊ฐ€ ์งง์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU ๋ฒ„์ŠคํŠธ๊ฐ€ ๊ธด ํ”„๋กœ์„ธ์Šค๋ณด๋‹ค ๋‚˜์ค‘์— ๋„์ฐฉํ•ด ์˜ค๋žœ ์‹œ๊ฐ„์„ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.(์ฝ˜๋ณด์ด ํ˜„์ƒ)


2) ์ตœ๋‹จ์ž‘์—… ์šฐ์„  ์Šค์ผ€์ค„๋ง(Shortest-Job First: SJF)

SJF ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ CPU ๋ฒ„์ŠคํŠธ๊ฐ€ ๊ฐ€์žฅ ์งง์€ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์ œ์ผ ๋จผ์ € CPU๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

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

ํ”„๋กœ์„ธ์Šค๋„์ฐฉ์‹œ๊ฐ„CPU ๋ฒ„์ŠคํŠธ ์‹œ๊ฐ„
P1014
P248
P382
P3108
  • SJF ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง

  • SJF ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง

์„ ์ ํ˜• ๋ฐฉ์‹์—์„œ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒˆ๋กญ๊ฒŒ ๋„์ฐฉํ•˜๊ฑฐ๋‚˜ ์ž‘์—…์ด ๋๋‚  ๋•Œ๋งˆ๋‹ค CPU ๋ฒ„์ŠคํŠธ ์‹œ๊ฐ„์„ ๋น„๊ตํ•˜๊ฒŒ ๋œ๋‹ค.

SJF ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๊ธฐ๋Š” ํ•˜์ง€๋งŒ ์‹œ์Šคํ…œ์—์„œ ํ‰๊ท ์„ ์ค„์ด๋Š” ๊ฒƒ์ด ํ•ญ์ƒ ์ข‹์€ ๋ฐฉ์‹์ด๋ผ๊ณ ๋Š” ๋งํ•  ์ˆ˜ ์—†๋‹ค.

CPU ๋ฒ„์ŠคํŠธ๊ฐ€ ์งง์€ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ๋งŒ CPU๋ฅผ ํ• ๋‹นํ•  ๊ฒฝ์šฐ CPU ๋ฒ„์ŠคํŠธ๊ฐ€ ๊ธด ํ”„๋กœ์„ธ์Šค๋Š” ์ค€๋น„ ํ์— ์ค„ ์„œ์„œ ๊ณ„์†ํ•ด์„œ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ์ด๋‹ค.

ํ”„๋กœ์„ธ์Šค๋„์ฐฉ์‹œ๊ฐ„CPU ๋ฒ„์ŠคํŠธ ์‹œ๊ฐ„
P1010
P2420
P3830
P4101000
P520100
P624200
P730300

CPU ๋ฒ„์ŠคํŠธ ์‹œ๊ฐ„์ด ๊ฐ๊ฐ 10, 20 , 30์ธ ํ”„๋กœ์„ธ์Šค p1, p2, p3๊ฐ€ ์ˆ˜ํ–‰๋œ ํ›„ CPU ๋ฒ„์ŠคํŠธ ์‹œ๊ฐ„์ด 1000์ธ ํ”„๋กœ์„ธ์Šค p4๋Š” ๊ทธ ๋‹ค์Œ์— ์˜ค๋Š” p5, p6, p7์˜ CPU ๋ฒ„์ŠคํŠธ ์‹œ๊ฐ„์ด ์งง์€๋ฐ๋‹ค ์—ฌ๊ธฐ์— ๋งŒ์•ฝ ๊ณ„์†ํ•ด์„œ CPU ๋ฒ„์ŠคํŠธ ์‹œ๊ฐ„์ด ์งง์€ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋„์ฐฉํ•œ๋‹ค๋ฉด p4๋Š” ์˜์›ํžˆ CPU๋ฅผ ํ• ๋‹น๋ฐ›์ง€ ๋ชปํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ˜„์ƒ์„ ๊ธฐ์•„ ํ˜„์ƒ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ด๋Š” SJF ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฐ€์žฅ ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ์ ์ด๋‹ค.

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

์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง์ด๋ž€ ์ค€๋น„ ํ์—์„œ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค ์ค‘ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์ œ์ผ ๋จผ์ € CPU๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค.

์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ์‹์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. CPU ๋ฒ„์ŠคํŠธ ์‹œ๊ฐ„์„ ์šฐ์„ ์ˆœ์œ„ ๊ฐ’์œผ๋กœ ์ •์˜ํ•˜๋ฉด ์ด๋Š” SJF ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋™์ผํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค. ๋˜ํ•œ ์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง๋„ ๋น„์„ ์ ํ˜• ๋ฐฉ์‹๊ณผ ์„ ์ ํ˜• ๋ฐฉ์‹์œผ๋กœ ๊ฐ๊ฐ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์—์„œ์˜ ๋ฌธ์ œ์  ์ค‘ ํ•˜๋‚˜๋Š” SJF ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ฐ™์ด ๊ธฐ์•„ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด๋‹ค.

์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋…ธํ™”(aging)๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋…ธํ™” ๊ธฐ๋ฒ•์ด๋ž€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๋ฉด ์šฐ์„ ์ˆœ์œ„๋ฅผ ์กฐ๊ธˆ์”ฉ ๋†’์—ฌ, ์–ธ์  ๊ฐ€๋Š” ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋˜์–ด CPU๋ฅผ ํ• ๋‹น๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

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

๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง(Round Robin Scheduling)์€ ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ์˜ ์„ฑ์งˆ์„ ๊ฐ€์žฅ ์ž˜ ํ™œ์šฉํ•œ ์ƒˆ๋กœ์šด ์˜๋ฏธ์˜ ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง์—์„œ๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์—ฐ์†์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด ํŠน์ • ์‹œ๊ฐ„์œผ๋กœ ์ œํ•œ๋˜๋ฉฐ, ์ด ์‹œ๊ฐ„์ด ๊ฒฝ๊ณผํ•˜๋ฉด ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋กœ๋ถ€ํ„ฐ CPU๋ฅผ ํšŒ์ˆ˜ํ•ด ์ค€๋น„ ํ์— ์ค„ ์„œ ์žˆ๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ CPU๋ฅผ ํ• ๋‹นํ•œ๋‹ค. ์ด๋•Œ ๊ฐ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ํ•œ ๋ฒˆ์— CPU๋ฅผ ์—ฐ์†์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€์‹œ๊ฐ„์„ ํ• ๋‹น์‹œ๊ฐ„์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

์•„๋ž˜์™€ ๊ฐ™์ด ํ”„๋กœ์„ธ์Šค p1, p2, p3๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ๋„์ฐฉํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„๋•Œ

ํ”„๋กœ์„ธ์ŠคCPU ๋ฒ„์ŠคํŠธ ์‹œ๊ฐ„
P124
P217
P33

ํ• ๋‹น์‹œ๊ฐ„์ด 10์ธ ๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง์„ ์ ์šฉํ•˜๋ฉด ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ ์ฐจํŠธ์™€ ๊ฐ™๋‹ค.

๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง์€ ์ผ๋ฐ˜์ ์œผ๋กœ SJF ๋ฐฉ์‹๋ณด๋‹ค ํ‰๊ท  ๋Œ€๊ธฐ ์‹œ๊ฐ„์€ ๊ธธ์ง€๋งŒ ์‘๋‹ต์‹œ๊ฐ„์ด ๋” ์งง๋‹ค.

ํ• ๋‹น์‹œ๊ฐ„์ด ๋งŒ๋ฃŒ๋˜์–ด CPU๋ฅผ ํšŒ์ˆ˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๐Ÿ•ฐํƒ€์ด๋จธ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

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

5) ๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ํ

๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ํ(multi-level queue)๋ž€ ์ค€๋น„ ํ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๋ถ„ํ• ํ•ด ๊ด€๋ฆฌํ•˜๋Š” ์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ•์„ ๋งํ•œ๋‹ค. ์ฆ‰ ํ”„๋กœ์„ธ์Šค๋“ค์ด CPU๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ ์œ„ํ•ด ํ•œ ์ค„๋กœ ์„œ๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์—ฌ๋Ÿฌ ์ค„๋กœ ์„œ๋Š” ๊ฒƒ์ด๋‹ค. ์‰ฝ๊ฒŒ๋งํ•ด ํ”„๋กœ์„ธ์Šค๋“ค์ด CPU๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ ์œ„ํ•ด ํ•œ ์ค„๋กœ ์„œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ ์ค„๋กœ ์„œ๋Š” ๊ฒƒ์ด๋‹ค.

CPU๋Š” ํ•˜๋‚˜๋ฐ–์— ์—†์œผ๋ฏ€๋กœ ์–ด๋–ค ์ค„์— ์„œ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ์Šค์ผ€์ค„๋ง ํ•  ๊ฒƒ์ธ๊ฐ€ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

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

๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ํ์—์„œ ์ค€๋น„ ํ๋Š” ๋Œ€ํ™”ํ˜• ์ž‘์—…์„ ๋‹ด๊ธฐ ์œ„ํ•œ ์ „์œ„ ํ(foreground queue)์™€ ๊ณ„์‚ฐ ์œ„์ฃผ์˜ ์ž‘์—…์„ ๋‹ด๊ธฐ ์œ„ํ•œ ํ›„์œ„ ํ(background queue)๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์šด์˜๋œ๋‹ค.

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

๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ํ์—์„œ๋Š” ๋˜ ๋‹ค๋ฅธ ์Šค์ผ€์ค„๋ง์ด ํ•„์š”ํ•œ๋ฐ, ์ด๋Š” ํ ์ž์ฒด์— ๋Œ€ํ•œ ์Šค์ผ€์ค„๋ง์ด๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ค€๋น„ ํ์— ๋Œ€ํ•ด์„œ ์–ด๋Š ํ์— ๋จผ์ € CPU๋ฅผ ํ• ๋‹นํ•  ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์Šค์ผ€์ค„๋ง์ด ํ•„์š”ํ•œ ๊ฒƒ์ด๋‹ค.

ํ์— ๋Œ€ํ•œ ์Šค์ผ€์ค„๋ง์œผ๋กœ ๊ฐ€์žฅ ์‰ฝ๊ฒŒ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์€ ๊ณ ์ • ์šฐ์„ ์ˆœ์œ„ ๋ฐฉ์‹(fixed priority scheduling)์ด๋‹ค. ์ด ๋ฐฉ์‹์—์„œ๋Š” ํ์— ๊ณ ์ •์ ์ธ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•ด ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ๋ฅผ ๋จผ์ € ์„œ๋น„์Šคํ•˜๊ณ  ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ๋ฅผ ๋น„์–ด ์žˆ์„ ๋•Œ์—๋งŒ ์„œ๋น„์Šคํ•˜๊ฒŒ ๋œ๋‹ค.

6) ๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ํ”ผ๋“œ๋ฐฑ ํ

๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ํ”ผ๋“œ๋ฐฑ ํ(Multilevel Feedback Queue)๋Š” CPU๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์—ฌ๋Ÿฌ ์ค„ ์„ธ์šด๋‹ค๋Š” ์ธก๋ฉด์—์„œ ๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ํ์™€ ๋™์ผํ•˜๋‚˜, ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•˜๋‚˜์˜ ํ์—์„œ ๋‹ค๋ฅธ ํ๋กœ ์ด๋™ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์ด ๋‹ค๋ฅด๋‹ค.

๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ํ”ผ๋“œ๋ฒก ํ์˜ ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ์‹์€ ๋‹ค์Œ ์‚ฌ์ง„๊ณผ ๊ฐ™๋‹ค.

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

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

ํ์— ๋Œ€ํ•œ ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์œผ๋กœ๋Š” ์ตœ์ƒ์œ„ ํ๊ฐ€ ์šฐ์„ ์ ์œผ๋กœ CPU๋ฅผ ๋ฐฐ๋‹น๋ฐ›๊ณ , ์ƒ์œ„ ํ๊ฐ€ ๋น„์—ˆ์„ ๋•Œ์—๋งŒ ํ•˜์œ„ ํ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์ด CPU๋ฅผ ํ• ๋‹น๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

profile
๐Ÿง‘๐Ÿปโ€๐Ÿ’ปiOS

0๊ฐœ์˜ ๋Œ“๊ธ€