본문 바로가기

Programming/열혈 TCP, IP 소켓 프로그래밍(저자 윤성우)50

Ch 22. Overlapped IO 모델 모든 내용은 [윤성우 저, "열혈강의 TCP/IP 소켓 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # 챕터 21에서 비동기로 처리되었던 것은 IO가 아닌 Notification(알림) 이었음. 이번 챕터에서는 IO를 비동기로 처리하는 방법에 대해서 설명함. # IO(입출력)의 중첩(Overlapped IO) - 하나의 쓰레드 내에서 동시에 둘 이상의 영역으로 데이터를 송수신함으로 인해, 입출력이 중첩되는 상황 - 이것이 가능하려면 입출력 함수가 바로 반환되어야 함, 즉 비동기 IO가 가능하여야 함 => 따라서, 호출되는 입출력 함수가 넌-블로킹 모드로 동작해야 함 # 윈도우에서 말하는 Overlapped .. 2020. 8. 15.
Ch 21. Asynchronous Notification IO 모델 모든 내용은 [윤성우 저, "열혈강의 TCP/IP 소켓 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # 동기(Synchronous)와 비동기(Asynchronous)에 대한 이해 - 지금까지 윈도우 기반 예제에서 send/recv 함수를 통해서 동기화된 입출력을 진행하였음 - 동기식 입출력 : 입출력 함수의 반환시점과 데이터 송수신의 완료시점이 일치하는 경우 1) send 함수를 호출하면 데이터 전송 시작 2) 출력버퍼로 데이터 전송이 완료되면 send 함수 반환 3) recv 함수를 호출하면 데이터 수신 시작 4) 원하는만큼 데이터 수신을 하면 recv 함수 반환 - 그렇다면 비동기 입출력이 의미하는 바는.. 2020. 8. 15.
Ch 20. 내용 확인문제 모든 내용은 [윤성우 저, "열혈강의 TCP/IP 소켓 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! 01. 윈도우 운영체제의 유저모드, 커널모드와 관련해서 옳은 것을 모두 고르면? # 옳지 않은 설명 a. 유저모드는 응용 프로그램이 실행되는 기본모드로, 접근할 수 있는 메모리의 영역에는 제한이 없지만 물리적인 영역으로의 접근은 허용되지 않는다. => 접근할 수 있는 메모리의 영역도 제한된다. b. 응용 프로그램이 실행되는 과정에서는 절대 커널모드로 진입하지 않는다. 응용 프로그램이 실행중인 과정에서는 유저모드로만 동작한다. => 응용 프로그램의 실행과정에서 항상 유저모드에만 머무는 것이 아니라, 유저모드와 .. 2020. 8. 15.
Ch 20. Windows에서의 쓰레드 동기화 모든 내용은 [윤성우 저, "열혈강의 TCP/IP 소켓 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # 유저모드와 커널모드 - 윈도우 운영체제의 연산방식(프로그램 실행방식)을 가리켜 "이중 모드연산" 방식이라 함. - 유저모드 : 응용 프로그램이 실행되는 기본모드. 물리적인 영역으로의 접근이 허용되지 않으며, 접근할 수 있는 메모리의 영역에도 제한이 따른다. - 커널모드 : 운영체제가 실행될 때의 모드. 메모리뿐만 아니라, 하드웨어의 접근에도 제한이 따르지 않는다. - 그러나, 응용 프로그램의 실행과정에서 항상 유저모드에만 머무는 것이 아니라, 유저모드와 커널모드를 오가며 실행하게 됨. - 두 가지 모드를 .. 2020. 8. 14.