
๋ฐ์ดํฐ๋ฅผ ๋ง๋๋ ์ชฝ๊ณผ ์ฐ๋ ์ชฝ์ด ๋ฒํผ๋ฅผ ์ฌ์ด์ ๋๊ณ ํ๋ ฅํฉ๋๋ค. ๋ฒํผ ์นธ ์๊ฐ ์ ํด์ ธ ์์ด์ bounded buffer problem์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.์ฌ๊ธฐ์ ์ง์ผ์ผ ํ ๊ฒ์ด ์ธ ๊ฐ์ง์ ๋๋ค.์์ฐ์๋ ๋ฒํผ๊ฐ ๊ฝ ์ฐจ๋ฉด ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค์๋น์๋ ๋ฒํผ๊ฐ ๋น๋ฉด ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค๋์ด ๊ฐ

์ ๋ ฌ๋ ๋ฆฌ์คํธ์์๋ ์ด์ง ํ์์ผ๋ก O(log n)์ ์ฐพ์ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ ์ฝ์ ์ ๋๋ค. ์ค๊ฐ์ ๊ฐ์ ๋ผ์ ๋ฃ์ผ๋ ค๋ฉด ๋ค๋ฅผ ์ ๋ถ ๋ฐ์ด์ผ ํด์ O(n)์ด ๋ญ๋๋ค.์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ๋ฐ๋์ ๋๋ค. ์๋ฆฌ๋ง ์๋ฉด ์ฝ์ ์ O(1)์ธ๋ฐ, ์ค๊ฐ์ผ๋ก ๊ฑด๋๋ธ ์ ์์ด ํ์์ด O(n)์ ๋๋ค.์ด

ํธ๋ฆฌ ์์ฒด๋ ์์ ์์ ์ ํ์ด ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์์์ด ์ , ๋ท์ด ๋๋ฉด ์ฝ์ ๊ณผ ์ญ์ ์์ ๋ฐ์ ธ์ผ ํ ๊ฒฝ์ฐ๊ฐ ๊ธ๊ฒฉํ ๋์ด๋ฉ๋๋ค. ์ด๋ ์๋ฆฌ์ ๋ฃ์์ง, ์ง์ด ๋ค ๋จ์ ์์๋ค์ ์ด๋ป๊ฒ ์ฌ๋ฐฐ์นํ ์ง๊ฐ ๋ชจ๋ ๋ถ๊ธฐ๊ฐ ๋ฉ๋๋ค.์์์ ๋๋ก ๋ฌถ์ด ๋๋ฉด "์ผ์ชฝ ์๋๋ฉด ์ค๋ฅธ์ชฝ" ๋ ๊ฒฝ์ฐ๋ง ๋จ

์ก์ ์ธก์ congestion window(ํผ์ก ์๋์ฐ, cwnd)๋ผ๋ ๋ณ์๋ฅผ ํ๋ ๋ก๋๋ค. ํ์ธ๋ฐ์ง ๋ชปํ ์ฑ ๋คํธ์ํฌ์ ๋ ์์ด๋ ๋๋ ๋ฐ์ดํธ ์์ ๋๋ค. ์ ์ก ์๋๋ ๋๋ต ๋ค์๊ณผ ๊ฐ์ต๋๋ค.cwnd๋งํผ ๋ณด๋ด๊ณ ํ ๋ฐํด ๋์์ค๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ฏ๋ก, RTT๋น cwnd๋งํผ ๋๊ฐ๋

์ปดํจํฐ์์ ๋ฐ์ดํฐ๋ฅผ ๊ณ ์น๋ ์ผ์ ํ ๋ฒ์ ๋๋์ง ์์ต๋๋ค. ์ ์ฅ์์์ ๊ฐ์ ์ฝ์ด์ค๊ณ , ์ฐ์ฐํ๊ณ , ๋ค์ ์จ ๋ฃ๋ ์ธ ๋จ๊ณ์ ๋๋ค. count++ ํ ์ค๋ ๊ธฐ๊ณ ์์ค์์๋ ์ธ ๋์์ ๋๋ค.๋ฌธ์ ๋ ์ด ์ธ ๋จ๊ณ ์ฌ์ด์ CPU๋ฅผ ๋นผ์๊ธธ ์ ์๋ค๋ ์ ์ ๋๋ค.๊ณต์ ๋ณ์ count๊ฐ 1

