Computer Science82 11 RAM RAM์ "Random Access Memory"์ ์ฝ์๋ก, ์ปดํจํฐ ์์คํ ์์ ์ฌ์ฉ๋๋ ์ฃผ ๊ธฐ์ต์ฅ์น์ ๋๋ค. ์ฌ๋ฌ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋๋ฉฐ, ์ปดํจํฐ๊ฐ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ ๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ผ์์ ์ผ๋ก ์ ์ฅํ๋ ๋ฐ ์ฃผ๋ก ํ์ฉ๋ฉ๋๋ค. RAM๊ณผ Memory๊ฐ ๊ฐ์ ๋จ์ด๋ก ๋ง์ด ์ฐ์ด๋๋ฐ ๋ณดํต Memoryํ๋ฉด RAM์ด๋ผ๋ ์ฉ์ด๋ฅผ ์ง์นญํ๋ค๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค. ๋ค๋ง, ๊น๊ฒ ๋ค์ด๊ฐ๋ฉด ๋ค์ํ Memory ์ข ๋ฅ๊ฐ ์์ต๋๋ค. ๋ค๋ฅธ ์ฃผ์ ๊ธฐ์ต ์ฅ์น์ธ ํ๋ ๋์คํฌ ๋๋ผ์ด๋ธ (HDD)๋ ์๋ฆฌ๋ ์คํ ์ดํธ ๋๋ผ์ด๋ธ (SSD)์๋ ๋ฌ๋ฆฌ, RAM์ ํ๋ฐ์ฑ ๊ธฐ์ต ์ฅ์น๋ก ์ ์์ด ๊บผ์ง๋ฉด ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์์ค๋ฉ๋๋ค. ์ญํ ๊ณผ ๊ธฐ๋ฅ ์์ ์ ์ฅ์: RAM์ ํ์ฌ ์คํ ์ค์ธ ์ด์ ์ฒด์ , ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ํ๋ก์ธ์ค์์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ๋ฐ์ดํฐ ๊ตํ: CPU๊ฐ ๋.. 2023. 12. 30. 10 ๋ช ๋ น์ด ์งํฉ ๊ตฌ์กฐ (Feat. CISC & RISC) ์ปดํจํฐ ์ํคํ ์ฒ๋ ํ๋ก์ธ์๊ฐ ์ดํดํ๊ณ ์คํํ ์ ์๋ ๋ช ๋ น์ด ์งํฉ์ ์ ์ํฉ๋๋ค. ๋ค์ํ ์ํคํ ์ฒ๊ฐ ์กด์ฌํ์ง๋ง, ์ฌ๊ธฐ์๋ ์ฃผ๋ก ์ฌ์ฉ๋๋ ๋ ๊ฐ์ง ์ํคํ ์ฒ์ ๋ํด ์ค๋ช ํ๊ฒ ์ต๋๋ค. ์ธํ CPU (x86 ์ํคํ ์ฒ) ์ธํ ๊ณผ AMD์ x86 ์ํคํ ์ฒ๋ ์ฃผ๋ก ๊ฐ์ธ ์ปดํจํฐ ๋ฐ ์๋ฒ์์ ์ฌ์ฉ๋ฉ๋๋ค. x86 ๋ช ๋ น์ด ์งํฉ์ ์ธํ ๊ณผ AMD ํ๋ก์ธ์๊ฐ ์ดํดํ๊ณ ์คํํ ์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ ์ํฉ๋๋ค. ๋ํ์ ์ธ x86 ๋ช ๋ น์ด ์ธํธ๋ก๋ IA-32(32๋นํธ)์ x86-64(64๋นํธ)๊ฐ ์์ต๋๋ค. ๋ง์ ์ํํธ์จ์ด ๋ฐ ์ด์ ์ฒด์ ๊ฐ x86 ์ํคํ ์ฒ๋ฅผ ์ง์ํ๊ณ ์์ต๋๋ค. x86 ์ํคํ ์ฒ ์ฝ๋ ARM ์ํคํ ์ฒ ARM ์ํคํ ์ฒ๋ ์ฃผ๋ก ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ ๋ฐ ์๋ฒ ๋๋ ์์คํ ์์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ํ ์ต๊ทผ์๋ ์ผ๋ถ ๋ ธํธ๋ถ ๋ฐ ์๋ฒ์์๋ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. AR.. 2023. 12. 29. 7 Thread in Software ์ํํธ์จ์ด ์ธก๋ฉด์์์ ์ค๋ ๋(Thread)๋ ํ๋ก์ธ์ค ๋ด์์ ์คํ๋๋ ๋ ๋ฆฝ์ ์ธ ์คํ ํ๋ฆ์ ๋ํ๋ ๋๋ค. ๊ฐ๊ฐ์ ์ค๋ ๋๋ ํ๋ก์ธ์ค ๋ด์์ ๊ณต์ ๋ ์์์ ๋ํ ๋ ๋ฆฝ์ ์ธ ์ฝ๋ ์คํ ํ๋ฆ์ ๊ฐ์ง๋ฉฐ, ์ด๋ค์ ์๋ก ๋ค๋ฅธ ์ค๋ ๋ ๊ฐ์ ๋ฐ์ดํฐ ๋ฐ ์์์ ๊ณต์ ํ ์ ์์ต๋๋ค. ์ด๋ ๋ฉํฐ์ค๋ ๋ฉ(Multithreading)์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ํต์ฌ์ ๋๋ค. ์ค๋ ๋์ ์ฃผ์ ๊ตฌ์ฑ์์ ํ๋ก๊ทธ๋จ ์นด์ดํฐ (Program Counter) ๊ฐ ์ค๋ ๋๋ ์คํ ์ค์ธ ์ฝ๋์ ์์น๋ฅผ ๋ํ๋ด๋ ํ๋ก๊ทธ๋จ ์นด์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๋ ๋ค์์ ์คํํ ๋ช ๋ น์ด์ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํต๋๋ค. ๋ ์ง์คํฐ (Registers) ์ค๋ ๋๋ ๋ ์ง์คํฐ ์ธํธ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋ ์ง์คํฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ผ์์ ์ผ๋ก ์ ์ฅํ๊ณ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ์ค๋ ๋ ๊ฐ ์ ํ ์ ํ.. 2023. 12. 28. 6 ํ๋ก์ธ์ค ์ํ์ ๊ณ์ธต ๊ตฌ์กฐ ํ๋ก์ธ์ค ์ํ๋ ์ปดํจํฐ ์์คํ ์์ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ด๋ ์์ ์ ํ์ฌ ์ํ๋ฅผ ๋ํ๋ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ๊ฐ์ง ์ํ๋ก ๋๋ ์ ์์ต๋๋ค. ์์ฑ(New): ํ๋ก์ธ์ค๊ฐ ์์ฑ๋๊ณ ์์ง ์ค์ผ์ค๋ง๋์ง ์์ ์ํ์ ๋๋ค. ์ค๋น(Ready): ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ํ ๋น๋ฐ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์ํ์ ๋๋ค. ์ด ์ํ์์๋ ๋ชจ๋ ํ์ํ ์์์ ํ ๋น๋ฐ์ ์คํ์ ์์ํ ์ ์๋ ์ํ์ ๋๋ค. ์คํ(Running): CPU๋ฅผ ํ ๋น๋ฐ์ ์ค์ ๋ก ์ฝ๋๊ฐ ์คํ๋๊ณ ์๋ ์ํ์ ๋๋ค. ํ๋ก์ธ์ค๊ฐ ์ด ์ํ์ ์๋ค๋ ๊ฒ์ ํ์ฌ CPU๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๋ ์๋ฏธ์ ๋๋ค. ๋๊ธฐ(Waiting ๋๋ Blocked): ํ๋ก์ธ์ค๊ฐ ์ด๋ค ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์ํ์ ๋๋ค. ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ํ๋ก์ธ์ค๋ ๋ค์ ์ค๋น ์ํ๋ก ์ ํ๋ฉ๋๋ค. ์ข ๋ฃ(Terminate.. 2023. 12. 28. 9 ๋ช ๋ น์ด ๋ณ๋ ฌ ์ฒ๋ฆฌ ๊ธฐ๋ฒ ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ์ฌ๋ฌ ๋ช ๋ น์ด๋ฅผ ์กฐํฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ๋งํฉ๋๋ค. ์ด๋ ๋ฆฌ๋ ์ค/์ ๋์ค ์ด์ ์ฒด์ ์์ ํํ ์ฌ์ฉ๋๋ฉฐ, ๊ฐ ๋ช ๋ น์ด๋ ํน์ ์์ ์ ์ํํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ๋ช ๋ น์ด๋ก ์ ๋ฌํฉ๋๋ค. ์ด๋ฌํ ์ฒ๋ฆฌ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์ ๋์ ์ด์ ๋ชจ๋ํ์ ์ฌ์ฌ์ฉ์ฑ: ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ๊ฐ ๋ช ๋ น์ด๊ฐ ํน์ ์์ ์ ๋ด๋นํ๋ฏ๋ก ๋ชจ๋ํ๊ฐ ์ฉ์ดํฉ๋๋ค. ๊ฐ๊ฐ์ ๋ช ๋ น์ด๋ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ๋ฐ, ํ ์คํธ ๋ฐ ์ ์ง๋ณด์ํ ์ ์๊ณ , ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ฐํธํ ์์ ํ๋ฆ ๊ตฌ์ฑ: ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ๋ฉด ๊ฐ๋จํ ๋ช ๋ น์ด๋ฅผ ์ฐ๊ฒฐํ์ฌ ๋ณต์กํ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ์ด๋ก์จ ์ฌ์ฉ์๋ ํ๋์ ๋ช ๋ น์ด๋ก ์ฌ๋ฌ ์์ ์ ํ ๋ฒ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๋น ๋ฅธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ: ๋ช ๋ น์ด ํ์ดํ๋ผ์ธ์ ๊ฐ ๋ช ๋ น์ด๊ฐ ๋ฐ์ดํฐ๋ฅผ.. 2023. 12. 28. 13 ์๋ธ๋ท (Subnet) IP ์ฃผ์๋ ๋คํธ์ํฌ ID์ ํธ์คํธ ID๋ก ๋๋ ์ ธ ์์ต๋๋ค. ๋คํธ์ํฌ ID๋ '์ด๋ค ๋คํธ์ํฌ'์ธ์ง๋ฅผ ๋ํ๋ด๊ณ , ํธ์คํธ ID๋ 'ํด๋น ๋คํธ์ํฌ์ ์ด๋ ์ปดํจํฐ'์ธ์ง ๋งํด์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ๊ฐ์ง ID๊ฐ ํฉ์ณ์ง๋ฉด IP ์ฃผ์๋ผ ๋ถ๋ฆฝ๋๋ค. ์ฆ, ์ด๋ค ๋คํธ์ํฌ, ์ปดํจํฐ์ธ์ง๋ฅผ ์ ํํ๊ฒ ๊ตฌ๋ถํ๊ธฐ ์ํด ๋ ๊ฐ์ง ID๋ก ๊ตฌ๋ถ๋๋ ๊ฒ์ด์ฃ . ๊ทธ๋ฐ๋ฐ IP์ฃผ์์์ ์ด๋ป๊ฒ ๋คํธ์ํฌ์ ํธ์คํธ ID๊ฐ ๊ตฌ๋ถ๋๊ณ ์์๊น์? ๋ฐ๋ก ํด๋์ค๋ผ๋ ๊ฐ๋ ์ด ์กด์ฌํฉ๋๋ค. A - ๋๊ท๋ชจ, B - ์คํ, C - ์๊ท๋ชจ ํด๋์ค๋ก ๋๋ฉ๋๋ค. D - ๋ฉํฐ์บ์คํธ, E - ์ฐ๊ตฌ ๋ฐ ํน์์ฉ๋ ์ฃผ์ ํด๋์ค๋ ์์ต๋๋ค. A ํด๋์ค : ์ฒ์ 8๋นํธ๊ฐ ๋คํธ์ํฌ ID, ๋๋จธ์ง 24๋นํธ๋ ํธ์คํธ ID 2. B ํด๋์ค : Bํด๋์ค์์๋ ์ฌ์ด์ข๊ฒ 16๋นํธ์ฉ ๋๋ ๊ฐ์ต๋๋ค. 3. .. 2023. 12. 27. 12 Network Layer (๋คํธ์ํฌ ๊ณ์ธต) ์ธ๊ณ ๊ณณ๊ณณ์๋ ๋ค์ํ ๋คํธ์ํฌ๊ฐ ์กด์ฌํ๋ฉฐ ์ด๋ค์ ์ํธ ์ฐ๊ฒฐ๋ผ ๊ฑฐ๋ํ ๊ท๋ชจ์ ์ธํฐ๋ท์ ํ์ฑํ๊ณ ์์ต๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ OSI ๋ชจ๋ธ์ 3๋ฒ ์งธ ๊ณ์ธต์ธ ๋คํธ์ํฌ ๊ณ์ธต์ ๋ํด์ ์์๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด๊ฒ ์ต๋๋ค. 1) ๋คํธ์ํฌ ๊ณ์ธต์์ ํ๋ ์ผ ์ง๋ ํฌ์คํ ์์ ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต์์๋ ์ด๋๋ท ๊ท์น์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค๊ณ ํ์ต๋๋ค. ์ด ๊ท์น์ ๋ฐ๋ผ A ์ปดํจํฐ๋ ๊ฐ์ ๋คํธ์ํฌ์ ์๋ B ์ปดํจํฐ์๊ฒ ์ค์์น๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ฌธ์ ๋ ์ฐ๋ฆฌ๊ฐ ์ด๊ณ ์๋ ์ง๊ตฌ๋ ๋๋ฌด๋ ๋๊ณ ๋ง์ ์ฌ๋๋ค์ด ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ธ๋ฅ๋ ๊ทธ๋ ๊ฒ ์๊ฒจ๋ ๋ง์ ๋คํธ์ํฌ๋ค์ ์ฐ๊ฒฐํ๊ณ ์ถ์ ์๋ง(or ํ์์ฑ)์ด ์๊ฒผ์ต๋๋ค. ์ด๋ ๊ฒ ์ด์ดํ ๋ง์ ๋คํธ์ํฌ๋ค์ ์ฐ๊ฒฐ์ํจ ํตํฉ์ฒด๊ฐ ๋ฐ๋ก ์ธํฐ๋ท์ ๋๋ค. ๋ค๋ฅธ ๋คํธ์ํฌ๊ฐ.. 2023. 12. 27. 8 Clock, Core and Thread (ํด๋ญ, ์ฝ์ด, ์ค๋ ๋) ์ปดํจํฐ์ ํต์ฌ ๋ถํ ์ค ํ๋์ธ CPU๋ ๋ค์ํ ๊ธฐ์ ์ ์ธ ์ธก๋ฉด์์ ๊ทธ ์ฑ๋ฅ์ ๊ฒฐ์ ์ง์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ CPU์ ์ฃผ์ ์์์ธ ํด๋ญ๊ณผ ์ฝ์ด ๊ทธ๋ฆฌ๊ณ ์ค๋ ๋์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. 1. ํด๋ญ (Clock) ์ปดํจํฐ ๋ชจ๋ ๋ถํ์ ์ผ์ฌ๋ถ๋ํ๊ฒ ์์ง์ผ ์ ์๊ฒ ํ๋ ์๊ฐ ๋จ์์ ๋๋ค. ํด๋ญ ์๋๋ ํค๋ฅด์ธ (Hz) ๋จ์๋ก ์ธก์ ํ๋ฉฐ 1Hz๋ 1์ด์ ํด๋ญ์ด ํ ๋ฒ ๋ฐ๋ณต๋ ๋์ ์ธก์ ๋จ์์ ๋๋ค. ์ฆ, ํด๋ญ์ด 1์ด์ 100๋ฒ ๋ฐ๋ณตํ๋ฉด 100Hz๊ฐ ๋ฉ๋๋ค. ์์ฆ ๋์ค๋ ์ปดํจํฐ๋ ์๋นํ ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ ์ธก์ ๋จ์๋ก ๊ธฐ๊ฐ ํค๋ฅด์ธ GHz๊ฐ ์ฃผ๋ก ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. ํด๋ญ ์๋๊ฐ ๋์์๋ก CPU๋ ๋น ๋ฅด๊ฒ ์๋ํ ์ ์์ต๋๋ค. ์ด๋ ์์ ์ ๋ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋์ด ์ ๋ฐ์ ์ธ ์์คํ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ํ์ง๋ง ๊ทธ๋ ๋ค๊ณ ํด๋ญ ์๋๋ฅผ ๋.. 2023. 12. 26. 3 Relational Database (feat. key, constraints) ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ ๊ฐ์๋ ๊ด๊ณ๊ฐ ์์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค์ ํ๋ฉด ํ๋์ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ๋ค๋ฅธ ํ ์ด๋ธ์ ๋ฐ์ดํฐ์ ์ฐ๊ฒฐ๋์ด ์ ๋ณด๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ด๊ณ๋ฅผ ํตํด ๋ฐ์ดํฐ ์ค๋ณต์ ์ต์ํํ๊ณ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์์ต๋๋ค. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ ๊ทํ๋ฅผ ํตํด ๋ฐ์ดํฐ ์ค๋ณต์ ์ต์ํํฉ๋๋ค. ์ด๋ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ์ต์ ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. tuple, attribute๋ ์ค๋ณต์ ๋ถํ tuple, attribute์ ์์๋ ์ค์ํ์ง ์๋ค attribute๋ atomic (ex. ์ข์ํ๋ ์๊น : ํ๋, ์ด๋ก ๋ถ๊ฐ๋ฅ ์ค์ง ํ๋์ ๊ฐ) relation(table)๋ด์์๋ ๊ฐ์ ์ด๋ฆ์ attribute๋ฅผ ๊ฐ์ง ์ ์๋ค prim.. 2023. 12. 23. ์ด์ 1 ยทยทยท 3 4 5 6 7 8 9 10 ๋ค์