Search
๐Ÿ’ฟ

08 : Segmentation

course
last review
2023/04/13
mastery
rookie
progress
pending
date
4 more properties
Previous chapter
๋ฒ ์ด์Šค & ๋ฐ”์šด๋“œ ๋ฐฉ์‹์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์œผ๋กœ ์‰ฝ๊ฒŒ ์žฌ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
๊ทธ๋Ÿฐ๋ฐ ํšจ์œจ์„ฑ ์ธก๋ฉด์—์„œ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•จ์ •์— ๋น ์ง€๊ฒŒ ๋œ๋‹ค.
ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ ํž™๊ณผ ์Šคํƒ ์‚ฌ์ด์˜ ๊ฑฐ๋Œ€ํ•œ free๋ฉ”๋ชจ๋ฆฌ์˜ ๊ณจ์งœ๊ธฐ๊ฐ€ ํ˜•์„ฑ๋˜์–ด์žˆ๋‹ค.
์ด ๊ณต๊ฐ„์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š๋”๋ผ๋„ ์ด Address Space๋Š” ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ์žฌ๋ฐฐ์น˜ํ•  ๋•Œ ๊ฐ™์ด ํ• ๋‹น๋œ๋‹ค.
์ด๋Ÿฐ ์ ์—์„œ ๋ฒ ์ด์Šค&๋ฐ”์šด๋“œ ๋ฐฉ์‹์€ ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•˜๋‹ค.
๋˜ํ•œ ์ฃผ์†Œ๊ณต๊ฐ„์ด ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ ์‹คํ–‰์ด ๋งค์šฐ ์–ด๋ ต๋‹ค.
์ฆ‰, ๋ฒ ์ด์Šค ๋ฐ”์šด๋“œ๋Š” ์œ ์—ฐ์„ฑ์ด ์—†๋‹ค.

Main Quest : How to support Large Address space

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

Segmentation : Normalize Base/Bounds

ํ•ต์‹ฌ : ํ”„๋กœ์„ธ์Šค๋ณ„ B&B๋ฅผ ์„ธ๊ทธ๋จผํŠธ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์ž!
์•„์ด๋””์–ด๋Š” ๊ฐ„๋‹จํ•˜๋‹ค.
MMU์— ํ•˜๋‚˜์˜ ๋ฒ ์ด์Šค์™€ ๋ฐ”์šด๋“œ๊ฐ’์ด ์กด์žฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์„ธ๊ทธ๋จผํŠธ๋ณ„ ๋ฒ ์ด์Šค์™€ ๋ฐ”์šด๋“œ๊ฐ’์„ ํ• ๋‹นํ•œ๋‹ค.
์šฐ๋ฆฌ๊ฐ€ ๊ตฌ์„ฑํ•œ ์„ธ๊ทธ๋จผํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์•˜๋‹ค.
โ€ข
์ฝ”๋“œ
โ€ข
ํž™
โ€ข
์Šคํƒ
์ฆ‰, ๋ฒ ์ด์Šค์™€ ๋ฐ”์šด๋“œ ๋ ˆ์ง€์Šคํ„ฐ 3์Œ์ด ํ•„์š”ํ•˜๋‹ค.
64KB์˜ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— 3๊ฐœ์˜ ์„ธ๊ทธ๋ฉ˜ํŠธ์™€ ์šด์˜์ฒด์ œ์šฉ์œผ๋กœ ์˜ˆ์•ฝ๋œ 16KB ์˜์—ญ์ด ์กด์žฌํ•œ๋‹ค.
์‚ฌ์šฉ์ค‘์ธ ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•ด์„œ๋งŒ ๋ฌผ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜์—ฌ, ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ์˜์—ญ์ด ๋งŽ์€ ๋Œ€ํ˜• ์ฃผ์†Œ๊ณต๊ฐ„์„ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ด๋‹ค.
โ€ข
์ฝ”๋“œ ์„ธ๊ทธ๋จผํŠธ๋Š” ๋ฌผ๋ฆฌ์ฃผ์†Œ 32KB์— 2KB์งœ๋ฆฌ๋กœ ๋ฐฐ์น˜๋˜๊ณ , ํž™ ์„ธ๊ทธ๋จผํŠธ๋Š” 34KB์— 3KB์งœ๋ฆฌ๋กœ ๋ฐฐ์น˜๋œ๋‹ค.
์„ธ๊ทธ๋จผํŠธ์˜ ์‚ฌ์ด์ฆˆ๋Š” ๋ฐ”์šด๋“œ ๋ ˆ์ง€์Šคํ„ฐ์™€ ์ผ์น˜ํ•œ๋‹ค. ์ด ์„ธ๊ทธ๋จผํŠธ์— ๋ช‡ ๋ฐ”์ดํŠธ๊ฐ€ ์œ ํšจํ•œ์ง€ ํ•˜๋“œ์›จ์–ด์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค.

