๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์‹œ๋„/๊ตญ๋น„์ง€์›

[D+07] ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์ถ•

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2022. 9. 28.

 

 

๊ตญ๋น„์ง€์› D+07

-  ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์ถ• -

 


 

๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์ถ•

1-1) ์šด์˜์ฒด์ œ ์‹๋ณ„

์‹๋ณ„ : ๋Œ€์ƒ์ด ๋ˆ„๊ตฐ์ง€ ์ธ์‹ํ•˜๊ณ  ๊ณ ์œ ๊ฐ’์„ ๋ถ™์ธ๋‹ค.

   ์ธ์‹ : ๋Œ€์ƒ์˜ ํŠน์ง• (๋Œ€์ƒ๋งŒ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณ ์œ ํ•œ ์„ฑ์งˆ)

   ๊ณ ์œ ๊ฐ’ : ์‹๋ณ„์ž(id)๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค.
     → ๋„คํŠธ์›Œํฌ์—์„  session์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ๋Š” key๋ผ๊ณ  ํ•œ๋‹ค.

 

• ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ ํŠน์ง• (ISO 9126)

1๏ธโƒฃ ๊ธฐ๋Šฅ์„ฑ (functionality)

2๏ธโƒฃ ์‹ ๋ขฐ์„ฑ (reliability)

3๏ธโƒฃ ์‚ฌ์šฉ์„ฑ (usability)

4๏ธโƒฃ ํšจ์œจ์„ฑ (efficiency)

5๏ธโƒฃ ์œ ์ง€๋ณด์ˆ˜์„ฑ (maintainability)

6๏ธโƒฃ ์ด์‹์„ฑ (portability)

 

• ์šด์˜์ฒด์ œ

- ์šด์˜์ฒด์ œ๋Š” ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ž˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒํ•˜๋Š” ์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด์ด๋‹ค.

- ์šด์˜์ฒด์ œ์—์„œ ํฌ์ปค์Šค๋ฅผ ๋‘๊ณ  ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ํŠน์ง•์€ ํšจ์œจ์„ฑ๊ณผ ์‹ ๋ขฐ์„ฑ์ด๋‹ค.

 

• ์šด์˜์ฒด์ œ ๊ฐœ๋…๋„

์ปดํ“จํ„ฐ์—์„œ ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์ง์ ‘์ ์œผ๋กœ ๋งŒ๋‚˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๊ณ  ํ•˜๋Š” ์ค‘๊ฐ„๋‹ค๋ฆฌ ์—ญํ• ์„ ๊ฑฐ์ณ์„œ ์†Œํ†ต์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋˜์–ด ์žˆ๋‹ค.

 

์ด๋•Œ, ์šด์˜์ฒด์ œ ๊ฐœ๋…๋„์—์„œ ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์„ ๊ฐ€๋ฆฌ์ผœ ์ปค๋„์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

๋˜ํ•œ ์ด๋Ÿฌํ•œ ๊ณ„์ธต์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋ ˆ์ด์–ด๋“œ ์•„ํ‚คํ…์ฒ˜๋ผ๊ณ  ํ•œ๋‹ค.

 

•์ปค๋„ ์•„ํ‚คํ…์ฒ˜

์ปค๋„ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ธฐ์ „ ํ•ด๋‹น ๊ทธ๋ฆผ์˜ ์›๋ฆฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž.

 

S/W๋Š” H/W์˜ ์ž์›์„ ๊ณต๊ธ‰๋ฐ›๊ธฐ ์œ„ํ•ด์„œ ์ค‘๊ฐ„๋‹ค๋ฆฌ ๋ธŒ๋กœ์ปค๋ฅผ ๊ปด์•ผ ํ•œ๋‹ค.

