๐Ÿ› ๏ธ OS

[OS] 7. CPU ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜

JINiOS 2024. 2. 19. 18:56
728x90

0. CPU ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ข…๋ฅ˜

  • ์„ ์ž… ์„ ์ฒ˜๋ฆฌ ์Šค์ผ€์ค„๋ง
  • ์ตœ๋‹จ ์ž‘์—… ์šฐ์„  ์Šค์ผ€์ค„๋ง
  • ๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง
  • ์ตœ์†Œ ์ž”์—ฌ์‹œ๊ฐ„ ์šฐ์„  ์Šค์ผ€์ค„๋ง
  • ์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง
  • ๋‹ค๋‹จ๊ณ„ ํ ์Šค์ผ€์ค„๋ง
  • ๋‹ค๋‹จ๊ณ„ ํ”ผ๋“œ๋ฐฑ ํ ์Šค์ผ€์ค„๋ง

 

1. ์„ ์ž… ์„ ์ฒ˜๋ฆฌ ์Šค์ผ€์ค„๋ง

  • = FCFS(First Come First Served) ์Šค์ผ€์ค„๋ง
  • ๋‹จ์ˆœํžˆ ์ค€๋น„ ํ์— ์‚ฝ์ž…๋œ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋น„์„ ์  ์Šค์ผ€์ค„๋ง
  • ๋จผ์ € CPU๋ฅผ ์š”์ฒญํ•œ ํ”„๋กœ์„ธ์Šค๋ถ€ํ„ฐ CPU ํ• ๋‹น
  • ๋‹จ์ : ํ”„๋กœ์„ธ์Šค๋“ค์ด ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๋งค์šฐ ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ถ€์ž‘์šฉ(=ํ˜ธ์œ„ ํšจ๊ณผ)
    • ์‹คํ–‰์‹œ๊ฐ„์ด(17, 5, 2ms)์ธ ํ”„๋กœ์„ธ์Šค๋“ค์ด ํ์— ๋“ค์–ด์žˆ์„ ๋•Œ

 

2. ์ตœ๋‹จ ์ž‘์—… ์šฐ์„  ์Šค์ผ€์ค„๋ง

  • = SJF (Short Job First) ์Šค์ผ€์ค„๋ง
  • ํ˜ธ์œ„ํšจ๊ณผ๋ฅผ ๋ฐฉ์ง€ํ•จ
  • CPU ์‚ฌ์šฉ์ด ๊ธด ํ”„๋กœ์„ธ์Šค๋Š” ๋‚˜์ค‘์— ์‹คํ–‰, CPU ์‚ฌ์šฉ ๊ธฐ๊ฐ„์ด ์งง์€ ํ”„๋กœ์„ธ์Šค๋Š” ๋จผ์ € ์‹คํ–‰
  • CPU ์‚ฌ์šฉ ๊ธฐ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ํ”„๋กœ์„ธ์Šค๋ถ€ํ„ฐ ์ฒ˜๋ฆฌํ•˜๋Š” ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹

 

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

  • = RR(Round Robin) ์Šค์ผ€์ค„๋ง
  • ์„ ์ž… ์„ ์ฒ˜๋ฆฌ ์Šค์ผ€์ค„๋ง + ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค
  • ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค: ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ •ํ•ด์ง„ ์‹œ๊ฐ„
  • ์ •ํ•ด์ง„ ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๋งŒํผ์˜ ์‹œ๊ฐ„ ๋™์•ˆ ๋Œ์•„๊ฐ€๋ฉฐ CPU๋ฅผ ์ด์šฉํ•˜๋Š” ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง
    • ํ์— ์‚ฝ์ž…๋œ ํ”„๋กœ์„ธ์Šค๋“ค์€ ์ˆœ์„œ๋Œ€๋กœ CPU๋ฅผ ์ด์šฉํ•˜๋˜ ์ •ํ•ด์ง„ ์‹œ๊ฐ„๋งŒํผ๋งŒ ์ด์šฉ
    • ์ •ํ•ด์ง„ ์‹œ๊ฐ„์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜์˜€์Œ์—๋„ ์•„์ง ํ”„๋กœ์„ธ์Šค๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๋‹ค์‹œ ํ์˜ ๋งจ ๋’ค์— ์‚ฝ์ž… (๋ฌธ๋งฅ๊ตํ™˜)
  • ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค์˜ ํฌ๊ธฐ๊ฐ€ ์ค‘์š”
    • ํฌ๊ธฐ๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ ์ปค์ง€๋ฉด ์„ ์ž…์„ ์ฒ˜๋ฆฌ์Šค์ผ€์ค„๋ง๊ณผ ์œ ์‚ฌํ•ด์ง
    • ํฌ๊ธฐ๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ ์ž‘์œผ๋ฉด ๋ฌธ๋งฅ๊ตํ™˜์— ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฒ„ํ—ค๋“œ๋•Œ๋ฌธ์— CPU์— ๋ถ€๋‹ด์ด ์ปค์ง

 

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

  • = SRT (Shortest Remaining Time) ์Šค์ผ€์ค„๋ง
  • ์ตœ๋‹จ ์ž‘์—… ์šฐ์„  ์Šค์ผ€์ค„๋ง + ๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง
    • ์ตœ๋‹จ ์ž‘์—… ์šฐ์„  ์Šค์ผ€์ค„๋ง: ์ž‘์—… ์‹œ๊ฐ„์ด ์งง์€ ํ”„๋กœ์„ธ์Šค๋ถ€ํ„ฐ ์ฒ˜๋ฆฌํ•˜๋Š” ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง: ์ •ํ•ด์ง„ ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๋งŒํผ ๋Œ์•„๊ฐ€๋ฉฐ ์‚ฌ์šฉํ•˜๋Š” ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์ •ํ•ด์ง„ ์‹œ๊ฐ„๋งŒํผ CPU๋ฅผ ์ด์šฉํ•˜๋˜, ๋‹ค์Œ์œผ๋กœ CPU๋ฅผ ์‚ฌ์šฉํ•  ํ”„๋กœ์„ธ์Šค๋กœ๋Š” ๋‚จ์€ ์ž‘์—… ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์ ์€ ํ”„๋กœ์„ธ์Šค ์„ ํƒ

 

