본문 바로가기
Computer Science/Operating System

DMA와 고성능 소켓

by Cyber Security Engineer 2024. 8. 12.
반응형

DMA 정보 전달 방식

  • 기존 정보 전달 방식 = CPU → RAM 영역 1 → RAM 영역 2 → Device 영역 
  • DMA(Direct Memory Access) = 약속된 곳에 Direct로 데이터를 Write → NIC에서 사용
  • DMA 사용한 정보 전달 방식 = CPU → Device 영역 

 

 

네트워크 상에서 정보 통신

그림1- 네트워크 상에서 정보 통신

  • 어떤 파일이 있고 그 파일은 커널의 구성요소를 추상화 한다. → 인터페이스
  • 그 파일에는 I/O Buffer가 있다. 
  • 각 영역에는 I/O Buffer가 존재, I/O Buffer는 일종의 데이터 저장소다. → RAM 메모리 일부
  • TCP/IP 네트워크 통신에서 파일은 Socket이 된다.
  • 파일에 대해 Write 한다. = 소켓은 Send 한다.
  • NIC은 DMA를 지원한다.
  • DMA 사용 시 그림1과 같은 여러 단계를 거치지 않고 RAM에게 Direct로 정보를 전달한다.
  • CPU가 RAM을 사용하는데, RAM 영역 일부를 NIC에게 할당하여 사용하게 한다.
  • NIC에서 정보 전달 시, 여러 영역을 거치지 않아도 Direct로 RAM에게 정보를 전달한다. → 성능 향상
  • IOCP 이용 시 성능 향상 → 운영체제가 I/O Buffer에 Lock을 걸어서(Kernel이 찜한다.) 정보를 Direct로 전달한다.

 

 

결론

  • DMA는 여러 단계를 거칠 필요 없이 데이터를 Direct로 전달해주는 역할을 한다.

 

 

 

 

 

 

 

 

참고

https://www.inflearn.com/course/%EA%B3%B0%EC%B1%85-%EC%89%BD%EA%B2%8C-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C

반응형