๊ทธ๋ž˜์„œ S/W๊ฐ€ ๋ธŒ๋กœ์ปค์—๊ฒŒ ์š”์ฒญ์„ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋Ÿฌํ•œ ์š”์ฒญ์„ APIํ˜ธ์ถœ์ด๋ผ๊ณ  ํ•˜๋ฉฐ ์ด๋•Œ S/W๊ฐ€ ๋ธŒ๋กœ์ปค์—๊ฒŒ ์›ํ•˜๋Š” ๊ฒƒ์„ ์š”๊ตฌํ• ๋•Œ ์š”์ฒญํ•˜๋Š” ํšŸ์ˆ˜๋Š” ํ•œ๋ฒˆ์ด๋‹ค.

์ด๋•Œ ์š”์ฒญ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ๋ธŒ๋กœ์ปค๋Š” H/W์—๊ฒŒ ์ž์›์„ ์–ป๊ธฐ์œ„ํ•ด์„œ ์ˆ˜๋งŽ์€ ์˜ค๊ณ ๊ฐ๊ณผ์ •์„ ๊ฒช์–ด์•ผํ•˜๋Š”๋ฐ ์ด๋Ÿฌํ•œ ๊ฒƒ์„ ์ˆ˜๋งŽ์€ system call์ด ์˜ค๊ณ ๊ฐ„๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ด๋•Œ system call์˜ ์–‘์ด ๋งŽ์œผ๋ฉด ๋งŽ์•„์งˆ์ˆ˜๋ก ์†๋„๊ฐ€ ๋Š๋ ค์ง€๊ฒŒ ๋œ๋‹ค.

 

- ๋งˆ์ดํฌ๋กœ ์ปค๋„ ์•„ํ‚คํ…์ฒ˜ : ์ปค๋„์— ์šด์˜์ฒด์ œ์˜ ์ตœ์†Œ ํ•ต์‹ฌ ๊ธฐ๋Šฅ๋งŒ ์œ„์น˜์‹œํ‚ค๋Š” ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ปค๋„

- ๋ชจ๋…ธ๋ฆฌ์‹ ์ปค๋„ ์•„ํ‚คํ…์ฒ˜ : ๋งˆ์ดํฌ๋กœ ์ปค๋„์ด ๋Š๋ ค์„œ ์šด์˜์ฒด์ œ์˜ ๊ธฐ๋Šฅ์„ ์ปค๋„์— ๊ฐ€๊ธ‰์  ํฌํ•จ์‹œ์ผœ์„œ ๋งŒ๋“  ์ปค๋„

 

• 3ํ‹ฐ์–ด ์•„ํ‚คํ…์ฒ˜

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

์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ํ•œ ๊ฐ€์ง€์˜ ์„œ๋ฒ„๋กœ ๋ชจ๋“ ์ผ์„ ํ•˜๋ ค๊ณ  ํ• ๋•Œ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ ๊ฐ ํŠน์ง•์— ๋งž๊ฒŒ ์„œ๋ฒ„๋ฅผ ์ด 3๊ฐœ๋ฅผ ๋งŒ๋“ค์–ด์„œ ์š”์ฒญ์—๋Œ€ํ•œ ๋‹ต๋ณ€์„ ์ „ํ•ด์ฃผ๊ฒŒ ๋˜๋ฉด ๋‹จ์ˆœํ•œ ์ •๋ณด์š”์ฒญ์„ ํ–ˆ๋˜์‚ฌ๋žŒ์ด ๋™์ ์ปจํ…์ธ ๋กœ ์ธํ•ด ์˜ค๋ž˜๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์„ ์ˆ˜ ์žˆ์–ด ํ›จ์”ฌ ์‹œ๊ฐ„์ด ๋‹จ์ถ•๋˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์šฐ๋ฆฐ๋Š” ์ด๋Ÿฌํ•œ ๊ฒƒ์„ ๊ฐ€๋ฆฌ์ผœ 3ํ‹ฐ์–ด ์•„ํ‚คํ…์ฒ˜๋ผ๊ณ  ํ•œ๋‹ค.

 