Examples

๊ฐ€์ƒ ์ฃผ์†Œ 100๋ฒˆ์ง€์˜ ๋ฌผ๋ฆฌ์ฃผ์†Œ
โ€ข
100๋ฒˆ์ง€๋Š” ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์˜ ์˜์—ญ์ด๋‹ค. ์ฝ”๋“œ์˜ ๋ฒ ์ด์Šค ๋ ˆ์ง€์Šคํ„ฐ๋Š” 32KB์ด๋ฏ€๋กœ, ๋ฌผ๋ฆฌ์ฃผ์†Œ๋Š” 32KB + 100 = 32868์ด ๋œ๋‹ค.
โ—ฆ
๊ทธ ํ›„, ์ฃผ์†Œ๊ฐ€ ๋ฒ”์œ„ ๋‚ด์— ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๊ณ , ๋ฒ”์œ„ ๋‚ด์— ์žˆ์„ ๊ฒฝ์šฐ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ 32868์„ Read.
๊ฐ€์ƒ์ˆ˜์กฐ 4200๋ฒˆ์ง€์˜ ๋ฌผ๋ฆฌ์ฃผ์†Œ.
โ€ข
4200์€ ํž™์ด๋‹ค. ์ฝ”๋“œ์˜ ๋ฒ ์ด์Šค ๋ ˆ์ง€์Šคํ„ฐ๋Š” 34KB์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ VM ๋‚ด๋ถ€์˜ ํž™์˜ ์ฃผ์†Œ๋Š” 4200๋ฒˆ์ด ๋งž์œผ๋‚˜, ์„ธ๊ทธ๋จผํŠธ์˜ ๊ด€์ ์œผ๋กœ ๋ฐ”๋ผ๋ด์•ผํ•œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ง„์งœ ์ž…๋ ฅํ•ด์•ผํ•˜๋Š” ์ฃผ์†Œ๋Š” VM์ฃผ์†Œ - VM์˜ ํž™์˜ ๋ฒ ์ด์Šค = 4200 - 4KB = 104์ด๋‹ค.
โ€ข
์ฆ‰, 34KB+104 = 34920์ด ๋œ๋‹ค.

Types of Segments

