[OS] Process Scheduling

์—ฐ๊ฝƒยท2021๋…„ 12์›” 29์ผ
0

Computer Science

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

์š”์•ฝ ์ •๋ฆฌ

๐Ÿ€ ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง์ด๋ž€?

  • ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์Šคํƒฌ ๋‚ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž์›์„ ํ• ๋‹นํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒํ•ด์•ผํ•œ๋‹ค.
  • ์ด๊ฒƒ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง์ด๋‹ค.

๐Ÿ€ ์Šค์ผ€์ค„๋ง์˜ ๋ชฉ์ 

  • ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ

๐Ÿ€ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์˜ ์ง€ํ‘œ

  • ์‘๋‹ต์‹œ๊ฐ„
  • ์ž‘์—… ์ฒ˜๋ฆฌ๋Ÿ‰
  • ์ž์› ํ™œ์šฉ๋„ ๋“ฑ๋“ฑ

๐Ÿ€ ์Šค์ผ€์ค„๋ง์˜ ๋‹จ๊ณ„

  • ์žฅ๊ธฐ ์Šค์ผ€์ค„๋ง
  • ์ค‘๊ธฐ ์Šค์ผ€์ค„๋ง
  • ๋‹จ๊ธฐ ์Šค์ผ€์ค„๋ง

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

  • FCFS
  • RR
  • SPN
  • SRTN
  • HRRN
  • MLQ
  • MFQ

1. ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง

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

  • OS์˜ ๊ตฌ๋ถ„ ์ค‘์—์„œ ํ•˜๋‚˜์˜ ์‹œ์Šคํ…œ์—์„œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์กด์žฌํ•˜๋Š” ์‹œ์Šคํ…œ์„ ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ผ๊ณ  ํ•œ๋‹ค.
  • ์ด๋ ‡๊ฒŒ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ณผ์ •์—์„œ ์ ์ ˆํ•œ ์ž์›์˜ ํ• ๋‹น์„ ํ†ตํ•ด ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.
  • ์ด๋Ÿฌํ•œ ์ž์›์„ ํ• ๋‹นํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์Šค์ผ€์ค„๋ง์ด๋‹ค.

2. ์Šค์ผ€์ค„๋ง์˜ ๋ชฉ์ 

๐Ÿ€ ์Šค์ผ€์ค„๋ง์˜ ๋ชฉ์ 

  • ์Šค์ผ€์ค„๋ง์˜ ๊ฐ€์žฅ ํฐ ๋ชฉ์ ์€ ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์ด๋‹ค.
  • ๊ทธ๋ ‡๋‹ค๋ฉด ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์˜ ์ง€ํ‘œ๋Š” ๋ฌด์—‡์ผ๊นŒ?

๐Ÿ€ ๋Œ€ํ‘œ์ ์ธ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ์ง€ํ‘œ

  • ์‘๋‹ต์‹œ๊ฐ„ : ์ž‘์—… ์š”์ฒญ์œผ๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์„ ๋ฐ›์„๋•Œ๊นŒ์ง€์˜ ์‹œ๊ฐ„
  • ์ž‘์—… ์ฒ˜๋ฆฌ๋Ÿ‰ : ๋‹จ์œ„ ์‹œ๊ฐ„ ๋™์•ˆ ์™„๋ฃŒ๋œ ์ž‘์—…์˜ ์ˆ˜
  • ์ž์› ํ™œ์šฉ๋„ : ์ฃผ์–ด์ง„ ์‹œ๊ฐ„๋™์•ˆ ์ž์›์ด ํ™œ์šฉ๋œ ์‹œ๊ฐ„

๐Ÿ€ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ์ง€ํ‘œ

  • ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„

  • ์ฒ˜๋ฆฌ๋Ÿ‰

  • ์ž์› ํ™œ์šฉ๋„

  • ๊ณตํ‰์„ฑ ๋“ฑ๋“ฑ

3. ์Šค์ผ€์ค„๋ง ๊ธฐ์ค€

๐Ÿ€ ์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ•์ด ๊ณ ๋ คํ•˜๋Š” ํ•ญ๋ชฉ๋“ค

  • ํ”„๋กœ์„ธ์Šค์˜ ํŠน์„ฑ
  • ์‹œ์Šคํ…œ ํŠน์„ฑ
  • ํ”„๋กœ์„ธ์Šค์˜ ๊ธด๊ธ‰์„ฑ
  • ํ”„๋กœ์„ธ์Šค ์šฐ์„ ์ˆœ์œ„ ๋“ฑ

