1. ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ(Memory Structure)

  • ์šด์˜์ฒด์ œ(Operating System)์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ
    → ์ปค๋„์˜์—ญ : kernel ์€ ์šด์˜์ฒด์ œ์˜ ํ•ต์‹ฌ, ์ปค๋„์˜์—ญ์€ system call์„ ํ†ตํ•ด ์ปค๋„๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•ด์•ผ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ
    → ์œ ์ €์˜์—ญ : Code, Data, Stack, Heap 4๊ฐ€์ง€๋กœ ๊ตฌ์„ฑ
  • ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์„ ์œ„ํ•ด ์šด์˜์ฒด์ œ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ ์ •๋ณด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ(RAM)์— ๊ณต๊ฐ„์„ ํ• ๋‹นํ•ด์ฃผ์–ด์•ผํ•จ
    → CPU๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ๋“ค์„ ์ €์žฅํ•ด์•ผํ•จ
    → ํ• ๋‹น๋ฐ›๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ๊ณต๊ฐ„(=์œ ์ €์˜์—ญ)

< ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ >

 

2. Code ์˜์—ญ ( = Text ์˜์—ญ )

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

 

3. Data ์˜์—ญ

  • ์ „์—ญ๋ณ€์ˆ˜(Global)์™€ ์ •์ ๋ณ€์ˆ˜(Static)๊ฐ€ ์ €์žฅ๋˜๋Š” ์˜์—ญ
  • ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘๊ณผ ํ•จ๊ป˜ ํ• ๋‹น๋˜๊ณ , ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋ฉด ์†Œ๋ฉธ
  • Read-Write

 

4. Heap ์˜์—ญ

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ ๊ณต๊ฐ„์„ ํ• ๋‹น, ํ•ด์ œํ•˜๋Š” ๊ณต๊ฐ„
    → ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น : malloc() ๋˜๋Š” new ์—ฐ์‚ฐ์ž ์ด์šฉ
    → ๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œ : free() ๋˜๋Š” delete ์—ฐ์‚ฐ์ž ์ด์šฉ

 

5. Stack ์˜์—ญ

  • ํ”„๋กœ๊ทธ๋žจ์ด ์ž๋™์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ž„์‹œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ
  • ํ˜ธ์ถœ์‹œ ์ง€์—ญ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋˜๊ณ , ํ˜ธ์ถœ์™„๋ฃŒ๋˜๋ฉด ์‚ฌ๋ผ์ง
    → ์ €์žฅ๋œ ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ์ •๋ณด : stack frame
    → ์ €์žฅ : push / ์ธ์ถœ : pop

6. Heap VS Stack

๊ตฌ๋ถ„ Heap Stack
์—‘์„ธ์Šค ์†๋„ ๋А๋ฆผ ๋น ๋ฆ„
์Šค์ฝ”ํ”„(๋ณ€์ˆ˜์œ ํšจ๋ฒ”์œ„) ์ „์—ญ global ์ง€์—ญ local
๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ ๋™์  ๋ถˆ๋ณ€
๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œ ์ˆ˜๋™ํ•ด์ œ ๋ธ”๋Ÿญ์ด ๋๋‚˜๋ฉด ์ž๋™ํ•ด์ œ
๊ตฌํ˜„ ๋‚œ์ด๋„ ์–ด๋ ค์›€(os๋งˆ๋‹ค ๋‹ค๋ฆ„) ์‰ฌ์›€
๋ฐฉ์‹ ์„ ์ž…์„ ์ถœ๋ฐฉ์‹(FIFO)
๋‚ฎ์€์ฃผ์†Œ์—์„œ ๋†’์€์ฃผ์†Œ๋กœ ํ• ๋‹น
ํ›„์ž…์„ ์ถœ๋ฐฉ์‹(LIFO)
๋†’์€์ฃผ์†Œ์—์„œ ๋‚ฎ์€์ฃผ์†Œ๋กœ ํ• ๋‹น

 

7. ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ

  • ํ• ๋‹น ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๋„˜์–ด์„ค ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜
    → ์ด๋Ÿฌํ•œ ํŠน์„ฑ์„ ์ด์šฉํ•ด ํ•ดํ‚น๊ณต๊ฒฉ์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ ํ•จ
  • ์ข…๋ฅ˜
    → ํž™ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ : ํž™์ด ์Šคํƒ์„ ์นจ๋ฒ”ํ•˜๋Š” ๊ฒฝ์šฐ
    → ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ : ์Šคํƒ์ด ํž™์„ ์นจ๋ฒ”ํ•˜๋Š” ๊ฒฝ์šฐ, ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์ค‘ ๊ฐ€์žฅ ๋งŽ์ด ๋ฐœ์ƒ









์ฐธ๊ณ ) https://mentum.tistory.com/475

 

์šด์˜์ฒด์ œ์˜ ๋ฉ”๋ชจ๋ฆฌ์˜์—ญ / ์Šคํƒ(stack) vs ํž™(heap)

๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ - OS์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋Š” ์œ ์ € ์˜์—ญ, ์ปค๋„ ์˜์—ญ์˜ 2๊ฐ€์ง€ ์˜์—ญ์œผ๋กœ ๋‚˜๋‰œ๋‹ค. - ์ปค๋„์˜์—ญ์€ ์‹œ์Šคํ…œ ์šด์˜์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ด๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ์ปค๋„์˜์—ญ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค. - ์œ ์ €์˜์—ญ์€ ๋‹ค์‹œ 4๊ฐ€

mentum.tistory.com


์ฐธ๊ณ ) https://zangzangs.tistory.com/107

 

[OS] ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ (์ฝ”๋“œ, ๋ฐ์ดํ„ฐ, ์Šคํ…, ํž™)

ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ (์ฝ”๋“œ, ๋ฐ์ดํ„ฐ, ์Šคํ…, ํž™) ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์€ ๋‘๊ฐ€์ง€ ์ค‘์š”ํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค. ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์กด์žฌํ•˜๋˜ ์‹คํ–‰ํŒŒ์ผ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ๋‹ค๋Š” ์˜๋ฏธ ํ”„๋กœ๊ทธ๋žจ์ด CP

zangzangs.tistory.com

์ฐธ๊ณ ) https://hdacker.tistory.com/6

 

๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ [Memory Structure]

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

hdacker.tistory.com

 

+ Recent posts