CS/์ด์์ฒด์ 18 [์ด์์ฒด์ ] ์ค๋ ๋ ํจ์คํธ์บ ํผ์ค ์ด์์ฒด์ ๊ฐ์์ ์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์ด์์ฒด์ ๊ต์ฌ์ ๋ํ TIL์ ๋๋ค. ์ค๋ ๋๋? ํ๋ก์ธ์ค๊ฐ ์์ฑ๋๋ฉด CPU ์ค์ผ์ค๋ฌ๋ ํ๋ก์ธ์ค๊ฐ ํด์ผ ํ ์ผ์ CPU์ ์ ๋ฌํ๊ณ ์ค์ ์์ ์ CPU๊ฐ ์ํํ๋ค. ์ด๋ CPU ์ค์ผ์ค๋ฌ๊ฐ CPU์ ์ ๋ฌํ๋ ์ผ ํ๋๊ฐ ์ค๋ ๋๋ค. ์ฆ, CPU๊ฐ ์ฒ๋ฆฌํ๋ ์์ ์ ๋จ์๋ ํ๋ก์ธ์ค๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ์ค๋ ๋๊ฐ ๋๋ค. ๋ฐ๋ผ์, ์ด์์ฒด์ ์ ์์ ๋จ์๋ฅผ ํ๋ก์ธ์ค๋ผ๊ณ ํ๋ค๋ฉด CPU์ ์์ ๋จ์๋ฅผ ์ค๋ ๋๋ผ๊ณ ํ๋ค. ํ๋ก์ธ์ค์ ์ค๋ ๋์ ์ฐจ์ด ํ๋ก์ธ์ค๋ผ๋ฆฌ๋ ์ฝํ๊ฒ ์ฐ๊ฒฐ๋์ด ์๋ค. ์ฝํ๊ฒ ์ฐ๊ฒฐ๋์ด ์๋ค๋ ๊ฒ์ ๊ฐ๊ฐ์ ํ๋ก์ธ์ค๋ ๋ ๋ฆฝ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ฐ์ง๋ฉฐ, ์๋ก ๋ค๋ฅธ ํ๋ก์ธ์ค ๊ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต์ ๋ฅผ ํ์ง ์๋๋ค๋ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ ๋ ๋ฆฝ์ ์ธ ํ๋ก์ธ์ค๋ ์๋ก ๋ค๋ฅธ ํ๋ก์ธ์ค๋ผ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ํ๋ก์ธ.. 2023. 4. 14. [์ด์์ฒด์ ] ํ๋ก์ธ์ค ํจ์คํธ์บ ํผ์ค ์ด์์ฒด์ ๊ฐ์์ ์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์ด์์ฒด์ ๊ต์ฌ์ ๋ํ TIL์ ๋๋ค. ํ๋ก์ธ์ค๋? ํ๋ก๊ทธ๋จ์ ํ๋๋์คํฌ ๊ฐ์ ์ ์ฅ์ฅ์น์ ๋ณด๊ด๋์ด ์๋ค๊ฐ ๋ง์ฐ์ค๋ก ํด๋ฆญํ๋ฉด ์คํ๋๋ค. ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ค๋ ๊ฒ์ ํฐ๋ ธ์ด๋ง ๊ตฌ์กฐ์ ๋ฐ๋ฅด๋ฉด ํด๋น ํ๋ก๊ทธ๋จ ์ฝ๋๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์์ ์์ ์ด ์งํ๋๋ค๋ ์๋ฏธ์ด๋ค. ํ๋ก๊ทธ๋จ์ด ์คํ์ ์ํด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์จ ๊ฒ์ ํ๋ก์ธ์ค๋ผ๊ณ ํ๋ค. ํ๋ก๊ทธ๋จ์์ ํ๋ก์ธ์ค๋ก์ ์ ํ ์ด๋ค ํ๋ก๊ทธ๋จ์ด ํ๋ก์ธ์ค๊ฐ ๋์๋ค๋ ๊ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์๋ค๊ณ ํ ์๋ ์์ง๋ง ๋์์ ์ด์์ฒด์ ๋ก๋ถํฐ ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก(PCB)์ ๋ฐ์๋ค๊ณ ๋ ํ ์ ์๋ค. ํ๋์ ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๋๋ฐ ํ์ํ ๋ค์ํ ์ ๋ณด๋ค์ด ์์ ๊ฒ์ด๋ค. ์ด๋ฌํ ์ ๋ณด๋ค์ ๋ณด๊ดํ๋ ์๋ฃ ๊ตฌ์กฐ๊ฐ ๋ฐ๋ก ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก์ด๋ค. ์ด์ ํฌ์คํ ์์ ๋ฉ๋ชจ๋ฆฌ ๋งต ์ ์ถ๋ ฅ์ ์ค๋ช .. 2023. 4. 13. [์ด์์ฒด์ ] ์ปดํจํฐ์ ๊ตฌ์กฐ์ ์ฑ๋ฅ ํฅ์ ์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์ด์์ฒด์ ๊ต์ฌ 2์ฅ์ ๋ํ TIL์ ๋๋ค. ์ด์์ฒด์ ๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ ์ปดํจํฐ ์์คํ ์ ๊ตฌ์กฐ์ ์ด๋ฅผ ๊ตฌ์ฑํ๋ ํ๋์จ์ด์ ํน์ฑ์ ์์์ผ ํ๋ค. ๋ฐ๋ผ์ ์ด์์ฒด์ ์ ๊ด๋ จ๋ ์ฌ๋ฌ ํ๋์จ์ด์ ํน์ฑ๊ณผ ๋์ ์๋ฆฌ์ ๋ํด์ ํฌ์คํ ํ๋ ค๊ณ ํ๋ค. ํ๋์จ์ด์ ๊ตฌ์ฑ ์ปดํจํฐ๋ ์ค์์ฒ๋ฆฌ์ฅ์น(CPU), ๋ฉ์ธ๋ฉ๋ชจ๋ฆฌ, ์ ์ถ๋ ฅ์ฅ์น, ์ ์ฅ์ฅ์น๋ก ๊ตฌ์ฑ๋๋ค. ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ ์ ๋ ฅ์ด ๋๊ธฐ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์์ด๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ์๊ตฌํ ๋ณด๊ดํ๋ ค๋ฉด ํ๋๋์คํฌ๋ USB ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. ๋ฐ๋ผ์, ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ 1์ ์ฅ์ฅ์น, ํ๋๋์คํฌ๋ USB ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ๊ฒ๋ค์ ์ 2์ ์ฅ์ฅ์น ๋๋ ๋ณด์กฐ์ ์ฅ์ฅ์น๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ด์ ๋ถํฐ ์๋ฉ์ ๋ํ ํธ๋ฆฌํจ์ ์ํด ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ '๋ฉ๋ชจ๋ฆฌ', ๋ณด์กฐ์ ์ฅ์ฅ์น๋ฅผ '์ ์ฅ์ฅ์น'๋ผ๊ณ ํ๊ฒ ๋ค. ์ปดํจํฐ๋ฅผ ๊ตฌ์ฑํ๋ ๋ถํ ์ค์๋.. 2023. 4. 12. [์ด์์ฒด์ ] ์ปค๋๊ณผ ์ธํฐํ์ด์ค ํจ์คํธ์บ ํผ์ค ์ด์์ฒด์ ๊ฐ์์ ์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์ด์์ฒด์ ๊ต์ฌ์ ๋ํ TIL์ ๋๋ค. ์์คํ ํธ์ถ(System Call) ์์คํ ํธ์ถ์ ์ปค๋์ด ์์ ์ ๋ณดํธํ๊ธฐ ์ํด ๋ง๋ ์ธํฐํ์ด์ค๋ค. ์ปค๋์ ์ปดํจํฐ ์์์ ๋ณดํธํ๊ธฐ ์ํด ์ฌ์ฉ์๋ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์์์ ์ง์ ์ ๊ทผํ๋ ๊ฒ์ ์ฐจ๋จํ๋ค. ๋ฐ๋ผ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์์์ ์ด์ฉํ๋ ค๋ฉด ์์คํ ํธ์ถ์ด๋ผ๋ ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํ์ฌ ์ ๊ทผํด์ผ ํ๋ค. ๋ณดํต ์์คํ ํธ์ถ์ ์ง์ ์ฌ์ฉํ๊ธฐ๋ณด๋ค๋, ํด๋น ์์คํ ํธ์ถ์ ์ฌ์ฉํด์ ๋ง๋ ๊ฐ ์ธ์ด๋ณ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(API)๋ฅผ ์ฌ์ฉํ๋ค. ์ ๊ทธ๋ฆผ์ C์ธ์ด๋ก ๋ง๋ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์์คํ ํธ์ถ์ ์ฌ์ฉํ๋ ์์ ์ด๋ค. ์ด๋, sys_open()์ด๋ผ๋ ์์คํ ํธ์ถ์ ์ง์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋ C์ธ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ ๊ณตํด ์ฃผ๋ open()์ ์ฌ์ฉํ๋ค. ์ปค๋์ ์ญํ ๊ณผ ์ข .. 2023. 4. 10. ์ด์ 1 2 3 4 5 ๋ค์