1. CPU ์Šค์ผ€์ค„๋ง ๊ฐœ์š”

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

์˜ค๋Š˜๋‚  CPU ์Šค์ผ€์ค„๋ง์€ ์ค€๋น„์ƒํƒœ์˜ ์Šค๋ ˆ๋“œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๋Š” ์Šค๋ ˆ๋“œ ์Šค์ผ€์ค„๋ง์ด๋‹ค

1.1 ๋‹ค์ค‘ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ์Šค์ผ€์ค„๋ง

  • ์ž‘์—… ์Šค์ผ€์ค„๋ง(job scheduling)
  • CPU ์Šค์ผ€์ค„๋ง(CPU scheduling)

์ดˆ๊ธฐ ๋‹ค์ค‘ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์Šคํ…œ โ†’ ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์ž‘์—…์„ ์ฝ์–ด ๋””์Šคํฌ ์žฅ์น˜์— ์ €์žฅํ•˜๊ณ  ๋ช‡๊ฐœ์˜ ์ž‘์—…์„ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ ํ›„ ์ด๋“ค์„ ๋‹ค์ค‘ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌ ์ž‘์—… ์Šค์ผ€์ค„๋ง : ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒํ•˜๋ฉด ๋””์Šคํฌ์—์„œ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ž‘์—… ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ CPU ์Šค์ผ€์ค„๋ง : ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ I/O๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค ์ค‘ cpu์— ์‹คํ–‰์‹œํ‚ฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒํ•˜๋Š” ๊ณผ์ •

1.2 cpu brust์™€ I/O brust

ํ”„๋กœ๊ทธ๋žจ์€ CPU brust - I/O brust - โ€ฆ - CPU brust - I/O brust๋ฅผ ๋ฐ˜๋ณตํ•จ

cpu brust : cpu๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ง‘์ค‘์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ์ƒํ™ฉ I/O brust : I/O ์žฅ์น˜์— ์˜ํ•ด ์ž…์ถœ๋ ฅ์ด ์ด๋ฃจ์–ด์ง€๋Š” ์ƒํ™ฉ

CPU ์ง‘์ค‘ ํ”„๋กœ์„ธ์Šค : cpu brust ์‹œ๊ฐ„ > I/O brust ์‹œ๊ฐ„ I/O ์ง‘์ค‘ ํ”„๋กœ์„ธ์Šค : cpu brust ์‹œ๊ฐ„ < I/O brust ์‹œ๊ฐ„

I/O brust ๋™์•ˆ cpu ์œ ํœด ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•ด cpu๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ํ• ๋‹นํ•˜๋Š” cpu ์Šค์ผ€์ค„๋ง ๋„์ž…

1.3 cpu ์Šค์ผ€์ค„๋ง์˜ ๊ธฐ๋ณธ ๋ชฉํ‘œ

  • cpu ํ™œ์šฉ๋ฅ  ํ–ฅ์ƒ
  • ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ์ฒ˜๋ฆฌ์œจ ํ–ฅ์ƒ

