NIC 송수신과 IOCP
NIC를 사용한 송신은 i/o buffer, tcp/ip 를 거쳐서 이루어지고 수신은 direct로 이루어진다라고 이해를 했는데요. 송신은 direct로 이루어지지 않는건가요? 안된다면 왜 그런가요?
NIC에 DMA가 지원이되어서 direct로 process까지 수신이 된다 라고 이해를 했는데 IOCP 기능으로도 똑같이 direct로 process까지 수신이 된다 라고 말씀해주신 것 같습니다. DMA가 지원되면 tcp/ip, i/o buffer는 사용하지 않지만 거쳐간다 하지만 IOCP 기능을 사용하면 거쳐가지않고 바로 process로 간다 라고 이해해도 괜찮을까요?
답변 1
0
보통 그렇다는 것입니다. 송신 할 때도 Non-buffered I/O는 가능합니다. 그리고 IOCP도 송신에 적용가능합니다. 안 되는 것은 아니며 개발자 본인 선택의 문제입니다.
'Direct로 Process까지 간다.'는 말의 의미는 Process가 사용하는 메모리로 (중간 버퍼 메모리 사용 및 불필요한 복사 없이) 한 번에 복사 된다는 의미 입니다. 즉, 커널에서 사용자 모드 프로세스가 사용하는 메모리에 Lock을 걸어두고 마치 커널 메모리처럼 써서 데이터를 저장해주는 것입니다.
참고하시기 바랍니다. 감사합니다.
32bit app에서 vms 4gb 설명에 대한 질문입니다.
0
77
2
레이스 컨디션 문제
0
207
2
스레드 종료 순서
0
149
1
제가 이해한게 맞는지 궁금합니다. (비디오 카드에 output)
0
228
2
플랫폼 bit관련 질문입니다
0
153
3
백그라운드 스케쥴링관련 질문입니다.
0
165
2
ready queue에 있던 프로세스들이 sleep이나 suspend되는 게 가능한가요?
0
249
2
IPC는 곧..?
0
358
2
interrupt와 DirectX 질문
0
403
2
공유자원과 임계구역
0
318
2
DMA와 고성능 소켓관련 질문입니다.
0
294
3
2강 DMA와 고성능 소켓 질문
0
419
3
I/O 관리자, 메모리 매니저 사용 이유
0
292
2
*pszResult =A; 포인터 사용 부분에 대한 질문입니다.
0
199
1
교착상태와 게임이 튕기는 현상
0
218
1
멀티스레딩
0
409
2
자료구조 공부
0
419
2
윈도우 레지스트리 질문
0
261
1
파일시스템과 가상메모리
0
341
1
Page fault 메시지가 나오면 스왑 인, 스왑 아웃은 일어나지 않는 건가요?
0
257
1
가상 주소, 절대 주소 부분이 헷갈립니다.
0
339
2
운영체제 스레드 공부 중 궁금한 점 있습니다.
0
354
3
직업 관련 질문
0
326
1
페이징 기법의 주소 변환
0
299
2





