컴퓨터 공부 309

[TCP/IP 소켓 프로그래밍] 21. Overlapped 입출력 모델

21-1. Overlapped 입출력의 의미 비중첩 데이터 입출력 모델 중첩된 데이터 입출력 모델 하나의 쓰레드 내에서 여러 개의 입출력이 진행되는 것 21-2. Overlapped 입출력을 위한 기본 단계 1. Overlapped 소켓의 생성 SOCKET WSASocket( __in int af, __in int type, __in int protocol, __in LPWSAPROTOCOL_INFO lpProtocolInfo, __in GROUP g, __in DWORD ..

[TCP/IP 소켓 프로그래밍] 20. 동기와 비동기의 이해

1. 비동기 Notification의 의미 인터넷 계층 Link계층 : 물리 + 데이터링크 IP계층 TCP/UDP계층 : 송수신 버퍼가 생성된다. 응용프로그램 계층 동기화된 입력 및 출력 함수의 호출 동기화 : 함수의 호출과 행위의 시작, 함수의 리턴과 행위의 종료가 일치함. 데이터 전송 종료 : Application -> TCP계층으로 데이터를..

[TCP/IP 소켓 프로그래밍] 19. 윈도우즈 기반 쓰레드 동기화

※ 커널 오브젝트가 생성될 때는 non-signaled 상태에 있다가 종료하는 경우에 signaled상태로 바뀐다. ※ nonsignaled상태이면 WaitForSingleObject가 멈추고 그렇지 않으면 통과(리턴)할 수 있다. 19-1. 쓰레드 동기화 기법의 분류 프로세스 실행의 두 가지 모드 사용자 모드(User Mode)와 커널 모드(Kernel Mode) user mode : 시..

[TCP/IP 소켓 프로그래밍] 18. 윈도우즈 기반 쓰레드 사용하기

18-1 커널 오브젝트(Kernel Objects) 커널 오브젝트 시스템 리소스의 정보를 담고 있는 데이터 블록(윈도우즈 기반에서만) 시스템(운영체제)이 관리한다. 18-2. 윈도우즈 기반의 쓰레드 생성 ※ CreateThread, _beginthreadex 차이점 http://lustformori.tistory.com/entry/C-Run-Time-Library의-beginthread-Win32-API의-CreateThread를-구분하는..

[TCP/IP 소켓 프로그래밍] 17. 입력과 출력 스트림의 완벽 분리

17-1. 프로세스(Process)와 쓰레드(Thread) 쓰레드란 무엇인가? 경량화된 프로세스 동시 실행 가능. 프로세스와 차이점 스택, PC를 포함한 레지스터 복사본, 쓰레드 지역 보관영역을 제외한 나머지 메모리 영역을 공유. ※ fork를 통해 프로세스 복사했다면 부모와 자식 프로세스는 서로 독립적으로 작동한다. ..