1-2) ์šด์˜์ฒด์ œ ๊ธฐ๋ณธ ๋ช…๋ น์–ด ํ™œ์šฉ

CLI(Command Line Interface) : ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—๊ฒŒ ๋ช…๋ น์„ ๋‚ด๋ฆฌ๋Š” ๋ฐฉ์‹

GUI(Graphic User Interface) : ์‚ฌ์šฉ์ž๊ฐ€ ๋งˆ์šฐ์Šค ๋“ฑ์„ ํ†ตํ•ด ์œˆ๋„์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ณ  ํŒŒ์ผ์„ ์ด๋™ํ•˜๋Š” ๋ฐฉ์‹

 

• ๋ฆฌ๋ˆ…์Šค ๊ธฐ๋ณธ ๋ช…๋ น์–ด

 

1-3) ์šด์˜์ฒด์ œ ์ž‘์—…์šฐ์„ ์ˆœ์œ„

• ํ”„๋กœ์„ธ์Šค ์ƒํƒœ

S/W๋Š” ์ž์›์ด ํ•œ์ •์ ์ด๊ธฐ๋•Œ๋ฌธ์— ์ž์›์„ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ž์›๊ณผ ์ง์„ ๋งบ๊ฒŒ ๋„์™€์ฃผ๋Š” ๋ธŒ๋กœ์ปค๋ฅผ ๊ฑฐ์ณ๊ฐ€์•ผ ํ•˜๋Š”๋ฐ ๋ฐ”๋กœ ์Šค์ผ€์ค„๋Ÿฌ ์ด๋‹ค.

์Šค์ผ€์ค„๋Ÿฌ๋Š” policy๋ผ๋Š” ์ •์ฑ…์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ ์ด๋•Œ ์ •์ฑ…์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ์ค€์ ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

policy๋ผ๋Š” ์ •์ฑ…์€ ์ง€์ผœ์•ผ ํ•˜์ง€๋งŒ ๋งŒ์•ฝ ์ค‘๊ฐ„์— ์–ด๋– ํ•œ ์ด์Šˆ๋กœ ์ •์ฑ…์„ ์–ด๊ธฐ๊ณ  ์ง„ํ–‰ํ•ด์•ผ ํ• ๋•Œ๊ฐ€ ํ•„์š”ํ•œ๋ฐ ์ด๋Ÿฌํ•œ ์„ธ๋ถ€์ ์ธ ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ๊ธฐ์ค€์€ Scheduling Algorithm์ด ํ•˜๊ฒŒ๋œ๋‹ค.

 

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

 

๋จผ์ € ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ์ˆœ๊ฐ„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐœ์ƒ๋˜๋Š”๋ฐ ์ด์ˆœ๊ฐ„์€ New(์ƒ์„ฑ)๋ผ๊ณ  ํ•˜๋Š”๋ฐ ์ด๋•Œ, ํ•ด๋‹นํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๊ณผ ๊ด€๊ณ„๋ฅผ ๋งบ๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•œ๋ฐ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•œ ๊ณณ์ด ๋ฐ”๋กœ PCB(Process Contorl Block)์ด๋‹ค.

 

์ด๋ ‡๊ฒŒ ์ผ์ข…์˜ ์ด๋“ค์˜ ๋ฉค๋ฒ„๊ฐ€ ๋œ ์ˆœ๊ฐ„ ํ”„๋กœ์„ธ์Šค๋Š” CPU์™€ ๋งˆ์ฃผํ•  ๋‹จ๊ณ„๋ฅผ ๋งˆ์น˜๊ณ  ์ค€๋น„๋ฅผ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด ๊ณผ์ •์„ Ready(์ค€๋น„)๋ผ๊ณ  ํ•œ๋‹ค.

 

