๐ช CS (17) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ CPU Scheduling์ด ๋ญ๊ฐ์? CPU ์ค์ผ์ค๋ง์ ์๊ธฐ ์ , ํ๋ก์ธ์ค ๊ด๋ฆฌ์ ๋ํด ์์์ผ ํฉ๋๋ค! ํ๋ก์ธ์ค ๊ด๋ฆฌ๋? ์ด์์ฒด์ ์์ ์๋ํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ ์ ๋๋ค. ์ด๋ค ์๋ฏธ์์๋ ํ๋ก์ธ์(CPU) ๊ด๋ฆฌํ๋ ๊ฒ์ด๋ผ๊ณ ๋ณผ ์๋ ์์ต๋๋ค. ํ์ฌ CPU๋ฅผ ์ ์ ํด์ผ ํ ํ๋ก์ธ์ค๋ฅผ ๊ฒฐ์ ํ๊ณ , ์ค์ ๋ก CPU๋ฅผ ํ๋ก์ธ์ค์ ํ ๋นํ๋ฉฐ, ์ด ํ๋ก์ธ์ค ๊ฐ ๊ณต์ ์์ ์ ๊ทผ๊ณผ ํต์ ๋ฑ์ ๊ด๋ฆฌํ๊ฒ ๋ฉ๋๋ค. ํ๋ก์ธ์ค : ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ ์์์ ์คํ์ค์ธ ์์ ์ค๋ ๋ : ํ๋ก์ธ์ค ์์์ ์คํ๋๋ ์ฌ๋ฌ ํ๋ฆ ๋จ์ ์ ๋ฆฌํ์๋ฉด, ์๋์ ๊ฐ์ ๋ด๋น์ ๋งก๋ ๊ธฐ๋ฅ์ ๋๋ค๐ ํ๋ก์ธ์ค ์ค์ผ์ค๋ง ๋ฐ ๋๊ธฐํ ๊ด๋ฆฌ ๋ด๋น ํ๋ก์ธ์ค ์์ฑ๊ณผ ์ ๊ฑฐ, ์์๊ณผ ์ ์ง, ๋ฉ์์ง ์ ๋ฌ ๋ฑ์ ๊ธฐ๋ฅ ๋ด๋น ๊ด๋ฆฌ ์ข ๋ฅ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ํ๋ก์ธ์ค, ์ค๋ ๋ ์ค์ผ์ค๋ง ๋๊ธฐํ IPC ํต์ ์ด ์ค ์ค.. ํธ๋์ญ์ ์ด ๋ญ๊ฐ์? Transaction์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ ์ ๋จ์ ์ฆ, ์ฌ๋ฌ ๊ฐ์ ์ฟผ๋ฆฌ๋ค์ ํ๋๋ก ๋ฌถ๋ ๋จ์๋ฅผ ๋งํฉ๋๋ค ๐โ๏ธ ๋ ผ๋ฆฌ์ ์ธ ์ด์ ๋ก ์ฌ๋ฌ SQL๋ฌธ๋ค์ ๋จ์ผ ์์ ์ผ๋ก ๋ฌถ์ด์ ๋๋ ์ง ์ ์๊ฒ ๋ง๋ ๊ฒ์ ๋๋ค. database ์ฟผ๋ฆฌ๋ฌธ ๋ ๊ฐ๊ฐ ์ ์ ์ฒ๋ฆฌ๋์ด์ผ๋ง ์ฑ๊ณตํ๋ ๋จ์ผ ์์ transaction์ SQL๋ฌธ๋ค ์ค์ ์ผ๋ถ๋ง ์ฑ๊ณตํด์ DB์ ๋ฐ์๋๋ ์ผ์ ์ผ์ด๋์ง ์์ต๋๋ค. ์ผ๋ฐ์ ์ธ transaction ์ฌ์ฉ ํจํด transaction์ ์์(begin) ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ฐ๋ ๋ฑ์ SQL๋ฌธ๋ค์ ํฌํจํด์ ๋ก์ง์ ์ํ ์ผ๋ จ์ ๊ณผ์ ๋ค์ ๋ฌธ์ ์์ด ๋์ํ๋ค๋ฉด transaction์ commit ์ค๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค๋ฉด transaction์ rollback ์ปค๋ฐ(commit) ์ฌ๋ฌ ์ฟผ.. CPU์ ๋ฉ๋ชจ๋ฆฌ ์ด์์ฒด์ (OS, Operating System) ๊ฐ ๋ญ๊ฐ์? ์ฌ์ฉ์๊ฐ ์ปดํจํฐ๋ฅผ ์ฝ๊ฒ ๋ค๋ฃจ๊ฒ ํด์ฃผ๋ ์ธํฐํ์ด์ค์ ๋๋ค. ํ์ ๋ ๋ฉ๋ชจ๋ฆฌ๋ ์์คํ ์์์ ํจ์จ์ ์ผ๋ก ๋ถ๋ฐฐํด์ฃผ๊ณ , ํ๋์จ์ด์ ์ํํธ์จ์ด๋ฅผ ๊ด๋ฆฌํฉ๋๋ค ๐โ๏ธ ์ด์์ฒด์ ์ ์ญํ ์ ์ด๋ป๊ฒ ๋ ๊น์? CPU ์ค์ผ์ค๋ง๊ณผ ํ๋ก์ธ์ค ๊ด๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋์คํฌ ํ์ผ ๊ด๋ฆฌ I/O ๋๋ฐ์ด์ค ๊ด๋ฆฌ ์ด์์ฒด์ ์ ๊ตฌ์กฐ๋ ์ด๋ป๊ฒ ๋ ๊น์? GUI ์์คํ ์ฝ ์ปค๋ ๋๋ผ์ด๋ฒ ์ด ์ค ์ฐ๋ฆฌ๋ ์ค๋ CPU์ ๋ฉ๋ชจ๋ฆฌ์ ๋ํด ์์๋ณผ ์์ ์ ๋๋ค ๐ง ์ปดํจํฐ์ ์์ CPU, DMA ์ปจํธ๋กค๋ฌ, ๋ฉ๋ชจ๋ฆฌ, ํ์ด๋จธ, ๋๋ฐ์ด์ค ์ปจํธ๋กค๋ฌ ๋ฑ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ์ฌ๊ธฐ์ CPU๋ ๊ณ์ฐ ๋ด๋น์, ๋ฉ๋ชจ๋ฆฌ๋ ๊ธฐ์ต ๋ด๋น์ ํ๋ค๊ณ ์ดํดํ๋ฉด ๋๊ฒ ์ต๋๋ค๐ 1. CPU(Central Processing Unit) CPU๋ ์ค.. HTTP๊ฐ ๋ญ๊ฐ์? - ์น์ ์๋ต ๊ณผ์ ๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค. ๋ด๊ฐ ๋ง๋ ์ฟ ํค ๋๋ฅผ ์ํด ๊ตฌ์ ์ง ๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค. ํธ๋์ญ์ ๊ณผ ๋ฌด๊ฒฐ์ฑ ํธ๋์ญ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ ์ ๋จ์ ์ฌ๋ฌ ๊ฐ์ ์ฟผ๋ฆฌ๋ค์ ํ๋๋ก ๋ฌถ๋ ๋จ์ ACID ํน์ง ํธ๋์ญ์ ์ ๋ํ ํน์ง์ผ๋ก ์์์ฑ, ์ผ๊ด์ฑ, ๋ ๋ฆฝ์ฑ, ์ง์์ฑ์ด ์๋ค. 1. ์์์ฑ(atomicity) "all or nothing" ํธ๋์ญ์ ๊ณผ ๊ด๋ จ๋ ์ผ์ด ๋ชจ๋ ์ํ๋์๊ฑฐ๋ ๋์ง ์์๊ฑฐ๋๋ฅผ ๋ณด์ฅํ๋ ํน์ง ์๋ฅผ ๋ค์ด ํธ๋์ญ์ ์ ์ปค๋ฐํ๋๋ฐ, ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ ๋กค๋ฐฑํ๋ ๊ฒฝ์ฐ ๊ทธ ์ดํ์ ๋ชจ๋ ์ํ๋์ง ์์์ ๋ณด์ฅํ๋ ๊ฒ ํธ๋์ญ์ ๋จ์๋ก ์ฌ๋ฌ ๋ก์ง๋ค์ ๋ฌถ์ ๋ ์ธ๋ถ API๋ฅผ ํธ์ถํ๋ ๊ฒ์ด ์์ผ๋ฉด ์ ๋๋ค. ๋ง์ฝ ์๋ค๋ฉด ๋กค๋ฐฑ์ด ์ผ์ด๋ฌ์ ๋ ์ด๋ป๊ฒ ํด์ผ ํ ๊ฒ์ธ์ง์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ด์ผ ํ๊ณ ํธ๋์ญ์ ์ ํ๋ฅผ ์ ๊ฒฝ ์จ์ ๊ด๋ฆฌํด์ผ ํ๋ค. ์ปค๋ฐ๊ณผ ๋กค๋ฐฑ ์ปค๋ฐ(commit) : ์ฌ๋ฌ ์ฟผ๋ฆฌ๊ฐ ์ฑ๊ณต์ ์ผ๋ก .. ๋น์ ํ ์๋ฃ ๊ตฌ์กฐ ๋น์ ํ ์๋ฃ ๊ตฌ์กฐ ์ง๋ฌธ ํด์ํ ์ด๋ธ๊ณผ ์ด์ง ๊ฒ์ํธ๋ฆฌ๋ฅผ ๋น๊ตํ๊ณ ์ฅ๋จ์ ์ ์ด์ผ๊ธฐํด์ฃผ์ธ์. ๊ทธ๋ฆฌ๊ณ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ ํ๋ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์ฉ ์ฃผ์๋ก์ ์ฌ์ฉํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ๋ค๋ฉด ์ด๋์ชฝ์ ์ฐ๋๊ฒ์ด ์ข์๊น์? ํด์ํ ์ด๋ธ์ ํค์ ๊ฐ์ผ๋ก ์ด๋ฃจ์ด์ง ์์ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ฉฐ, ํด์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ์ ์ฅํ๊ฑฐ๋ ๊ฒ์ํฉ๋๋ค. ํ๊ท ์ ์ผ๋ก ์์ ์๊ฐ์ ์ฝ์ , ์ญ์ , ๊ฒ์์ด ๊ฐ๋ฅํ์ง๋ง, ์ต์ ์ ๊ฒฝ์ฐ์๋ ์ ํ ์๊ฐ์ผ๋ก ๋๋ ค์ง ์ ์์ต๋๋ค. ์ด์ง ๊ฒ์ํธ๋ฆฌ๋ ๊ฐ ๋ ธ๋๊ฐ ํค์ ๊ฐ์ผ๋ก ์ด๋ฃจ์ด์ง ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ์ด๋ฉฐ, ์ผ์ชฝ ์๋ธํธ๋ฆฌ๋ ๋ถ๋ชจ ๋ ธ๋์ ํค๋ณด๋ค ์์ ๊ฐ์ผ๋ก, ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ๋ ๋ถ๋ชจ ๋ ธ๋์ ํค๋ณด๋ค ํฐ ๊ฐ์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค. ํ๊ท ์ ์ผ๋ก O(log n)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ฉฐ, ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ ฌ๋ ์์๋ก ์ป์ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ํด์ํ ์ด๋ธ๋ณด๋ค.. ๋คํธ์ํฌ (4๊ณ์ธต, TCP/IP, PDU, ๋ก๋๋ฐธ๋ฐ์) ์ธํฐ๋ท ํ๋กํ ์ฝ ์ค์ํธ (Internet protocol suite) : ์ธํฐ๋ท์์ ์ปดํจํฐ๋ค์ด ์๋ก ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ ์ฐ์ด๋ ํ๋กํ ์ฝ์ ์งํฉ ์ด๋ฅผ TCP/IP 4๊ณ์ธต ๋ชจ๋ธ๋ก ์ค๋ช ํ๊ฑฐ๋ OSI 7๊ณ์ธต ๋ชจ๋ธ๋ก ์ค๋ช ํ๊ธฐ๋ ํ๋ค. TCP/IP 4๊ณ์ธต ๋ชจ๋ธ ๋คํธ์ํฌ์์ ์ฌ์ฉ๋๋ ํต์ ํ๋กํ ์ฝ์ ์งํฉ ๊ณ์ธต๋ค์ ํ๋กํ ์ฝ์ ๋คํธ์ํน ๋ฒ์์ ๋ฐ๋ผ 4๊ฐ์ ์ถ์ํ ๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ๋๋ค. TCP/IP (TransmissionControl Protocol / Internet Protocol) ์ธํฐ๋ท ํต์ ์ ๊ธฐ๋ฐ์ด ๋๋ ํ๋กํ ์ฝ๋ก ์ด๋ฅผ ์ด์ฉํด ์ปดํจํฐ๋ฅผ ์ฐ๊ฒฐํ๋ ์ฒด๊ณ๋ฅผ ์ด๋๋ท(Ethernet)์ด๋ผ ํ๋ค. 1.1. ๊ณ์ธต ๊ตฌ์กฐ ๋น๊ต ![[Pasted image 20230109171901.png]] TCP/IP 4๊ณ์ธต 1 Layer : .. ์ด์ 1 2 3 ๋ค์