λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

ComputerScience πŸ“š/μ»΄ν“¨ν„°λ„€νŠΈμ›Œν¬20

[λ„€νŠΈμ›Œν¬] μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 계측(2) - ν”„λ‘œμ„ΈμŠ€ κ°„ 톡신(μ†ŒμΌ“) μ„œλ‘  λŒ€λΆ€λΆ„μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ 두 ν”„λ‘œμ„ΈμŠ€κ°€ λ©”μ‹œμ§€λ₯Ό μ„œλ‘œμ—κ²Œ λ³΄λ‚΄λŠ” 톡신 ν”„λ‘œμ„ΈμŠ€ 쌍으둜 κ΅¬μ„±λ©λ‹ˆλ‹€. ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€λ‘œλΆ€ν„° λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€λ‘œ λ³΄λ‚΄λŠ” λ©”μ‹œμ§€λŠ” λ„€νŠΈμ›Œν¬λ₯Ό 톡해 μ›€μ§μž…λ‹ˆλ‹€. ν”„λ‘œμ„ΈμŠ€λŠ” μ†ŒμΌ“(socket)을 톡해 λ„€νŠΈμ›Œν¬λ‘œ λ©”μ‹œμ§€λ₯Ό 보내고 λ°›μŠ΅λ‹ˆλ‹€. 운영체제 κ΄€μ μ—μ„œ λ³Έ ν”„λ‘œμ„ΈμŠ€μ˜ 톡신은 이전에 ν•œλ²ˆ 정리해 λ³Έ 적이 μžˆμœΌλ‹ˆ μ•„λž˜ 링크λ₯Ό μ°Έκ³ ν•˜μ‹œλ©΄ 도움이 될 것 κ°™μŠ΅λ‹ˆλ‹€. [OS] ν”„λ‘œμ„ΈμŠ€ κ°„ 톡신(Interprocess Communication, IPC) ν”„λ‘œμ„ΈμŠ€ κ°„ 톡신(IPC) 운영체제 λ‚΄μ—μ„œ μ‹€ν–‰λ˜λŠ” 병행 ν”„λ‘œμ„ΈμŠ€λ“€μ€ λ…λ¦½μ μ΄κ±°λ‚˜ λ˜λŠ” ν˜‘λ ₯적인 ν”„λ‘œμ„ΈμŠ€ 듀일 수 μžˆμŠ΅λ‹ˆλ‹€. ν”„λ‘œμ„ΈμŠ€κ°€ μ‹œμŠ€ν…œμ—μ„œ μ‹€ν–‰ 쀑인 λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€λ“€κ³Ό 데이터λ₯Ό 곡 dkswnkk.tistory.com μ†ŒμΌ“(socket) .. 2022. 4. 13.
[λ„€νŠΈμ›Œν¬] μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 계측(1) - ν΄λΌμ΄μ–ΈνŠΈ&μ„œλ²„μ™€ p2p μ„œλ‘  μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ꡬ쑰(application architecture)λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°œλ°œμžμ— μ˜ν•΄ 섀계 되고 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ λ‹€μ–‘ν•œ 쒅단 μ‹œμŠ€ν…œμ—μ„œ μ–΄λ–»κ²Œ μ‘°μ§λ˜μ–΄μ•Ό ν•˜λŠ”μ§€λ₯Ό μ§€μ‹œν•©λ‹ˆλ‹€. μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ꡬ쑰 선택에 μžˆμ–΄μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°œλ°œμžλŠ” ν˜„λŒ€ λ„€νŠΈμ›Œν¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μ‚¬μš©λ˜λŠ” μ•„λž˜μ˜ 두 가지 μš°μˆ˜ν•œ ꡬ쑰λ₯Ό μ„ μ •ν•˜μ—¬ μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν΄λΌμ΄μ–ΈνŠΈ - μ„œλ²„ ꡬ쑰(client-server architecture) P2P(peer-to-peer)ꡬ쑰 이번 κ²Œμ‹œκΈ€μ—μ„œλŠ” ν΄λΌμ΄μ–ΈνŠΈ - μ„œλ²„ ꡬ쑰와 P2Pꡬ쑰에 λŒ€ν•΄ ν•œλ²ˆ 정리해 λ³΄κ² μŠ΅λ‹ˆλ‹€. ν΄λΌμ΄μ–ΈνŠΈ - μ„œλ²„ ꡬ쑰(client - server architecture) μš°λ¦¬κ°€ ν”νžˆ μ•„λŠ” ꡬ쑰가 ν΄λΌμ΄μ–ΈνŠΈ - μ„œλ²„ ꡬ쑰 μž…λ‹ˆλ‹€. 항상 켜져 μžˆλŠ” 호슀트λ₯Ό μ„œλ²„(serv.. 2022. 4. 13.
[λ„€νŠΈμ›Œν¬] μΊ‘μŠν™” μ„œλ‘  [λ„€νŠΈμ›Œν¬] 인터넷 ν”„λ‘œν† μ½œ 계측 μ„œλ‘  μ‹œμŠ€ν…œμ΄ 계측 ꡬ쑰λ₯Ό κ°€μ§ˆ λ•Œ, κ·Έ 계측이 μ œκ³΅ν•˜λŠ” μ„œλΉ„μŠ€μ˜ κ΅¬ν˜„μ„ λ³€κ²½ν•˜λŠ” 것은 맀우 쉽고, ν•œ 계측이 μƒμœ„ 계측에 같은 μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜κ³  ν•˜μœ„ κ³„μΈ΅μ˜ μ„œλΉ„μŠ€λ₯Ό μ΄μš©ν•˜λŠ” ν•œ, μ–΄λ–€ ν•œ dkswnkk.tistory.com 이전 κ²Œμ‹œκΈ€μ—μ„œ 인터넷 ν”„λ‘œν† μ½œμ˜ 계측에 λŒ€ν•΄μ„œ μ‚΄νŽ΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€. 이듀은 μ„œλ‘œμ˜ κ³„μΈ΅μœΌλ‘œ νŒ¨ν‚·μ„ 주고받을 λ•Œ ν”„λ‘œν† μ½œ μŠ€νƒμ˜ λͺ¨λ“  계측을 κ΅¬ν˜„ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€. 일반적으둜 이듀은 ν•˜μœ„ 계측을 κ΅¬ν˜„ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ κ°œλ…μ„ "μΊ‘μŠν™”(encapsulation)" κ°œλ…μ΄λΌκ³  ν•˜λŠ”λ° 이번 κ²Œμ‹œκΈ€μ—μ„œλŠ” 이런 μΊ‘μŠν™”μ˜ κ°œλ…μ— λŒ€ν•΄ ν•œλ²ˆ 정리해 λ³΄κ² μŠ΅λ‹ˆλ‹€. μΊ‘μŠν™” μœ„ μ΄λ―Έμ§€λŠ” μ†‘μ‹ ν•˜λŠ” 쒅단 μ‹œμŠ€ν…œμ˜ ν¬λ‘œν† μ½œ μŠ€νƒμ˜ μ•„λž˜λ‘œ 데이터λ₯Ό 보내며, μ€‘κ°„μ˜ 링크 계측 μŠ€μœ„.. 2022. 4. 13.
[λ„€νŠΈμ›Œν¬] 인터넷 ν”„λ‘œν† μ½œ 계측 μ„œλ‘  μ‹œμŠ€ν…œμ΄ 계측 ꡬ쑰λ₯Ό κ°€μ§ˆ λ•Œ, κ·Έ 계측이 μ œκ³΅ν•˜λŠ” μ„œλΉ„μŠ€μ˜ κ΅¬ν˜„μ„ λ³€κ²½ν•˜λŠ” 것은 맀우 쉽고, ν•œ 계측이 μƒμœ„ 계측에 같은 μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜κ³  ν•˜μœ„ κ³„μΈ΅μ˜ μ„œλΉ„μŠ€λ₯Ό μ΄μš©ν•˜λŠ” ν•œ, μ–΄λ–€ ν•œ κ³„μΈ΅μ˜ κ΅¬ν˜„μ΄ λ³€ν•˜λ”λΌλ„ μ‹œμŠ€ν…œμ˜ λ‚˜λ¨Έμ§€ 뢀뢄은 λ³€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μΈν„°λ„·μ—μ„œλŠ” λ‹€μ–‘ν•œ κ³„μΈ΅μ˜ ν”„λ‘œν† μ½œμ„ λͺ¨λ‘ ν•©ν•˜μ—¬ ν”„λ‘œν† μ½œ μŠ€νƒ(protocol stack)이라고 ν•©λ‹ˆλ‹€. μ•„λž˜μ˜ 이미지와 같이 인터넷 ν”„λ‘œν† μ½œ μŠ€νƒμ€ 크게 5개 계측과 7개 κ³„μΈ΅μœΌλ‘œ κ΅¬μ„±λ˜λŠ”λ°, 7 계측인 OSI μ°Έμ‘° λͺ¨λΈμ€ ISO(κ΅­μ œν‘œμ€€ν™”κΈ°κ΅¬)κ°€ 데이터 ν†΅μ‹ μ˜ 규격과 ν”„λ‘œν† μ½œμ„ ν†΅μΌν•˜κΈ° μœ„ν•΄ λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. 사싀상 이 μ‹œλ„λŠ” μ‹€νŒ¨ν–ˆκΈ°μ—, ν˜„μž¬ μ„Έκ³„μ—μ„œ ν‘œμ€€μœΌλ‘œ λ°›μ•„λ“€μ—¬μ§€λŠ” 것은 5개 계측이며 그렇기에 이 5 계측에 λŒ€ν•΄μ„œλ§Œ 정리해 λ³΄κ² μŠ΅λ‹ˆλ‹€. μ• ν”Œ.. 2022. 4. 12.
[λ„€νŠΈμ›Œν¬] λ„€νŠΈμ›Œν¬μ—μ„œμ˜ 처리율 μ„œλ‘  지연과 νŒ¨ν‚· 손싀 이외에 컴퓨터 λ„€νŠΈμ›Œν¬μ—μ„œ λ‹€λ₯Έ μ£Όμš”ν•œ μ„±λŠ₯ μˆ˜λ‹¨μ€ 쒅단 κ°„ μ²˜λ¦¬μœ¨μž…λ‹ˆλ‹€. 이번 κ²Œμ‹œκΈ€μ—μ„œλŠ” μ΄λŸ¬ν•œ 처리율의 κ°œλ…μ— λŒ€ν•΄ μžμ„Ένžˆ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€. λ„€νŠΈμ›Œν¬μ—μ„œμ˜ 처리율 처리율의 μ€‘μš”ν•œ κ°œλ…μ„ μ•Œμ•„λ³΄κΈ° μœ„ν•΄ μ•„λž˜μ˜ 그림을 ν•œλ²ˆ μ‚΄νŽ΄λ΄…μ‹œλ‹€. μœ„ μ΄λ―Έμ§€λŠ” 2개의 쒅단 μ‹œμŠ€ν…œ 즉, 2개의 톡신 링크와 λΌμš°ν„°λ‘œ μ—°κ²°λœ ν•˜λ‚˜μ˜ μ„œλ²„μ™€ ν•˜λ‚˜μ˜ ν΄λΌμ΄μ–ΈνŠΈλ₯Ό 보여주고 μžˆμŠ΅λ‹ˆλ‹€. μ„œλ²„λ‘œλΆ€ν„° ν΄λΌμ΄μ–ΈνŠΈλ‘œμ˜ 파일 전솑에 λŒ€ν•œ μ²˜λ¦¬μœ¨μ„ ν•œλ²ˆ κ³ λ €ν•΄ λ΄…μ‹œλ‹€. RsλŠ” μ„œλ²„μ™€ λΌμš°ν„° κ°„μ˜ 링크 속도λ₯Ό λ‚˜νƒ€λ‚΄κ³ , RcλŠ” λΌμš°ν„°μ™€ ν΄λΌμ΄μ–ΈνŠΈ κ°„μ˜ 링크 속도λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 전체 λ„€νŠΈμ›Œν¬λ‘œ λ³΄λ‚΄μ§€λŠ” λΉ„νŠΈλŠ” μ„œλ²„μ—μ„œ ν΄λΌμ΄μ–ΈνŠΈλ‘œλ§Œ λ³΄λ‚΄μ§€λŠ” λΉ„νŠΈλΌκ³ λ§Œ κ°€μ •ν•©μ‹œλ‹€. 이 μƒν™©μ—μ„œ μš°λ¦¬λŠ” μ„œλ²„-ν΄λΌμ΄μ–ΈνŠΈμ˜ μ²˜λ¦¬μœ¨μ„ μ–΄λ–»κ²Œ μ•Œ .. 2022. 4. 11.
[λ„€νŠΈμ›Œν¬] νμž‰ 지연과 νŒ¨ν‚· 손싀 μ„œλ‘  [λ„€νŠΈμ›Œν¬] 데이터 κ΅ν™˜ 방식 - νŒ¨ν‚· κ΅ν™˜ μ„œλ‘  λ„€νŠΈμ›Œν¬ μ‘μš©μ—μ„œ 쒅단 μ‹œμŠ€ν…œλ“€μ€ μ„œλ‘œ λ©”μ‹œμ§€λ₯Ό κ΅ν™˜ν•©λ‹ˆλ‹€. λ©”μ‹œμ§€μ—λŠ” JPEG 이미지 ν˜Ήμ€ MP3 μ˜€λ””μ˜€ 파일과 같은 데이터λ₯Ό ν¬ν•¨ν•˜λŠ”λ° 솑신 쒅단 μ‹œμŠ€ν…œμ—μ„œ λͺ©μ μ§€ 쒅단 μ‹œμŠ€ν…œμœΌλ‘œ dkswnkk.tistory.com 이전에 νŒ¨ν‚· κ΅ν™˜μ— λŒ€ν•΄ μ •λ¦¬ν–ˆμ„ λ•Œ νμž‰ 지연과 νŒ¨ν‚· 손싀에 λŒ€ν•΄ 살짝 닀뀄본 적이 μžˆμŠ΅λ‹ˆλ‹€. 이번 κ²Œμ‹œκΈ€μ—μ„œλŠ” μˆ˜μ‹μ„ ν†΅ν•΄μ„œ 쑰금만 더 μƒμ„Ένžˆ μ‚΄νŽ΄λ³΄λŠ” 것을 λͺ©ν‘œλ‘œ ν•˜κ² μŠ΅λ‹ˆλ‹€. νμž‰ 지연 νμž‰ 지연은 νŒ¨ν‚·λ§ˆλ‹€ λ‹€λ₯Ό 수 μžˆμŠ΅λ‹ˆλ‹€. 에λ₯Ό λ“€μ–΄, 10개의 νŒ¨ν‚·μ΄ λ™μ‹œμ— λΉ„μ–΄μžˆλŠ” 큐에 λ„μ°©ν•œλ‹€λ©΄, μ „μ†‘λœ 첫 νŒ¨ν‚·μ€ νμž‰ 지연을 κ²ͺ지 μ•Šμ§€λ§Œ λ§ˆμ§€λ§‰μœΌλ‘œ μ „μ†‘λ˜λŠ” νŒ¨ν‚·μ€ μƒλ‹Ήνžˆ λ§Žμ€ νμž‰ 지연을 κ²ͺ을 κ²ƒμž…λ‹ˆλ‹€(λ‹€λ₯Έ 9개의 νŒ¨ν‚·μ΄ μ „μ†‘λ˜κΈ°λ₯Ό κΈ°.. 2022. 4. 11.
[λ„€νŠΈμ›Œν¬] νŒ¨ν‚· κ΅ν™˜ 지연- 처리(proc), νμž‰(queue), 전솑(trans), μ „νŒŒ(prop) μ„œλ‘  [λ„€νŠΈμ›Œν¬] 데이터 κ΅ν™˜ 방식 - νŒ¨ν‚· κ΅ν™˜ μ„œλ‘  λ„€νŠΈμ›Œν¬ μ‘μš©μ—μ„œ 쒅단 μ‹œμŠ€ν…œλ“€μ€ μ„œλ‘œ λ©”μ‹œμ§€λ₯Ό κ΅ν™˜ν•©λ‹ˆλ‹€. λ©”μ‹œμ§€μ—λŠ” JPEG 이미지 ν˜Ήμ€ MP3 μ˜€λ””μ˜€ 파일과 같은 데이터λ₯Ό ν¬ν•¨ν•˜λŠ”λ° 솑신 쒅단 μ‹œμŠ€ν…œμ—μ„œ λͺ©μ μ§€ 쒅단 μ‹œμŠ€ν…œμœΌλ‘œ dkswnkk.tistory.com νŒ¨ν‚· κ΅ν™˜μ— λŒ€ν•΄ ν•œλ²ˆ λ– μ˜¬λ €λ³΄λ©΄ νŒ¨ν‚·μ΄ ν•œ 호슀트(μΆœλ°œμ§€)μ—μ„œ μ‹œμž‘ν•˜κ³  일련의 λΌμš°ν„°λ“€μ„ ν†΅κ³Όν•˜λ©°, λ‹€λ₯Έ 호슀트(λͺ©μ μ§€)둜 갈 λ•ŒκΉŒμ§€ νŒ¨ν‚·μ€ κ²½λ‘œμƒμ˜ 각 λ…Έλ“œμ—μ„œ λ‹€μ–‘ν•œ 지연을 κ²ͺ게 λœλ‹€λŠ” 것을 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ§€μ—°μ—λŠ” μ•„λž˜μ™€ 같은 지연듀이 μžˆμŠ΅λ‹ˆλ‹€. λ…Έλ“œ 처리 지연(nodal processing delay) νμž‰ 지연(queuing delay) 전솑 지연(transmission delay) μ „νŒŒ 지연(propagation.. 2022. 4. 11.
[λ„€νŠΈμ›Œν¬] 데이터 κ΅ν™˜ 방식 - νšŒμ„  κ΅ν™˜ μ„œλ‘  λ„€νŠΈμ›Œν¬λ₯Ό 톡해 데이터λ₯Ό μ΄λ™μ‹œν‚€λŠ” λ°©μ‹μ—λŠ” νšŒμ„  κ΅ν™˜(circuit switching)κ³Ό νŒ¨ν‚· κ΅ν™˜(packet switching)μ΄λΌλŠ” 두 가지 방식이 μžˆμŠ΅λ‹ˆλ‹€. [λ„€νŠΈμ›Œν¬] 데이터 κ΅ν™˜ 방식 - νŒ¨ν‚· κ΅ν™˜ μ„œλ‘  λ„€νŠΈμ›Œν¬ μ‘μš©μ—μ„œ 쒅단 μ‹œμŠ€ν…œλ“€μ€ μ„œλ‘œ λ©”μ‹œμ§€λ₯Ό κ΅ν™˜ν•©λ‹ˆλ‹€. λ©”μ‹œμ§€μ—λŠ” JPEG 이미지 ν˜Ήμ€ MP3 μ˜€λ””μ˜€ 파일과 같은 데이터λ₯Ό ν¬ν•¨ν•˜λŠ”λ° 솑신 쒅단 μ‹œμŠ€ν…œμ—μ„œ λͺ©μ μ§€ 쒅단 μ‹œμŠ€ν…œμœΌλ‘œ dkswnkk.tistory.com 이전 κ²Œμ‹œκΈ€μ—μ„œ νŒ¨ν‚· κ΅ν™˜(packet switching)에 λŒ€ν•΄ μ•Œμ•„λ³΄μ•˜μœΌλ‹ˆ 이번 κ²Œμ‹œκΈ€μ—μ„œλŠ” νšŒμ„  κ΅ν™˜(circuit switching)에 λŒ€ν•΄ ν•œλ²ˆ 정리해 λ³΄κ² μŠ΅λ‹ˆλ‹€. νšŒμ„  κ΅ν™˜(circuit switching) νšŒμ„  κ΅ν™˜ λ„€νŠΈμ›Œν¬μ—μ„œλŠ” νŒ¨ν‚· κ΅ν™˜κ³Ό λ°˜λŒ€λ‘œ 쒅단 μ‹œ.. 2022. 4. 9.
[λ„€νŠΈμ›Œν¬] 데이터 κ΅ν™˜ 방식 - νŒ¨ν‚· κ΅ν™˜ μ„œλ‘  λ„€νŠΈμ›Œν¬ μ‘μš©μ—μ„œ 쒅단 μ‹œμŠ€ν…œλ“€μ€ μ„œλ‘œ λ©”μ‹œμ§€λ₯Ό κ΅ν™˜ν•©λ‹ˆλ‹€. λ©”μ‹œμ§€μ—λŠ” JPEG 이미지 ν˜Ήμ€ MP3 μ˜€λ””μ˜€ 파일과 같은 데이터λ₯Ό ν¬ν•¨ν•˜λŠ”λ° 솑신 쒅단 μ‹œμŠ€ν…œμ—μ„œ λͺ©μ μ§€ 쒅단 μ‹œμŠ€ν…œμœΌλ‘œ λ©”μ‹œμ§€λ₯Ό 보내기 μœ„ν•΄, 솑신 μ‹œμŠ€ν…œμ€ κΈ΄ λ©”μ‹œμ§€λ₯Ό νŒ¨ν‚·(packet)이라고 ν•˜λŠ” μž‘μ€ 데이터 λ©μ–΄λ¦¬λ‘œ λΆ„ν• ν•©λ‹ˆλ‹€. 솑신 μΈ‘κ³Ό μˆ˜μ‹  μΈ‘ μ‚¬μ΄μ—μ„œ 각 νŒ¨ν‚·μ€ 톡신 링크와 νŒ¨ν‚· μŠ€μœ„μΉ˜λ₯Ό 거치게 λ©λ‹ˆλ‹€. 링크와 μŠ€μœ„μΉ˜μ˜ λ„€νŠΈμ›Œν¬λ₯Ό 톡해 데이터λ₯Ό μ΄λ™μ‹œν‚€λŠ” λ°©μ‹μ—λŠ” μ•„λž˜μ˜ 두 가지 κΈ°λ³Έ 방식이 μžˆμŠ΅λ‹ˆλ‹€. νŒ¨ν‚· κ΅ν™˜(packet switching) νšŒμ„  κ΅ν™˜(circuit switching) 이번 κ²Œμ‹œκΈ€μ—μ„œλŠ” 1. νŒ¨ν‚· κ΅ν™˜ λ„€νŠΈμ›Œν¬μ— λŒ€ν•΄ ν•œλ²ˆ 정리해 λ³΄κ² μŠ΅λ‹ˆλ‹€. νŒ¨ν‚· κ΅ν™˜ - νŒ¨ν‚·μ€ 정보 κΈ°μˆ μ—μ„œ νŒ¨ν‚· λ°©μ‹μ˜ 컴퓨터 λ„€νŠΈμ›Œν¬.. 2022. 4. 9.