๐Ÿ’ป

[์šด์˜์ฒด์ œ(OS)] ๋ฉด์ ‘ ์˜ˆ์ƒ ์งˆ๋ฌธ๊ณผ ๋‹ต๋ณ€ ๋ณธ๋ฌธ

TIL/๋ฉด์ ‘๋Œ€๋น„

[์šด์˜์ฒด์ œ(OS)] ๋ฉด์ ‘ ์˜ˆ์ƒ ์งˆ๋ฌธ๊ณผ ๋‹ต๋ณ€

๋˜ํšจ๋‹ˆ 2020. 4. 11. 20:09

1) ์šด์˜ ์ฒด์ œ ๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
์šด์˜ ์ฒด์ œ๋Š” ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด๊ฐ€ ์ปดํ“จํ„ฐ ์†Œํ”„ํŠธ์›จ์–ด์™€ ํ†ต์‹ ํ•˜๊ณ  ์ž‘๋™ํ•˜๋„๋กํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. 

 


2) ์šด์˜ ์ฒด์ œ์˜ ์ฃผ์š” ๋ชฉ์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
์šด์˜ ์ฒด์ œ์—๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๋ชฉ์ ์ด ์žˆ๋‹ค.
1. ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๊ณ„์‚ฐ ํ™œ๋™์„ ๊ด€๋ฆฌํ•˜์—ฌ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋„๋ก ํ•œ๋‹ค.
2. ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๋ฐ ์‹คํ–‰์„ ์œ„ํ•œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค.

 

 

3) ํ”„๋กœ์„ธ์Šค๋ž€ ๋ฌด์—‡์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ?
์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ํ•œ๋‹ค.

๋‘ ๊ฐ€์ง€ ์œ ํ˜•์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๋‹ค. ์šด์˜ ์ฒด์ œ ํ”„๋กœ์„ธ์Šค, ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค

 

3-1) ํ”„๋กœ์„ธ์Šค์˜ ํŠน์ง•์„ ์„ค๋ช…ํ•˜์„ธ์š”.

- ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ๊ฐ ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ(Code, Data, Stack, Heap์˜ ๊ตฌ์กฐ)์„ ํ• ๋‹น๋ฐ›๋Š”๋‹ค.

- ๊ธฐ๋ณธ์ ์œผ๋กœ ํ”„๋กœ์„ธ์Šค๋‹น ์ตœ์†Œ 1๊ฐœ์˜ ์Šค๋ ˆ๋“œ(๋ฉ”์ธ ์Šค๋ ˆ๋“œ)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

- ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ๋ณ„๋„์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์—์„œ ์‹คํ–‰๋˜๋ฉฐ, ํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ๋ณ€์ˆ˜๋‚˜ ์ž๋ฃŒ๊ตฌ์กฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค.

- ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ์ž์›์— ์ ‘๊ทผํ•˜๋ ค๋ฉด ํ”„๋กœ์„ธ์Šค ๊ฐ„์˜ ํ†ต์‹ (IPC, inter-process communication)์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. (Ex. ํŒŒ์ดํ”„, ํŒŒ์ผ, ์†Œ์ผ“ ๋“ฑ์„ ์ด์šฉํ•œ ํ†ต์‹  ๋ฐฉ๋ฒ• ์ด์šฉ)

 

 

4) ์Šค๋ ˆ๋“œ(Thread)๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
์Šค๋ ˆ๋“œ๋Š” CPU ์‚ฌ์šฉ์˜ ๊ธฐ๋ณธ ๋‹จ์œ„์ด๋‹ค. ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ์—ฌ๋Ÿฌ ํ๋ฆ„์˜ ๋‹จ์œ„๋ฅผ ๋งํ•œ๋‹ค. 

์Šค๋ ˆ๋“œ๋Š” ์Šค๋ ˆ๋“œ ID, ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ, ๋ ˆ์ง€์Šคํ„ฐ ์„ธํŠธ ๋ฐ ์Šคํƒ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

[์ฐธ๊ณ ] ์šด์˜์ฒด์ œ๋Š” ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ์„ธ์Šค๋ณด๋‹ค ์ƒ์„ฑํ•  ๋•Œ ์˜ค๋ฒ„ํ—ค๋“œ๋„ ์ ๊ณ  ๊ณต์œ ๋œ ์ž์›์— ๋Œ€ํ•ด์„œ๋„ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์Šค๋ ˆ๋“œ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ณ‘๋ ฌ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.



4-1) ์Šค๋ ˆ๋“œ์˜ ํŠน์ง•์„ ์„ค๋ช…ํ•˜์„ธ์š”.

- ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ๊ฐ๊ฐ Stack๋งŒ ๋”ฐ๋กœ ํ• ๋‹น๋ฐ›๊ณ  Code, Data, Heap ์˜์—ญ์€ ๊ณต์œ ํ•œ๋‹ค.

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

- ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค ์•ˆ์— ์žˆ๋Š” ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๋“ค์€ ๊ฐ™์€ ํž™ ๊ณต๊ฐ„์„ ๊ณต์œ ํ•œ๋‹ค. ๋ฐ˜๋ฉด์— ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ์— ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค.

- ๊ฐ๊ฐ์˜ ์Šค๋ ˆ๋“œ๋Š” ๋ณ„๋„์˜ ๋ ˆ์ง€์Šคํ„ฐ์™€ ์Šคํƒ์„ ๊ฐ–๊ณ  ์žˆ์ง€๋งŒ, ํž™ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์„œ๋กœ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋‹ค.

- ํ•œ ์Šค๋ ˆ๋“œ๊ฐ€ ํ”„๋กœ์„ธ์Šค ์ž์›์„ ๋ณ€๊ฒฝํ•˜๋ฉด, ๋‹ค๋ฅธ ์ด์›ƒ ์Šค๋ ˆ๋“œ(sibling thread)๋„ ๊ทธ ๋ณ€๊ฒฝ ๊ฒฐ๊ณผ๋ฅผ ์ฆ‰์‹œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 


4-2) ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

ํ”„๋กœ์„ธ์Šค๋Š” ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ์ž์›์„ ํ• ๋‹น๋ฐ›๋Š” ์ž‘์—…์˜ ๋‹จ์œ„์ด๊ณ , ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋ฐ›์€ ์ž์›์„ ์ด์šฉํ•˜๋Š” ์‹คํ–‰์˜ ๋‹จ์œ„ ์ด๋‹ค. ํ”„๋กœ์„ธ์Šค๋Š” ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ๋ฉ”๋ชจ๋ฆฌ, ์ฃผ์†Œ ๊ณต๊ฐ„ ๋“ฑ์„ ํ• ๋‹น๋ฐ›๊ณ  ์“ฐ๋ ˆ๋“œ๋Š” ํ• ๋‹น๋ฐ›์€ ์ž์›๋“ค์„ ๋‚ด๋ถ€ ์Šค๋ ˆ๋“œ๋ผ๋ฆฌ ๊ณต์œ ํ•˜๋ฉด์„œ ์‹คํ–‰๋œ๋‹ค. 

 

[์ •๋ฆฌ]

- ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ์ƒ๊ด€์—†์ด ๋…๋ฆฝ์ ์œผ๋กœ ์ž์›์„ ํ• ๋‹น ๋ฐ›๋Š”๋‹ค.

- ์Šค๋ ˆ๋“œ๋Š” ๊ฒฝ๋Ÿ‰ํ™”๋œ ํ”„๋กœ์„ธ์Šค๋กœ ํ”„๋กœ์„ธ์Šค ์•ˆ์— ์กด์žฌํ•œ๋‹ค. ๊ฐ ์Šค๋ ˆ๋“œ๋Š” ๋ณ„๋„์˜ ๋ ˆ์ง€์Šคํ„ฐ์™€ ์Šคํƒ์„ ๊ฐ–๊ณ , ํž™ ์˜์—ญ์€ ๊ณต์œ ํ•œ๋‹ค.

 

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

 

