DMA 정보 전달 방식
- 기존 정보 전달 방식 = CPU → RAM 영역 1 → RAM 영역 2 → Device 영역
- DMA(Direct Memory Access) = 약속된 곳에 Direct로 데이터를 Write → NIC에서 사용
- DMA 사용한 정보 전달 방식 = CPU → Device 영역
네트워크 상에서 정보 통신
- 어떤 파일이 있고 그 파일은 커널의 구성요소를 추상화 한다. → 인터페이스
- 그 파일에는 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로 전달해주는 역할을 한다.
참고
'IT 지식 > 운영체제' 카테고리의 다른 글
프로세스와 스레드 (0) | 2024.08.23 |
---|---|
CPU 예측이 가져오는 문제점(멜트다운, 스펙터) (0) | 2024.08.22 |
CPU와 캐시 메모리 (1) | 2024.08.21 |
인터럽트와 DirectX (0) | 2024.08.19 |
컴퓨터의 구조 (H/W, Kernel mode, User mode) (0) | 2024.08.18 |