์์ ์ค์ผ์ค๋ฌ๋ ๋๊ธฐ ์ค์ธ ์์ ์ค ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ๊ฒ์ ๊บผ๋ด ์คํํ๊ณ , ๊ทธ ์ฌ์ด์๋ ์ ์์ ์ด ๊ณ์ ๋ค์ด์ต๋๋ค. ํ์ํ ์ฐ์ฐ์ "๊ฐ์ฅ ํฐ ๊ฐ ๊บผ๋ด๊ธฐ"์ "์ ๊ฐ ๋ฃ๊ธฐ" ๋๋ฟ์ ๋๋ค.๋ฆฌ์คํธ๋ก ์ฒ๋ฆฌํ๋ฉด ํ์ชฝ์ด ๋ฐ๋์ ๋๋ฆฝ๋๋ค. ์ ๋ ฌํด ๋๋ฉด ์ต๋๊ฐ ๊บผ๋ด๊ธฐ๋ ๋น ๋ฅด์ง๋ง ์ฝ

ํด๋ ์์ ํด๋๊ฐ ์๊ณ ๊ทธ ์์ ํ์ผ์ด ์๋ ํ์ผ ์์คํ , ๋ถ์ ์๋ ํ์ด ์๋ ์กฐ์ง๋, ํ๊ทธ ์์ ํ๊ทธ๊ฐ ๋ค์ด๊ฐ๋ HTML ๋ฌธ์๋ ๋ชจ๋ ํฌํจ ๊ด๊ณ๊ฐ ๊ฒน๊ฒน์ด ์์ธ ๊ตฌ์กฐ์ ๋๋ค. ์ด๋ฐ ๊ด๊ณ๋ฅผ ํ ์ค์ง๋ฆฌ ๋ฆฌ์คํธ์ ๋ด์ผ๋ฉด "๋๊ฐ ๋๊ตฌ ๋ฐ์ ์๋์ง"๋ฅผ ๋ฐ๋ก ๊ธฐ๋กํด์ผ ํฉ๋๋ค.ํธ๋ฆฌ

TCP์์ "์ฐ๊ฒฐ"์ ํ์ ์ ์ก์๋๋ ๊ฒ์ด ์๋๋๋ค. ์ธํฐ๋ท์ packet switching์ด๊ณ ์ฝ์ด๋ ์๋ฌด ์๋ฆฌ๋ ์์ฝํด์ฃผ์ง ์์ต๋๋ค. ์ฐ๊ฒฐ์ ์ค์ง ์ ๋ ํธ์คํธ์ ๋ฉ๋ชจ๋ฆฌ์๋ง ์กด์ฌํฉ๋๋ค.์ฐ๊ฒฐ์ ์ฐ๋ค๋ ๊ฒ์ ๊ตฌ์ฒด์ ์ผ๋ก ๋ค์์ ๋ง์ถ๋ ์ผ์ ๋๋ค.์์ชฝ์ ์ด๊ธฐ sequence

์ง๊ธ๊น์ง๋ Ready ํ๊ฐ ํ๋๋ผ๊ณ ๋ณด๊ณ ๊ฑฐ๊ธฐ์ ์๊ณ ๋ฆฌ์ฆ ํ๋๋ฅผ ์ ์ฉํ์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ํ๊ฐ ํ๋๋ฉด ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ๊ท์น์ ์ ์ฉ๋ฐ์ต๋๋ค. ์ฌ์ฉ์ ์ ๋ ฅ์ ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก๊ทธ๋จ๊ณผ ๋ฐค์ ๋๋ฆฌ๋ ๊ณ์ฐ ์์ ์ด ๊ฐ์ ์ค์ ์๋ ์ ์ ๋๋ค.multilevel queue๋ Ready

์ถฉ๋์ด ๋๋ฉด ๊ทธ ์ฃผ์์์ ๋น์นธ์ ์ฐพ์ ๋ฃ๋ ๋ฐฉ์์ open addressing์ด๋ผ๊ณ ํฉ๋๋ค. ๋น์นธ์ ์ฐพ์๊ฐ๋ ๊ท์น์ ๋ฐ๋ผ linear probing, quadratic probing, double hashing์ผ๋ก ๋๋ฉ๋๋ค.๊ฐ์ฅ ๋จ์ํ ๊ฒ์ linear probing์