1.4 cpu ์Šค์ผ€์ค„๋ง์˜ ๊ธฐ์ค€(criteria)

  • CPU ํ™œ์šฉ๋ฅ (CPU utilization) : ์ปดํ“จํ„ฐ ์ „์ฒด ๊ฐ€๋™์‹œ๊ฐ€๋„ค ๋Œ€ํ•œ cpu ์‚ฌ์šฉ ์‹œ๊ฐ„ ๋น„์œจ
  • ์ฒ˜๋ฆฌ์œจ(throughput) : ๋‹จ์œ„ ์‹œ๊ฐ„ ๋‹น ์ฒ˜๋ฆฌํ•˜๋Š” ์Šค๋ ˆ๋“œ ๊ฐœ์ˆ˜
  • ๊ณตํ‰์„ฑ(fairness) : ๋ชจ๋“  ์Šค๋ ˆ๋“œ์—๊ฒŒ cpu ์‚ฌ์šฉ์‹œ๊ฐ„์„ ๊ณตํ‰ํ•˜๊ฒŒ ๋ฐฐ๋ถ„ํ•˜๋Š” ๊ฒƒ
  • ์‘๋‹ต์‹œ๊ฐ„(response time) : ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์‘๋‹ต ์‹œ๊ฐ„ ์ตœ์†Œํ™”
  • ๋Œ€๊ธฐ์‹œ๊ฐ„(waiting time) : ์Šค๋ ˆ๋“œ๊ฐ€ ์ค€๋น„ ๋ฆฌ์ŠคํŠธ์—์„œ cpu๋ฅผ ํ• ๋‹น๋ฐ›์„ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„
  • ์†Œ์š”์‹œ๊ฐ„(turnaround time) : ์ž‘์—…์ด ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์— ์ง„์ž…ํ•˜๋Š” ์‹œ์ ์—์„œ ์™„๋ฃŒ๊นŒ์ง€ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„
    • ๋ฐฐ์น˜ ์‹œ์Šคํ…œ : ์ž‘์—… ์ œ์ถœ ~ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜
    • ๋‹ค์ค‘ํ”„๋กœ๊ทธ๋ž˜๋ฐ : ํ”„๋กœ์„ธ์Šค ์‹œ์ž‘ ~ ์ข…๋ฃŒ
    • ์‚ฌ์šฉ์ž ์ž…์žฅ : ์ž‘์—… ์‹œ์ž‘ ํ›„ ๊ฒฐ๊ณผ ์–ป๊ธฐ๊นŒ์ง€ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„
  • ์‹œ์Šคํ…œ ์ •์ฑ… ์šฐ์„ (high policy enforcement) : cpu ์Šค์ผ€์ค„๋ง์ด ์‹œ์Šคํ…œ์˜ ์ •์ฑ…์— ๋งž๋„๋ก ์ด๋ฃจ์–ด์ ธ์•ผ ํ•จ
  • ์ž์› ํ™œ์šฉ๋ฅ (high resource effieniecy)

1.5 cpu ์Šค์ผ€์ค„๋ง๊ณผ ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค

์šด์˜์ฒด์ œ๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉํ•  ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๋ฅผ ์ •ํ•˜๊ณ  ์ด ์‹œ๊ฐ„๋™์•ˆ CPU๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ํ•จ

2. CPU ์Šค์ผ€์ค„๋ง ๊ธฐ๋ณธ

  1. ์Šค๋ ˆ๋“œ๊ฐ€ I/O๋ฅผ ์š”์ฒญํ•˜๋Š” ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ์‹คํ–‰ํ•˜์—ฌ ๋ธ”๋ก ์ƒํƒœ(Blocked)๊ฐ€ ๋˜๊ฑฐ๋‚˜ ์ž์›์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ๊ฐ€ ๋  ๋•Œ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์—๊ฒŒ CPU๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ฒฝ์šฐ
  2. ์Šค๋ ˆ๋“œ๊ฐ€ ์ž๋ฐœ์ ์œผ๋กœ CPU๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ
  3. ์Šค๋ ˆ๋“œ์—๊ฒŒ ํ• ๋‹น๋œ ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ ๋‹ค ์†Œ์ง„๋˜์–ด ํƒ€์ด๋จธ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ
  4. ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ์Šค๋ ˆ๋“œ๋ณด๋‹ค ๋” ๋†’์€ ์ˆœ์œ„์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์š”์ฒญํ•œ ์ž…์ถœ๋ ฅ ์ž‘์—…์ด ์™„๋ฃŒ๋˜์–ด I/O ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ

2.2 CPU ์Šค์ผ€์ค„๋ง๊ณผ ๋””์ŠคํŒจ์น˜

CPU ์Šค์ผ€์ค„๋ง ์ฝ”๋“œ์˜ ์œ„์น˜์™€ ์‹คํ–‰ ์‹œ์ 

cpu ์Šค์ผ€์ค„๋ง์€ ์ปค๋„์— ์˜ํ•ด ์ด๋ฃจ์–ด์ง

