์ ์ฒด ๊ธ135 Steve Jobs Stanford Commencement Speech 2005 Life is unpredictable, and it may not always follow a linear path. Trust that the seemingly unrelated experiences will make sense in the future. Embrace curiosity and intuition, as they can lead to valuable discoveries later in life. It definitely turned out to be priceless later on. So you have to trust that the dots will somehow connect in your future. You have to trust in something- your gut,.. 2024. 1. 2. 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. 4 Operation (์ฐ์ฐ) ์๋ฐ์์ ์ฐ์ฐ์(Operators)๋ ํ๋ก๊ทธ๋จ์์ ๋ณ์๋ ๊ฐ๋ค ๊ฐ์ ์ํ๋๋ ๋์์ ๋ํ๋ ๋๋ค. ์ฐ์ฐ์๋ ํน์ ํ ์ฐ์ฐ์ ์ํํ๊ฑฐ๋ ๊ฐ์ ์กฐ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ฐ์ฐ์๋ ํผ์ฐ์ฐ์(Operands)๋ผ ๋ถ๋ฆฌ๋ ํ๋ ์ด์์ ๊ฐ์ ํ์๋ก ํ๋ฉฐ, ํผ์ฐ์ฐ์์ ์ฐ์ฐ์ ๊ฐ์ ์กฐํฉ์ผ๋ก ํํ์์ ํ์ฑํฉ๋๋ค. ์ฐ์ฐ์์ ์ฌ๋ฌ๊ฐ์ง ์ข ๋ฅ 1. ์ฆ๊ฐ ์ฐ์ฐ์ (Increment, Decrement Operators) ์ฆ๊ฐ ๋ฐ ๊ฐ์ ์ฐ์ฐ์๋ ๋ฐ๋ณต๋ฌธ์์ ์์ฃผ ์ฌ์ฉ๋๋ฉฐ, ๋ณ์์ ๊ฐ์ ์ฆ๊ฐ์ํค๊ฑฐ๋ ๊ฐ์์ํฌ ๋ ํธ๋ฆฌํ๊ฒ ํ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์ฉํ ๋ ์ฃผ์๊ฐ ํ์ํ๋ฉฐ, ํนํ ๋ค๋ฅธ ์ฐ์ฐ์์ ํจ๊ป ์ฌ์ฉ๋ ๋ ์ฐ์ ์์์ ์ฃผ์ํด์ผ ํฉ๋๋ค. 2. ์ฐ์ ์ฐ์ฐ์ (Arithmetic Operators) 3. ๋น๊ต ์ฐ์ฐ์ (Comparison Op.. 2023. 12. 30. ์ด์ 1 ยทยทยท 7 8 9 10 11 12 13 ยทยทยท 15 ๋ค์