๋‹จ ์Šค๋ ˆ๋“œ๊ฐ„์˜ ์ž์›๊ณต์œ ๋Š” ์ „์—ญ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฏ€๋กœ ๋™๊ธฐํ™” ๋ฌธ์ œ์— ์‹ ๊ฒฝ์„ ์จ์•ผํ•˜๋ฉฐ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์ฃผ์˜๋ฅผ ์š”๊ตฌํ•œ๋‹ค.



4-3) ์Šค๋ ˆ๋“œ์˜ ์žฅ์ ?

- ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค๋ณด๋‹ค ์ƒ์„ฑ ๋ฐ ์ข…๋ฃŒ์‹œ๊ฐ„, ์Šค๋ ˆ๋“œ๊ฐ„ ์ „ํ™˜์‹œ๊ฐ„์ด ์งง๋‹ค.

- ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ, ์ž์›๋“ฑ์„ ๊ณต์œ ํ•˜๋ฏ€๋กœ ์ปค๋„์˜ ๋„์›€์—†์ด ์ƒํ˜ธ๊ฐ„์˜ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

4-4) ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ(Multi-threading) ์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์€?

- ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ์ด๋ž€ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹ค์ˆ˜์˜ ์Šค๋ ˆ๋“œ๋กœ ๋งŒ๋“ค์–ด ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ

์žฅ์ ) 

- ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ๋‚ด์— ๋‹ค์ˆ˜์˜ ์‹คํ–‰ ๋‹จ์œ„๋“ค์ด ์กด์žฌํ•˜์—ฌ ์ž‘์—…์˜ ์ˆ˜ํ–‰์— ํ•„์š”ํ•œ ์ž์›๋“ค์„ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž์›์˜ ์ƒ์„ฑ๊ณผ ๊ด€๋ฆฌ๊ฐ€ ์ค‘๋ณต๋˜๋Š” ๊ฒƒ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

๋‹จ์ )

- ๊ต์ฐฉ์ƒํƒœ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

- ๋™๊ธฐํ™”์— ์ฃผ์˜ํ•ด์•ผํ•œ๋‹ค.

 

 

4-5) ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค ๋Œ€์‹  ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

- ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด, ํ”„๋กœ๊ทธ๋žจ์„ ์—ฌ๋Ÿฌ ๊ฐœ ํ‚ค๋Š” ๊ฒƒ๋ณด๋‹ค ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ ์•ˆ์—์„œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์ž์›์˜ ํšจ์œจ์„ฑ ์ฆ๋Œ€

: ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค๋กœ ์‹คํ–‰๋˜๋Š” ์ž‘์—…์„ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋กœ ์‹คํ–‰ํ•  ๊ฒฝ์šฐ, ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ž์›์„ ํ• ๋‹นํ•˜๋Š” ์‹œ์Šคํ…œ ์ฝœ์ด ์ค„์–ด๋“ค์–ด ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. (ํ”„๋กœ์„ธ์Šค ๊ฐ„์˜ Context Switching์‹œ ๋‹จ์ˆœํžˆ CPU ๋ ˆ์ง€์Šคํ„ฐ ๊ต์ฒด ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ RAM๊ณผ CPU ์‚ฌ์ด์˜ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊นŒ์ง€ ์ดˆ๊ธฐํ™”๋˜๋ฏ€๋กœ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฌ๊ธฐ ๋•Œ๋ฌธ)

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

 

์ฒ˜๋ฆฌ ๋น„์šฉ ๊ฐ์†Œ ๋ฐ ์‘๋‹ต ์‹œ๊ฐ„ ๋‹จ์ถ•

: ํ”„๋กœ์„ธ์Šค ๊ฐ„์˜ ํ†ต์‹ (IPC)๋ณด๋‹ค ์Šค๋ ˆ๋“œ ๊ฐ„์˜ ํ†ต์‹ ์˜ ๋น„์šฉ์ด ์ ์œผ๋ฏ€๋กœ ์ž‘์—…๋“ค ๊ฐ„์˜ ํ†ต์‹ ์˜ ๋ถ€๋‹ด์ด ์ค„์–ด๋“ ๋‹ค. (์Šค๋ ˆ๋“œ๋Š” Stack ์˜์—ญ์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ)

: ํ”„๋กœ์„ธ์Šค ๊ฐ„์˜ ์ „ํ™˜ ์†๋„๋ณด๋‹ค ์Šค๋ ˆ๋“œ ๊ฐ„์˜ ์ „ํ™˜ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. (Context Switching์‹œ ์Šค๋ ˆ๋“œ๋Š” Stack ์˜์—ญ๋งŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ)

 

 

4-6) ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์‹ฑ๊ณผ ๋ฉ€ํ‹ฐํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ฐจ์ด๋Š”?

๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์‹ฑ์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ฒ˜๋ฆฌ์žฅ์น˜(CPU)๋ฅผ ์žฅ์ฐฉํ•˜์—ฌ ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•.

๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋‹ค์ˆ˜ ๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐ™์ด ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์žˆ๋„๋ก ํ•œ ๋ฐฉ์‹.

 

 

5) ์†Œ์ผ“์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
์†Œ์ผ“์€ ๋‘ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์—ฐ๊ฒฐ์˜ ๋์ ์„ ์†Œ์ผ“์ด๋ผ๊ณ  ํ•œ๋‹ค.

 


6) ์ปค๋„์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
์ปค๋„์€ OS์˜ ๋ชจ๋“  ๋ถ€๋ถ„์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ปดํ“จํ„ฐ ์šด์˜ ์ฒด์ œ์˜ ํ•ต์‹ฌ์ด์ž ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด๋‹ค.

 

 

7) ํž™ ์˜์—ญ๊ณผ ์Šคํƒ์˜์—ญ์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค. 

ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๊ฐ€ ๋˜์–ด์•ผํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์šด์˜์ฒด์ œ์—์„œ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์„ ์œ„ํ•ด ๋‹คํ–ฅํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ œ๊ณตํ•œ๋‹ค. ์ฝ”๋“œ, ๋ฐ์ดํ„ฐ, ์Šคํƒ, ํž™ ์˜์—ญ์ด ํ• ๋‹น๋˜๊ณ  ๊ฐ ์—ญํ• ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

  • ์ฝ”๋“œ :  ์‹คํ–‰ํ•  ํ”„๋กœ๊ทธ๋žจ์˜ ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋˜๋Š” ํ…์ŠคํŠธ ์˜์—ญ์ด๋‹ค. CPU๋Š” ์ฝ”๋“œ์˜์—ญ์—์„œ ์ €์žฅ๋œ ๋ช…๋ น์–ด๋ฅผ ํ•˜๋‚˜์”ฉ ๊ฐ€์ ธ๊ฐ€์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค.
  • ๋ฐ์ดํ„ฐ :  ์ „์—ญ๋ณ€์ˆ˜์™€ ์ •์ ๋ณ€์ˆ˜๊ฐ€ ์ดํ•ด ํ•ด๋‹น๋œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ์ž‘๊ณผ ํ•จ๊ป˜ ํ• ๋‹น๋˜๋ฉฐ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋ฉด ์†Œ๋ฉธ๋œ๋‹ค.
  • ์Šคํƒ   :  ์Šคํƒ์˜์—ญ์€ ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ๊ณผ ๊ด€๊ณ„๋˜๋Š” ์ง€์—ญ๋ณ€์ˆ˜์™€ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋˜๋Š” ์˜์—ญ์ด๋‹ค. ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ๊ณผ ํ•จ๊ป˜ ํ• ๋‹น๋˜๋ฉฐ, ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ์ด ์ข…๋ฃŒ๋ ๋•Œ ํ•ด์ œ๋œ๋‹ค.
  • ํž™  :  ํž™ ์˜์—ญ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด๋‹ค. ํž™ ์˜์—ญ์€ ์‚ฌ์šฉ์ž์— ์˜ํ•ด ๋ฉ”๋ชจ๋ฆฌ๊ณต๊ฐ„์ด ๋™์ ์œผ๋กœ ํ• ๋‹น๋˜๊ณ  ํ•ด์ œ๋œ๋‹ค.

 

 

 

