Linux

ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„(Virtual Address Space; VAS)

๐Ÿง Yon 2023. 11. 5. 10:49
๋ฐ˜์‘ํ˜•

Parent Content: ๋ฆฌ๋ˆ…์Šค OS์™€ ์„œ๋ธŒ์‹œ์Šคํ…œ(Conceptual Architecture of the Linux Kernel)

 

[+] ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„

- ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„์€ ๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„(ๅ‡ๆƒณ ไฝๆ‰€ ็ฉบ้–“, ์˜์–ด: Virtual Address Space; VAS)์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ํ”„๋กœ์„ธ์Šค์˜ ๊ด€์ ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์—์„œ์˜ ์ฃผ์†Œ ๊ณต๊ฐ„, ์ฆ‰ ๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์†Œ๋“ค์˜ ๋ฒ”์œ„์ด๋ฉฐ, ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ๋‹น ํ•˜๋‚˜์˜ ๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„์ด ์ฃผ์–ด์ ธ ๋‹ค์ค‘ ํ”„๋กœ์„ธ์Šค ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ์„ธ์Šค ๊ฐ„ ๋ฉ”๋ชจ๋ฆฌ ๊ฒฉ๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ค‘์š”ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ์Šค๋ ˆ๋“œ๋Š” ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค ๋‚ด์˜ ์ฃผ์†Œ ๊ณต๊ฐ„ ๋ฐ ์ž์›์„ ๊ณต์œ ํ•˜์—ฌ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:[1]

 

- ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค:

 

(1) ์ฝ”๋“œ ์„น์…˜(Code Segment):

- ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋˜๋Š” ์ฝ๊ธฐ ์ „์šฉ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

 

(2) ๋ฐ์ดํ„ฐ ์„น์…˜(Data Segment):

- ์ „์—ญ ๋ณ€์ˆ˜ ๋ฐ ์ •์  ๋ณ€์ˆ˜์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„์œผ๋กœ ์ฝ๊ธฐ/์“ฐ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

(3) ์Šคํƒ(Stack):

- ์ง€์—ญ ๋ณ€์ˆ˜ ๋ฐ ํ•จ์ˆ˜ ํ˜ธ์ถœ๊ณผ ๊ฐ™์€ ์ž‘์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„์œผ๋กœ ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ฐ ๋ฐ˜ํ™˜์„ ๊ด€๋ฆฌํ•˜๋ฉฐ ํ›„์ž… ์„ ์ถœ(LIFO) ๊ตฌ์กฐ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

 

(4) ํž™(Heap)

- ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋™์ ์œผ๋กœ ํ• ๋‹นํ•˜๊ณ  ํ•ด์ œํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์œผ๋กœ, ๋ฐ์ดํ„ฐ ์ƒ์• ์ฃผ๊ธฐ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋‚˜ ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

 

(5) ๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ ๋ฐ ์ฃผ์†Œ ๋ณ€ํ™˜

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

 

 

 

References:

[1] https://ko.wikipedia.org/wiki/%EA%B0%80%EC%83%81_%EC%A3%BC%EC%86%8C_%EA%B3%B5%EA%B0%84

๋ฐ˜์‘ํ˜•