์ค€๋น„๊ฐ€ ๋œ ์ดํ›„ ์Šค์ผ€์ค„๋Ÿฌ๋Š” CPU์™€ ์ง์„ ๋งบ๊ฒŒ ํ•ด์ฃผ๋Š”๋ฐ ์ด๋ฅผ Dispatch๋ผ๊ณ ํ•˜๋ฉฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU์™€ ๋งŒ๋‚˜ ์ž์›์„ ๊ณต๊ธ‰ ๋ฐ›๋Š” ๊ฒƒ์„ Running(์‹คํ–‰)์ด๋ผ๊ณ  ํ•œ๋‹ค.

์ด๋•Œ ๋งŒ์•ฝ CPU์—๊ฒŒ ์ž์›์„ ๊ณต๊ธ‰๋ฐ›๋˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•˜๋˜์ผ์„ ์ž ์‹œ ์ค‘์ง€ํ•˜๊ณ  ์ž…์ถœ๋ ฅ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ์—…๋ฌด๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด ํ”„๋กœ์„ธ์Šค๋Š” ํ•˜๋˜์ผ์„ ๋ฉˆ์ถ”๊ณ  ์ž…์ถœ๋ ฅ๊ฐ™์€ ์ผ์„ ๋จผ์ € ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋•Œ๋ฅผ Waiting(๋Œ€๊ธฐ) ์ด๋ผ๊ณ  ํ•˜๊ณ  ์ด๋•Œ ๋งŒ์•ฝ ์ž…์ถœ๋ ฅ์ด ์™„๋ฃŒ๋˜๊ณ  ๋‹ค์‹œ ๋Œ์•„์™”์„๋•Œ CPU์—๊ฒŒ ๋ฐ”๋กœ ๊ฐ€๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ฐจ๋ก€๋Œ€๋กœ ๋‹ค์‹œ ๋’ค๋กœ ์ค„์„์„œ์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— Ready(์ค€๋น„) ์ƒํƒœ๋กœ ๋น ์ง€๊ฒŒ ๋œ๋‹ค.

(CPU๋Š” ๊ณ ๊ธ‰์ธ๋ ฅ์ด๋ผ ์ค‘๊ฐ„์— ํŠน์ • ํ”„๋กœ์„ธ์Šค๋กœ ์ธํ•ด ๋ฉˆ์ถœ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ž…์ถœ๋ ฅ์œผ๋กœ ์ค‘๊ฐ„์— ๋น ์ง„ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋งž์•„ํ•˜๊ฒŒ ๋œ๋‹ค.)

 

์ดํ›„์— ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ถฉ๋ถ„ํ•œ ์ž์›์„ ๋ฐ›๊ณ  ์‹คํ–‰์ด ์ข…๋ฃŒ๋˜์—ˆ์„๋•Œ๋ฅผ Terminated(์ข…๋ฃŒ)๋ผ๊ณ ํ•˜๋Š”๋ฐ, ์ด๋•Œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๊ฐ€ ๋˜์ง€์•Š๊ณ  ํฌ๊ธฐ๊ฐ€ ํฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๊ฐ€ ๊ณ„์† ๋ถ™์žก๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋•Œ ์Šค์ผ€์ค„๋Ÿฌ๋Š” CPU๋ฅผ ๋ถ™์žก์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์‹œ๊ฐ„์ธ Slice time(=Quantum time) ์„ ๋„˜๊ธฐ๊ฒŒ ๋˜๋ฉด ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹ค์‹œ Ready(์ค€๋น„) ์ƒํƒœ๋กœ ๋„˜๊ฒจ ๋ฒ„๋ฆฌ๊ฒŒ ๋˜๋ฉฐ, ์ค‘๊ฐ„์— ๋‚˜์˜จ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ ์ž์›์„ ๊ณต๊ธ‰๋ฐ›๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์‹œ ์ค„์„ ์Šค๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์ด๋Ÿฌํ•œ ์ƒํƒœ๋“ค์„ ๊ฑฐ์น˜๊ฒŒ ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ์ตœ์ข…์ ์œผ๋กœ Terminated๋ผ๋Š” ์ƒํƒœ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.

 

• Context Switching

