Skip to content

Instantly share code, notes, and snippets.

@jinny-l
Last active February 6, 2023 07:33
Show Gist options
  • Save jinny-l/eb922868f8a416ed63c199ff1f3c7349 to your computer and use it in GitHub Desktop.
Save jinny-l/eb922868f8a416ed63c199ff1f3c7349 to your computer and use it in GitHub Desktop.
Jinny - CS10

๐Ÿ–ฅ CS10 - ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง

๐Ÿ” ๋ฏธ์…˜ ์„ค๋ช…

์šด์˜์ฒด์ œ์—์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•ด์„œ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์ž‘์—…์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ•œ๋‹ค.
์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์€ ๋‹ค์Œ 3๊ฐœ ์ค‘ 1๊ฐœ๋ฅผ ๊ณจ๋ผ์„œ ๊ตฌํ˜„ํ•˜๊ณ , ์—ฌ์œ ๊ฐ€ ๋œ๋‹ค๋ฉด ๋‹ค๋ฅธ ๋ฐฉ์‹๋„ ๊ตฌํ˜„ํ•ด ๋ณธ๋‹ค.

  • ๊ธฐํ•œ๋ถ€ ์Šค์ผ€์ค„๋ง (deadline scheduling)
  • ๊ณ ์ • ์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง (static priority scheduling)
  • ๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง (Round Robin scheduling)

ํ•™์Šต ํ‚ค์›Œ๋“œ

#์Šค์ผ€์ค„๋ง #ํ”„๋กœ์„ธ์Šค #PCB #์šด์˜์ฒด์ œ #์šฐ์„ ์ˆœ์œ„

์‹คํ–‰ ๊ฒฐ๊ณผ ์˜ˆ์‹œ

ํ”„๋กœ์„ธ์ŠคA(3์ดˆ) , ํ”„๋กœ์„ธ์ŠคB(5์ดˆ), ํ”„๋กœ์„ธ์ŠคC(7์ดˆ) ๋ฅผ ์ƒ์„ฑํ•œ ๊ฒฝ์šฐ ์ถœ๋ ฅ ์˜ˆ์‹œ

A(ready), 0 / 3sec
B(ready), 0 / 5sec
C(ready), 0 / 7sec
.
A(running), 1 / 3sec , waiting 0 sec
B(waiting), 0 / 5sec , waiting 1 sec
C(waiting), 0 / 7sec , waiting 1 sec
.
A(waiting), 1 / 3sec , waiting 1 sec
B(running), 1 / 5sec , waiting 1 sec
C(waiting), 0 / 7sec , waiting 2 sec
.
A(waiting), 1 / 3sec , waiting 2 sec
B(waiting), 1 / 5sec , waiting 2 sec
C(running), 1 / 7sec , waiting 2 sec
.
A(running), 2 / 3sec , waiting 2 sec
B(waiting), 1 / 5sec , waiting 3 sec
C(waiting), 1 / 7sec , waiting 3 sec
.
A(waiting), 2 / 3sec , waiting 3 sec
B(running), 2 / 5sec , waiting 3 sec
C(waiting), 1 / 7sec , waiting 4 sec
.
A(waiting), 2 / 3sec , waiting 4 sec
B(waiting), 2 / 5sec , waiting 4 sec
C(running), 2 / 7sec , waiting 4 sec
.
A(running), 3 / 3sec , waiting 4 sec
B(waiting), 2 / 5sec , waiting 5 sec
C(waiting), 2 / 7sec , waiting 5 sec
.
A(terminated), 3 / 3sec , waiting 4 sec
B(running), 3 / 5sec , waiting 5 sec
C(waiting), 2 / 7sec , waiting 6 sec
.
A(terminated), 3 / 3sec , waiting 4 sec
B(waiting), 3 / 5sec , waiting 6 sec
C(running), 3 / 7sec , waiting 6 sec
.
A(terminated), 3 / 3sec , waiting 4 sec
B(running), 4 / 5sec , waiting 6 sec
C(waiting), 3 / 7sec , waiting 7 sec
.
A(terminated), 3 / 3sec , waiting 4 sec
B(waiting), 4 / 5sec , waiting 7 sec
C(running), 4 / 7sec , waiting 7 sec
.
A(terminated), 3 / 3sec , waiting 4 sec
B(running), 5 / 5sec , waiting 7 sec
C(waiting), 4 / 7sec , waiting 8 sec
.
A(terminated), 3 / 3sec , waiting 4 sec
B(terminated), 5 / 5sec , waiting 7 sec
C(running), 5 / 7sec , waiting 8 sec
.
A(terminated), 3 / 3sec , waiting 4 sec
B(terminated), 5 / 5sec , waiting 7 sec
C(running), 6 / 7sec , waiting 8 sec
.
A(terminated), 3 / 3sec , waiting 4 sec
B(terminated), 5 / 5sec , waiting 7 sec
C(running), 7 / 7sec , waiting 8 sec
.
A(terminated), 3 / 3sec , waiting 4 sec
B(terminated), 5 / 5sec , waiting 7 sec
C(terminated), 7 / 7sec , waiting 8 sec

