heap(3)
-
[FreeBSD] Memory Management Services
3.5 Memory-Management ServicesThe memory organization and layout associated with a FreeBSD process is shown in Figure 3.3. Each process begins execution with three memory segments: text, data, and stack. The data segment is divided into initialized data and uninitialized data (also known as bss). The text is read-only and is normally shared by all processes executing the file, whereas the data a..
2024.07.14 -
[์๋ฃ๊ตฌ์กฐ] ๊ธฐ๋ง๊ณ ์ฌ Summary
# 7. Recursion - ์ฌ๊ท ํธ์ถ – ํธ์ถ๋ ํจ์๊ฐ ํธ์ถํ๋ ํจ์์ ๋์ผํ ํจ์ ํธ์ถ -> ์ฆ ์๊ธฐ ์์ ์ ํธ์ถ - ๋ฌดํ ํจ์ ํธ์ถ(๋ฌดํ ์ฌ๊ท) ํผํด์ผ ํจ -> ํ์ถ ์กฐ๊ฑด ์ง์ - recursion์ ๋ฐ๋ณต๋ฌธ(iteration)์ ๋นํด ์๋๊ฐ ๋๋ฆฌ๋ค. - ๊ฐ ์ฐ์์ ์ธ ์ฌ๊ท ํธ์ถ์ ์๋ต์ด ์๋ ค์ง ์ํฉ(๊ธฐ๋ณธ ์ํฉ)์ ๋ ๊ฐ๊น์ด ๋ค๊ฐ๊ฐ์ผ ํจ - ๊ธฐ๋ณธ ์ฌ๋ก, base case: ๋ต์ด ์๋ ค์ง (์ฌ๊ท ์์ด ํํ๋ ์ ์๋) ๊ฒฝ์ฐ -> ํจ์์์ ๋น ์ฌ๊ท์ ์ธ ๋ฐฉ๋ฒ์ด ์๋? - ๊ฐ ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์๋ ํ๋ ์ด์์ ๊ธฐ๋ณธ ์ฌ๋ก์, ์ผ๋ฐ ์ฌ๋ก(general case, ์ฌ๊ท ๊ตฌ๋ฌธ)๊ฐ ์์ด์ผ ํ๋ค. // solution๊น์ง ์ฌ๋ฐ๋ฅด๊ฒ ๋๋ฌํ ์ ์๋์ง ์๊ฐํด์ผ ํจ + base case๊ฐ ๊ผญ ํ๋์ผ ํ์๋ X -> ex) Qui..
2023.07.21 -
๐ARC (Automatic Reference Counting) : ์๋ ์ฐธ์กฐ ๊ณ์ฐ
ARC (Automatic Reference Counting) : Objective-C / Swift์ ๋ํ ์๋ ์ฐธ์กฐ ๊ณ์ฐ์ ์ ๊ณตํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฅ - ์ปดํ์ผ ์ ์ฝ๋๋ฅผ ๋ถ์ํ์ฌ ์๋์ผ๋ก retain, release๋ฅผ ์ ์ ํ ์์น์ ์ฝ์ - Objective-C ์์๋ ์๋์ผ๋ก reference count ์ฆ๊ฐ์ ํตํด ๊ฐ์ฒด ์ ์ง ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ -> ์๋์ผ๋ก ์์ฑ๋๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์๋์ผ๋ก ์์ฑํด์ค๋ค. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ Data, Heap, Stack, Code ์ด๋ ๊ฒ 4๊ฐ์ง ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ ์ค ํ ์์ญ๊ณผ ๊ด๋ จ์์ - Heap ์ class, closure ๋ฑ์ ์ฐธ์กฐํ(reference) ์๋ฃ ๋ค์ด ๋จธ๋ฌด๋ ๊ณต๊ฐ + ๊ฐ๋ฐ์๊ฐ ๋์ ์ผ๋ก ํ ๋นํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ -> ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ํ์ Heap ์์ญ์ ์ฐธ์กฐํ ..
2022.06.24