CPU ์Šค์ผ€์ค„๋ง์„ ๋‹ด๋‹นํ•˜๋Š” ๋ณ„๋„์˜ ์ปค๋„ ์Šค๋ ˆ๋“œ๋‚˜ ํ”„๋กœ์„ธ์Šค๋Š” ์—†๋‹ค

  • ๋ชจ๋†€๋ฆฌ์‹ ์ปค๋„์˜ ๊ฒฝ์šฐ ์Šค์ผ€์ค„๋ง์„ ์ „๋‹ดํ•˜๋Š” ๋ณ„๋„์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์—†๊ณ  ์Šค์ผ€์ค„๋ง ์ฝ”๋“œ๋Š” ์‹œ์Šคํ…œ ํ˜ธ์ถœ์ด๋‚˜ ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์— ํ˜ธ์ถœ๋˜๋Š” ์ฝ”๋“œ ํ˜•ํƒœ๋กœ ์กด์žฌ

CPU ์Šค์ผ€์ค„๋ง ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ์ž์„ธํ•œ ์‹œ์ ์€? ์‹œ์Šคํ…œ ํ˜ธ์ถœ์ด๋‚˜ ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์ด ์„œ๋น„์Šค๋ฅผ ๋งˆ์น˜๋Š” ๋งˆ์ง€๋ง‰ ๊ณผ์ •์—์„œ ์Šค์ผ€์ค„๋ง์ด ํ•„์š”ํ•  ๋•Œ

๋””์ŠคํŒจ์ฒ˜(dispatcher)์ฝ”๋“œ ์‹คํ–‰

์Šค์ผ€์ค„๋Ÿฌ ์ฝ”๋“œ์— ์˜ํ•ด ์„ ํƒ๋œ ์Šค๋ ˆ๋“œ๋ฅผ cpu๊ฐ€ ์‹คํ–‰ํ•˜๋„๋ก ํ•˜๋Š” ์ปค๋„์ฝ”๋“œ์˜ ํ•œ ๋ถ€๋ถ„

  • CPU ๋ ˆ์ง€์Šคํ„ฐ๋“ค์„ ์Šค๋ ˆ๋“œ A์˜ TCB-A์— ์ €์žฅํ•˜๊ณ  ์Šค๋ ˆ๋“œ B์˜ TCB-B์— ์ €์žฅ๋œ ๋ ˆ์ง€์Šคํ„ฐ๋“ค์„ CPU์— ์ ์žฌํ•˜๋Š” ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ ์‹คํ–‰
  • ๋””์ŠคํŒจ์น˜ ์‹คํ–‰ ๊ฒฐ๊ณผ cpu๋Š” ์ด์ „์— ์Šค๋ ˆ๋“œ b๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ๋˜ ์ƒํƒœ์—์„œ ์‹คํ–‰ ์‹œ์ž‘

2.3 ์Šค์ผ€์ค„๋ง ํƒ€์ž… : ์„ ์  ์Šค์ผ€์ค„๋ง๊ณผ ๋น„์„ ์  ์Šค์ผ€์ค„๋ง

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

์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ•์ œ ์ค‘๋‹จ ์‹œํ‚ค์ง€ ์•Š๊ณ  ์‹คํ–‰์ค‘์ธ ์Šค๋ ˆ๋“œ๊ฐ€ ๋”์ด์ƒ cpu๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด ์˜ค๋ฉด ์Šค์ผ€์ค„๋ง ์‹œํ–‰

  • cpu๋ฅผ ๋” ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ ๊ฒฝ์šฐ : I/O๋กœ ์ธํ•œ ๋ธ”๋ก ์ƒํƒœ, sleep()
  • ์ž๋ฐœ์  cpu์–‘๋ณด : yield() ์‹œ์Šคํ…œ ํ˜ธ์ถœ
  • ์Šค๋ ˆ๋“œ ์ข…๋ฃŒ

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

ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ•์ œ ์ค‘๋‹จ ์‹œ์ผœ ์ค€๋น„๋ฆฌ์ŠคํŠธ๋กœ ์ด๋™์‹œํ‚ค๊ณ  ์Šค์ผ€์ค„๋ง ํ•˜๋Š” ๋ฐฉ์‹

  • ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ ์†Œ์ง„๋˜์—ˆ์„ ๋•Œ
  • ์ธํ„ฐ๋ŸฝํŠธ๋‚˜ ์‹œ์Šคํ…œ ํ˜ธ์ถœ ์ข…๋ฃŒ ์‹œ์ ์—์„œ ๋” ๋†’์€ ์ˆœ์œ„์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๋Œ€๊ธฐ ์ƒํƒœ์— ์žˆ์„ ๋•Œ