์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์€ ์œ„์˜ ๊ทธ๋ฆผ์—์„œ Running์—์„œ Reday๋กœ ๋Œ์•„๊ฐˆ ๋•Œ ๋ฐœ์ƒ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋งŒ์•ฝ ํ”„๋กœ์„ธ์ŠคA๊ฐ€ Slice time์„ ์ดˆ๊ณผํ•˜๊ฒŒ ๋˜์–ด Ready ์ƒํƒœ๊ฐ€ ๋˜๋ฉด ๋˜๋‹ค๋ฅธ ํ”„๋กœ์„ธ์ŠคB๊ฐ€ Running์ƒํƒœ๋กœ ๊ฐ€๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋•Œ A๊ฐ€ Ready์ƒํƒœ๋กœ ๊ฐ€๊ธฐ ์œ„ํ•ด A๋Š” ํ•˜๋˜ ์ž‘์—…์„ ํ†ต์งธ๋กœ PCB์— ๋„ฃ๊ณ  Ready์ƒํƒœ๋กœ ๊ฐ€๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์ด ๋ฐ˜๋ณต๋˜๋ฉด ์˜ค๋ฒ„ํ—ค๋“œ์˜ ๋ฐœ์ƒ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•  ์ˆ˜๋ฐ–์— ์—†๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ž์ž˜ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งŽ์„์ˆ˜๋ก ContextSwitching์—๋Œ€ํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋” ๋งŽ์ด ๋ฐœ์ƒ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

• Scheduling Algorithm

์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์—๋Š” ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๊ณ  ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š”๋ฐ ํ•˜๋‚˜๋Š” ์„ ์ ํ˜• ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๋น„์„ ์ ํ˜• ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋‹ค.

 

์„ ์ ํ˜• ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์šฐ๋ฆฌ๊ฐ€ ํ”„๋กœ์„ธ์Šค ์ƒํƒœ๋ฅผ ๋ฐฐ์› ๋˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ฐ™์€ ์›๋ฆฌ๋กœ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ๋กœ Ready ์ƒํƒœ๋กœ ๋Œ์–ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ฉฐ, ์žฅ์ ์€ ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋…์ ํ•  ์ˆ˜ ์—†๊ฒŒ ๋Œ์•„๊ฐ€๋ฉฐ ์ˆœํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— starvation์ด ์—†์œผ๋ฉฐ ๋‹จ์ ์€ ์ž์ž˜ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งŽ์œผ๋ฉด Context Switching์— ๋Œ€ํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒ๋  ์ˆ˜ ์žˆ๋‹ค.

 

๋น„์„ ์ ํ˜• ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์„ ์ ํ˜• ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ฐ˜๋Œ€๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ๋กœ Ready ์ƒํƒœ๋กœ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ฉฐ, ์„ ์ ํ˜• ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ฐ˜๋Œ€๋กœ starvation์ด ๋ฐœ์ƒ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ Context Switching์— ๋Œ€ํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒ๋  ์ผ์ด ์—†๋‹ค.

 

• Turn-around Time

ํ•ด๋‹น๊ทธ๋ฆผ์€ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๊ฐ€ ์‹ค์ œ ๋Œ์•„๊ฐ”์„๋•Œ๋ฅผ ์ˆ˜์ง์„ ์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์œผ๋กœ ์‹ค์ œ ๋Œ์•„๊ฐ€๋Š” ์‹œ๊ฐ„๊ณผ ๋Œ€๊ธฐ์‹œ๊ฐ„์— ๋Œ€ํ•œ ๋ช…์นญ์ด ์ •ํ•ด์ ธ ์žˆ๋‹ค.

 

- Running Time(=Burst Time) : ์‹ค์ œ๋กœ ๋Œ์•„๊ฐ€๋Š” ์‹œ๊ฐ„

 

- Waiting Time : ๋Œ€๊ธฐ์‹œ๊ฐ„

 

- Turn-around Time : Burst Time + Waiting Time

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€