5. ์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง

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

 

6. ๋‹ค๋‹จ๊ณ„ ํ ์Šค์ผ€์ค„๋ง

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

 

7. ๋‹ค๋‹จ๊ณ„ ํ”ผ๋“œ๋ฐฑ ํ ์Šค์ผ€์ค„๋ง

  • = Multilevel feedback queue ์Šค์ผ€์ค„๋ง
  • ๋‹ค๋‹จ๊ณ„ ํ ์Šค์ผ€์ค„๋ง์˜ ๋ฐœ์ „๋œ ํ˜•ํƒœ
  • ํ ๊ฐ„์˜ ์ด๋™์ด ๊ฐ€๋Šฅํ•œ ๋‹ค๋‹จ๊ณ„ ํ ์Šค์ผ€์ค„๋ง
  • ๋‹ค๋‹จ๊ณ„ ํ ์Šค์ผ€์ค„๋ง์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ ๊ฐ„์˜ ์ด๋™ ๋ถˆ๊ฐ€
    • ์šฐ์„ ์ˆœ์œ„ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค๋Š” ๊ณ„์†ํ•ด์„œ ์‹คํ–‰ ์—ฐ๊ธฐ ์šฐ๋ ค
    • ๊ธฐ์•„ ํ˜„์ƒ ๋ฐœ์ƒ ๊ฐ€๋Šฅ
  • ์ค€๋น„์ƒํƒœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„ ํ์— ์‚ฝ์ž…→ ์ž๊ธฐ์ฐจ๋ก€๊ฐ€ ๋˜๋ฉด CPU๋ฅผ ํ• ๋‹น๋ฐ›์Œ → ํƒ€์ž„์Šฌ๋ผ์ด์Šค๋™์•ˆ ์‹คํ–‰์ด ๋‹ค ์•ˆ๋๋‚ฌ์œผ๋ฉด ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„ ํ๋กœ ์ด๋™ํ•ด์„œ ์‹คํ–‰ → ๋ฐ˜๋ณต
  • ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ CPU ์ง‘์ค‘ ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ๋‚ฎ์•„์ง€๊ณ , ์ž…์ถœ๋ ฅ ์ง‘์ค‘ ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ๋†’์•„์ง
  • ์—์ด์ง• ๊ธฐ๋ฒ• ์ ์šฉํ•˜์—ฌ ๊ธฐ์•„ํ˜„์ƒ ์˜ˆ๋ฐฉํ•˜๊ธฐ๋„ ํ•จ
  • ์ฆ‰, ์–ด๋–ค ํ”„๋กœ์„ธ์Šค์˜ CPU ์‹œ๊ฐ„์ด ๊ธธ๋ฉด ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์•„์ง€๊ณ , ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„ ํ์—์„œ ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋†’์ด๋Š” ๋ฐฉ์‹
  • CPU ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์˜ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ํ˜•ํƒœ๋กœ ์•Œ๋ ค์ ธ์žˆ์Œ

 

 

 


 

 

 

ใ€Žํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” ์ปดํ“จํ„ฐ ๊ตฌ์กฐ+์šด์˜์ฒด์ œใ€ ๊ฐ•์˜ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑ๋œ ๊ธ€์ž…๋‹ˆ๋‹ค

 

728x90