์šฐ๊ทœ์ด์ธ์šฐ์œค
Eager To Learn ๐ŸŒŒ
์šฐ๊ทœ์ด์ธ์šฐ์œค
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿก ํ™ˆ
  • ๐Ÿš€ ๊นƒํ—ˆ๋ธŒ
  • โ›… ํƒœ๊ทธ ํด๋ผ์šฐ๋“œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (217)
    • ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS (170)
      • JAVA (82)
      • MYSQL (1)
      • Docker (2)
      • PYTHON (24)
      • LeetCode 150 (39)
      • Algorithm ๊ธฐ๋ฒ• (1)
      • ๋ฐ”ํ‚น๋… (21)
    • ๋ธ”๋กœ๊ทธ ์ด์‚ฌ (0)
    • Error (1)
    • CS (15)
      • DataBase (2)
      • OS (7)
      • Network (1)
      • Spring (1)
      • ์ž๋ฃŒ๊ตฌ์กฐ (3)
      • Java (1)
    • Learned (7)
      • Spring (7)
    • ๊ฐœ๋ฐœ์„œ์  (15)
      • ๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ (1)
      • ์˜ค๋ธŒ์ ํŠธ - ์กฐ์˜ํ˜ธ (7)
      • ์นœ์ ˆํ•œ SQL ํŠœ๋‹ (7)
    • ํšŒ๊ณ  (2)
hELLO ยท Designed By ์ •์ƒ์šฐ.
์šฐ๊ทœ์ด์ธ์šฐ์œค

Eager To Learn ๐ŸŒŒ

CS/OS

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

2023. 8. 16. 17:04

๋„์„œ ์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” ์šด์˜์ฒด์ œ์™€ ๊ฐ•์˜ ์šด์˜์ฒด์ œ-๋ฐ˜ํšจ๊ฒฝ ๋ฅผ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

 

 

์Šค์ผ€์ค„๋ง์€ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํ™ฉ์„ ๊ณ ๋ คํ•˜์—ฌ CPU์™€ ์‹œ์Šคํ…œ ์ž์›์„ ์–ด๋–ป๊ฒŒ ๋ฐฐ์ •ํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์ผ์„ ๋งํ•œ๋‹ค.

 

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

๊ณ ์ˆ˜์ค€ ์Šค์ผ€์ค„๋ง

์žฅ๊ธฐ ์Šค์ผ€์ค„๋ง ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.

 

๊ณ ์ˆ˜์ค€ ์Šค์ผ€์ค„๋ง์€ ์‹œ์Šคํ…œ ๋‚ด์˜ ์ „์ฒด ์ž‘์—… ์ˆ˜๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

 

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

 

์ €์ˆ˜์ค€ ์Šค์ผ€์ค„๋ง

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

 

์ฃผ๋กœ, ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๋‹จ๊ธฐ ์Šค์ผ€์ค„๋ง ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.

 

์ค‘๊ฐ„ ์ˆ˜์ค€ ์Šค์ผ€์ค„๋ง

์‹œ์Šคํ…œ์— ๋™์‹œ์— ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ์„ธ์Šค์˜ ์ˆ˜๋ฅผ ๊ณ ์ˆ˜์ค€ ์Šค์ผ€์ค„๋ง์ด ์ •ํ•œ๋‹ค๋ฉด

 

์ค‘๊ฐ„ ์ˆ˜์ค€ ์Šค์ผ€์ค„๋ง์€ ํ™œ์„ฑํ™”๋œ ํ”„๋กœ์„ธ์Šค์˜ ์ˆ˜๋ฅผ ์กฐ์ ˆํ•˜์—ฌ ๊ณผ๋ถ€ํ•˜๋ฅผ ๋ง‰๋Š”๋‹ค.

 

์ผ๋ถ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘์ง€ ์ƒํƒœ๋กœ ์˜ฎ๊ฒจ ๋‚˜๋จธ์ง€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์›๋งŒํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋„๋ก ์ง€์›ํ•œ๋‹ค.

 

 

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

์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํฌ๊ฒŒ ์„ ์ ํ˜• ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋น„์„ ์ ํ˜• ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

- ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง : ์šด์˜์ฒด์ œ๊ฐ€ CPU๋ฅผ ๊ฐ•์ œ๋กœ ๋นผ์•—์„ ์ˆ˜ ์žˆ๋Š” ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹
- ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง : ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ๋บด์•—์„ ์ˆ˜ ์—†๋Š” ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹

 