ํ๋ฒ์ผ๋ก ํ์์ ์ฐพ๋ ๊ฒ์ฒ๋ผ ํค์ ๊ฐ์ ์ง์ง์ด ์ ์ฅํ๋ ์๋ฃํ์ ๋์ ๋๋ฆฌ๋ผ๊ณ ํฉ๋๋ค. ์ด๋ฅผ ๋ฆฌ์คํธ๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋ค์ด์จ ์์๋๋ก ์์ผ๋ฉด ๊ตฌ์กฐ๋ ๋จ์ํฉ๋๋ค.๋ฌธ์ ๋ ํ์์ ๋๋ค. ํค 33์ ์ฐพ์ผ๋ ค๋ฉด ์์์๋ถํฐ ํ๋์ฉ ๋น๊ตํด์ผ ํด์ O(n)์ ๋๋ค. ์ญ์ ๋ ๋จผ์ ์ฐพ์์ผ ํ๋ฏ๋ก

point-to-point: ์ก์ ์ ํ๋์ ์์ ์ ํ๋. UDP์ฒ๋ผ ์ฌ๋ฌ ์๋์๊ฒ ๋ฟ๋ฆฌ๋ ๊ตฌ์กฐ๊ฐ ์๋๋๋ค.full duplex(์ ์ด์ค): ํ ์ฐ๊ฒฐ์์ ์๋ฐฉํฅ์ผ๋ก ๋์์ ๋ฐ์ดํฐ๊ฐ ํ๋ฆ ๋๋ค. ๊ทธ๋์ ์์ชฝ ๋ชจ๋ ์๊ธฐ sequence number๋ฅผ ๋ฐ๋ก ๊ด๋ฆฌํฉ๋๋ค.connec

ํ๋ก๊ทธ๋จ์ CPU๋ง ์ฐ์ง๋, I/O๋ง ํ์ง๋ ์์ต๋๋ค. CPU๋ฅผ ์ฐ๋ ๊ตฌ๊ฐ(CPU burst)๊ณผ I/O๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ตฌ๊ฐ(I/O burst)์ด ๋ฒ๊ฐ์ ๋์ต๋๋ค.CPU burst ์๊ฐ์ ๋ถํฌ๋ฅผ ๋ณด๋ฉด ์งง์ ๊ฒ์ด ์์ฃผ ๋ง๊ณ ๊ธด ๊ฒ์ด ๋๋ญ ๋๋ค. ์ด ๋ถํฌ๋ ํ๋ก๊ทธ๋จ์ ์ฑ๊ฒฉ์ด ๊ฐ๋ฆฌ

๋จ๋ฐฉํฅ์ ๋งํฌ๊ฐ ์์์ ๋ค๋ก๋ง ์์ต๋๋ค. ๊ทธ๋์ ๋ ธ๋ x๋ฅผ ์ง์ฐ๋ ค๋ฉด x๊ฐ ์๋๋ผ "x๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ ธ๋"๊ฐ ํ์ํฉ๋๋ค. x๋ง์ผ๋ก๋ ์๋ฌด๊ฒ๋ ๋ชป ํฉ๋๋ค.ํด๊ฒฐ์ฑ ์ ๋จ์ํฉ๋๋ค. ๋ค๋ก ๊ฐ๋ ๋งํฌ๋ฅผ ํ๋ ๋ ๋๋ฉด ๋ฉ๋๋ค. ๋ ธ๋๋ ํค ํ๋์ ๋งํฌ ๋ ๊ฐ, prev์ next๋ฅผ ๊ฐ์ง

๊ด๊ณ DBMS์๋ ์ํฐํฐ ํ์ ๊ณผ ๊ด๊ณ ํ์ ์ ๊ตฌ๋ถ์ด ์์ต๋๋ค. ๋ฆด๋ ์ด์ ๋ง ์์ต๋๋ค. ๊ทธ๋์ ๊ฐ๋ ์ ์คํค๋ง๋ฅผ ๋ ผ๋ฆฌ์ ์คํค๋ง๋ก ์ฎ๊ธฐ๋ ๋จ๊ณ๊ฐ ํ์ํ๊ณ , ์ด ๊ณผ์ ์ ์ฌ์(mapping)์ด๋ผ๊ณ ํฉ๋๋ค.๋๋์ค์ผ๋ก ์ฎ๊ธฐ๋ฉด ๋ค์น ์ ํธ๋ฆฌ๋ทฐํธ๊ฐ ์ฝค๋ง๋ก ๋ญ์น ์ด์ด ๋๊ฑฐ๋, M:N ๊ด๊ณ์