4. ์Šค์ผ€์ค„๋ง์˜ ๋‹จ๊ณ„

๐Ÿ€ ์žฅ๊ธฐ ์Šค์ผ€์ค„๋ง(Long-term Scheduling)

  • Job scheduling: ์‹œ์Šคํ…œ์— ์ œ์ถœ ํ•  ์ž‘์—… ๊ฒฐ์ •
  • ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ •๋„ ์กฐ์ ˆ(์‹œ์Šคํ…œ ๋‚ด ํ”„๋กœ์„ธ์Šค ์ˆ˜ ๊ฒฐ์ •)
  • ํšจ์œจ์ ์œผ๋กœ ์ž‘๋™์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ compute-bounded,I/O-bounded ํ”„๋กœ์„ธ์Šค๋“ค์„ ์ ์ ˆํžˆ ์„ž์–ด์„œ ์‹œ์Šคํ…œ์— ์˜ฌ๋ ค์•ผ ํ•œ๋‹ค(์ด ๋‘๊ฐœ๊ฐ€ ๋ชจ๋‘ ์ ๋‹นํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ด๊ธฐ ๋•Œ๋ฌธ์—)
  • ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ์—์„œ๋Š” ๋ชจ๋“  ์ž‘์—…์„ ์‹œ์Šคํ…œ์— ๋“ฑ๋ก

๐Ÿ€ ์ค‘๊ธฐ ์Šค์ผ€์ค„๋ง(Mid-term Scheduling)

  • ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๊ฒฐ์ •

๐Ÿ€ ๋‹จ๊ธฐ ์Šค์ผ€์ค„๋ง(Short-term Scheduling)

  • ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง: ํ”„๋กœ์„ธ์„œ๋ฅผ ํ• ๋‹นํ•  ํ”„๋กœ์„ธ์Šค ๊ฒฐ์ •
  • ๊ฐ€์žฅ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒ => ๋งค์šฐ ๋นจ๋ผ์•ผ ํ•œ๋‹ค.

5. ์Šค์ผ€์ค„๋ง ์ •์ฑ…

๐Ÿ€ ์„ ์  vs ๋น„์„ ์ 

  • ๋น„์„ ์ (Non-preemptive scheduling): ํ• ๋‹น๋ฐ›์€ ์ž์›์„ ์Šค์Šค๋กœ ๋ฐ˜๋‚ฉํ• ๋•Œ ๊นŒ์ง€ ์‚ฌ์šฉํ•œ๋‹ค. ์žฅ์ ์€ Context switching overhead๊ฐ€ ์ ๋‹ค. ํ•˜์ง€๋งŒ ๋‹จ์ ์€ ์žฆ์€ ์šฐ์„ ์ˆœ์œ„ ์—ญ์ „์ด ์ผ์–ด๋‚˜๊ณ , ํ‰๊ท  ์‘๋‹ต์‹œ๊ฐ„์ด ๊ธธ๋‹ค.
  • ์„ ์ (Preemptive scheduling): ํƒ€์˜์— ์˜ํ•ด ์ž์›์„ ๋บ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์žฅ์ ์€ Time-sharing system, real-time system์— ์ ํ•ฉํ•˜๋‹ค. ํ•˜์ง€๋งŒ Context switching overhead๊ฐ€ ํฌ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

๐Ÿ€ ์šฐ์„ ์ˆœ์œ„(Priority)

  • ์ •์  ์šฐ์„ ์ˆœ์œ„(Static priority): ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ์‹œ ๊ฒฐ์ •๋œ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์œ ์ง€๋œ๋‹ค. ๊ตฌํ˜„์ด ์‰ฝ๊ณ  ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€ํ™”์— ๋Œ€์‘์ด ์–ด๋ ต๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.
  • ๋™์  ์šฐ์„ ์ˆœ์œ„(Dynamic priority): ํ”„๋กœ์„ธ์Šค ๋ณ€ํ™”์— ๋”ฐ๋ผ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค. ๊ตฌํ˜„์ด ๋ณต์žกํ•˜๊ณ  ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฌ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€ํ™”์— ์œ ์—ฐํ•œ ๋Œ€์‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์ฐธ๊ณ  : ์šด์˜์ฒด์ œ ๊ฐ•์˜(๊น€๋•์ˆ˜ ๊ต์ˆ˜๋‹˜)

profile
์šฐ๋ฌผ์—์„œ ์ž๋ผ๋‚˜๋Š” ์ค‘

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