8) ์šด์˜ ์ฒด์ œ์—์„œ ํŽ˜์ด์ง•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
ํŽ˜์ด์ง•์€ ์šด์˜ ์ฒด์ œ์—์„œ ์™ธ๋ถ€ ์กฐ๊ฐํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์ด ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

9) ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์„œ ์‹œ์Šคํ…œ์˜ ์žฅ์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
ํ”„๋กœ์„ธ์„œ๊ฐ€ ๋งŽ์„์ˆ˜๋ก ์ฒ˜๋ฆฌ๋Ÿ‰์ด ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•œ๋‹ค. ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต์œ  ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋น„์šฉ ํšจ๊ณผ์ ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ „๋ฐ˜์ ์ธ ์•ˆ์ •์„ฑ์ด ํ–ฅ์ƒ๋œ๋‹ค.

 

10) ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์™ธ๋ถ€์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋กํ•˜๋Š” ๋งค์šฐ ์œ ์šฉํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ์ˆ ์ด๋‹ค. ์ด ๊ธฐ์ˆ ์€ ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ์ด ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์— ๋งž์ง€ ์•Š์„ ๋•Œ ํŠนํžˆ ์‚ฌ์šฉ๋œ๋‹ค.

 

 

11) ๊ต์ฐฉ ์ƒํƒœ(DeadLock)์ด๋ž€?

๋‘ ๊ฐœ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๋‚˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์„œ๋กœ ์ž์›์„ ๊ธฐ๋‹ค๋ฆฌ๋ฉด์„œ ๋ฌดํ•œํžˆ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋˜๋Š” ์ƒํƒœ๋ฅผ ๋งํ•œ๋‹ค.

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

 


11-1) ๊ต์ฐฉ ์ƒํƒœ์˜ 4 ๊ฐ€์ง€ ํ•„์š” ์กฐ๊ฑด์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
๋‹ค์Œ๊ณผ ๊ฐ™์€ 4 ๊ฐ€์ง€ ์กฐ๊ฑด์ด ์žˆ๋‹ค.

1. ์ƒํ˜ธ ๋ฐฐ์ œ(Mutual Exclusion) : ํ•œ ์ž์›์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค์˜ ๋™์‹œ ์ ‘๊ทผ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฆ‰, ํ•˜๋‚˜์˜ ์ž์›์„ ํŠน์ • ์‹œ๊ธฐ์— ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋‚˜ ์Šค๋ ˆ๋“œ๋งŒ ์†Œ์œ ํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ.

 

2. ์ ์œ ์™€ ๋Œ€๊ธฐ(Hold and Wait) : ํ•˜๋‚˜์˜ ์ž์›์„ ์†Œ์œ ํ•˜๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค ํ˜น์€ ์Šค๋ ˆ๋“œ์˜ ์ž์›์„ ์š”์ฒญํ•˜๋Š” ์ƒํƒœ์ด๋‹ค.

3. ๋น„์„ ์ (Non preemptive)  : ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋‚˜ ์Šค๋ ˆ๋“œ์—๊ฒŒ ์ฃผ์–ด์ง„ ์ž์›์€ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋‚˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์Šค์Šค๋กœ ๋†“๊ธฐ ์ „์—๋Š” ๋†“๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” ์ƒํƒœ. ์ฆ‰, ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—์„œ ์ž์›์„ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ ์ž์›์„ ๊ฐ•์ œ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†๋‹ค.

 

4. ํ™˜ํ˜• ๋Œ€๊ธฐ(Circle wait) :  ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์š”๊ตฌํ•˜๋Š” ์ž์›์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ๋‘ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋‚˜ ์Šค๋ ˆ๋“œ์˜ ๊ฒฝ์šฐ, A -> B, B -> C, C -> A ์—๊ฒŒ ์„œ๋กœ ์ž์›์„ ์š”์ฒญํ•˜๊ณ  ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํ™ฉ

 

 

11-2) ๊ต์ฐฉ ์ƒํƒœ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๋งํ•˜์‹œ์˜ค.

์œ„์˜ 4๊ฐ€์ง€ ์กฐ๊ฑด๋“ค ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ œ๊ฑฐํ•˜๋ฉด ๋œ๋‹ค. ์˜ˆ๋ฐฉ, ํšŒํ”ผ, ํƒ์ง€, ๋ณต๊ตฌ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

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

 

1. ์˜ˆ๋ฐฉ(Prevention) : ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ

 

2. ํšŒํ”ผ(Avoidance) : ๊ต์ฐฉ์ƒํƒœ๋ฅผ ํ”ผํ•˜๋Š” ๊ฒƒ. Ex) Dijkstra์˜ Banker’s Algorithm

 

3. ํƒ์ง€(Detection) : ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํƒ์ง€ ํ•˜๋Š” ๊ฒƒ, ๋ณต๊ตฌ๋ฅผ ์ˆ˜๋ฐ˜   

  โ€‹

4. ๋ณต๊ตฌ(Recovery) : ํ”„๋กœ์„ธ์Šค ์ค‘์ง€, ์ž์› ์„ ์ (ํฌ์ƒ์ž์˜ ์„ ํƒ-> ๊ธฐ์•„, ๋ณต๊ท€)

 

 

11-3) Banker's algorithm ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
๊ต์ฐฉ ์ƒํƒœ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋ฑ…์ปค ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‚ฌ์šฉ๋œ๋‹ค. E,J, Dijkstra๊ฐ€ ์ œ์•ˆํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ, ์€ํ–‰์—์„œ ๋ชจ๋“  ๊ณ ๊ฐ์˜ ์š”๊ตฌ๊ฐ€ ์ถฉ์กฑ๋˜๋„๋ก ํ˜„๊ธˆ์„ ํ• ๋‹นํ•˜๋Š”๋ฐ์„œ ์œ ๋ž˜ํ•œ ๊ธฐ๋ฒ•์ด๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์›์„ ์š”๊ตฌํ•  ๋•Œ ์‹œ์Šคํ…œ์€ ์ž์›์„ ํ• ๋‹นํ•œ ํ›„์—๋„ ์•ˆ์ • ์ƒํƒœ๋กœ ๋‚จ์•„์žˆ๊ฒŒ ๋˜๋Š”์ง€๋ฅผ ์‚ฌ์ „์— ๊ฒ€์‚ฌํ•˜์—ฌ ๊ต์ฐฉ ์ƒํƒœ๋ฅผ ํšŒํ”ผํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ์•ˆ์ • ์ƒํƒœ์— ์žˆ์œผ๋ฉด ์ž์›์„ ํ• ๋‹นํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋“ค์ด ์ž์›์„ ํ•ด์ง€ํ•  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐํ•œ๋‹ค. ์€ํ–‰์€ ๋” ์ด์ƒ ๋ชจ๋“  ๊ณ ๊ฐ์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑ์‹œํ‚ฌ ์ˆ˜์—†๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐ€์šฉ ํ˜„๊ธˆ์„ ํ• ๋‹นํ•˜์ง€ ์•Š๋Š” ๋ฑ…ํ‚น ์‹œ์Šคํ…œ์—์„œ ๋ฑ…์ปค ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ํ•œ๋‹ค.

 


12) RAID ๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? RAID์˜ ์ข…๋ฅ˜์— ๋Œ€ํ•ด ๋งํ•˜์‹œ์˜ค.
RAID๋Š” Redundant Array of Independent Disks์˜ ์•ฝ์ž์ด๋‹ค. ์ „์ฒด ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘๋ณต ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

  • RAID 0-๋‚ด๊ฒฐํ•จ์„ฑ์ด์—†๋Š” ์ŠคํŠธ๋ฆฝ ๋””์Šคํฌ ์–ด๋ ˆ์ด
  • RAID 1-๋ฏธ๋Ÿฌ๋ง ๋ฐ ์ด์ค‘ํ™”
  • RAID 2-๋ฉ”๋ชจ๋ฆฌ ์Šคํƒ€์ผ ์˜ค๋ฅ˜ ์ˆ˜์ • ์ฝ”๋“œ
  • RAID 3-๋น„ํŠธ ์ธํ„ฐ๋ฆฌ๋ธŒ ํŒจ๋ฆฌ
  • RAID 4-๋ธ”๋ก ์ธํ„ฐ๋ฆฌ๋ธŒ ํŒจ๋ฆฌํ‹ฐ
  • RAID 5-๋ธ”๋ก ์ธํ„ฐ๋ฆฌ๋ธŒ ๋ถ„์‚ฐ ํŒจ๋ฆฌํ‹ฐ
  • RAID 6-P + Q ์ด์ค‘ํ™”

 

13) Sync ์™€ Async์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ผ๋ฐ˜์ ์œผ๋กœ ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ์˜ ์ฐจ์ด๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚ด๊ณผ ๋™์‹œ์— ๋ฐ˜ํ™˜ ๊ฐ’์ด ๊ธฐ๋Œ€๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋™๊ธฐ ๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด์„œ ๋น„๋™๊ธฐ ๋ผ๊ณ  ํ‘œํ˜„ํ•œ๋‹ค. ๋™์‹œ์—๋ผ๋Š” ๋ง์€ ์‹คํ–‰๋˜์—ˆ์„ ๋•Œ ๊ฐ’์ด ๋ฐ˜ํ™˜๋˜๊ธฐ ์ „๊นŒ์ง€๋Š” blocking๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋น„๋™๊ธฐ์˜ ๊ฒฝ์šฐ, blocking๋˜์ง€ ์•Š๊ณ  ์ด๋ฒคํŠธ ํ์— ๋„ฃ๊ฑฐ๋‚˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์Šค๋ ˆ๋“œ์—๊ฒŒ ํ•ด๋‹น task ๋ฅผ ์œ„์ž„ํ•˜๊ณ  ๋ฐ”๋กœ ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋Œ€๋˜๋Š” ๊ฐ’์ด ๋ฐ”๋กœ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š๋Š”๋‹ค.

 

 

14) ์Šคํ’€๋ง์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
์Šคํ’€๋ง์€ ์žฅ์น˜, ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ผ์‹œ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์ด๋‹ค. ์ธ์‡„์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค. ๋‹ค๋ฅธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์‹œ์— ์ถœ๋ ฅ์„ ํ”„๋ฆฐํ„ฐ๋กœ ๋ณด๋‚ด๋ฉด ์Šคํ’€๋ง์€ ์ด๋Ÿฌํ•œ ๋ชจ๋“  ์ž‘์—…์„ ๋””์Šคํฌ ํŒŒ์ผ์— ๋ณด๊ด€ํ•˜๊ณ  ํ”„๋ฆฐํ„ฐ์— ๋”ฐ๋ผ ๋Œ€๊ธฐ์—ด์— ๋„ฃ๋Š”๋‹ค.

 

15) ๋ฎคํ…์Šค๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

ํ”„๋กœ์„ธ์Šค ํ˜น์€ ์Šค๋ ˆ๋“œ ๊ฐ„์˜ ํ†ต์‹  ์‹œ์— shared memory ๋“ฑ์„ ์“ฐ๋Š” ๊ฒฝ์šฐ ํ•˜๋‚˜์˜ ์ž์›์— ๋‘ ๊ฐœ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค ํ˜น์€ ์Šค๋ ˆ๋“œ๊ฐ€ ์ ‘๊ทผํ•˜๋Š” ๊ฒฝ์šฐ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋ฅผ ์ œ์–ดํ•˜๊ธฐ์œ„ํ•ด ์Šค๋ ˆ๋“œ๋Š” ๋ฎคํ…์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ํ”„๋กœ์„ธ์Šค์—์„œ๋Š” ์„ธ๋งˆํฌ์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

- ๋ฎคํ…์Šค : ์ƒํ˜ธ๋ฐฐ์ œ๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, Critical Section์„ ๊ฐ€์ง„ ์Šค๋ ˆ๋“œ์˜ Running Time์ด ์„œ๋กœ ๊ฒน์น˜์ง€ ์•Š๋„๋ก ๊ฐ๊ฐ ๋‹จ๋…์œผ๋กœ ์‹คํ–‰ํ•˜๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ๋ฎคํ…์Šค๋Š” ์ƒํƒœ๊ฐ€ 0, 1 ๋‘๊ฐœ ๋ฟ์ธ ์ด์ง„ ์„ธ๋งˆํฌ์–ด. synchronized ๋˜๋Š” lock์„ ํ†ตํ•ด ํ•ด๊ฒฐํ•œ๋‹ค.

 

 

15-1) ์„ธ๋งˆํฌ์–ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
์„ธ๋งˆํฌ์–ด๋Š” ์‚ฌ์šฉ์ค‘์ธ ๋ฆฌ์†Œ์Šค๋ฅผ ์ž ๊ทธ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ณดํ˜ธ ๋œ ๋ณ€์ˆ˜ ๋˜๋Š” ์ถ”์ƒ ๋ฐ์ดํ„ฐ ์œ ํ˜•์ด๋‹ค. ๊ณต์œ ๋œ ์ž์›์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ 'ํ”„๋กœ์„ธ์Šค'์—์„œ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š”๋‹ค. ์„ธ๋งˆํฌ์–ด์˜ ๊ฐ’์€ ๊ณตํ†ต ์ž์›์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ„๋‹จํ•œ ์นด์šดํ„ฐ์ด๋‹ค. ๊ณต์œ  ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ตœ๋Œ€ ํ—ˆ์šฉ์น˜๋งŒํผ ๋™์‹œ์— ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘๊ทผํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

15-2) ๋ฎคํ…์Šค์™€ ์„ธ๋งˆํฌ์–ด์˜ ์ฐจ์ด?

๊ฐ€์žฅ ํฐ ์ฐจ์ด๋Š” ๋™๊ธฐํ™” ๋Œ€์ƒ์˜ ๊ฐฏ์ˆ˜์ด๋‹ค. ๋ฎคํ…์Šค๋Š” ๋™๊ธฐํ™” ๋Œ€์ƒ์ด ํ•˜๋‚˜๋ฟ์ด๊ณ , ์„ธ๋งˆํฌ์–ด๋Š” ๋™๊ธฐํ™” ๋Œ€์ƒ์ด ํ•˜๋‚˜ ์ด์ƒ์ผ ๋•Œ.

 


16) ์šด์˜ ์ฒด์ œ์—์„œ ๊ธฐ์•„(Starvation) ๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
ํŠน์ • ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์•„์„œ ์›ํ•˜๋Š” ์ž์›์„ ๊ณ„์† ํ• ๋‹น ๋ฐ›์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ์ด๋‹ค.

๊ธฐ์•„์ƒํƒœ๋Š” ์ž์› ๊ด€๋ฆฌ ๋ฌธ์ œ์ด๋‹ค. ์ด ๋ฌธ์ œ์—์„œ ๋Œ€๊ธฐ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋žซ๋™์•ˆ ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์–ป์ง€ ๋ชปํ•œ๋‹ค.

 

17) ์šด์˜ ์ฒด์ œ์—์„œ ์—์ด์ง•(Aging)๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
์—์ด์ง•์€ ์ž์› ์Šค์ผ€์ค„๋ง ์‹œ์Šคํ…œ์—์„œ ๊ธฐ์•„๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ํŠน์ • ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์•„ ๋ฌดํ•œ์ • ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ๋˜๋Š” ๊ฒฝ์šฐ, ํ•œ๋ฒˆ ์–‘๋ณดํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋‹ค๋ฆฐ ์‹œ๊ฐ„์— ๋น„๋ก€ํ•˜์—ฌ ์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์šฐ์„ ์ˆœ์œ„๋ฅผ ํ•œ ๋‹จ๊ณ„์”ฉ ๋†’์—ฌ ๊ฐ€๊นŒ์šด ์‹œ๊ฐ„ ์•ˆ์— ์ž์›์„ ํ• ๋‹น๋ฐ›๋„๋ก ํ•˜๋Š” ๊ธฐ๋ฒ•์„ ๋งํ•œ๋‹ค.

 

 

18) ์šด์˜ ์ฒด์ œ์—์„œ ํŽ˜์ด์ง•(Paging)์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์„ธ๊ทธ๋จผํ…Œ์ด์…˜๊ณผ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณ ์ •๋œ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆ„์–ด ๋ฉ”๋ชจ๋ฆฌ(๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ)๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋ฒ•์„ ๋งํ•œ๋‹ค. ์ž์„ธํ•˜๊ฒŒ ๋งํ•˜์ž๋ฉด ์ปค๋‹ค๋ž€ ํฌ๊ธฐ์˜ ์ž‘์—…์„ ์ผ์ •ํ•œ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆ„์–ด ์ž˜๊ฒŒ ์ชผ๊ฐœ์–ด ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ถˆ์—ฐ์†์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์š”์ฒญ ๋“ฑ์— ์œ ์—ฐํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

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

 

 

18-1) ํŽ˜์ด์ง•์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์€?

์žฅ์ : ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํŽ˜์ด์ง€๋‹จ์œ„๋กœ ๊ฐ€์ ธ์™€์„œ, ํ”„๋กœ์„ธ์Šค์˜ ํšจ์œจ์ ์ธ ์šด์˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋‹จ์ : ํŽ˜์ด์ง€ ํฌ๊ธฐ๋ณ„, ๋‹จ์œ„๋ณ„๋กœ ํŽ˜์ด์ง€ ํดํŠธ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

19) ์„ธ๊ทธ๋จผํ…Œ์ด์…˜(Segmentation) ์ด๋ž€?

๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์„œ๋กœ ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅธ ๋…ผ๋ฆฌ์ ์ธ ๋ธ”๋ก ๋‹จ์œ„์ธ ์„ธ๊ทธ๋จผํŠธ(segment)๋กœ ๋ถ„ํ• ํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜์—ฌ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋…ผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ๋ฏธ๋ฆฌ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์‹œ์ ์— ํ• ๋‹น๋œ๋‹ค. ๋‚ด๋ถ€๋‹จํŽธํ™”๋Š” ์—†์ง€๋งŒ ์™ธ๋ถ€๋‹จํŽธํ™”๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 


20) ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์žฅ์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

ํ”„๋กœ์„ธ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋˜ ์ผ์„ ์Šค๋ ˆ๋“œ๋กœ ๊ตฌํ˜„ํ•  ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„๊ณผ ์‹œ์Šคํ…œ ์ž์› ์†Œ๋ชจ๊ฐ€ ์ค„์–ด๋“ค๊ฒŒ ๋œ๋‹ค.

์Šค๋ ˆ๋“œ ๊ฐ„์˜ ํ†ต์‹ ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋„ ๋ณ„๋„์˜ ์ž์›์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ „์—ญ ๋ณ€์ˆ˜์˜ ๊ณต๊ฐ„ ๋˜๋Š” ๋™์ ์œผ๋กœ ํ• ๋‹น๋œ ๊ณต๊ฐ„์ธ Heap(ํž™) ์˜์—ญ์„ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹  ๋ฐฉ๋ฒ•์— ๋น„ํ•ด ์Šค๋ ˆ๋“œ ๊ฐ„์˜ ํ†ต์‹  ๋ฐฉ๋ฒ•์ด ํ›จ์”ฌ ๊ฐ„๋‹จํ•˜๋‹ค. ์‹ฌ์ง€์–ด ์Šค๋ ˆ๋“œ์˜ context switch(๋ฌธ๋งฅ๊ตํ™˜)๋Š” ํ”„๋กœ์„ธ์Šค context switch ์™€๋Š” ๋‹ฌ๋ฆฌ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋น„์šธ ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋น ๋ฅด๋‹ค. ๋”ฐ๋ผ์„œ ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜๊ณ  ์ž์› ์†Œ๋ชจ๊ฐ€ ์ค„์–ด๋“ค๋ฉฐ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ”„๋กœ๊ทธ๋žจ์˜ ์‘๋‹ต ์‹œ๊ฐ„์ด ๋‹จ์ถ•๋œ๋‹ค. ์ด๋Ÿฌํ•œ ์žฅ์  ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…๋“ค์„ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์—์„œ ์Šค๋ ˆ๋“œ๋กœ ๋‚˜๋ˆ  ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.


- ์‚ฌ์šฉ์ž์˜ ๋ฐ˜์‘์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.
(= ์‘๋‹ต์„ฑ์ด ์ข‹๋‹ค : ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์— ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์Šค๋ ˆ๋“œ์— ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•˜๊ฒŒ ํ•จ์œผ๋กœ์จ ํŠน์ • ์ž‘์—…์„ ํ•˜๋ฉด์„œ๋„ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ช…๋ น์„ ์ž…๋ ฅ๋ฐ›๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.)

 

- ํ”„๋กœ์„ธ์Šค ๋‚ด ๋ฆฌ์†Œ์Šค ๊ณต์œ ํ•˜์—ฌ ๊ฒฝ์ œ์ ์ด๋‹ค. (= ์ž์›๊ณต์œ ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋‹ค.)

 

- ์ž‘์—…์ด ๋ถ„๋ฆฌ๋˜์–ด ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•ด์ง„๋‹ค

 

 

20-1) ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋‹จ์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ๋•Œ๋Š” ํ”„๋กœ์„ธ์Šค ๊ฐ„ ๊ณต์œ ํ•˜๋Š” ์ž์›์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋™์ผํ•œ ์ž์›์— ๋™์‹œ์— ์ ‘๊ทผํ•˜๋Š” ์ผ์ด ์—†์—ˆ์ง€๋งŒ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ๋•Œ๋Š” ์ด ๋ถ€๋ถ„์„ ์‹ ๊ฒฝ์จ์ค˜์•ผ ํ•œ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ์™€ ํž™ ์˜์—ญ์„ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค ์Šค๋ ˆ๋“œ๊ฐ€ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์—์„œ ์‚ฌ์šฉ์ค‘์ธ ๋ณ€์ˆ˜๋‚˜ ์ž๋ฃŒ๊ตฌ์กฐ์— ์ ‘๊ทผํ•˜์—ฌ ์—‰๋šฑํ•œ ๊ฐ’์„ ์ฝ์–ด์˜ค๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

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

 

- ๊ตฌํ˜„ํ•˜๊ธฐ ์–ด๋ ต๊ณ , ํ…Œ์ŠคํŠธ์™€ ๋””๋ฒ„๊น…์ด ์–ด๋ ต๋‹ค.

- ์ „์ฒด ํ”„๋กœ์„ธ์Šค์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.  

- ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋™๋ฐ˜๋ฉ๋‹ˆ๋‹ค.

- ๋™๊ธฐํ™” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.

- ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ด์•ผํ•œ๋‹ค .

 

 

21) Scheduling ์ด๋ž€(Process Scheduling)?
์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๊ณ , ์ด ํ”„๋กœ์„ธ์Šค๋“ค์ด ์ž์›(CPU ๋“ฑ)์„ ๋™์‹œ์— ์š”๊ตฌํ•˜๋Š”๋ฐ ์ž์›์ด ์ œํ•œ๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ œํ•œ๋œ ์ž์›๋“ค์„ ์–ด๋–ป๊ฒŒ(์ˆœ์„œ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋“ฑ) ๋‚˜๋ˆ ์ค„ ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ์ •์ฑ…์„ ๋งํ•œ๋‹ค. 

 

 

22) CPU Scheduling?
CPU ํ•˜๋‚˜๋Š” ๋™์‹œ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ํ•œ ์ˆœ๊ฐ„์— ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์ •์ฑ…์ด๋‹ค. 

 

 

22-1) CPU ์Šค์ผ€์ค„๋ง์€ ์–ธ์ œ ๋ฐœ์ƒํ•˜๋Š”๊ฐ€?

  • ์‹คํ–‰์ƒํƒœ์—์„œ ๋Œ€๊ธฐ์ƒํƒœ๋กœ ์ „ํ™˜๋  ๋•Œ (์˜ˆ, ์ž…์ถœ๋ ฅ ์š”์ฒญ) - Non preemptive(๋น„์„ ์ )
  • ์‹คํ–‰์ƒํƒœ์—์„œ ์ค€๋น„์ƒํƒœ๋กœ ์ „ํ™˜๋  ๋•Œ (์˜ˆ, ์ธํ„ฐ๋ŸฝํŠธ ๋ฐœ์ƒ) - preemptive(์„ ์ )
  • ๋Œ€๊ธฐ์ƒํƒœ์—์„œ ์ค€๋น„์ƒํƒœ๋กœ ์ „ํ™˜๋  ๋•Œ(์˜ˆ, ์ž…์ถœ๋ ฅ์ด ์ข…๋ฃŒ๋  ๋•Œ)
  • ์ข…๋ฃŒ๋  ๋•Œ(Terminated)

 

22-2) CPU ์Šค์ผ€์ค„๋ง์˜ ์ข…๋ฅ˜๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.

๋น„์„ ์ (Non-preemptive) ์Šค์ผ€์ค„๋ง

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

- ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ํ• ๋‹น๋ฐ›์œผ๋ฉด ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ CPU๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 

- ์ผ๊ด„ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์˜ ์Šค์ผ€์ค„๋ง(๊ณต์ •ํ•˜์ง€๋งŒ ๊ธด๊ธ‰ ์‘๋‹ต์„ ์š”ํ•˜๋Š” ์ž‘์—…์— ์ข‹์ง€ ์•Š๋‹ค.)

 

  • FCFS(FIFO) : ์ค€๋น„์ƒํƒœ ํ์— ๋„์ฐฉํ•œ ์ˆœ์„œ์— ๋”ฐ๋ผ CPU๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ธฐ๋ฒ•. ๊ณตํ‰์„ฑ์€ ์œ ์ง€๋˜์ง€๋งŒ ์งง์€ ์ž‘์—…์ด ๊ธด ์ž‘์—…์„, ์ค‘์š”ํ•œ ์ž‘์—…์ด ์ค‘์š”ํ•˜์ง€ ์•Š์€ ์ž‘์—…์„ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋จ.
    • ์žฅ์  : ํ‰๊ท  ์‘๋‹ต์‹œ๊ฐ„์ด ๊ธธ๋‹ค. (๋Œ€ํ™”์‹ ์‹œ์Šคํ…œ์— ๋ถ€์ ํ•ฉ)
    • ๋‹จ์  : ๋„์ฐฉ ์ˆœ์„œ์— ๋”ฐ๋ผ ๊ณตํ‰ํ•˜๋‹ค.
  • SJF(Shortest Job First) : ์‹คํ–‰์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ํ”„๋กœ์„ธ์Šค์— ๋จผ์ € CPU๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ธฐ๋ฒ•. ๊ฐ€์žฅ ์ ์€ ํ‰๊ท  ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ œ๊ณตํ•˜๋Š” ์ตœ์  ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ์žฅ์  : ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„์„ ์ตœ์†Œํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋‹จ์  : ์‹คํ–‰์‹œ๊ฐ„์ด ๊ธด ํ”„๋กœ์„ธ์Šค๋Š” CPU๋ฅผ ํ• ๋‹น๋ฐ›์ง€ ๋ชปํ•˜๊ณ  ๋ฌดํ•œํžˆ ๋Œ€๊ธฐํ•˜๋Š” ํ˜„์ƒ ๋ฐœ์ƒ(starvation) 
  • HRN(Highest Response ratio) : ์‹คํ–‰ ์‹œ๊ฐ„์ด ๊ธด ํ”„๋กœ์„ธ์Šค์— ๋ถˆ๋ฆฌํ•œ SJF ๊ธฐ๋ฒ•์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์œผ๋กœ ์šฐ์„ ์ˆœ์œ„ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ ๊ฐ’์ด ๋†’์€ ๊ฒƒ๋ถ€ํ„ฐ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋ถ€์—ฌ๋œ๋‹ค. ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๊ธธ์ˆ˜๋ก ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ๋†’๋‹ค. ์šฐ์„ ์ˆœ์œ„ = (๋Œ€๊ธฐ์‹œ๊ฐ„ + ์„œ๋น„์Šค์‹œ๊ฐ„ / ์„œ๋น„์Šค์‹œ๊ฐ„) ํฐ ํ”„๋กœ์„ธ์Šค์ผ์ˆ˜๋ก ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์œผ๋ฏ€๋กœ ํ‰๊ท  ์‘๋‹ต์‹œ๊ฐ„๋„ ๋‹จ์ถ•
  • ๊ธฐํ•œ๋ถ€(DeadLine) : ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์ผ์ •ํ•œ ์‹œ๊ฐ„์„ ์ฃผ์–ด ๊ทธ ์‹œ๊ฐ„ ์•ˆ์— ํ”„๋กœ์„ธ์Šค๋ฅผ ์™„๋ฃŒํ•˜๋„๋ก ํ•˜๋Š” ๊ธฐ๋ฒ•
  • ์šฐ์„ ์ˆœ์œ„(Priority) : ์ค€๋น„์ƒํƒœ ํ์—์„œ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ๊ทธ ์ค‘ ๊ฐ€์žฅ ๋†’์€ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ๋จผ์ € CPU๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ธฐ๋ฒ•. ์ •์ , ๋™์  ์šฐ์„ ์ˆœ์œ„ ๋ฐฉ๋ฒ• ์กด์žฌ

 

์„ ์ (Preemptive) ์Šค์ผ€์ค„๋ง

- ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ํ• ๋‹น๋ฐ›์•„ ์‹คํ–‰ ํ•˜๊ณ  ์žˆ์„ ๋•Œ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ๊ฐ•์ œ๋กœ ๋นผ์•—์•„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ•

- ์„ ์ ์œผ๋กœ ์ธํ•œ ๋งŽ์€ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

- ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ์— ์‚ฌ์šฉํ•˜๋Š” ์Šค์ผ€์ค„๋ง์ด๋‹ค. (๊ธด๊ธ‰์„ ์š”ํ•˜๋Š” ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ–๋Š” ์‹œ๋ถ„ํ•  ์ฒ˜๋ฆฌ, ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ์— ์œ ์šฉ)