ํ•˜๋“œ์›จ์–ด๋Š” ๋ณ€ํ™˜์„ ์œ„ํ•ด ์„ธ๊ทธ๋จผํŠธ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ€์ƒ ์ฃผ์†Œ๊ฐ€ ์–ด๋Š ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ฐธ์กฐํ•˜๋Š”๊ฐ€? ๊ทธ ์„ธ๊ทธ๋จผํŠธ ์•ˆ์—์„œ ์˜คํ”„์…‹์€ ์–ผ๋งˆ์ธ๊ฐ€?
์—ฌ๊ธฐ์—์„œ ์†Œ๊ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ตœ์ƒ์œ„ ๋น„ํŠธ ๋ช‡๊ฐœ๋ฅผ ์„ธ๊ทธ๋จผํŠธ ์ข…๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š”๋ฐ ์‚ฌ์šฉํ–ˆ๋‹ค.
์ตœ์ƒ์œ„ ๋น„ํŠธ๊ฐ€ 00์ด๋ฉด ์ฝ”๋“œ, 01์ด๋ฉด ํž™, 02๋ฉด ์Šคํƒ์ด ๋  ๊ฒƒ์ด๋ฉฐ
๋‚˜๋จธ์ง€ 0~11๋น„ํŠธ๊นŒ์ง€๋Š” ๊ทธ ์„ธ๊ทธ๋จผํŠธ ์•ˆ์˜ ์˜คํ”„์…‹์ด ๋œ๋‹ค.
ํž™์„ ๊ตฌํ• ๋•Œ์ฒ˜๋Ÿผ VM - Segment bound๋ฅผ ํ•  ํ•„์š”๊ฐ€ ์—†์–ด์ง€๋Š” ์ด์•ผ๊ธฐ๋‹ค.
์ด๋Š” ๋ฐ”์šด๋“œ ๊ฒ€์‚ฌ์—๋„ ์šฉ์ดํ•ด ๋ฐ”์šด๋“œ์—์„œ Offset์„ ๋นผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๋„๋ก ๋ฐ”๋€๋‹ค.
Segment = (VirtualAddress & SEG_MASK) >> SEG_SHIFT //14 bit VA์ค‘ ์ƒ์œ„ 2bit ์ถ”์ถœ Offset = VirtualAddress & OFFSET_MASK //์˜คํ”„์…‹ ์ถ”์ถœ if(Offset >= Bounds[Segment]) RaiseException(PROTECTION_FAULT) else PhysAddr = Base[Segment] + Offset Register = AccessMemory(PhysAddr)
Assembly
๋ณต์‚ฌ
์—ฌ๊ธฐ์—๋Š” ๋ช‡๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.
1.
11์— ํ•ด๋‹นํ•˜๋Š” ๋ธ”๋ก์€ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•œ๋‹ค.
a.
๋”ฐ๋ผ์„œ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋Š” ํž™๊ณผ ์Šคํƒ์„ ํ•ฉ์ณ 1๋น„ํŠธ๋กœ ๋‚˜ํƒ€๋‚ด๊ธฐ๋„ ํ•œ๋‹ค.
2.
์„ธ๊ทธ๋จผํŠธ์˜ ํฌ๊ธฐ๋Š” ์—ฌ์ „ํžˆ ์ •์ ์ด๋‹ค.
a.
์„ธ๊ทธ๋จผํŠธ์˜ ์ตœ๋Œ€ ์˜คํ”„์…‹์€ 12bit์ด๋ฏ€๋กœ, ์ด ์ด์ƒ ํž™์ด๋‚˜ ์Šคํƒ์„ ํ• ๋‹นํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค.

Stack

์Šคํƒ์€ ๋‹ค๋ฅธ ์„ธ๊ทธ๋จผํŠธ์™€๋Š” ๊ฒฐ์ •์ ์ธ ์ฐจ์ด์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ ๋ฐ”๋กœ ์—ญ๋ฐฉํ–ฅ์ด๋ผ๋Š” ์ ์ด๋‹ค.
๋ฌผ๋ฆฌ๋ฉ”๋ชจ๋ฆฌ 28KB์—์„œ ์‹œ์ž‘ํ•ด์„œ, 26KB๊นŒ์ง€ ํ™•์žฅ๋œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋‹ค๋ฅธ ๋ฐฉ์‹์˜ ๋ณ€ํ™˜์ด ํ•„์š”ํ•˜๋‹ค.
1.
๊ฐ„๋‹จํ•œ ํ•˜๋“œ์›จ์–ด๊ฐ€ ์ถ”๊ฐ€๋กœ ํ•„์š”ํ•˜๋‹ค.
a.
์„ธ๊ทธ๋จผํŠธ๊ฐ€ ์–ด๋Š ๋ฐฉํ–ฅ์œผ๋กœ ํ™•์žฅํ•˜๋Š”์ง€ ์ผ์ข…์˜ Sign๋น„ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.
ํ•˜๋“œ์›จ์–ด๋Š” ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑธ ์•Œ๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๊ทธ๋Ÿฐ ๊ฐ€์ƒ ์ฃผ์†Œ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

Examples

