Computer Science/๐Ÿ”’ Operating System

[์šด์˜์ฒด์ œ] ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ - Code, Data, Heap, Stack

J1Yun 2023. 2. 21. 14:28
728x90

ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ

 

Code(Text)

  • ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์„ฑํ•œ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„
  • ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„์–ด ๋ช…๋ น์˜ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜๋˜์–ด ์ €์žฅ
  • ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ Read-Only

 

Data

  • ์ „์—ญ ๋ณ€์ˆ˜๋‚˜ static ๋ณ€์ˆ˜ ๋“ฑ ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„
  • ์ „์—ญ ๋ณ€์ˆ˜๋‚˜ static ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•œ ์ฝ”๋“œ ๋ถ€๋ถ„์€ ์ปดํŒŒ์ผ์ด ์™„๋ฃŒ๋˜๋ฉด data ์˜์—ญ ๋‚ด์˜ ํ•ด๋‹น ์ฃผ์†Œ๊ฐ’์„ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ๋ณ€๊ฒฝ๋จ
  • ์ „์—ญ ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„์€ Data ์˜์—ญ๊ณผ BSS ์˜์—ญ์œผ๋กœ ๋‚˜๋‰จ
    • Data: ์ดˆ๊ธฐํ™” ๋œ ์ „์—ญ ๋ณ€์ˆ˜
    • BSS: ์ดˆ๊ธฐํ™” ๋˜์ง€ ์•Š์€ ์ „์—ญ ๋ณ€์ˆ˜ 
  • ์ปดํŒŒ์ผ ์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋ฉฐ ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ์‹œ ์‚ญ์ œ๋จ
  • ์ „์—ญ ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ Read-Write

 

Heap

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„
  • ๋™์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น-ํ•ด์ œ
  • ๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ด ์ผ์–ด๋‚˜๋ฉด ์ฃผ์†Œ๊ฐ’์ด ์ปค์ง€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์˜์—ญ ํ™•์žฅ

 

Stack

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„
  • ํ˜ธ์ถœ๋œ ํ•จ์ˆ˜๊ฐ€ ์ˆ˜ํ–‰์„ ๋งˆ์น˜๊ณ  ๋ณต๊ท€ํ•  ์ฃผ์†Œ๋‚˜ ์ง€์—ญ ๋ณ€์ˆ˜, ๋งค๊ฐœ ๋ณ€์ˆ˜, ๋ฆฌํ„ด๊ฐ’ ๋“ฑ์ด ์ž„์‹œ๋กœ ์ €์žฅ
  • ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๊ณ  ํ•จ์ˆ˜์˜ ์ˆ˜ํ–‰์ด ์™„๋ฃŒ๋˜๋ฉด ์‚ญ์ œ๋จ
  • LIFO(Last In First Out) ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ ์ ์žฌ
  •  ๋ฐ์ดํ„ฐ๊ฐ€ ์ž„์‹œ๋กœ ์ €์žฅ๋˜๋ฉด ์ฃผ์†Œ๊ฐ’์ด ์ž‘์•„์ง€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์˜์—ญ ํ™•์žฅ (Heap๊ณผ ๋ฐ˜๋Œ€)
  • Stack ์˜์—ญ๊ณผ Heap ๋ถ€๋ถ„์ด ๋งŒ๋‚œ๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์†Œ์ง„๋˜์—ˆ๋‹ค๋Š” ์˜๋ฏธ๋กœ ๊ณ„์†ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๋กœ stack overflow ๋ฐœ์ƒ

 

 

โญ๏ธ ์ฐธ๊ณ 

728x90