Programming/열혈 TCP, IP 소켓 프로그래밍(저자 윤성우)50 Ch 23. 내용 확인문제 모든 내용은 [윤성우 저, "열혈강의 TCP/IP 소켓 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! 01. Completion Port 오브젝트에는 하나 이상의 쓰레드가 할당되어서 입출력을 처리하게 된다. 그렇다면 Completion Port 오브젝트에 할당될 쓰레드는 어떻게 생성되며, 또 할당의 방법은 무엇인지 소스코드 레벨에서 설명해 보자. - Completion Port 오브젝트에 할당될 쓰레드는 프로그래머가 생성해야 하며, 생성된 쓰레드는 Completion Port 오브젝트의 핸들을 인자로 받아서 GetQueuedCompletionStatus 함수 호출을 진행해야 한다. - 위의 과정을 거치면 해당.. 2020. 8. 17. Ch 23. IOCP(Input Output Completion Port) 모든 내용은 [윤성우 저, "열혈강의 TCP/IP 소켓 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # select와 같은 전통적인 IO 모델의 한계극복을 목적으로, 운영체제 레벨(커널 레벨)에서 성능을 향상시킨 IO 모델이 운영체제 별로 등장(리눅스의 epoll, 윈도우의 IOCP, 등...) # 하드웨어의 성능이나, 할당된 대역폭이 충분한 상황에서 서버의 응답시간이나, 동시접속자 수에 문제가 발생하면 1) 비효율적인 IO의 구성 또는 비효율적인 CPU의 활용 2) 데이터베이스의 설계내용과 쿼리(Query)의 구성 정도만 수정해도, 대부분의 문제는 해결된다고 한다. # 넌-블로킹 모드의 소켓 구성하기 - .. 2020. 8. 16. Ch 21. 내용 확인문제 모든 내용은 [윤성우 저, "열혈강의 TCP/IP 소켓 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! 01. 동기 입출력과 비동기 입출력이 무엇인지, send & recv 함수를 기준으로 설명해보자. 그리고 동기 입출력의 단점은 무엇이고 이것이 비동기 입출력을 통해서 어떻게 해결이 되는지도 설명하자. # 동기(Synchronous)와 비동기(Asynchronous)에 대한 이해 - 동기식 입출력 : 입출력 함수의 반환시점과 데이터 송수신의 완료시점이 일치하는 경우 1) send 함수를 호출하면 데이터 전송 시작 2) 출력버퍼로 데이터 전송이 완료되면 send 함수 반환 3) recv 함수를 호출하면 데이터 수.. 2020. 8. 15. Ch 22. 내용 확인문제 모든 내용은 [윤성우 저, "열혈강의 TCP/IP 소켓 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! 01. 비동기 Notification IO 모델과 Overlapped IO 모델 사이에서 비동기로 처리되는 영역이 어떻게 차이가 나는지 설명해보자. - 비동기 Notification IO 모델 : IO 관련 이벤트의 발생을 알리는 과정이 비동기로 처리됨 - Overlapped IO 모델 : IO가 완료된 상황을 확인하는 과정이 비동기로 처리됨 02. 넌-블로킹 IO, 비동기 IO 그리고 Overlapped IO의 관계를 하나의 문장으로 연결해서 설명해보자. - IO가 완료된 상황을 확인하는 과정이 비동기로 처.. 2020. 8. 15. 이전 1 2 3 4 ··· 13 다음