๋ผ์šด๋“œ๋กœ๋นˆ ๋ฐฉ์‹ ์Šค์ผ€์ค„๋ง์ด ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
ํ‰๊ท  ๋Œ€๊ธฐ์‹œ๊ฐ„ = (4 + 7 + 8) / 3 = 6.3sec
ํ‰๊ท  ๋ฐ˜ํ™˜์‹œ๊ฐ„ = (7 + 12 + 15) / 3 = 11.3sec

---

๋‹ค๋ฅธ ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹ ํ‘œ์‹œ

โœ… ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ

ํ”„๋กœ์„ธ์Šค ๊ธฐ๋Šฅ

  • ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ๋ฅผ A๋ถ€ํ„ฐ F๊นŒ์ง€ 6๊ฐœ ์ •ํ•˜๊ณ , ํ”„๋กœ์„ธ์Šค ๋งˆ๋‹ค ์ตœ๋Œ€ ๋™์ž‘ ์‹œ๊ฐ„์„ ๊ฒน์น˜์ง€ ์•Š๋„๋ก ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ
  • ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ธฐ๋Šฅ
    • ์ค€๋น„(ready), ์‹คํ–‰(running), ๋Œ€๊ธฐ(waiting), ์ข…๋ฃŒ(terminated)

์šด์˜์ฒด์ œ ๊ธฐ๋Šฅ

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

ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋Šฅ

  • ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘ ํ›„, ๋žœ๋ค์œผ๋กœ ํ”„๋กœ์„ธ์Šค 3๊ฐœ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋Œ€๊ธฐ ํ์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ

์ถœ๋ ฅ ๊ธฐ๋Šฅ

  • 1์ดˆ๋งˆ๋‹ค ์ „์ฒด ํ”„๋กœ์„ธ์Šค ์ƒํƒœ, ๋Œ€๊ธฐ ์‹œ๊ฐ„, ๋ˆ„์  ์‹คํ–‰ ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ

๐Ÿ“ ๊ฐœ๋… ๊ณต๋ถ€

๋ณธ๋ฌธ์€ CPU ์Šค์ผ€์ค„๋ง์— ๋Œ€ํ•ด ์ฃผ๋กœ ๋‹ค๋ฃจ๊ณ ์ž ํ•˜์—ฌ
ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…์€ ๊ฐ€๋ณ๊ฒŒ ํ›‘๊ณ  ๊ฐˆ ์˜ˆ์ •์ด๋‹ค.

๐Ÿง‘๐Ÿผโ€๐Ÿณ 1. ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ

๐Ÿ“Œ 1.1 ํ”„๋กœ์„ธ์Šค

  • ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜์–ด์„œ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๋Š” ์ƒํƒœ๋ฅผ ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ํ•œ๋‹ค.

๐Ÿ“Œ 1.2 ์Šค๋ ˆ๋“œ

  • ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ์ตœ์†Œ ์ž‘์—… ๋‹จ์œ„์ด๋‹ค.

๐Ÿ’ก 1.3 ์˜ˆ์‹œ

์กฐ๊ธˆ ๋” ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด๊ฒ ๋‹ค.

ํ•˜๋‚˜์˜ ๋ธŒ๋ผ์šฐ์ €๋„ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. (== ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‹คํ–‰๋˜์–ด์„œ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๋Š” ์ƒํƒœ๊ฐ€ ํ”„๋กœ์„ธ์Šค์ธ ๊ฒƒ)

๋ธŒ๋ผ์šฐ์ €์—์„œ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ๋ฅผ ๋ฐ›์œผ๋ฉฐ ์›น ์„œํ•‘์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๊ณ 
์œ ํŠœ๋ธŒ ์˜์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ด๊ณผ ๋™์‹œ์— ์‹œ์ฒญ์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค.

์ด๋ ‡๋“ฏ ํ•œ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ๋„ ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜์˜ ์ž‘์—…๋“ค๋กœ ๋‚˜๋‰œ๋‹ค.
์ด๋Ÿฌํ•œ ๊ฐˆ๋ž˜๋ฅผ ์Šค๋ ˆ๋“œ๋ผ๊ณ  ํ•œ๋‹ค.