2.4 ๊ธฐ์•„์™€ ์—์ด์ง•

๊ธฐ์•„(starvation) : ์Šค๋ ˆ๋“œ๊ฐ€ ์Šค์ผ€์ค„๋ง ๊ณผ์ •์—์„œ ์„ ํƒ๋˜์ง€ ๋ชปํ•œ ์ฑ„ ์˜ค๋žซ ๋™์•ˆ ์ค€๋น„๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š” ์ƒํ™ฉ

  • ์šฐ์„ ์ˆœ์œ„ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์—์„œ ๋†’์€ ์ˆœ์œ„์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ณ„์† ๋“ค์–ด์˜ค๋Š” ๊ฒฝ์šฐ
  • ์‹คํ–‰์‹œ๊ฐ„์ด ์งง์€ ์Šค๋ ˆ๋“œ๋ฅผ ์šฐ์„ ์œผ๋กœ ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์งง์€ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ณ„์† ๋“ค์–ด์˜ค๋Š” ๊ฒฝ์šฐ

์—์ด์ง•(aging) : ์Šค๋ ˆ๋“œ๊ฐ€ ์ค€๋น„๋ฆฌ์ŠคํŠธ์— ๋จธ๋ฌด๋ฅด๋Š” ์‹œ๊ฐ„์— ๋น„๋ก€ํ•˜์—ฌ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋†’์—ฌ์ฃผ๋Š” ๊ธฐ๋ฒ•

3. ๋‹ค์–‘ํ•œ CPU ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜

3.1 FCFS(First Come First Served) ์Šค์ผ€์ค„๋ง

๋จผ์ € ๋„์ฐฉํ•œ ์Šค๋ ˆ๋“œ๋ฅผ ๋จผ์ € ์Šค์ผ€์ค„๋ง

์Šค์ผ€์ค„๋ง ํŒŒ๋ผ๋ฏธํ„ฐ์Šค์ผ€์ค„๋ง ํƒ€์ž…์Šค๋ ˆ๋“œ ์šฐ์„ ์ˆœ์œ„๊ธฐ์•„
์Šค๋ ˆ๋“œ ๋ณ„ ํ ๋„์ฐฉ์‹œ๊ฐ„๋น„์„ ์ ์—†์Œ๋ฐœ์ƒ X
  • ์„ฑ๋Šฅ ์ด์Šˆ
    • ๊ธด cpu brust๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ cpu๋ฅผ ์–‘๋„ํ•  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐํ•˜๊ฑฐ๋‚˜ ๋Šฆ๊ฒŒ ๋„์ฐฉํ•œ ์งง์€ ์Šค๋ ˆ๋“œ๋“ค์ด ์˜ค๋ž˜ ๋Œ€๊ธฐ โ†’ ์‹œ์Šคํ…œ ์ „์ฒด๊ฐ€ ๋А๋ ค์ง
    • ์ฒ˜๋ฆฌ์œจ์ด ๋‚ฎ์ง€๋งŒ ๋‹จ์ˆœํ•˜๊ณ  ๊ตฌํ˜„์ด ์šฉ์ด

3.2 SJF(Shortest Job First) ์Šค์ผ€์ค„๋ง

์‹คํ–‰ ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ์Šค๋ ˆ๋“œ๋ฅผ ์šฐ์„  ์„ ํƒ ํ๋ฅผ ์ˆœํšŒํ•˜์—ฌ ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ์Šค๋ ˆ๋“œ๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ์Šค๋ ˆ๋“œ๊ฐ€ ํ์— ๋„์ฐฉํ•  ๋•Œ ์ •๋ ฌํ•˜์—ฌ ๊ตฌํ˜„