์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์€ ์‹œ๋ถ„ํ•  ๋ฐฉ์‹, ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์€ ์ผ๊ด„ ์ž‘์—… ๋ฐฉ์‹์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

 

 

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

์ค€๋น„ ํ์— ๋„์ฐฉํ•œ ์ˆœ์„œ๋Œ€๋กœ CPU๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋น„์„ ์ ํ˜• ๋ฐฉ์‹์ด๋‹ค.

 

ํ์— ๋„์ฐฉํ•œ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰๋˜์–ด ๋‹จ์ˆœํ•˜๊ณ  ๊ณตํ‰ํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ,

 

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

 

 

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

์‹คํ–‰ ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ์ž‘์—…๋ถ€ํ„ฐ CPU๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋น„์„ ์ ํ˜• ๋ฐฉ์‹์ด๋‹ค.

 

๐Ÿšจ ๋‹จ, ํ”„๋กœ์„ธ์Šค์˜ ์ข…๋ฃŒ ์‹œ๊ฐ„์„ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ต๊ณ  ์ž‘์—… ์‹œ๊ฐ„์ด ๊ธธ๋‹ค๋Š” ์ด์œ ๋กœ ์ˆœ์œ„๊ฐ€ ๊ณ„์† ๋ฐ€๋ ค ์•„์‚ฌ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์•„์‚ฌ ํ˜„์ƒ : ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—…์ด ๊ณ„์† ๋ฏธ๋ค„์ง€๋Š” ํ˜„์ƒ

 

HRN (Highest Response Ratio Next) ์Šค์ผ€์ค„๋ง

์ตœ๊ณ  ์‘๋‹ต๋ฅ  ์šฐ์„  ์Šค์ผ€์ค„๋ง์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋น„์„ ์ ํ˜• ๋ฐฉ์‹์ด๋‹ค.

 

HRN ์Šค์ผ€์ค„๋ง์€ ์„œ๋น„์Šค๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด ๊ธฐ๋‹ค๋ฆฐ ์‹œ๊ฐ„๊ณผ CPU ์‚ฌ์šฉ ์‹œ๊ฐ„์„ ๊ณ ๋ คํ•˜์—ฌ ์Šค์ผ€์ค„๋ง์„ ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

๋”ฐ๋ผ์„œ, SJF ์˜ ๋ฌธ์ œ์˜€๋˜ ์•„์‚ฌ ํ˜„์ƒ์„ ์–ด๋А์ •๋„ ํ•ด๊ฒฐํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

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

ํ• ๋‹น๋ฐ›์€ ์‹œ๊ฐ„ (ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค) ๋™์•ˆ ์ž‘์—…์„ ํ•˜๋‹ค๊ฐ€ ์ž‘์—…์„ ์™„๋ฃŒํ•˜์ง€ ๋ชปํ•˜๋ฉด ์ค€๋น„ ํ์˜ ๋งจ ๋’ค๋กœ ๊ฐ€์„œ ์ž๊ธฐ ์ฐจ๋ก€๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

ํ• ๋‹น ๋œ ์‹œ๊ฐ„์ด ๋๋‚˜๋ฉด CPU๋ฅผ ๋นผ์•—๊ธฐ๊ธฐ ๋•Œ๋ฌธ์— ์„ ์ ํ˜• ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ๊ฐ€์žฅ ๋‹จ์ˆœํ•˜๊ณ  ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ์‹์ด๋‹ค.

 

FCFS ๋ฐฉ์‹์—์„œ ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU ๋ฅผ ์ ์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„ ์ œํ•œ์ด ์ถ”๊ฐ€๋œ ๋ฐฉ์‹์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

๋‹จ, ๊ฐ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ๋ถ€์—ฌํ•˜๋Š” CPU ์‚ฌ์šฉ ์‹œ๊ฐ„์„ ์ ์ ˆํ•˜๊ฒŒ ์„ค์ •ํ•ด๋‘์–ด์•ผ ํ•œ๋‹ค.

 

๐Ÿšจ ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ ๋„ˆ๋ฌด ํฌ๋ฉด FCFS ๋ฐฉ์‹๊ณผ ๋‹ค๋ฅผ๊ฒŒ ์—†์–ด์ง„๋‹ค. ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ๋ฌธ๋งฅ ๊ตํ™˜์ด ๋„ˆ๋ฌด ์ž์ฃผ ์ผ์–ด๋‚˜ ์ „๋ฐ˜์ ์ธ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๊ฒŒ ๋œ๋‹ค.

 