๊ฐ€์ƒ์ฃผ์†Œ 15KB์— ์ ‘๊ทผํ•  ๋•Œ, ๋ฌผ๋ฆฌ์ฃผ์†Œ 27KB์— ๋งคํ•‘๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด ์ฃผ์†Œ๋ฅผ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋น„ํŠธ๋กœ ๋ฐ”๊พธ๋ฉด
11 1100 0000 0000 (0x3C00)์ด ๋œ๋‹ค.
์ƒ์œ„ 2๋น„ํŠธ๋Š” ์„ธ๊ทธ๋จผํŠธ ์ง€์ • ๋น„ํŠธ์ด๋ฏ€๋กœ, 3KB์˜ ์˜คํ”„์…‹์ด ๋œ๋‹ค.
์ด ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ์Šคํƒ์ผ ๊ฒฝ์šฐ, ํ•˜๋“œ์›จ์–ด๋Š” ์ด ์˜คํ”„์…‹์—์„œ ์„ธ๊ทธ๋จผํŠธ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๋ฅผ ๋บ€๋‹ค.
3KB-4KB = -1KB์ด๋ฏ€๋กœ, ์ด ์Œ์ˆ˜ ์˜คํ”„์…‹์„ ๋ฒ ์ด์Šค์— ๋”ํ•ด ์ตœ์ข… ์˜คํ”„์…‹์„ ์–ป๋Š”๋‹ค.

Support for Sharing

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

Fine-grained vs. Coarse-grained

OS Support

โ€ข
์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜์˜ ์•ˆ์ •์ ์ธ ๋„์ž…์„ ์œ„ํ•ด์„œ๋Š” ์šด์˜์ฒด์ œ๊ฐ€ ๋ช‡๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ๋„์™€์•ผ ํ•œ๋‹ค.
1.
Context Switch
์ปจํ…์ŠคํŠธ ์Šค์œ„์น˜๊ฐ€ ์ผ์–ด๋‚  ์‹œ ์šด์˜์ฒด์ œ๋Š” ์–ด๋–ค์ผ์„ ํ•ด์•ผํ• ๊นŒ?
OS๋Š” ์ด๋•Œ๊นŒ์ง€ ์‚ฌ์šฉํ–ˆ๋˜ ์„ธ๊ทธ๋จผํŠธ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๊ณ , ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค์˜ ์„ธ๊ทธ๋จผํŠธ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์™€์•ผํ•œ๋‹ค.
2.
๋‘๋ฒˆ์งธ๋Š” ์„ธ๊ทธ๋จผํŠธ ํฌ๊ธฐ์˜ ๋ณ€๊ฒฝ์ด๋‹ค.
์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ด malloc์„ ํ˜ธ์ถœํ•ด ๊ฐ์ฒด๋ฅผ ํ• ๋‹นํ•  ๊ฒฝ์šฐ, ๊ธฐ์กด์˜ ํž™์—์„œ ํ•ด๋‹น ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.
๋นˆ ๊ณต๊ฐ„์„ ์ฐพ๊ฑฐ๋‚˜, ๋นˆ๊ณต๊ฐ„์ด ์—†๋‹ค๋ฉด ํž™์˜ ์„ธ๊ทธ๋จผํŠธ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ ค์•ผ ํ•  ๊ฒƒ์ด๋‹ค.
3.
๋งˆ์ง€๋ง‰์œผ๋กœ, ๋ฏธ์‚ฌ์šฉ์ค‘์ธ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ๊ด€๋ฆฌ๋‹ค.
์ƒˆ๋กœ์šด ์ฃผ์†Œ ๊ณต๊ฐ„์ด ์ƒ์„ฑ๋˜๋ฉด ์šด์˜์ฒด์ œ๋Š” ์ด ๊ณต๊ฐ„์˜ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์œ„ํ•œ ๋น„์–ด์žˆ๋Š” ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค.
์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ๋Š” ์„ธ๊ทธ๋จผํŠธ์˜ ํฌ๊ธฐ๊ฐ€ ์ œ๊ฐ๊ฐ์ด๋‹ค๋ณด๋‹ˆ, ๋นˆ ์Šฌ๋กฏ์— ์ ๋‹นํ•œ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ฑ„์›Œ๋„ฃ๋‹ค ๋ณด๋ฉด ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์žํˆฌ๋ฆฌ ๊ณต๊ฐ„์ด ์ƒ๊ธฐ๊ฒŒ ๋œ๋‹ค. ์ด๋ฅผ ์™ธ๋ถ€ ๋‹จํŽธํ™”(external fragmentation)์ด๋ผ ํ•œ๋‹ค.

Example

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