์Šค์ผ€์ค„๋ง ํŒŒ๋ผ๋ฏธํ„ฐ์Šค์ผ€์ค„๋ง ํƒ€์ž…์Šค๋ ˆ๋“œ ์šฐ์„ ์ˆœ์œ„๊ธฐ์•„
์Šค๋ ˆ๋“œ ๋ณ„ ์˜ˆ์ƒ๋„์ฐฉ์‹œ๊ฐ„๋น„์„ ์ ์—†์Œ๋ฐœ์ƒ ๊ฐ€๋Šฅ
  • ์„ฑ๋Šฅ ์ด์Šˆ
    • ๋Œ€๊ธฐ์ค‘์ธ ๋ชจ๋“  ์Šค๋ ˆ๋“œ์˜ ๋Œ€๊ธฐ์‹œ๊ฐ„์ด ์งง์•„์ง€๋ฏ€๋กœ ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„ ๊ฐ์†Œ
    • ์Šค๋ ˆ๋“œ ์‹คํ–‰ ์‹œ๊ฐ„ ์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅ โ†’ ํ˜„์‹ค์—์„œ ์‚ฌ์šฉ x

ํ‰๊ท  ๋Œ€๊ธฐ ์‹œ๊ฐ„ : (0+4+2+3)/4 = 2.25ms

3.3 SRTF(Shortest Remaining Time First) ์Šค์ผ€์ค„๋ง

SJF์˜ ์„ ์  ์Šค์ผ€์ค„๋ง ๋ฒ„์ „, ์‹คํ–‰ ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ์Šค๋ ˆ๋“œ๋ฅผ ์šฐ์„  ์Šค์ผ€์ค„

์Šค์ผ€์ค„๋ง ํŒŒ๋ผ๋ฏธํ„ฐ์Šค์ผ€์ค„๋ง ํƒ€์ž…์Šค๋ ˆ๋“œ ์šฐ์„ ์ˆœ์œ„๊ธฐ์•„
์Šค๋ ˆ๋“œ ๋ณ„ ์˜ˆ์ƒ ์‹คํ–‰์‹œ๊ฐ„์„ ์ ์—†์Œ๋ฐœ์ƒ ๊ฐ€๋Šฅ
  • ์„ฑ๋Šฅ ์ด์Šˆ
    • ์Šค๋ ˆ๋“œ๋“ค์˜ ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„ ์ตœ์†Œํ™”
    • ์‹คํ–‰์‹œ๊ฐ„ ์˜ˆ์ธก X

ํ‰๊ท  ๋Œ€๊ธฐ ์‹œ๊ฐ„ : (1+4+0+3)/4 = 2ms

3.4 RR(Round-Robin) ์Šค์ผ€์ค„๋ง

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

์Šค์ผ€์ค„๋ง ํŒŒ๋ผ๋ฏธํ„ฐ์Šค์ผ€์ค„๋ง ํƒ€์ž…์Šค๋ ˆ๋“œ ์šฐ์„ ์ˆœ์œ„๊ธฐ์•„
ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค์„ ์ ์—†์Œ์—†์Œ
  • ์„ฑ๋Šฅ์ด์Šˆ
    • ์žฆ์€ ์Šค์ผ€์ค„๋ง๊ณผ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์— ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์ด ํผ
    • ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ ์ž‘์„์ˆ˜๋ก ์Šค์ผ€์ค„๋ง ํšŸ์ˆ˜ ์ฆ๊ฐ€๋กœ ์„ฑ๋Šฅ ์ €ํ•˜

  • ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ 2ms - ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„ : (3+4+2+3)/4 = 3ms - ์Šค์ผ€์ค„๋ง ํšŸ์ˆ˜ : 6๋ฒˆ - ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ : 5๋ฒˆ - FCFS์— ๊ฐ€๊นŒ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ 1ms
    • ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„ : (5+4+1+3)/4 = 3.25ms
    • ์Šค์ผ€์ค„๋ง ํšŸ์ˆ˜ : 10๋ฒˆ
    • ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ : 9๋ฒˆ
    • SJF/SRT์— ๊ฐ€๊นŒ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜

3.5 Priority ์Šค์ผ€์ค„๋ง

ํ์—์„œ ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„์˜ ์Šค๋ ˆ๋“œ๋ฅผ ์„ ํƒํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

