์ ์ฒด๋ณด๊ธฐ114 ๊ฐ์๋ฉ๋ชจ๋ฆฌ(Virtual Memory)์ ํ์ด์ง ๊ธฐ๋ฒ(Paging) ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ๊ธฐ๋ณธ์ ์ธ ์๋ฆฌ์ ์ธ๋ถ ๋จํธํ์ ๋ํด ํ์ตํ์๋ ๊ฒ์ ์ถ์ฒ๋๋ฆฝ๋๋ค. ์ด์์ฒด์ ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น(Memory Allocation) ๋ฉ๋ชจ๋ฆฌ ํ ๋น(Memory Allocation) ์ฐ๋ฆฌ๊ฐ ํํ ์๊ฐํ๋ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐฉ์์ ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐฉ์์ ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ๋ด์ ํ๋ก์ธ์ค๋ค์ด ์ฐ์์ ์ผ๋ก ๋ฐฐ์น๋๋ ์ํฉ์ด์ฃ . ํ์ง๋ง ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ground90.tistory.com ๊ฐ์๋ฉ๋ชจ๋ฆฌ๋? ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ(Virtual Memory)๋ ์ปดํจํฐ ์์คํ ์์ ์ฌ์ฉ๋๋ ์ฃผ๊ธฐ์ต์ฅ์น(RAM)์ ํ์ฅ๋ ํํ๋ก, ์ค์ ๋ฌผ๋ฆฌ์ ์ธ RAM๋ณด๋ค ํฐ ์ฉ๋์ ์ ๊ณตํ๋ ๊ธฐ์ ์ ๋๋ค. ์ด๋ฅผ ํตํด ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๊ฒฝ์ฐ์๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ์ ์๋๋ก ํฉ๋๋ค. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ฃผ๋ก ์ด์ ์ฒด์ ์์ ๊ด๋ฆฌ๋๋ฉฐ, ์ฃผ๊ธฐ์ต์ฅ.. 2023. 11. 7. ์ด์์ฒด์ ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น(Memory Allocation) ๋ฉ๋ชจ๋ฆฌ ํ ๋น(Memory Allocation) ์ฐ๋ฆฌ๊ฐ ํํ ์๊ฐํ๋ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐฉ์์ ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐฉ์์ ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ๋ด์ ํ๋ก์ธ์ค๋ค์ด ์ฐ์์ ์ผ๋ก ๋ฐฐ์น๋๋ ์ํฉ์ด์ฃ . ํ์ง๋ง ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์๋ ์ฌ๋ฌ ๋ฌธ์ ์ ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ํ์ด์ง ๊ธฐ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ํ์ด์ง ๊ธฐ๋ฒ์ ๋ฐ๋ก ์ด์ด์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋ ํ๋ก์ธ์ค๋ค ์ค์๋ ํ์ฌ ์ฌ์ฉ๋์ง ์๋ ํ๋ก์ธ์ค๋ค์ด ์์ต๋๋ค. ์ด๋ฌํ ํ๋ก์ธ์ค๋ค์ ์์๋ก ๋ณด์กฐ๊ธฐ์ต์ฅ์น ์ผ๋ถ๋ก ์ซ์๋ด๊ณ , ๊ทธ๋ ๊ฒ ์๊ธด ๋น ๊ณต๊ฐ์ ์ ํ๋ก์ธ์ค๋ฅผ ์ ์ฌํ์ฌ ์คํํฉ๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ ์ค์ํ(Swapping)์ด๋ผ๊ณ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ณด์กฐ๊ธฐ์ต ์ฅ์น์ ์ฌ์ฉ๋์ง ์๋ ํ๋ก์ธ์ค๋ฅผ ์ ์ฌํ๋ ์ผ๋ถ ์์ญ์ ์ค์ ์์ญ์ด๋ผ๊ณ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์คํ ํ๋ก์ธ์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ.. 2023. 11. 6. ํ๋ก์ธ์ค ๋๊ธฐํ ๊ธฐ๋ฒ ํ๋ก์ธ์ค ๋๊ธฐํ ํ๋ก์ธ์ค ๋๊ธฐํ๋ ํ๋ก์ธ์ค๋ค ์ฌ์ด์ ์ํ ์๊ธฐ๋ฅผ ๋ง์ถ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ด์์ฒด์ ์ ์ฅ์์๋ ํ๋ก์ธ์ค๋ค์ ์คํ ์์๋ฅผ ์ ์ดํ๊ณ ์ํธ ๋ฐฐ์ (๋์์ ์ ๊ทผํด์๋ ์๋๋ ์์์ ํ๋์ ํ๋ก์ธ์ค๋ง ์ ๊ทผ)์ ์ํํ ์ด๋ฃจ์ด๋ด์ผ ํ์ฃ . ์ด์ ๊ด๋ จํด์ ๊ณต์ ์์๊ณผ ์๊ณ ์์ญ, ์์ฐ์/์๋น์ ๋ฌธ์ , ๊ฒฝ์ ์ํ, ์๊ณ ์์ญ ๋ฑ์ ๊ฐ๋ ์ด ๋์ต๋๋ค. ์ด๋ฌํ ๊ฐ๋ ๋ค์ ์ด์ ์ ๋ค๋ค๊ธฐ ๋๋ฌธ์ ์๋๋ฅผ ์ฐธ๊ณ ํ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค. [C++] 21. ์ค๋ ๋ ๊ฒฝ์ ์ํ(Race condition), ๋ฎคํ ์ค(mutex), ๋ฐ๋๋ฝ, std::conditional_variable, std::async ์ง๋ ํฌ์คํ ์์๋ ๋ฉํฐ์ค๋ ๋์ ๋ฉํฐ ํ๋ก์ธ์ค, std::thread์ ๋ํด ์ดํด๋ดค์ต๋๋ค. [C++] 20. ๋ฉํฐ ์ค๋ ๋ ํ๋ก๊ทธ๋๋ฐ.. 2023. 11. 6. CPU ์ค์ผ์ค๋ง ๊ฐ๋ ๊ณผ ์๊ณ ๋ฆฌ์ฆ CPU ์ค์ผ์ค๋ง ๊ฐ๋ CPU ์ค์ผ์ค๋ง์ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ๊ณต์ ํ๋ ํ๊ฒฝ์์ ํ๋ก์ธ์ค๋ค์ ์ด๋ค ์์๋ก CPU์ ํ ๋นํ ์ง ๊ฒฐ์ ํ๋ ์์ ์ ๋งํฉ๋๋ค. ์ด๋ ์ปดํจํฐ ์์คํ ์ ์ฑ๋ฅ, ์๋ต ์๊ฐ, ์ฒ๋ฆฌ๋ ๋ฑ์ ์ต์ ํํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ๋ค์ํ CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ๋ฐ๋์ด์๊ณ , ๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ํน์ ์ํฉ์ด๋ ์๊ตฌ์ฌํญ์ ์ ํฉํ ์ฅ๋จ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฌ๊ธฐ์ ํต์ฌ์ ์ด์์ฒด์ ๊ฐ ํ๋ก์ธ์ค๋ค์๊ฒ ๊ณต์ ํ๊ณ ํฉ๋ฆฌ์ ์ผ๋ก CPU์์์ ๋ฐฐ๋ถํ๋ ๊ฒ์ ๋๋ค. CPU ์ค์ผ์ค๋ง์ ์ปดํจํฐ ์ฑ๋ฅ๊ณผ๋ ์ง๊ฒฐ๋๋ ์ค๋ํ ๋ฌธ์ ์ ๋๋ค. ์ค์ผ์ค๋ง ํ CPU์ ์ฅ์์ CPU๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ ํ๋ก์ธ์ค๋ค์ด ๋ง์ ๋, ๋จผ์ CPU๋ฅผ ์ฌ์ฉํ๊ฒ ๋ค๋ ํ๋ก์ธ์คํํ CPU์์์ ํ ๋นํ๋ ๋จ์ํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ํ์ง๋ง ํ๋ก์ธ์ค๋ง๋ค ์ฐ์ ์์๊ฐ ๋ค๋ฅด.. 2023. 11. 5. ํ๋ก์ธ์ค ๊ณ์ธต ๊ตฌ์กฐ ํ๋ก์ธ์ค ๊ณ์ธต ๊ตฌ์กฐ ํ๋ก์ธ์ค ๊ณ์ธต ๊ตฌ์กฐ๋ ์ด์์ฒด์ ์์ ํ๋ก์ธ์ค๋ค ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ ๋งํฉ๋๋ค. ์ด์์ฒด์ ๋ ์ฌ๋ฌ ํ๋ก์ธ์ค๋ค์ ๊ด๋ฆฌํ๊ณ ์ด๋ค ๊ฐ์ ์ํธ์์ฉ์ ์กฐ์จํ๋๋ฐ, ์ด๋ฌํ ํ๋ก์ธ์ค๋ค์ ์ข ์ข ๊ณ์ธต์ ์ธ ๊ตฌ์กฐ๋ฅผ ํ์ฑํฉ๋๋ค. ์ด ๊ตฌ์กฐ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ถ๋ชจ-์์ ๊ด๊ณ๋ก ๋ํ๋ผ ์ ์์ต๋๋ค. 1. ๋ถ๋ชจ ํ๋ก์ธ์ค(Parent Process): ์ด์์ฒด์ ์์ ์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ์์ฑํ ๋, ๋ถ๋ชจ ํ๋ก์ธ์ค๋ ์๋ก์ด ์์ ํ๋ก์ธ์ค๋ฅผ ์์ฑํฉ๋๋ค. ๋ถ๋ชจ ํ๋ก์ธ์ค๋ ์์ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๊ณ , ์์์ ํ ๋นํ๋ฉฐ, ์์ ํ๋ก์ธ์ค์ ๋์์ ๊ฐ์ํ ์ฑ ์์ด ์์ต๋๋ค. 2. ์์ ํ๋ก์ธ์ค(Child Process): ๋ถ๋ชจ ํ๋ก์ธ์ค์ ์ํด ์์ฑ๋ ํ๋ก์ธ์ค๋ฅผ ์์ ํ๋ก์ธ์ค๋ผ๊ณ ํฉ๋๋ค. ์์ ํ๋ก์ธ์ค๋ ๋ถ๋ชจ ํ๋ก์ธ์ค๋ก๋ถํฐ ์์๊ณผ ๊ถํ์ ์์.. 2023. 10. 31. ๋ฐ๋ชฌ(Deamon) ํ๋ก์ธ์ค๋? ๋ฐ๋ชฌ(Deamon)์ด๋? ์ปดํจํฐ๊ฐ ๋ถํ ๋๋ ์๊ฐ๋ถํฐ ์๋ง์ ํ๋ก์ธ์ค๋ค์ด ์คํ๋ฉ๋๋ค. ps ๋ช ๋ น์ด๋ฅผ ํตํด ํ์ฌ ์คํ๋๊ณ ์๋ ํ๋ก์ธ์ค๋ฅผ ํ์ธํ ์ ์์ต๋๋ค(์๋์ฐ๋ ์์ ๊ด๋ฆฌ์). ์ค์ ๋ก ์คํ์ค์ธ ํ๋ก์ธ์ค๋ค์ ํ์ธํด๋ณด๋ฉด ์ฐ๋ฆฌ๊ฐ ์คํํ ํ๋ก์ธ์ค ์ธ์๋ ์ ์ ์๋ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ์คํ๋๊ณ ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ๊ณต๊ฐ์์ ์คํ๋๋ ํ๋ก์ธ์ค๋ ํฌ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค(Foreground Process), ์ฌ์ฉ์๊ฐ ๋ณด์ง ๋ชปํ๋ ๊ณต๊ฐ์์ ์คํ๋๋ ํ๋ก์ธ์ค๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค(Background Process)๋ก ๋๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค ์ค์์๋ ์ฌ์ฉ์์ ์ง์ ์ํธ์์ฉํ ์ ์๋ ํ๋ก์ธ์ค๋ ์์ง๋ง ์ฌ์ฉ์์ ์ํธ์์ฉํ์ง ์๊ณ ๊ทธ์ ์ ํด์ง ์ผ๋ง ์ํํ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๋ ์์ต๋๋ค. ์ด๋ฅผ ๋ฐ๋ชฌ(deam.. 2023. 10. 28. ์ด์ 1 ยทยทยท 4 5 6 7 8 9 10 ยทยทยท 19 ๋ค์