Computer Science82 13 Hard disk & Flash memory (๋ณด์กฐ๊ธฐ์ต์ฅ์น) ํ๋ ๋์คํฌ(ํ๋ ๋๋ผ์ด๋ธ ๋๋ HDD)๋ ์ปดํจํฐ ์์คํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ฃผ์ ์ ์ฅ ์ฅ์น ์ค ํ๋์ ๋๋ค. ์ด๋ ์ ๊ธฐ์ ์ธ ๊ธฐ๊ณ์ ์ธ ์์คํ ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ๋นํ๋ฐ์ฑ์ผ๋ก ์ ์ฅํฉ๋๋ค. ์ฆ, ์ ์์ด ๊บผ์ ธ๋ ๋ฐ์ดํฐ๋ ๋ณด์กด๋ฉ๋๋ค. ํ๋๋์คํฌ์ ๊ตฌ์ฑ ํ๋ํฐ(Platter): ํ๋ ๋์คํฌ์๋ ํ๋ ์ด์์ ์ํ ๋์คํฌ๊ฐ ์์ต๋๋ค. ๊ฐ ๋์คํฌ๋ ๋งค์ฐ ์๊ฒ ๋ง๋ค์ด์ง ๊ธ์ ๋๋ ์ ๋ฆฌ ์ฌ์ง์ ํ๋ํฐ์ ๋๋ค. ํ๋ํฐ์ ํ๋ฉด์๋ ์๊ธฐ์ ์ผ๋ก ๊ธฐ๋ก๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ฉ๋๋ค. ํค๋(Head): ๊ฐ ํ๋ํฐ ์์๋ ์ฝ๊ธฐ/์ฐ๊ธฐ ์์ ์ ์ํํ๋ ํค๋๊ฐ ์์ต๋๋ค. ํค๋๋ ์ค์ ๋ก ํ๋ํฐ์ ํ๋ฉด์ ์ ์ดํ์ง ์๊ณ ์ฝ๊ฐ์ ๊ฐ๊ฒฉ์ ์ ์งํ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ธ ์ ์๋๋ก ์ค๊ณ๋์ด ์์ต๋๋ค. ์(Arm): ํค๋๋ ์์ ๋ถ์ฐฉ๋์ด ์์ต๋๋ค. ์์.. 2024. 1. 5. 9 Process Synchronization (ํ๋ก์ธ์ค ๋๊ธฐํ) ํ๋ก์ธ์ค ๋๊ธฐํ๋ ๋ค์ค ํ๋ก์ธ์ค ๋๋ ์ค๋ ๋๊ฐ ํจ๊ป ๊ณต์ ๋ ์์์ ๋์์ ์ ๊ทผํ ๋ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ธฐ์ ์ด๋ฉฐ ์ค๋ ๋ ์ญ์ ๋๊ธฐํ์ ๋์์ด์ง๋ง ํธ์์ ํ๋ก์ธ์ค์ ์ค๋ ๋๋ฅผ ํฉ์ณ์ ํ๋ก์ธ์ค ๋๊ธฐํ๋ผ๊ณ ํฉ๋๋ค. ์ฆ, ํ๋ก์ธ์ค๋ค์ด ์ง์ ์์ด ์คํ๋๋ค๋ฉด ์์คํ ์ค๋ฅ๊ฐ ์ผ์ด๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํ๋ก์ธ์ค๋ค์ ์ํ ์๊ธฐ๋ฅผ ๋ง์ถ๋ ๊ฒ์ด ํ์ํ๋ฉฐ ํ๋ก์ธ์ค ๋๊ธฐํ๋ ์ํธ ๋ฐฐ์ ์ ์์ ๋ณด์ฅ์ ์์น์ ๊ธฐ๋ฐํฉ๋๋ค. ์ํธ ๋ฐฐ์ (Mutual Exclusion) ์ค์ง ํ๋์ ํ๋ก์ธ์ค๋ง์ด ๊ณต์ ์์์ ์ ๊ทผํ ์ ์๋๋ก ํ๋ ์์น์ ๋๋ค. Critical Section(์๊ณ ์์ญ)์ด๋ผ ๋ถ๋ฆฌ๋ ์ฝ๋ ์์ญ์์๋ ํ ๋ฒ์ ํ๋์ ํ๋ก์ธ์ค๋ง์ด ์คํ๋์ด์ผ ํฉ๋๋ค. ์์ 1) Bank account problem.. 2023. 12. 31. 12 Cache Memory (์บ์ ๋ฉ๋ชจ๋ฆฌ) ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ปดํจํฐ ์์คํ ์ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์ค์ํ ์์ ์ค ํ๋์ ๋๋ค. ์ฃผ๋ก ํ๋ก์ธ์์ ์ฃผ ๊ธฐ์ต์ฅ์น(์ฃผ ๋ฉ๋ชจ๋ฆฌ) ๊ฐ์ ์๋ ์ฐจ์ด๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ฃผ๋ก ๋น ๋ฅธ ์๋๋ก ์ ๊ทผํ ์ ์๋ ์์ ์ฉ๋์ ๋ฉ๋ชจ๋ฆฌ์ ๋๋ค. ์ด๋ฅผ ํตํด ํ๋ก์ธ์๊ฐ ๋ ๋น ๋ฅด๊ฒ ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์์ด ์ ๋ฐ์ ์ธ ์์คํ ์ฑ๋ฅ์ด ํฅ์๋ฉ๋๋ค. ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์ข ๋ฅ ๋ ๋ฒจ 1 ์บ์(L1 Cache): ํ๋ก์ธ์์ ๋ด์ฅ๋ ๊ฐ์ฅ ๋น ๋ฅธ ์บ์๋ก, ์๋์ ๋ฐ์ดํฐ์ ๋ช ๋ น์ด๋ฅผ ์ ์ฅํฉ๋๋ค. ๋ ๋ฒจ 2 ์บ์(L2 Cache): L1 ์บ์๋ณด๋ค ํฌ๊ณ ๋๋ฆฌ์ง๋ง ์ฌ์ ํ ๋น ๋ฅธ ์บ์๋ก, ์ฌ๋ฌ ์ฝ์ด๊ฐ ๊ณต์ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ ๋ฒจ 3 ์บ์(L3 Cache): ๋ ํฌ๊ณ ๋๋ฆฐ ์บ์๋ก, ์ฌ๋ฌ ์ฝ์ด ์ฌ์ด์์ ๊ณต์ ๋ฉ๋๋ค. L3 ์บ์๋ฉ๋ชจ๋ฆฌ๋.. 2023. 12. 31. 18 Network full flow 1) ์์ฉ ๊ณ์ธต: ์ดํ๋ฆฌ์ผ์ด์ ๋ฑ์์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ์ก์์ ํ๋๋ฐ ํ์ ex) HTTP, DNS, SMTP, POP3 2) ์ ์ก ๊ณ์ธต: ๋ชฉ์ ์ง์ ์ ํํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋๋ฐ ํ์ (Port Number) ex) TCP, UDP 3) ๋คํธ์ํฌ ๊ณ์ธต: ๋ค๋ฅธ ๋คํธ์ํฌ์ ์๋ ๋ชฉ์ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋๋ฐ ํ์ ex) IP address 4) ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต: ๋์์ ๋ฐ์ดํฐ๋ฅผ ์ก์์ ํ๋๋ฐ ํ์ ex) MAC address 5) ๋ฌผ๋ฆฌ ๊ณ์ธต: ๋ฐ์ดํฐ๋ฅผ ์ ๊ธฐ ์ ํธ๋ก ๋ณํํ๋๋ฐ ํ์ A ์ปดํจํฐ์์ ์น ์๋ฒ์ ์์ฒญ์ ํ๋๋ฐ ์ค๊ฐ์ ์ค์์น์ ๋ผ์ฐํฐ๊ฐ ์๋ค๊ณ ๊ฐ์ ํด๋ณด๊ณ ๋ฐ์ดํฐ์ ํ๋ฆ์ ํ์ธํด๋ณด๊ฒ ์ต๋๋ค. ์ ์ฒด์ ์ธ ๋ฐ์ดํฐ์ ํ๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. A ์ปดํจํฐ์์ ๋ฐ์ดํฐ๋ ์บก์ํ๋ ๋ค์ ์ ๊ธฐ์ ํธ๋ฅผ ํตํด ์ค์์นA๋ก ์ด๋... .. 2023. 12. 31. 17 DNS (feat. SMTP & POP3) DNS(๋๋ฉ์ธ ์ด๋ฆ ์์คํ )์ ์ธํฐ๋ท์์ ์ฌ์ฉ๋๋ ๋๋ฉ์ธ ์ด๋ฆ๊ณผ IP ์ฃผ์๋ฅผ ๋งคํํ๋ ์ญํ ์ ํ๋ ์์คํ ์ ๋๋ค. ๊ฐ ์น์ฌ์ดํธ๋ง๋ค ์๋ฒ๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ IP ์ฃผ์๊ฐ ๋ค ๋ค๋ฆ ๋๋ค. ๊ทธ๋ฐ๋ฐ IP ์ฃผ์๋ ์ซ์๋ก ๊ตฌ์ฑ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ฌ๋๋ค์ด ์ฝ๊ฒ ๊ธฐ์ตํ ์๊ฐ ์๊ธฐ ๋๋ฌธ์ DNS๊ฐ ๋์ ๋์์ต๋๋ค. ์ฆ, DNS๋ ์ฌ์ฉ์๊ฐ ์ฝ๊ธฐ ์ฝ๊ณ ์ดํดํ๊ธฐ ์ฌ์ด ๋๋ฉ์ธ ์ด๋ฆ(์: http://www.google.com)์ ์ปดํจํฐ๊ฐ ์ดํดํ๊ธฐ ์ฌ์ด IP ์ฃผ์(์: 192.168.1.1)๋ก ๋ณํํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ฉ์ธ ์ด๋ฆ ์์ www๋ ํธ์คํธ ์ด์ด๋ผ๊ณ ํฉ๋๋ค. DNS๋ ์ ์ฒด์ ์ผ๋ก ๊ณ์ธต ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๋ค์ํ ์ญํ ์ ํ๋ ์ฌ๋ฌ ์ ํ์ DNS ์๋ฒ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋ฃจํธ DNS ์๋ฒ: ์ธํฐ๋ท์ ๊ฐ์ฅ ์์์ ์์นํ๋ฉฐ, ๋ชจ๋ DNS.. 2023. 12. 31. 16 Application Layer outline (feat. WEB) ์ง๋ ํฌ์คํ ์์ ๋ค๋ค๋ ์ด์ก ๊ณ์ธต์์๋ ์ถ๋ฐ์ง์ ๋์ฐฉ์ง์ Port๋ฅผ ์ ํ๋ค๊ณ ํ์์ต๋๋ค. ์์ฉ ๊ณ์ธต์์๋ Port๊ฐ ์ด๋ค Application์ ๋งํ๋์ง ์ ํ๋ ์ญํ ์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ๊ตฌ๊ธ์ ๋ค์ด๊ฐ๋ค๊ณ ํด๋ด ์๋ค. ์ด๋ '๊ตฌ๊ธ์ด๋ผ๋ ์๋น์ค๋ฅผ ์์ฒญ(=Client)'ํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ชฝ๋ ์๊ฒ ์ฃ . ๋ฐ๋ก 'Server'์ ๋๋ค. ์ด๋ ๊ฒ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์๋ฒ๋ ์น ๋ธ๋ผ์ฐ์ ๋ฟ ๋ง ์๋๋ผ ๋ฉ์ผ ์๋ฒ, ํ์ผ ์๋ฒ์ ๊ฐ์ด ๋ค์ํ ์๋ฒ๋ค์ด ์กด์ฌํฉ๋๋ค. ์ด๋ฌํ ์ดํ๋ฆฌ์ผ์ด์ ๋ค์ด ์์ฉ๊ณ์ธต์์ ๋์ํ๊ฒ ๋ฉ๋๋ค. ์ฆ, ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํด ํ์ํ ๊ณ์ธต์ ๋๋ค. ์ฃผ์ ์์ฉ ๊ณ์ธต ํ๋กํ ์ฝ HTTP (Hypertext Transfer Protocol) ์น ๋ธ.. 2023. 12. 31. 15 Sequence & Acknowledgement number (์ผ๋ จ๋ฒํธ์ ํ์ธ์๋ต๋ฒํธ) TCP ํค๋ ๋ด์ฉ์ ๋ณด๋ฉด ์ผ๋ จ๋ฒํธ(sequence number)์ ํ์ธ ์๋ต ๋ฒํธ(acknowlegement number)๊ฐ ์์ต๋๋ค. TCP๋ ๋ฐ์ดํฐ๋ฅผ ๋ถํ ํด์ ๋ณด๋ด๋๋ฐ ์ผ๋ จ๋ฒํธ๋ ์์ ์ธก์ ๋ฐ์ดํฐ์ ๋ฒํธ๋ฅผ ์๋ ค์ฃผ๋ ์ญํ ์ ํ๊ณ ์๋ต ๋ฒํธ๋ ์์ ์ธก์ด ๋ช ๋ฒ์งธ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋์ง ์ก์ ์ธก์ ์๋ ค์ฃผ๋ ์ญํ ์ ํฉ๋๋ค. ์ด ๋ฒํธ๋ ๋ค์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋๋ฐ ๋ ์ฌ์ฉ๋ฉ๋๋ค. 1) ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ ์ผ๋ จ๋ฒํธ 100๋ฒ๊ณผ ํ์ธ ์๋ต ๋ฒํธ 200๋ฒ์ด ๊ฒฐ์ 2) ์์ ์ธก์์ 200๋ฒ์ ์ผ๋ จ๋ฒํธ๋ก ๋ฐ์ ๋ฐ์ดํฐ 200๊ณผ 100์ ๋ํด 300๋ฒ ๋ฐ์ดํฐ ์์ฒญ 3) ์ก์ ์ธก์์ ์ผ๋ จ๋ฒํธ๋ก 300๋ฒ๊ณผ ํ์ธ ์๋ต ๋ฒํธ 200๋ฒ์ ์์ ์ธก์ ์ ์ก 4) ์์ ์ธก์์ 300๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๋ค๊ณ ์ผ๋ จ๋ฒํธ 200๋ฒ๊ณผ 500๋ฒ์ ํ์ธ ์๋ต.. 2023. 12. 30. 14 Transport Layer (Feat. TCP, UDP) ์ ์ก๊ณ์ธต(Transport Layer)์ OSI ๋ชจ๋ธ์ 4๋ฒ์งธ ๊ณ์ธต์ผ๋ก, ๋ฐ์ดํฐ์ ์ ์ก์ ๊ด๋ฆฌํ๊ณ ์ก์ ์์ ์์ ์ ๊ฐ์ ์ ๋ขฐํ ์ ์๋ ํต์ ์ ์ ์ดํ๋ ์ญํ ์ ํฉ๋๋ค. ์ ์ก๊ณ์ธต์ ํน์ง 1) ์ ๋ขฐ์ฑ/์ ํ์ฑ - TCP(์ฐ๊ฒฐํ ํต์ ) ์ฐ๊ฒฐํ ํต์ ์์๋ ๋ฐ์ดํฐ ์ ์ก ์ ์ ๋จผ์ ์ก์ ์์ ์์ ์ ๊ฐ์ ์ฐ๊ฒฐ์ ์ค์ ํฉ๋๋ค. ์ด๋ ์ธ์ ์ ์๋ฆฝํ๋ ๊ณผ์ ์ผ๋ก, ์ก์ ์์ ์์ ์ ๊ฐ์ ์ ๋ขฐ์ฑ ์๋ ํต์ ์ ์ํด ํ์ํฉ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ํด ์บก์ํ ๊ณผ์ ์์ ์ ์ก ๊ณ์ธต์ ํค๋๊ฐ TCP๊ฐ ๋ถ์ผ๋ฉด Segment๋ผ๊ณ ํฉ๋๋ค. TCP์ ํน์ง์ ์ ๋ขฐ์ฑ๊ณผ ์ ํ์ฑ์ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ค๋ฉด ์ฐ๊ฒฐ(Connection)์ด๋ผ๋ ๊ฐ์์ ๋ ์ ํต์ ๋ก๊ฐ ํ๋ณด๋์ผ ํฉ๋๋ค. TCP ํค๋ ์์ ์ฝ๋ ๋นํธ๋ 6๋นํธ๋ก ๋์ด ์์ต๋๋ค. ์ฌ๊ธฐ์ SYN์ ์ด.. 2023. 12. 30. 8 CPU Scheduling CPU ์ค์ผ์ค๋ง์ ์ด์ ์ฒด์ ์์ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ๊ณต์ ํ์ฌ ์คํ๋ ๋, ์ด๋ค ์์๋ก CPU๋ฅผ ํ ๋นํ ์ง ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ์ด๋ ์ ์ฑ ์ ์๋ฏธํฉ๋๋ค. ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๋์์ ์คํ๋ ์ ์๋ ํ๊ฒฝ์์ CPU ์ค์ผ์ค๋ฌ๋ ํ๋ก์ธ์ค ๊ฐ์ ๊ฒฝ์์ ์กฐ์ ํ๊ณ ํจ์จ์ ์ผ๋ก CPU๋ฅผ ํ์ฉํ๊ธฐ ์ํ ์ผ๋ จ์ ๊ท์น๊ณผ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํฉ๋๋ค. CPU ์ค์ผ์ค๋ง์ ๋ชฉํ ๊ณตํ์ฑ(Fairness): ๋ชจ๋ ํ๋ก์ธ์ค์๊ฒ ๊ณตํํ ์คํ ๊ธฐํ๋ฅผ ์ ๊ณตํ์ฌ, ์ด๋ค ํ๋ก์ธ์ค๋ ์ง๋์น๊ฒ ์ํํ ๋ฐ์ง ์๋๋ก ํฉ๋๋ค. ์ฒ๋ฆฌ๋(Maximum Throughput): ๋จ์ ์๊ฐ๋น ์ต๋ํ ๋ง์ ํ๋ก์ธ์ค๋ฅผ ์คํํ์ฌ ์์คํ ์ ์ฒ๋ฆฌ๋์ ๊ทน๋ํํฉ๋๋ค. ๋๊ธฐ ์๊ฐ ์ต์ํ(Minimizing Waiting Time): ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ ์ต์ํํ์ฌ ์๋ต ์๊ฐ์ .. 2023. 12. 30. ์ด์ 1 2 3 4 5 6 7 8 ยทยทยท 10 ๋ค์