์Šค์ผ€์ค„๋ง ํŒŒ๋ผ๋ฏธํ„ฐ์Šค์ผ€์ค„๋ง ํƒ€์ž…์Šค๋ ˆ๋“œ ์šฐ์„ ์ˆœ์œ„๊ธฐ์•„
์Šค๋ ˆ๋“œ๋“ค์˜ ์šฐ์„ ์ˆœ์œ„ ๊ฐ’์„ ์ /๋น„์„ ์  ๋ชจ๋‘ ๊ฐ€๋Šฅ์Šค๋ ˆ๋“œ๋งˆ๋‹ค ๊ณ ์ • ์šฐ์„ ์ˆœ์œ„๋ฐœ์ƒ ๊ฐ€๋Šฅ
  • ์„ฑ๋Šฅ ์ด์Šˆ
    • ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์„์ˆ˜๋ก ๋Œ€๊ธฐ์‹œ๊ฐ„๊ณผ ์‘๋‹ต์‹œ๊ฐ„์ด ์งง์Œ
    • ๊ณ ์ • ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง€๋Š” ์‹ค์‹œ๊ฐ„ ์‹œ์Šคํ…œ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ

3.6 MLQ(Multi-level Queue) ์Šค์ผ€์ค„๋ง

  • ์„ค๊ณ„์˜๋„
    • ์Šค๋ ˆ๋“œ๋“ค์„ n๊ฐœ์˜ ์šฐ์„ ์ˆœ์œ„ ๋ ˆ๋ฒจ๋กœ ๊ตฌ๋ถ„ํ•˜๊ณ  ๋ ˆ๋ฒจ์ด ๋†’์€ ์Šค๋ ˆ๋“œ๋ฅผ ์šฐ์„  ์ฒ˜๋ฆฌํ•  ๋ชฉ์ ์œผ๋กœ ์„ค๊ณ„

n๊ฐœ์˜ ๋ ˆ๋ฒจ ํ(์šฐ์„ ์ˆœ์œ„ ํ)๋ฅผ ๋‘๊ณ  ์Šค๋ ˆ๋“œ๋ฅผ ๋ ˆ๋ฒจ์— ๋”ฐ๋ผ ํ์— ์‚ฝ์ž… ๊ฐ€์žฅ ๋†’์€ ๋ ˆ๋ฒจ์˜ ํ์—์„œ ๋งจ ์•ž์— ์žˆ๋Š” ์Šค๋ ˆ๋“œ ์„ ํƒ

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

3.7 MLFQ(Multi level Feedback Queue) ์Šค์ผ€์ค„๋ง

  • ์„ค๊ณ„์˜๋„

    • cpu brust๊ฐ€ ์งง์€ ์Šค๋ ˆ๋“œ, I/O์ž‘์—…์ด ๋งŽ์€ ์Šค๋ ˆ๋“œ, ๋Œ€ํ™”์‹ ์Šค๋ ˆ๋“œ ์šฐ์„  ์‹คํ–‰
    • ์Šค๋ ˆ๋“œ์˜ ํ‰๊ท ๋Œ€๊ธฐ์‹œ๊ฐ„์„ ์ค„์ด๊ณ  ์‚ฌ์šฉ์ž์˜ ์‘๋‹ต์‹œ๊ฐ„์„ ์ค„์ด๊ณ  ๊ธฐ์•„๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•ˆ๊ฒŒ ํ•จ
  • n๊ฐœ์˜ ๋ ˆ๋ฒจ ํ

    • ์šฐ์„ ์ˆœ์œ„๋กœ ๊ตฌ๋ถ„๋œ n๊ฐœ์˜ ํ๋ฅผ ๋‘ 
    • ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์—†๊ณ  ๋„์ฐฉํ•  ๋•Œ ๊ฐ€์žฅ ๋†’์€ ๋ ˆ๋ฒจ์˜ ํ์— ์‚ฝ์ž…
    • ๋†’์€ ๋ ˆ๋ฒจ์˜ ํ๋ฅผ ๋จผ์ € ์Šค์ผ€์ค„๋งํ•˜๋ฉฐ, ๋†’์€ ๋ ˆ๋ฒจ์˜ ํ๊ฐ€ ๋น„์–ด์žˆ์„ ๋•Œ๋งŒ ์•„๋ž˜ ๋ ˆ๋ฒจ์˜ ํ์—์„œ ์Šค์ผ€์ค„๋ง