๐Ÿ’ก 1.4 ๋น„์œ 

๊ทธ๋ฆฌ๊ณ  ๋น„์œ ๋„ ํ•˜๋‚˜ ๋“ค์–ด๋ณด๊ฒ ๋‹ค.

์‹๋‹น์—์„œ ๋ฉ”๋‰ด ํ•˜๋‚˜๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ํ•˜์ž.
์ด ์‹๋‹น์€ ํŒŒ์Šคํƒ€๋„ ๋งŒ๋“ค๊ณ , ํ”ผ์ž๋„ ๋งŒ๋“ค๊ณ , ํ–„๋ฒ„๊ฑฐ๋„ ๋งŒ๋“ ๋‹ค.
"ํŒŒ์Šคํƒ€ ๋งŒ๋“ค๊ธฐ" "ํ”ผ์ž ๋งŒ๋“ค๊ธฐ" "ํ–„๋ฒ„๊ฑฐ ๋งŒ๋“ค๊ธฐ"๊ฐ€ ๊ฐ๊ฐ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ”ผ์ž์™€ ํ–„๋ฒ„๊ฑฐ ์ฃผ๋ฌธ์ด ๋“ค์–ด์˜ค๋ฉด
์ฃผ๋ฐฉ์—๋Š” ๊ฐ๊ฐ "ํ”ผ์ž๋ฅผ ๋งŒ๋“œ๋Š” ์„น์…˜(์กฐ๋ฆฌ๊ณต๊ฐ„)" "ํ–„๋ฒ„๊ฑฐ๋ฅผ ๋งŒ๋“œ๋Š” ์„น์…˜(์กฐ๋ฆฌ๊ณต๊ฐ„)"์ด ์ƒ๊ธด๋‹ค.
์ด ๊ณผ์ •์ด CPU์˜ ํ• ๋‹น์ด๋‹ค.

์ฃผ๋ฌธ์ด ๋“ค์–ด์˜ค๋ฉด ํ–„๋ฒ„๊ฑฐ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.
ํŒจํ‹ฐ๋ฅผ ๊ตฝ๋Š” "์Šค๋ ˆ๋“œ"๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋™์•ˆ ๋นต์— ์†Œ์Šค๋ฅผ ๋ฟŒ๋ฆฌ๋Š” "์Šค๋ ˆ๋“œ"๋„ ์ง„ํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค.

๐Ÿ”– 1.5 ์ค‘์š”

์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€
ํ”„๋กœ์„ธ์Šค๋Š” ์ฃผ๋ฐฉ(CPU)์ด๋ผ๋Š” ์ž์›์„ ๋‚˜๋ˆ ์„œ ์“ฐ์ง€๋งŒ ์Šค๋ ˆ๋“œ๋Š” ์ž์›(์กฐ๋ฆฌ๊ณต๊ฐ„)์„ ๊ณต์œ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

์ด๋กœ ์ธํ•ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ ์žˆ๋‹ค.
ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ๊ณต์œ ๋˜๋Š” ๋ณ€์ˆ˜์— ์Šค๋ ˆ๋“œ ๋‘๊ฐœ๊ฐ€ ๋™์‹œ์— ์ ‘๊ทผํ•˜๊ฒŒ ๋˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

์‹œ๊ฐ„ ๋ฌธ์ œ(๋™์‹œ์„ฑ)๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋Š” ๋””๋ฒ„๊น…ํ•ด์„œ ์˜ค๋ฅ˜์™€ ์›์ธ์„ ์ฐพ์•„๋‚ด๋Š” ๊ฒƒ์ด ํž˜๋“ค๋‹ค.
์ด๋กœ ์ธํ•ด ์ฃผ๋ชฉ์„ ๋ฐ›๊ฒŒ๋œ ํŒจ๋Ÿฌ๋‹ค์ž„์ด ์žˆ๋Š”๋ฐ ๋ฐ”๋กœ ์ด์ „์— ์–ธ๊ธ‰ํ–ˆ๋˜ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๋ผ.

๐Ÿ•› 2. CPU ์Šค์ผ€์ค„๋ง(ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง)

๐Ÿ“Œ 2.1 ์Šค์ผ€์ค„๋ง

  • ํ”„๋กœ์„ธ์Šค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ CPU ๊ณต๊ฐ„์„ ํ• ๋‹น๋ฐ›๊ธฐ ์œ„ํ•œ ์ž‘์—…

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