rdt 3.0์ ์ ํํ์ง๋ง ๋๋ ธ์ต๋๋ค. ํจํท ํ๋๋ฅผ ๋ณด๋ด๊ณ ACK๊ฐ ์ฌ ๋๊น์ง ์ ๋๊ณ ๊ธฐ๋ค๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋๋ค. RTT๊ฐ 100ms์ธ ํ์ ์์ ์ด๋ ๊ฒ ํ๋ฉด ๋งํฌ ์ฉ๋์ด ์๋ฌด๋ฆฌ ์ปค๋ ๋๋ถ๋ถ์ ์๊ฐ์ ๋๊ธฐ์ ์๋๋ค. ์ด๋ฒ์๋ ๊ทธ ๋ญ๋น๋ฅผ ์์ ๋ฉด์๋ ์ ๋ขฐ์ฑ์ ์ ์งํ๋ ๋ ๊ฐ์ง ๋ฐฉ

์ด์์ฒด์ ๊ฐ ํ๋ก์ธ์ค๋ฅผ ํ๋์ฉ ์ง์ ๋ง๋ค์ด ์ฃผ์ง ์์ต๋๋ค. ๋ถ๋ชจ ํ๋ก์ธ์ค(parent process)๊ฐ ๋ณต์ ํด์ ์์ ํ๋ก์ธ์ค(child process)๋ฅผ ๋ง๋ญ๋๋ค. ์์์ด ๋ ์์์ ๋ง๋ค ์ ์์ผ๋ฏ๋ก ์์คํ ์ ํ๋ก์ธ์ค๋ค์ ์์ฐ์ค๋ฝ๊ฒ ํธ๋ฆฌ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ด๋ฃน๋๋ค.์์์ด ์ค

๋ฐฐ์ด์ ์ค๊ฐ์ ์์๋ฅผ ๋ผ์ ๋ฃ๊ฑฐ๋ ๋นผ๋ฉด ๋ค์ชฝ์ ์ ๋ถ ํ ์นธ์ฉ ๋ฐ๊ฑฐ๋ ๋น๊ฒจ์ผ ํด์ O(n)์ด ๋ญ๋๋ค. ์์๋ฅผ ๋นํ์์ด ๋ถ์ฌ ๋๊ธฐ๋ก ํ๊ธฐ ๋๋ฌธ์ ์๊ธฐ๋ ๋น์ฉ์ ๋๋ค.๋ ํฌ๊ธฐ n์ง๋ฆฌ ๋ฐฐ์ด์ ๋ง๋ค๋ ค๋ฉด ๋ฉ๋ชจ๋ฆฌ์ n์นธ์ด ์ฐ์์ผ๋ก ๋น์ด ์์ด์ผ ํฉ๋๋ค. ์ ์ฒด ์ฌ์ ๊ณต๊ฐ์ด ์ถฉ๋ถํด๋ ์ฐ์

ํ๋์ ์ํฐํฐ๋ ์ฐ๊ด๋ ์ ํธ๋ฆฌ๋ทฐํธ๋ค์ ์งํฉ์ผ๋ก ์ค๋ช ๋ฉ๋๋ค. ์ด๋ ์ ํธ๋ฆฌ๋ทฐํธ์ ์ฑ๊ฒฉ์ ๊ตฌ๋ถํ์ง ์์ผ๋ฉด ์ ํ๋ฒํธ ์นธ์ 010-1234-5678, 02-123-4567์ฒ๋ผ ์ฝค๋ง๋ก ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ด ๋ฃ๊ฒ ๋๊ณ , ํ์ ์ ์ฑ์ ๊ณผ ๋ณ๊ฐ๋ก ์ ์ฅํ๋ค๊ฐ ๋ ๊ฐ์ด ์ด๊ธ๋๋ ์ผ์ด ์๊น๋๋ค.์ธ

network ๊ณ์ธต์ best effort์ ๋๋ค. ํ๊ฐ ๋์น๋ฉด ํจํท์ ๋ฒ๋ฆฌ๊ณ , ์ ์ก ์ค์๋ ๋นํธ๊ฐ ๋ค์งํ ์๋ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ TCP ์์ผ์ ์ด ๋ฐ์ดํธ๊ฐ ๊ทธ๋๋ก, ๋น ์ง์์ด, ์์๋๋ก ๋์ฐฉํ๊ธธ ๊ธฐ๋ํฉ๋๋ค.reliable data transfer proto