버스 마스터링
Bus mastering컴퓨팅에서 버스 마스터링은 버스에 연결된 장치가 직접 메모리 액세스(DMA) 트랜잭션을 시작할 수 있도록 하는 많은 버스 아키텍처에서 지원되는 기능입니다.시스템 DMA 컨트롤러가 실제로 전송을 실시하는 서드파티 DMA와는 대조적으로 퍼스트파티 DMA라고도 불립니다.
버스의 종류에 따라서는, 1개의 디바이스(통상은 CPU 또는 그 프록시)만이 트랜잭션을 개시할 수 있습니다.PCI와 같은 대부분의 최신 버스 아키텍처에서는 범용 운영 체제의 성능을 크게 향상시키므로 여러 장치가 마스터를 버스할 수 있습니다.일부 실시간 운영체제시스템에서는 주변기기가 버스 마스터가 되는 것을 금지하고 있습니다.이는 스케줄러가 버스를 중재할 수 없기 때문에 결정적 지연을 제공할 수 없기 때문입니다.
버스 마스터링은 이론적으로 어떤 주변기기와 다른 주변기기와 직접 통신할 수 있도록 하지만 실제로는 거의 모든 주변기기가 버스를 마스터하여 메인 메모리에 대해 DMA를 수행합니다.
여러 디바이스가 버스를 마스터할 수 있는 경우 여러 디바이스가 동시에 버스를 구동하지 않도록 버스 조정 스킴이 필요합니다.예를 들어 SCSI는 각 SCSI ID에 대해 고정된 우선순위를 가집니다.PCI는 사용할 알고리즘을 지정하지 않으므로 우선순위를 설정하는 것은 구현에 맡겨집니다.
「 」를 참조해 주세요.
레퍼런스
- 버스 마스터링 구조 - Tweak3d
- 버스 마스터링이란?- Brevard 사용자 그룹