FIFO์ด๋‹ˆ ๋ผ์šด๋“œ๋กœ๋นˆ์ด๋‹ˆ ๋‹ค๋‹จ๊ณ„ ํ๋‹ˆ ๋‹ค์–‘ํ•œ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์•Œ์•„๋ณด๊ธฐ์— ์•ž์„œ
์ด ์Šค์ผ€์ค„๋ง์„ "์™œ" ํ•˜๋Š” ๊ฒƒ์ธ์ง€ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

๐Ÿ”– 2.2 ์Šค์ผ€์ค„๋ง์˜ ๋ชฉ์ 

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

๊ทธ๋ž˜์„œ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ ์–ด๋– ํ•œ ๋ชฉ์ ์„ ๋” ๊ณ ๋ คํ•ด์•ผ ํ• ์ง€์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ƒ๊ธด ๊ฒƒ์ด๋‹ค.
์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฐ”๋กœ ๋’ค์—์„œ ์„ค๋ช…ํ•  ์˜ˆ์ •์ด๋ฉฐ, ์šฐ์„  ๋ชฉ์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

  1. ๊ณต์ •์„ฑ
    • ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์›์„ ๊ณตํ‰ํ•˜๊ฒŒ ํ• ๋‹น๋ฐ›์•„์•ผ ํ•œ๋‹ค.
  2. ์ฒ˜๋ฆฌ๋Ÿ‰ ์ฆ๊ฐ€(Throught put)
    • ๋‹จ์œ„ ์‹œ๊ฐ„๋‹น ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ตœ๋Œ€ํ™”ํ•œ๋‹ค.
  3. CPU ์ด์šฉ๋ฅ  ์ฆ๊ฐ€(CPU Utilization)
    • ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋กœ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ I/O ๋ช…๋ น์— ์˜ํ•ด ์ž ์‹œ ์‰ฌ๋Š” ์ƒํƒœ(์šดํœด ์ƒํƒœ)๋ฅผ ์ค„์ด๊ณ  CPU๊ฐ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค.
  4. ๋ฐ˜ํ™˜ ์‹œ๊ฐ„ ๋‹จ์ถ•(Turnaround Time)
    • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ๋œ ํ›„ ์ข…๋ฃŒ๊นŒ์ง€ ์‚ฌ์šฉํ•˜๋˜ ์ž์›์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์ตœ์†Œํ™” ํ•ด์•ผํ•œ๋‹ค.
  5. ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๋‹จ์ถ•(Waiting Time)
    • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค€๋น„ ์ƒํƒœ ํ์—์„œ ๋Œ€๊ธฐํ•˜๋Š” ์‹œ๊ฐ„์„ ์ตœ์†Œํ™” ํ•œ๋‹ค.
  6. ๋ฐ˜์‘ ์‹œ๊ฐ„ ๋‹จ์ถ•(ResponseTime)
    • ๋Œ€๊ธฐ ํ์—์„œ ์ฒ˜์Œ์œผ๋กœ CPU๋ฅผ ํ• ๋‹น๋ฐ›๊ธฐ๊นŒ์ง€์˜ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•œ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ CPU ์ด์šฉ๋ฅ ๊ณผ ์ฒ˜๋ฆฌ์œจ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๊ณ , ์‹œ๊ฐ„ ๊ด€๋ จ ์ง€ํ‘œ๋Š” ์ค„์ด๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

โŒจ๏ธ 2.3 ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜

์šด์˜์ฒด์ œ์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•˜๋Š” ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋‹ค๋ฅด๋ฉฐ, ์ข…๋ฅ˜๋„ ๋‹ค์–‘ํ•˜๋‹ค.
๋ณธ๋ฌธ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ๋‹ค๋ฃฐ ์˜ˆ์ •์ด๋‹ค.

๊ธฐํ•œ๋ถ€ ์Šค์ผ€์ค„๋ง, ์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง, ๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง

๊ธฐํ•œ๋ถ€ ์Šค์ผ€์ค„๋ง(Deadline Scheduling)

  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฃผ์–ด์ง„ ์ œํ•œ ์‹œ๊ฐ„(deadline) ์•ˆ์— ์™„๋ฃŒ๋˜๋„๋ก ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.
  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ผ์ •ํ•œ ์‹œ๊ฐ„ ์•ˆ์— ์™„๋ฃŒ๋˜์ง€ ๋ชปํ•˜๋ฉด ์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋Š” ์ œ๊ฑฐ๋˜๊ฑฐ๋‚˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ง„ํ–‰๋œ๋‹ค.

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

  • ์„ ์  ๋ฐฉ์‹, ๋น„์„ ์  ๋ฐฉ์‹ ๋ชจ๋‘ ์žˆ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” ์šฐ์„  ์ˆœ์œ„์— ๋”ฐ๋ผ CPU์— ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•œ๋‹ค.

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment