๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Programming/์ทจ์—…์ค€๋น„&CS Study

[CS ์Šคํ„ฐ๋”” #02] ์šด์˜์ฒด์ œ(OS)-ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ, CPU ์Šค์ผ€์ฅด๋ง

 

 

 

๐Ÿ’ป ์šด์˜์ฒด์ œ: Operating System

 

 

โ—ป๏ธ ๋ฉ”๋ชจ๋ฆฌ

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

 

 

 

 

๐Ÿ’™ ๐Ÿ’™ ๐Ÿ’™

 

 

โ—ป๏ธ  ํ”„๋กœ์„ธ์Šค

 โœ”๏ธ ์ •์˜: ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ.

 โœ”๏ธ ํŠน์ง•: ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ํ• ๋‹น ๋ฐ›๋Š”๋‹ค. / ํ”„๋กœ์„ธ์Šค๋“ค์€ ๋…๋ฆฝ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด IPC๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. / ํ”„๋กœ์„ธ์Šค๋Š” ์ตœ์†Œ 1๊ฐœ ์ด์ƒ์˜ ์Šค๋ ˆ๋“œ(๋ฉ”์ธ ์Šค๋ ˆ๋“œ)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค./ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐˆ ๋•Œ ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ์‹œ์Šคํ…œ ์ž์›์„ ํ• ๋‹น๋ฐ›๊ฒŒ ๋˜๋Š”๋ฐ, ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ๊ฐ๊ฐ ๋…๋ฆฝ๋œ ์˜์—ญ, Code/Data/Stack/Heap์˜ ํ˜•์‹์œผ๋กœ ํ• ๋‹นํ•ด์ค€๋‹ค.

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

 โœ”๏ธ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ”„๋กœ์„ธ์Šค์˜ ์ฐจ์ด

  • ํ”„๋กœ๊ทธ๋žจ: ์ปดํŒŒ์ผ ์ฝ”๋“œ, ์ „์—ญ๋ณ€์ˆ˜, ๋ฌธ์ž์—ด, ๋ฌธ์ž์—ด ์ƒ์ˆ˜ ๋“ฑ์˜ ์ •์  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง„ ์ •์ ์ธ ๊ฐ์ฒด
  • ํ”„๋กœ์„ธ์Šค: ์Šคํƒ, ํž™ ๋ฐ์ดํ„ฐ์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ, ๋ ˆ์ง€์Šคํ„ฐ์ฒ˜๋Ÿผ ํ˜„์žฌ ๊ด€๋ฆฌํ•˜๋Š” ์ž์› ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ๋™์ ์ธ ๊ฐ์ฒด

 โœ”๏ธ ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก(PCB)

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

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

 

 

โ—ป๏ธ ์Šค๋ ˆ๋“œ

โœ”๏ธ ์ •์˜: ํ”„๋กœ๋ ˆ์Šค ๋‚ด์—์„œ ํ• ๋‹น๋ฐ›์€ ์ž์›์„ ์ด์šฉํ•ด ๋™์ž‘ํ•˜๋Š” ์‹คํ–‰ ๋‹จ์œ„

โœ”๏ธ ํŠน์ง•: ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ Stack๋งŒ ๋”ฐ๋กœ ํ• ๋‹น ๋ฐ›๊ณ , Code/Data/Heap ์˜์—ญ์€ ๊ณต์œ ํ•œ๋‹ค. Stack์—๋Š” ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ ์ •๋ณด๊ฐ€ ์ €์žฅ๋˜๋Š”๋ฐ, ์Šคํƒ์„ ๊ณต์œ ํ•˜๊ฒŒ ๋˜๋ฉด LIFO๊ตฌ์กฐ์— ์˜ํ•ด ์‹คํ–‰ ์ˆœ์„œ๊ฐ€ ๋ณต์žกํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰ ํ๋ฆ„์„ ์›ํ™œํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ Stack๋งŒ ๋”ฐ๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค. ๋”ฐ๋ผ์„œ Stack์„ ๋ถ„๋ฆฌํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋…๋ฆฝ์ ์ธ ํ•จ์ˆ˜ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์ด๊ณ , ์ด๋Š” ๋…๋ฆฝ์ ์ธ ์‹คํ–‰ํ๋ฆ„์ด ์ถ”๊ฐ€๋˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์Šค๋ ˆ๋“œ์˜ ์ •์˜์— ๋”ฐ๋ผ ๋…๋ฆฝ์ ์ธ ์‹คํ–‰ํ๋ฆ„์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์†Œ์กฐ๊ฑด์œผ๋กœ ๋…๋ฆฝ๋œ ์Šคํƒ์„ ํ• ๋‹นํ•œ๋‹ค./ ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ž์›์„ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์— ์˜ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ฆ‰์‹œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. / ํ”„๋กœ์„ธ์Šค ๋‚ด์— ์กด์žฌํ•˜๋ฉฐ, ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋ฐ›์€ ์ž์›์„ ์ด์šฉํ•˜์—ฌ ์‹คํ–‰๋œ๋‹ค. 

 

 

 

 

 

๐Ÿ’™ ๐Ÿ’™ ๐Ÿ’™

 

 

โ—ป๏ธ Context Switching ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ

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

 

 

โ—ป๏ธ  ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค

  โœ”๏ธ ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค: ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ 1๊ฐœ์˜ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ.

  โœ”๏ธ ํŠน์ง•: 1๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฃฝ์–ด๋„ ์ž์‹ ํ”„๋กœ์„ธ์Šค ์ด์™ธ์˜ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋“ค์€ ๊ณ„์† ์‹คํ–‰๋œ๋‹ค. (์žฅ์ )/ Context Switching์„ ์œ„ํ•œ ์˜ค๋ฒ„ํ—ค๋“œ(์บ์‹œ ์ดˆ๊ธฐํ™”, ์ธํ„ฐ๋ŸฝํŠธ ๋“ฑ)๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค./ ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ๊ฐ ๋…๋ฆฝ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น๋ฐ›์•˜๊ธฐ ๋•Œ๋ฌธ์— ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ต๋‹ค./ ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„๊ณผ CPU ์‹œ๊ฐ„์„ ์ฐจ์ง€ํ•œ๋‹ค.

 

 

โ—ป๏ธ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ

โœ”๏ธ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ: ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ๊ฐ ์Šค๋ ˆ๋“œ๊ฐ€ 1๊ฐœ์˜ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ.

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

 

 

 

 

 

๐Ÿ’™ ๐Ÿ’™ ๐Ÿ’™

 

 

โ—ป๏ธ  DeadLock ๊ต์ฐฉ์ƒํƒœ

   ํ•œ์ •๋œ ์ž์›์„ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์œผ๋กœ, ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์›์„ ์–ป๊ธฐ ์œ„ํ•ด ์˜๊ตฌ์ ์œผ๋กœ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ๋ฅผ ๋œปํ•œ๋‹ค. ์ž์› A๋ฅผ ๊ฐ€์ง„ ํ”„๋กœ์„ธ์Šค P1๊ณผ ์ž์› B๋ฅผ ๊ฐ€์ง„ ํ”„๋กœ์„ธ์Šค P2๊ฐ€ ์žˆ์„ ๋•Œ, P1์€ B๋ฅผ, P2๋Š” A๋ฅผ ํ•„์š”๋กœ ํ•œ๋‹ค๋ฉด ๋‘ ํ”„๋กœ์„ธ์Šค๋Š” ์„œ๋กœ ์ž์›์„ ์–ป๊ธฐ ์œ„ํ•ด ๋ฌดํ•œ์ • ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋œ๋‹ค.

 

  โœ”๏ธ ์กฐ๊ฑด

  1. ์ƒํ˜ธ๋ฐฐ์ œ: ํ•œ ์ž์›์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ์˜ ๋™์‹œ ์ ‘๊ทผ ๋ถˆ๊ฐ€
  2. ์ ์œ ์™€ ๋Œ€๊ธฐ: ์ž์›์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ƒํƒœ์—์„œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์ž์›์˜ ๋ฐ˜๋‚ฉ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ.
  3. ๋น„์„ ์ : ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ์˜ ์ž์›์„ ๊ฐ•์ œ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†๋Š” ๊ฒƒ.
  4. ์ˆœํ™˜ ๋Œ€๊ธฐ: ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆœํ™˜์ ์œผ๋กœ ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์š”๊ตฌํ•˜๋Š” ์ž์›์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ

  โœ”๏ธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

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

 

 

 

๐Ÿ’™ ๐Ÿ’™ ๐Ÿ’™

 

 

โ—ป๏ธ  CPU ์Šค์ผ€์ค„๋ง

โœ”๏ธ ์Šค์ผ€์ค„๋ง(Scheduling)

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

โœ”๏ธ ์„ ์  ์Šค์ผ€์ค„๋ง

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

  • ์ฃผ๋กœ ๋น ๋ฅธ ์‘๋‹ต์‹œ๊ฐ„์„ ์š”๊ตฌํ•˜๋Š” ๋Œ€ํ™”์‹ ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ์— ์‚ฌ์šฉ๋œ๋‹ค.
  • ์žฅ์ : ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋‹จ์ : ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ๊ธธ ๋•Œ๋งˆ๋‹ค ๊ณ„์† ๋ฌธ๋งฅ๊ตํ™˜์ด ์ผ์–ด๋‚˜๋ฏ€๋กœ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฌ๋‹ค.
  1.  ๋ผ์šด๋“œ๋กœ๋นˆ: FCFS๋ฅผ ์„ ์  ํ˜•ํƒœ๋กœ ๋ณ€ํ˜•ํ•œ ๊ธฐ๋ฒ•. ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋Š” ๋™์ผํ•œ ํ• ๋‹น์‹œ๊ฐ„์„ ๊ฐ€์ง€๋ฉฐ, ํ• ๋‹น ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ํ”„๋กœ์„ธ์Šค๋Š” ์„ ์ ๋˜๊ณ  ์ค€๋น„ ํ์˜ ๋งจ๋’ค๋กœ ๋‹ค์‹œ ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค. ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ตœ์ดˆ ์‘๋‹ต์‹œ๊ฐ„์„ ๋น ๋ฅด๊ฒŒ ๋ณด์žฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ์„ค์ •ํ•œ ํ• ๋‹น ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์ปค์ง€๋ฉด ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด ๊ธด ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด CPU์˜ ํšจ์œจ์„ฑ์ด ๋–จ์–ด์ง€๊ฒŒ ๋˜๊ณ , ํ• ๋‹น ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์ž‘์•„์ง€๋ฉด ์žฆ์€ ๋ฌธ๋งฅ๊ตํ™˜์œผ๋กœ ์ธํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
  2.  SRT: SJF๋ฅผ ์„ ์  ํ˜•ํƒœ๋กœ ๋ณ€ํ˜•ํ•œ ๊ธฐ๋ฒ•. ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ ๋‚จ์€ ์‹œ๊ฐ„๊ณผ ์ค€๋น„์ƒํƒœ ํ์— ์ƒˆ๋กœ ๋„์ฐฉํ•œ ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰์‹œ๊ฐ„์„ ๋น„๊ตํ•˜์—ฌ ๊ฐ€์žฅ ์งง์€ ์‹คํ–‰์‹œ๊ฐ„์„ ์š”๊ตฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์— CPU๋ฅผ ํ• ๋‹น.
  3.  ์„ ์  ์šฐ์„ ์ˆœ์œ„
  4.  ๋‹ค๋‹จ๊ณ„ ํ
  5. ๋‹ค๋‹จ๊ณ„ ํ”ผ๋“œ๋ฐฑ ํ

โœ”๏ธ ๋น„์„ ์  ์Šค์ผ€์ค„๋ง

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

  • ์ผ๊ด„์ฒ˜๋ฆฌ ๋ฐฉ์‹์— ์ ํ•ฉํ•˜๋‹ค.
  • ์žฅ์ : ํ”„๋กœ์„ธ์Šค ์‘๋‹ต์‹œ๊ฐ„์„ ์˜ˆ์ธกํ•˜๊ธฐ ์‰ฝ๋‹ค.
  • ๋‹จ์ : ์ค‘์š”ํ•œ ์ž‘์—…์ด ์ค‘์š”ํ•˜์ง€ ์•Š์€ ์ž‘์—…์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.
  1.  FCFS: ๋จผ์ € CPU๋ฅผ ์š”์ฒญํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๋จผ์ € ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹
  2.  SJF: ์‹คํ–‰์‹œ๊ฐ„์ด ์งง์€ ํ”„๋กœ์„ธ์Šค์— ๋จผ์ € CPU๋ฅผ ํ• ๋‹น
  3.  ์šฐ์„ ์ˆœ์œ„: 
  4.  HRN: ์‹คํ–‰์‹œ๊ฐ„์ด ๊ธด ํ”„๋กœ์„ธ์Šค์— ๋ถˆ๋ฆฌํ•œ SJF ๊ธฐ๋ฒ•์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•จ. ๋Œ€๊ธฐ ์‹œ๊ฐ„๊ณผ ์‹คํ–‰์‹œ๊ฐ„์„ ์ด์šฉํ•จ.
  5.  ๊ธฐํ•œ๋ถ€

 

 

 

๐Ÿ’™ ๐Ÿ’™ ๐Ÿ’™

 

 

๐Ÿ“ CS ์งˆ๋ฌธ ์ •๋ฆฌ

 1. ์šด์˜์ฒด์ œ๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

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

 2. ์šด์˜์ฒด์ œ์˜ ์ฃผ์š” ๋ชฉ์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

 ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๊ณ„์‚ฐํ™œ๋™์„ ๊ด€๋ฆฌํ•˜์—ฌ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋„๋ก ํ•œ๋‹ค.

 ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๋ฐ ์‹คํ–‰์„ ์œ„ํ•œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค.

 3. ํ”„๋กœ์„ธ์Šค๋ž€ ๋ฌด์—‡์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ?

 ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ. 

 4. ํ”„๋กœ์„ธ์Šค์˜ ํŠน์ง•์„ ์„ค๋ช…ํ•˜์„ธ์š”.

์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ํ• ๋‹น๋ฐ›์œผ๋ฉฐ, ๋…๋ฆฝ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์„ธ์Šค๊ฐ„ ํ†ต์‹ ์„ ์œ„ํ•ด์„œ๋Š” IPC๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๋Š” ์ตœ์†Œ ํ•œ ๊ฐœ ์ด์ƒ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐˆ ๋•Œ๋งˆ๋‹ค ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ์‹œ์Šคํ…œ ์ž์›์„ ํ• ๋‹น๋ฐ›๊ฒŒ ๋˜๋Š”๋ฐ, ๊ฐ๊ฐ ๋…๋ฆฝ๋œ ์˜์—ญ์œผ๋กœ Code/Stack/Data/Heap ํ˜•์‹์œผ๋กœ ํ• ๋‹น๋ฐ›์Šต๋‹ˆ๋‹ค.

 5. ์Šค๋ ˆ๋“œ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊ฐ€?

 ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ํ• ๋‹น๋ฐ›์€ ์ž์›์„ ์ด์šฉํ•ด ๋™์ž‘ํ•˜๋Š” ์‹คํ–‰ ๋‹จ์œ„.

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

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

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

 8. ์Šค๋ ˆ๋“œ์˜ ์žฅ์ ์ด๋ž€?

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

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

 9. ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์€?

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

 10. ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค ๋Œ€์‹  ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€.

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

 ์ฒ˜๋ฆฌ๋น„์šฉ ๊ฐ์†Œ ๋ฐ ์‘๋‹ต์‹œ๊ฐ„ ๋‹จ์ถ•์˜ ์žฅ์ ๋„ ์žˆ๋‹ค. ์ž์›๊ณต์œ ๋กœ ์ธํ•ด ์Šค๋ ˆ๋“œ๊ฐ„ ํ†ต์‹  ๋น„์šฉ์ด ๋” ์ ๊ฒŒ ๋“ค๊ณ , ๋˜ context switching์‹œ์— ์Šค๋ ˆ๋“œ๋Š” ์Šคํƒ์˜์—ญ๋งŒ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ „ํ™˜ ์†๋„๊ฐ€ ํ”„๋กœ์„ธ์Šค๋ณด๋‹ค ๋” ๋น ๋ฅด๋‹ค.

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

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

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

 12. ๊ต์ฐฉ์ƒํƒœ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

  ํ•œ์ •๋œ ์ž์›์„ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์œผ๋กœ, ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์›์„ ์–ป๊ธฐ ์œ„ํ•ด ์˜๊ตฌ์ ์œผ๋กœ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ๋ฅผ ๋œปํ•œ๋‹ค. ์ž์› A๋ฅผ ๊ฐ€์ง„ ํ”„๋กœ์„ธ์Šค P1๊ณผ ์ž์› B๋ฅผ ๊ฐ€์ง„ ํ”„๋กœ์„ธ์Šค P2๊ฐ€ ์žˆ์„ ๋•Œ, P1์€ B๋ฅผ, P2๋Š” A๋ฅผ ํ•„์š”๋กœ ํ•œ๋‹ค๋ฉด ๋‘ ํ”„๋กœ์„ธ์Šค๋Š” ์„œ๋กœ ์ž์›์„ ์–ป๊ธฐ ์œ„ํ•ด ๋ฌดํ•œ์ • ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋œ๋‹ค.

 13. ๊ต์ฐฉ์ƒํƒœ์˜ 4๊ฐ€์ง€ ํ•„์š” ์กฐ๊ฑด์€?

 ์ƒํ˜ธ๋ฐฐ์ฒด, ์ ์œ ์™€ ๋Œ€๊ธฐ, ๋น„์„ ์ , ํ™˜ํ˜•๋Œ€๊ธฐ

 14. ๊ต์ฐฉ์ƒํƒœ์˜ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์€?

 ์˜ˆ๋ฐฉ, ํšŒํ”ผ, ํšŒ๋ณต, ๋ฌด์‹œ

 15. ์Šค์ผ€์ค„๋ง์ด๋ž€?

 ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์‹คํ–‰๋  ๋•Œ, ์ž‘์—…์— ํ•„์š”ํ•œ ์‹œ์Šคํ…œ์˜ ์—ฌ๋Ÿฌ ์ž์›์„ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹นํ•˜๋Š” ๋ฐฉ๋ฒ•

 16. cpu ์Šค์ผ€์ค„๋ง์ด๋ž€?

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

 17. cpu ์Šค์ผ€์ค„๋ง์€ ์–ธ์ œ ๋ฐœ์ƒํ•˜๋Š”๊ฐ€?

 ์‹คํ–‰์ƒํƒœ์—์„œ ๋Œ€๊ธฐ์ƒํƒœ๋กœ ์ „ํ™˜๋  ๋•Œ(์ž…์ถœ๋ ฅ ์š”์ฒญ)

 ์‹คํ–‰์ƒํƒœ์—์„œ ์ค€๋น„์ƒํƒœ๋กœ ์ „ํ™˜๋  ๋•Œ(์ธํ„ฐ๋ŸฝํŠธ ๋ฐœ์ƒ)

 ๋Œ€๊ธฐ์ƒํƒœ์—์„œ ์ค€๋น„์ƒํƒœ๋กœ ์ „ํ™˜๋  ๋•Œ(์ž…์ถœ๋ ฅ ์ข…๋ฃŒ)

 ์ข…๋ฃŒ๋  ๋•Œ

 18. cpu ์Šค์ผ€์ค„๋ง์˜ ์ข…๋ฅ˜๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.

 ๋น„์„ ์  ์Šค์ผ€์ค„๋ง/ ์„ ์  ์Šค์ผ€์ค„๋ง

 19. ๋ฌธ๋งฅ๊ตํ™˜์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

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

 20. ๊ธฐ์•„ํ˜„์ƒ์„ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€?

 21. ํ”„๋กœ์„ธ์Šค๊ฐ„ ํ†ต์‹  ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด ์žˆ๋Š”์ง€ ์ข€ ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๋ผ.

 22. PCB๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

 23. ์Šค๋ ˆ๋“œ ์„ธ์ดํ”„๋ž€?

 

 

 

 

 

 

 

 

 

 

 

 

๐Ÿ’Ž ๐Ÿ’Ž ๐Ÿ’Ž

 

 

๏ผฐ๏ฝ๏ฝ“๏ฝ”๏ฝ…๏ฝ„ ๏ผข๏ฝ™ ๏ผณ๏ผก๏ผน

๐˜›๐˜ฉ๐˜ข๐˜ฏ๐˜ฌ๐˜ด ๐˜ง๐˜ฐ๐˜ณ ๐˜ณ๐˜ฆ๐˜ข๐˜ฅ๐˜ช๐˜ฏ๐˜จ