개발관련/컴퓨터구조론

컴퓨터 구조 - 디스패처(Dispatcher)란?

고통받는다 2023. 7. 11. 11:28
디스패처?

 

 

컴퓨터 시스템에서 작업을 적절한 처리기로 할당하거나, 이벤트를 적절한 핸들러로 전달하는 역할을 수행하는 소프트웨어 구성 요소입니다. 디스패처는 작업이나 이벤트의 발생 시기와 우선순위를 관리하고, 해당 작업 또는 이벤트를 처리할 적절한 처리기나 핸들러로 전달합니다.

디스패처 동작원리

 

 

사용자가 프로그램을 실행하면 프로세스가 생성되고 Ready 상태가 됩니다.

그 후 스케줄러가 Ready Queue에 있는 프로세스 중 하나를 프로세서(CPU)가 사용 가능한 상태가 될 때 CPU를 할당해 줍니다.

이때 Ready에서 Running으로 State Transition이 일어나는데 이 과정을 Dispatching이라고 하고

Dispatcher가 이 작업을 수행합니다.

 

디스패처의 역할

 

작업/ 이벤트 스케줄링

 

디스패처는 작업 또는 이벤트의 우선순위와 시기를 고려하여 해당 처리기에게 할당합니다. 작업 또는 이벤트의 중요도, 종류, 처리 시간 등을 고려하여 적절한 처리기에게 작업을 배정합니다.

 

작업/ 이벤트 분배

 

디스패처는 작업 또는 이벤트를 적절한 처리기에게 전달합니다. 이를 위해 디스패처는 작업 또는 이벤트를 식별하고, 해당 처리기의 식별자 또는 주소를 찾아 전달합니다.

 

상태 관리

 

디스패처는 작업 또는 이벤트의 상태를 추적하고 관리합니다. 작업 또는 이벤트의 진행 상황, 완료 여부, 성공 또는 실패 등을 추적하여 필요한 조치를 취합니다.

 

에러 처리

 

디스패처는 작업 또는 이벤트 처리 중 발생한 에러나 예외를 적절히 처리합니다. 에러 핸들링 메커니즘을 통해 예외 상황을 적절히 처리하고 오류 복구를 시도합니다