SRT (Shortest Remaining Time) ์šฐ์„  ์Šค์ผ€์ค„๋ง

SJF ์Šค์ผ€์ค„๋ง๊ณผ ๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์„ ํ˜ผํ•ฉํ•œ ๋ฐฉ์‹์ด๋‹ค.

 

SJF ์Šค์ผ€์ค„๋ง์˜ ์„ ์ ํ˜• ๋ฒ„์ „์ด๋‹ค.

 

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

 

SJF ์˜ ๋‹จ์ ๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ข…๋ฃŒ ์‹œ๊ฐ„์„ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ต๊ณ  ์•„์‚ฌ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๊ณ  ๋‚จ์€ ์‹œ๊ฐ„์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ณ„์‚ฐํ•ด์•ผ ํ•œ๋‹ค.

 

 

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

 

์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ์ค€๋น„ ํ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ๋ถ€์—ฌ๋ฐ›์€ ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ํ์— ์‚ฝ์ž…๋œ๋‹ค.

 

์ƒ๋‹จ์˜ ํ์— ์žˆ๋Š” ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—…์ด ๋๋‚˜์•ผ ๋‹ค์Œ ์šฐ์„ ์ˆœ์œ„ ํ์˜ ์ž‘์—…์ด ์‹œ์ž‘๋œ๋‹ค.

 

๐Ÿšจ ๋‹จ, ์ด ๋ฐฉ์‹์€ ์ƒ์œ„ ํ์— ์ž‘์—…์ด ๊ณ„์† ๋“ค์–ด์˜ค๋ฉด ํ•˜์œ„ ํ์— ์žˆ๋Š” ์ž‘์—…์€ ์•„์‚ฌ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•œ๋‹ค.

 

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

 

๋‹ค๋‹จ๊ณ„ ํ”ผ๋“œ๋ฐฑ ํ ์Šค์ผ€์ค„๋ง์€ CPU๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ž‘์—…์ด ๋‚จ์€ ํ”„๋กœ์„ธ์Šค๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์‰ฌ๊ฐ€ ํ•˜๋‚˜ ๋‚ฎ์€ ํ์˜ ๋์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค.

 

๋˜ํ•œ, ์šฐ์„  ์ˆœ์œ„์— ๋”ฐ๋ผ ํ์˜ ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค์˜ ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅด๋‹ค.

 

 

์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋‚ฎ์„ ์ˆ˜๋ก ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ ํฌ๋‹ค.

 

์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋‚ฎ์„ ์ˆ˜๋ก CPU๋ฅผ ์–ป์„ ํ™•๋ฅ ์ด ๋‚ฎ๊ธฐ ๋•Œ๋ฌธ์—, ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์ด๋‹ค.

 

๐Ÿ“Œ CPU๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ธ ๊ฒฝ์šฐ

1. Queue์— ํ•œ์ค„๋กœ ์„ธ์›Œ์„œ ์•Œ์•„์„œ ๊บผ๋‚ด๊ฐ€๊ฒŒ ํ•œ๋‹ค. (๋ฐ˜๋“œ์‹œ, ํŠน์ • CPU์—์„œ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์— ๋ณต์žกํ•ด์ง„๋‹ค.)

2. ๋ณ„๊ฐœ์˜ ํ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. (์ผ๋ถ€ CPU์˜ ํ์— ์ž‘์—…์ด ๋ชฐ๋ฆฌ์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ํ•„์š”ํ•˜๋‹ค.)

3. ์—ฌ๋Ÿฌ๊ฐœ์˜ CPU์— ์ž‘์—…์„ ๋ถ„๋ฐฐํ•˜๋Š” ์—ญํ• ๋งŒ ๋‹ด๋‹นํ•˜๋Š” CPU๋ฅผ ์ •ํ•œ๋‹ค.

 

 

    'CS/OS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ๊ต์ฐฉ ์ƒํƒœ(DeadLock)
    • ํ”„๋กœ์„ธ์Šค ๋™๊ธฐํ™”
    • ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ
    • ์šด์˜์ฒด์ œ๋ž€?
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ๊ฐœ๋ฐœ์ž ๊ฟˆ๋‚˜๋ฌด

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”