- ์„ ์ ์„ ์œ„ํ•ด ์‹œ๊ฐ„ ๋ฐฐ๋‹น์„ ์œ„ํ•œ ์ธํ„ฐ๋ŸฝํŠธ์šฉ ํƒ€์ด๋จธ ํด๋Ÿญ(Clock)์ด ํ•„์š”ํ•œ๋‹ค.

 

  • SRT(Shortest Remaining Time) : ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ ๋‚จ์€ ์‹œ๊ฐ„๊ณผ ๋Œ€๊ธฐ ํ์— ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ CPU๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ธฐ๋ฒ• (๋น„์„ ์  ๊ธฐ๋ฒ•์ธ SJF ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ ์  ํ˜•ํƒœ๋กœ ๋ณ€๊ฒฝํ•œ ๊ธฐ๋ฒ•)
    • ๋‹จ์  : ์žฆ์€ ์„ ์ ์œผ๋กœ ์ธํ•œ ๋ฌธ๋งฅ๊ตํ™˜์˜ ๋ถ€๋‹ด, starvation ์˜ ์œ„ํ—˜
  • ์„ ์  ์šฐ์„ ์ˆœ์œ„ : ์ค€๋น„์ƒํƒœ ํ์˜ ํ”„๋กœ์„ธ์Šค๋“ค ์ค‘์—์„œ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ๋จผ์ € CPU๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ธฐ๋ฒ•
  • RR(Round Robin) : ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ์„ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ๋ฐฉ๋ฒ•์œผ๋กœ, FCFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ์  ํ˜•ํƒœ๋กœ ๋ณ€ํ˜•ํ•œ ๊ธฐ๋ฒ•. ๋Œ€๊ธฐ ํ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋จผ์ € ๋Œ€๊ธฐํ•œ ์ž‘์—…์ด ๋จผ์ € CPU๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    • ๋‹จ์  : CPU๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„(Quantum)๋™์•ˆ CPU๋ฅผ ์‚ฌ์šฉํ•œ ํ›„์— ๋‹ค์‹œ ๋Œ€๊ธฐ ํ์˜ ๊ฐ€์žฅ๋˜๋กœ ๋ฐฐ์น˜๋œ๋‹ค. ํ• ๋‹น๋˜๋Š” ์‹œ๊ฐ„์ด ํด ๊ฒฝ์šฐ FCFS ๊ธฐ๋ฒ•๊ณผ ๊ฐ™์•„์ง€๊ณ , ์‹œ๊ฐ„์ด ์ž‘์„ ๊ฒฝ์šฐ ๋ฌธ๋งฅ๊ตํ™˜ ๋ฐ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ž์ฃผ ๋ฐœ์ƒ๋จ
  • MLQ(๋‹ค๋‹จ๊ณ„ ํ) : ํ”„๋กœ์„ธ์Šค๋ฅผ ํŠน์ • ๊ทธ๋ฃน์œผ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ทธ๋ฃน์— ๋”ฐ๋ผ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์ค€๋น„์ƒํƒœ ํ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ž‘์—…๋“ค์„ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๊ทธ๋ฃน์œผ๋กœ ๋ถ„ํ• . ํ๋“ค๊ฐ„์— ํ”„๋กœ์„ธ์Šค ์ด๋™์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ฐ ํ๋Š” ์ž์‹ ๋งŒ์˜ ๋…์ž์ ์ธ ์Šค์ผ€์ค„๋ง์„ ๊ฐ€์ง„๋‹ค. ์ƒ์œ„ ์šฐ์„  ์ˆœ์œ„์˜ ํ๊ฐ€ Empty ์ด๋ฉด ํ•˜์œ„ ์šฐ์„ ์ˆœ์œ„์˜ ํ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆ˜ํ–‰๋œ๋‹ค.
  • MLFQ(๋‹ค๋‹จ๊ณ„ ํ”ผ๋“œ๋ฐฑ ํ) : ํŠน์ • ๊ทธ๋ฃน์˜ ์ค€๋น„์ƒํƒœ ํ์— ๋“ค์–ด๊ฐ„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค๋ฅธ ์ค€๋น„์ƒํƒœ ํ๋กœ ์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ๋‹ค๋‹จ๊ณ„ ํ ๊ธฐ๋ฒ•์„ ์ค€๋น„์ƒํƒœ ํ ์‚ฌ์ด๋ฅผ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ์„ ํ•œ ๊ธฐ๋ฒ•. ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋Š” ๋†’์€ ์šฐ์„ ์ˆœ์œ„, ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰์ด ๊ธธ์–ด์งˆ ์ˆ˜๋ก ์ ์  ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„ ํ๋กœ ์ด๋™. ์ œ์ผ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์—์„œ๋Š” RR/FCFS ์ฒ˜๋ฆฌ. ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๋‹จ๊ณ„์˜ ํ์ผ์ˆ˜๋ก ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰์„ ์ž‘๊ฒŒ ์„ค์ •ํ•œ๋‹ค. ๊ธฐ์•„ ์ƒํƒœ๋ฅผ ์˜ˆ๋ฐฉํ•˜๋Š” Aging ๋ฐฉ๋ฒ•. ํ˜„๋Œ€ OS์—์„œ RR๋ฐฉ์‹๊ณผ ํ•จ๊ป˜ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ•.
  • RM(Rate Monotonic, ์ฃผ๊ธฐ๋‹จ์กฐ) ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์ˆ˜ํ–‰ ์ฃผ๊ธฐ๊ฐ€ ๊ฐ€์žฅ ์งง์€ ํ”„๋กœ์„ธ์Šค์— ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ์‹ค์‹œ๊ฐ„ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜. ์ •์  ์Šค์ผ€์ค„๋ง๋ฐฉ์‹. ๋งˆ๊ฐ ์‹œ๊ฐ„๊ณผ ์ฃผ๊ธฐ๊ฐ€ ์ผ์น˜.
    • ์žฅ์  : ๊ฐ„๋‹จ, ์‚ฌ์šฉ๋ฅ ์ด 0.69์ดํ•˜์ผ๋•Œ ํ•ญ์ƒ ์Šค์ผ€์ค„๋ง ๊ฐ€๋Šฅ
    • ๋‹จ์  : ์ฃผ๊ธฐ๊ฐ€ ๊ธด ํƒœ์Šคํฌ๋“ค์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์•„์„œ ์žฅ์‹œ๊ฐ„ ๋Œ€๊ธฐ
  • EDF(Earliest Deadline First, ์ตœ๋‹จ ๋งˆ๊ฐ์‹œ๊ฐ„ ์šฐ์„ )์•Œ๊ณ ๋ฆฌ์ฆ˜ : ํ”„๋กœ์„ธ์Šค์˜ ๋งˆ๊ฐ์‹œํ•œ์ด ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋†’๊ฒŒ ๋ถ€์—ฌํ•˜๋Š” ์„ ์ ๋ฐฉ์‹์˜ ๋™์  ์Šค์ผ€์ค„๋ง
    • ์žฅ์  : ์ด๋ก ์ ์œผ๋กœ ์ด ์ด์šฉ๋ฅ ์ด 1์ดํ•˜๋ฉด ์Šค์ผ€์ค„๋ง ๊ฐ€๋Šฅ
    • ๋‹จ์  : ํƒœ์Šคํฌ๋“ค์˜ ์ˆ˜ํ–‰ ์‹œ๊ฐ„, ๋งˆ๊ฐ์‹œ๊ฐ„, ์ฃผ๊ธฐ ๋“ฑ์„ ์ •ํ™•ํžˆ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด ํ˜„์‹ค์ ์œผ๋กœ ์–ด๋ ค์›€.

[์ •๋ฆฌ]

๋น„์„ ์ ํ˜• : FCFS, ๋น„์„ ์ ํ˜• SJF 

์„ ์ ํ˜• : RR, MLQ, MLFQ, ์„ ์ ํ˜• SJF(SRF), RM(Rate Monotonic), EDF

 

 

22-3) ์„ ์  ์Šค์ผ€์ค„๋ง๊ณผ ๋น„์„ ์  ์Šค์ผ€์ค„๋ง์˜ ์ฐจ์ด์ ?

์„ ์  : CPU๋ฅผ ํ• ๋‹น๋ฐ›์•„ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋กœ๋ถ€ํ„ฐ CPU๋ฅผ ์„ ์ (๋นผ์•—๋Š” ๊ฒƒ)ํ•˜์—ฌ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹น ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹

        Ex) RR, SRT, MLQ, MFQ

๋น„์„ ์  : CPU๋ฅผ ํ• ๋‹น๋ฐ›์€ ํ”„๋กœ์„ธ์Šค๋Š” ์Šค์Šค๋กœ CPU๋ฅผ ๋ฐ˜๋‚ฉํ•  ๋•Œ๊นŒ์ง€ CPU๋ฅผ ๋…์ ํ•˜์—ฌ ์‚ฌ์šฉ

           Ex) FCFS, SJR, HRN

 

 

23) ๋ฉ”๋ชจ๋ฆฌ ๋‹จํŽธํ™” ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

๋ฉ”๋ชจ๋ฆฌ์˜ ๋นˆ ๊ณต๊ฐ„ ๋˜๋Š” ์ž๋ฃŒ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋‰˜๋Š” ํ˜„์ƒ์„ ๋งํ•œ๋‹ค. ํ• ๋‹นํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œ๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด ๊ทธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋นˆ ๊ณต๊ฐ„(์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ณต๊ฐ„)์ด ๋˜๊ณ  ๊ทธ ๋นˆ๊ณต๊ฐ„์˜ ํฌ๊ธฐ๋ณด๋‹ค ํฐ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ฆฌํ•˜์—ฌ ์ด ๊ณต๊ฐ„๋“ค์ด ํ•˜๋‚˜ ๋‘˜ ์Œ“์ด๊ฒŒ ๋˜๋ฉด ์ˆ˜์น˜์ƒ์œผ๋กœ๋Š” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋‚จ์•˜์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

 