๋„์ฐฉํ•˜๋Š” ์Šค๋ ˆ๋“œ๋Š” ๊ฐ€์žฅ ๋†’์€ ๋ ˆ๋ฒจ ํ์— ์‚ฝ์ž…๋จ ๊ฐ€์žฅ ๋†’์€ ๋ ˆ๋ฒจ ํ์—์„œ ์Šค๋ ˆ๋“œ๋ฅผ ์„ ํƒํ•˜์—ฌ ์‹คํ–‰์‹œํ‚ค๊ณ , ํ๊ฐ€ ๋น„์—ˆ์œผ๋ฉด ์•„๋ž˜ ๋ ˆ๋ฒจ ํ์—์„œ ์„ ํƒํ•˜๋Š” ์‹์œผ๋กœ ์ฒ˜๋ฆฌ ์‹คํ–‰์ค‘์ธ ์Šค๋ ˆ๋“œ์˜ cpu brust๊ฐ€ ํ ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๋ณด๋‹ค ๊ธธ์–ด์ง โ†’ ๊ฐ•์ œ ์ค‘๋‹จ ๋’ค ์•„๋ž˜ ๋ ˆ๋ฒจ์˜ ํ๋กœ ์ด๋™ ์Šค๋ ˆ๋“œ๊ฐ€ ์‹คํ–‰ ์ค‘ ์ž๋ฐœ์  ์ค‘๋‹จ โ†’ ๋™์ผ ํ์— ๋‹ค์‹œ ์‚ฝ์ž… I/O ์š”์ฒญ์‹œ ํ์—์„œ ๋‚˜์˜ด โ†’ ์ž‘์—… ํ›„ ๋™์ผ ํ์— ๋‹ค์‹œ ์‚ฝ์ž… ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๊ธธ์–ด์ง โ†’ ๊ธฐ์•„ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ํ•œ ๋ ˆ๋ฒจ ์œ„์˜ ํ๋กœ ์ด๋™ ์ตœํ•˜์œ„ ๋ ˆ๋ฒจ ํ๋Š” FCFS๋‚˜ ๊ธด ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค์˜ RR๋กœ ์Šค์ผ€์ค„

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

4. ๋ฉ€ํ‹ฐ ์ฝ”์–ด CPU์—์„œ์˜ ์Šค์ผ€์ค„๋ง

4.1 ๋ฉ€ํ‹ฐ ์ฝ”์–ด CPU์™€ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ

์ฝ”์–ด : ๋ ˆ์ง€์Šคํ„ฐ๋“ค, ์—ฐ์‚ฐ์žฅ์น˜, ์ œ์–ด์žฅ์น˜, ๋ฒ„์Šค ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ๊ธฐ๊ณ„๋ช…๋ น์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์„œ

  • 4๊ฐœ์˜ ์ฝ”์–ด๊ฐ€ 4๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ๋ณ‘๋ ฌ ์‹คํ–‰
  • ๊ฐ ์ฝ”์–ด์—์„œ ์‹คํ–‰๋˜๋Š” ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์‹œ์— ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ์‹คํ–‰ํ•˜์—ฌ ์ปค๋„๋กœ ์ง„์ž… ๊ฐ€๋Šฅ

4.2 ๋ฉ€ํ‹ฐ ์ฝ”์–ด ์‹œ์Šคํ…œ์—์„œ cpu ์Šค์ผ€์ค„๋ง๊ณผ ์ž‘์—… ๋ถ„๋ฐฐ

์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ ํ›„ ์˜ค๋ฒ„ํ—ค๋“œ - ์ฝ”์–ด ์นœํ™”์„ฑ์œผ๋กœ ํ•ด๊ฒฐ

