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

ํ•™์Šต ๊ธฐ๋ก (Learning Logs)/Today I Learned

๐Ÿ“˜ 16. ์ฃผ์†Œ ๊ณต๊ฐ„

๐Ÿงฑ 1. ์ดˆ๊ธฐ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ

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

โš™๏ธ 2. ๋ฉ€ํ‹ฐํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ์‹œ๋ถ„ํ• 

๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  • ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฒˆ๊ฐˆ์•„ ์‹คํ–‰ํ•ด CPU ํ™œ์šฉ๋„ ์ฆ๊ฐ€
  • ์ปดํ“จํ„ฐ๊ฐ€ ๋น„์‹ธ๋‹ค ๋ณด๋‹ˆ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๊ณต์œ  ํ•„์š” → ๋ฉ€ํ‹ฐํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋“ฑ์žฅ.
  • I/O ์ž‘์—… ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ๋Œ€์‹  ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ → CPU ํ™œ์šฉ๋„ ์ฆ๊ฐ€.
  • ์ดํ›„ ์‹œ๋ถ„ํ• (time-sharing) ๊ฐœ๋… ๋“ฑ์žฅ

 

์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ

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

โžค ํ•ด๊ฒฐ์ฑ…: ๋ฉ”๋ชจ๋ฆฌ์— ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์‹œ์— ์œ ์ง€ -> ๋น ๋ฅด๊ฒŒ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ. + ๋ณดํ˜ธ ํ•„์š”

 


๐Ÿง  3. ์ฃผ์†Œ ๊ณต๊ฐ„์˜ ๋„์ž…

  • ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ์œผ๋ฉด ์„œ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•  ์œ„ํ—˜ ๋ฐœ์ƒ.
  • ํ•ด๊ฒฐ์ฑ…: ์ฃผ์†Œ ๊ณต๊ฐ„(Address Space) ๊ฐœ๋… ๋„์ž….
  • ๋ณดํ˜ธ(protection)๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ ์˜ค์—ผ์„ ๋ฐฉ์ง€ํ•จ.

๐Ÿ“Œ ์ฃผ์†Œ ๊ณต๊ฐ„์ด๋ž€?

์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์ด ์ž์‹ ๋งŒ์˜ ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋„๋ก ๋งŒ๋“  ํ™˜์ƒ
(์‹ค์ œ๋กœ๋Š” ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜์ง€๋งŒ OS๊ฐ€ ๋ณดํ˜ธ์™€ ๊ฐ€์ƒํ™”๋กœ ๋ถ„๋ฆฌ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•จ)

 

๐Ÿ“Œ ๋ณดํ˜ธ?

ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•จ

๐Ÿ“ฆ 4. ์ฃผ์†Œ ๊ณต๊ฐ„์˜ ๊ตฌ์„ฑ ์š”์†Œ

ํ”„๋กœ์„ธ์Šค๋Š” ์ด๋Ÿฌํ•œ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ์˜ ๋ฉ”๋ชจ๋ฆฌ -> ์šด์˜์ฒด์ œ๊ฐ€ ์ด๋ฅผ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ๋งคํ•‘

  • Code ์˜์—ญ: ํ”„๋กœ๊ทธ๋žจ์˜ ๋ช…๋ น์–ด (๋ณดํ†ต read-only)
  • Heap ์˜์—ญ: ๋™์  ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ (์•„๋ž˜์—์„œ ์œ„๋กœ) (malloc, new ๋“ฑ)
  • Stack ์˜์—ญ: ํ•จ์ˆ˜ ํ˜ธ์ถœ, ์ง€์—ญ ๋ณ€์ˆ˜ ์ €์žฅ (์œ„์—์„œ ์•„๋ž˜๋กœ)
  • (์ถ”๊ฐ€๋กœ ๋ฐ์ดํ„ฐ ์˜์—ญ, BSS ๋“ฑ๋„ ์žˆ์Œ)

๐Ÿง  ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ(VM)์˜ 3๋Œ€ ๋ชฉํ‘œ

 

