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
'CS > ๊ฐ๋ฐ์์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๊ฐ๋ฐ์์] #9. ๋ฉ์ธ์ง ํ(MQ) (0) | 2023.01.12 |
---|---|
[๊ฐ๋ฐ์์] #8. ํ๋ ์์ํฌ vs ๋ผ์ด๋ธ๋ฌ๋ฆฌ (0) | 2023.01.12 |
[๊ฐ๋ฐ์์] #6. ํด๋ฆฐ์ฝ๋ (0) | 2023.01.12 |
[๊ฐ๋ฐ์์] #5. ์ ์ฐจ์งํฅ vs ๊ฐ์ฒด์งํฅ (0) | 2023.01.11 |
[๊ฐ๋ฐ์์] #4. MVC ํจํด (0) | 2023.01.11 |