cpu ์Šค์ผ€์ค„๋Ÿฌ์— ์˜ํ•ด ์–ด๋–ค ์ฝ”์–ด์— ์‹คํ–‰์‹œํ‚ค๊ธฐ๋กœ ๊ฒฐ์ •๋œ ์Šค๋ ˆ๋“œ๊ฐ€ ์ด์ „์— ์ด ์ฝ”์–ด์—์„œ ์‹คํ–‰๋œ ์ ์ด ์—†์Œ โ†’ ์ƒˆ ์Šค๋ ˆ๋“œ๊ฐ€ ์‹คํ–‰๋œ ํ›„ ์ƒˆ ์Šค๋ ˆ๋“œ์˜ ์ฝ”๋“œ์™€ ๋ฐ์ดํ„ฐ๊ฐ€ ์บ์‹œ์— ์ ์žฌ๋˜๋Š” ๋ฐ ๋งŽ์€ ์‹œ๊ฐ„ ์†Œ์š” โ†’ ์ตœ๊ทผ ์‹คํ–‰๋œ ์  ์žˆ๋Š” ์Šค๋ ˆ๋“œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•œ๋‹ค๋ฉด ์บ์‹œ๋ฅผ ๋‹ค์‹œ ์ฑ„์šฐ๋Š” ๊ณผ์ • ๊ฐ์†Œ

CPU ์นœํ™”์„ฑ : ํ”„๋กœ์„ธ์Šค๋‚˜ ์Šค๋ ˆ๋“œ๊ฐ€ ํŠน์ • cpu์—์„œ๋งŒ ์‹คํ–‰๋˜๋„๋ก ์ œํ•œํ•˜๋Š” ์Šค์ผ€์ค„๋ง ํŠน์„ฑ

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

์ฝ”์–ด๋ณ„ ๋ถ€ํ•˜ ๋ถˆ๊ท ํ˜• - ๋ถ€ํ•˜ ๊ท ๋“ฑํ™” ๊ธฐ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐ

์ฝ”์–ด ์‚ฌ์ด์˜ ๋ถ€ํ•˜ ๋ถˆ๊ท ํ˜• ์ดˆ๋ž˜ โ†’ ๋งŽ์€ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ชฐ๋ฆฐ ์ฝ”์–ด๋Š” ๋Œ€๊ธฐ์‹œ๊ฐ„๊ณผ ์ฒ˜๋ฆฌ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง โ†’ ์ ์€ ์ฝ”์–ด๋Š” ๋…ธ๋Š” ์ƒํƒœ๊ฐ€ ๋˜์–ด ์ฝ”์–ด ํ™œ์šฉ๋ฅ ๊ณผ ์‹œ์Šคํ…œ ์ฒ˜๋ฆฌ์œจ์ด ๋–จ์–ด์ง

๋ถ€ํ•˜ ๊ท ๋“ฑํ™” ๊ธฐ๋ฒ• 2๊ฐ€์ง€

  1. ํ‘ธ์‹œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
    • ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ์‹œํ•˜๋Š” ๋ณ„๋„์˜ ๊ฐ์‹œ ์Šค๋ ˆ๋“œ๋ฅผ ๋‘๊ณ  ๋…ธ๋Š” ์ฝ”์–ด๊ฐ€ ์ƒ๊ธธ ๋•Œ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ ํ๋กœ๋ถ€ํ„ฐ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ•์ œ๋กœ ์˜ฎ๊ฒจ๋†“๋Š” ๊ธฐ๋ฒ• โ†’ ์Šค๋ ˆ๋“œ ๊ฐœ์ˆ˜๋ฅผ ๊ท ๋“ฑํ•˜๊ฒŒ ์œ ์ง€
  2. ํ’€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
    • ์ฒ˜๋ฆฌํ•  ์Šค๋ ˆ๋“œ๊ฐ€ ์—†์„ ๋•Œ ๋‹ค๋ฅธ ์ฝ”์–ด์˜ ์Šค๋ ˆ๋“œ ํ์—์„œ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ€์ ธ์™€ ์ž์‹ ์˜ ์Šค๋ ˆ๋“œ ํ์— ๋„ฃ๊ณ  ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋ฒ•

์ถœ์ฒ˜ - https://www.booksr.co.kr/product/%EB%AA%85%ED%92%88-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%EC%88%98%EC%A0%95%ED%8C%90/