23-1) ๋‚ด๋ถ€๋‹จํŽธํ™”์™€ ๋‚ด๋ถ€๋‹จํŽธํ™”๋ž€?

- ๋‚ด๋ถ€๋‹จํŽธํ™”

: ๋ถ„ํ• ๋œ ์˜์—ญ์ด ํ• ๋‹น๋œ ํ”„๋กœ๊ทธ๋žจ์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ปค์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ  ๋‚จ์•„ ์žˆ๋Š” ๋นˆ ๊ณต๊ฐ„์„ ๋งํ•œ๋‹ค.

: ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋Š” ํŽ˜์ด์ง•์—์„œ ๋ฐœ์ƒํ•œ๋‹ค.

 

- ์™ธ๋ถ€๋‹จํŽธํ™”

: ๋ถ„ํ• ๋œ ์˜์—ญ์ด ํ• ๋‹น๋  ํ”„๋กœ๊ทธ๋žจ์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์•„์„œ ๋ชจ๋‘ ๋นˆ ๊ณต๊ฐ„์œผ๋กœ ๋‚จ์•„ ์žˆ๋Š” ์ „์ฒด ์˜์—ญ์„ ๋งํ•œ๋‹ค.

: ์™ธ๋ถ€ ๋‹จํŽธํ™”๋Š” ์„ธ๊ทธ๋จผํ…Œ์ด์…˜์—์„œ ๋ฐœ์ƒํ•œ๋‹ค.

 

 

23-2) ๋ฉ”๋ชจ๋ฆฌ ๋‹จํŽธํ™” ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์€?

๋ฉ”๋ชจ๋ฆฌ ์••์ถ•(๋””์Šคํฌ ์กฐ๊ฐ ๋ชจ์Œ), ๋ฉ”๋ชจ๋ฆฌ ํ†ตํ•ฉ(๋‹จํŽธํ™”๊ฐ€ ๋ฐœ์ƒ๋œ ๊ณต๊ฐ„๋“ค์„ ํ•˜๋‚˜๋กœ ํ†ตํ•ฉ์‹œ์ผœ ํฐ ๊ณต๊ฐ„์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ธฐ๋ฒ•)

 

 

24) ๋ฌธ๋งฅ๊ตํ™˜(Context Switching)์ด๋ž€?

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

 

[์ฐธ๊ณ ] CPU๊ฐ€ ํ˜„์žฌ ์ฒ˜๋ฆฌ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ PCB(Process Controll Block)์„ ๋”ฐ๋กœ ์ €์žฅํ•˜๊ณ  ๋‹ค๋ฅธ PCB๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ

PCB? ํŠน์ • ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ์šด์˜์ฒด์ œ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์šด์˜์ฒด์ œ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ๊ณผ ๋™์‹œ์— ๊ณ ์œ ํ•œ PCB๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

 

 

PCB์˜ ๊ตฌ์„ฑ

 

 

25) ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ์™€ ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ์˜ ๊ฐ๊ฐ ์žฅ๋‹จ์ ?

- ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ

: ์žฅ์ 

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

: ๋‹จ์ 

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

- ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ

: ์žฅ์ 

  • ์šด์˜์ฒด์ œ์—์„œ ์Šค๋ ˆ๋“œ๋ฅผ ์ง€์›ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค
  • ์Šค์ผ€์ค„๋ง ๊ฒฐ์ •์ด๋‚˜ ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•ด ์ปค๋„์„ ํ˜ธ์ถœํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์ปค๋„ ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ๋ณด๋‹ค ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ ๋‹ค
  • ์ฆ‰, ์‚ฌ์šฉ์ž ์˜์—ญ ์Šค๋ ˆ๋“œ์—์„œ ํ–‰๋™์„ ํ•˜๊ธฐ์— OS Scheduler์˜ context switch๊ฐ€ ์—†๋‹ค. (์‚ฌ์šฉ์ž ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ ์Šค์ผ€์ค„๋Ÿฌ ์ด์šฉ)
  • ์ปค๋„์€ ์Šค๋ ˆ๋“œ์˜ ์กด์žฌ์กฐ์ฐจ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“œ ๊ฐ„์˜ ์ „ํ™˜์ด ์—†๊ณ  ์„ฑ๋Šฅ ์ด๋“์ด ๋ฐœ์ƒํ•œ๋‹ค.

: ๋‹จ์ 

  • ์‹œ์Šคํ…œ ์ „๋ฐ˜์— ๊ฑธ์นœ ์Šค์ผ€์ค„๋ง ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. (๋ฌด์Šจ ์Šค๋ ˆ๋“œ๊ฐ€ ๋จผ์ € ๋™์ž‘ํ•  ์ง€ ๋ชจ๋ฅธ๋‹ค)
  • ํ”„๋กœ์„ธ์Šค์— ์†ํ•œ ์Šค๋ ˆ๋“œ ์ค‘ I/O ์ž‘์—… ๋“ฑ์—์˜ํ•ด ํ•˜๋‚˜๋ผ๋„ ๋ธ”๋ก์ด ๊ฑธ๋ฆฐ๋‹ค๋ฉด ์ „์ฒด ์Šค๋ ˆ๋“œ๊ฐ€ ๋ธ”๋ก๋œ๋‹ค.

 

25-1) ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ์™€ ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ ์ฐจ์ด๋Š”?

์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋ชจ๋“œ์˜ ์ฐจ์ด.

์ปค๋„ ์ˆ˜์ค€์˜ ์Šค๋ ˆ๋“œ๋Š” ์ปค๋„ ๋ชจ๋“œ๊ธฐ ๋•Œ๋ฌธ์— write()๊ฐ™์€ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ์ž ๋ชจ๋“œ์—์„œ ์ปค๋„ ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ๋งฅ ๊ตํ™˜์ด ์ผ์–ด๋‚˜์„œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ• ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ์ž ์Šค๋ ˆ๋“œ๊ฐ€ ์—ฌ๋Ÿฟ ์žˆ์„๋•Œ ํ•˜๋‚˜๋ผ๋„ ์ปค๋„ ๋ชจ๋“œ๊ฐ€ ๋˜๋ฉด ๋‹ค๋ฅธ ์“ฐ๋ ˆ๋“œ๊ฐ€ ์ค‘์ง€๋œ๋‹ค. ๊ทธ๋ž˜์„œ ์š”์ฆ˜์—๋Š” ํ˜ผํ•ฉํ•ด์„œ ์“ธ์ˆ˜ ์žˆ๋Š” ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๊ณ  ์žˆ๋‹ค.

 

 

26) ๋ชจ๋“œ ์Šค์œ„์น˜์™€ ํ”„๋กœ์„ธ์Šค ์Šค์œ„์น˜ ๊ฐ„์˜ ์ฐจ์ด์ ์€?

๋ชจ๋“œ ์Šค์œ„์น˜๋Š” ์‚ฌ์šฉ์ž ๋ชจ๋“œ์—์„œ ์ปค๋„๋ชจ๋“œ๋กœ ๋ณ€๊ฒฝํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋ฉฐ ์™„์ „๋ฌธ๋งฅ๊ตํ™˜์ด ํ•„์š”ํ•˜์ง€ ์•Š๊ณ  ์‹œ์Šคํ…œ ์Šคํƒ์„ ์‚ฌ์šฉํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค ์Šค์œ„์น˜๋Š” ๋ณดํ†ต ๋ฌธ๋งฅ๊ตํ™˜์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฒƒ์ด๋ฉฐ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉˆ์ถ”๊ณ  ์ƒˆ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ

 

๋ฐ˜์‘ํ˜•
Comments