โœ… 1. ํˆฌ๋ช…์„ฑ (Transparency)

โ ํ”„๋กœ๊ทธ๋žจ์€ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ์กด์žฌ๋ฅผ ๋ˆˆ์น˜์ฑ„์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค โž

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

๐Ÿ“ฆ ๋น„์œ : ๋ฌด๋Œ€ ์œ„ ๋ฐฐ์šฐ๋Š” ํ˜ผ์ž ์—ฐ๊ธฐํ•˜๊ณ  ์žˆ์ง€๋งŒ,
๋ฌด๋Œ€ ๋’ค ์Šคํƒœํ”„๋“ค์ด ์กฐ๋ช…, ์Œํ–ฅ, ์†Œํ’ˆ์„ ๋ฐ”๊ฟ”๊ฐ€๋ฉฐ ๋งค๋„๋Ÿฝ๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์•„์š”.

 

 

 

โœ… 2. ํšจ์œจ์„ฑ (Efficiency)

โ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์“ฐ๋”๋ผ๋„ ํ”„๋กœ๊ทธ๋žจ์€ ๋А๋ฆฌ์ง€ ์•Š์•„์•ผ ํ•˜๊ณ , ๊ณต๊ฐ„ ๋‚ญ๋น„๋„ ์—†์–ด์•ผ ํ•œ๋‹ค โž

  • ์„ฑ๋Šฅ ์ €ํ•˜ ์—†์ด ๋น ๋ฅด๊ฒŒ ๋™์ž‘ํ•ด์•ผ ํ•จ (์‹œ๊ฐ„ ํšจ์œจ)
  • ๊ฐ€์ƒํ™” ๊ธฐ๋Šฅ์„ ์œ„ํ•œ ์ถ”๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋„ ์ตœ์†Œํ™”ํ•ด์•ผ ํ•จ (๊ณต๊ฐ„ ํšจ์œจ)
  • ์ด๋ฅผ ์œ„ํ•ด ์šด์˜์ฒด์ œ๋Š” TLB ๊ฐ™์€ ํ•˜๋“œ์›จ์–ด ์žฅ์น˜์˜ ๋„์›€์„ ๋ฐ›์•„์•ผ ํ•จ

๐Ÿง  ์˜ˆ:

  • TLB = ์ฃผ์†Œ ๋ณ€ํ™˜ ์บ์‹œ
  • TLB ๋•๋ถ„์— ์ฃผ์†Œ ๋ณ€ํ™˜๋„ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ!

 

โœ… 3. ๋ณดํ˜ธ (Protection)

โ ๊ฐ ํ”„๋กœ๊ทธ๋žจ์€ ์„œ๋กœ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฑด๋“œ๋ฆด ์ˆ˜ ์—†์–ด์•ผ ํ•œ๋‹ค โž

  • A ํ”„๋กœ๊ทธ๋žจ์ด B ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณผ ์ˆ˜๋„, ๋ฐ”๊ฟ€ ์ˆ˜๋„ ์—†๋„๋ก ํ•ด์•ผ ํ•จ
  • ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์ด ์šด์˜์ฒด์ œ์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•ด์•ผ ํ•จ
  • ์ฆ‰, ํ”„๋กœ๊ทธ๋žจ๋งˆ๋‹ค "์ž๊ธฐ๋งŒ์˜ ์•ˆ์ „ ๊ตฌ์—ญ" ์•ˆ์—์„œ ์‹คํ–‰๋˜์–ด์•ผ ํ•จ

๐Ÿ”’ ์ด ๋ณดํ˜ธ ๊ธฐ๋Šฅ ๋•๋ถ„์— ํ”„๋กœ๊ทธ๋žจ์€:

  • ๊ณ ๋ฆฝ(Isolation) ๋˜๊ณ 
  • ์•…์„ฑ ์ฝ”๋“œ๋‚˜ ์˜ค๋ฅ˜๋กœ๋ถ€ํ„ฐ ์•ˆ์ „ํ•ด์ ธ์š”