나는 항상 다음 마감일에 작동하고 실행 가능한 EDD라는 스케줄링 알고리즘에 대해 읽었습니다. 모든 프로세서가 특정 시간 창 내에 일부 작업을 완료하도록 보장하기 위해 각 시간 창 또는 슬라이스 내에서 모든 프로세서 또는 프로세서 그룹의 모든 프로세서에서 작업하는 것이 가능합니까? 이것이 실행 가능한 스케줄러일까요?
답변1
*nix OS에 존재하는지 말할 수는 없지만 왜 작동하지 않는지는 모르겠습니다.QNX, 그러나 저는 OS X, FreeBSD 또는 Linux와 같은 보다 범용적인 시스템에 대해서는 회의적입니다. 이것가장 빠른 마감일 조정을 언급하는 Wikipedia 기사인용된 출처는 없지만,실시간 운영 체제에 관한 기사구체적으로 얘기하면조기마감 우선순위이것은 매우 비슷하게 들립니다.
EDF 기사에서는 "디스패치 이벤트가 발생할 때마다"에 대해 구체적으로 설명합니다. 이러한 이벤트(예: 새 프로세스 또는 프로세스 완료)는 특정 프로세서에 바인딩되지 않으며 시스템의 사용 가능한 컴퓨팅 리소스를 활용하지 않는 특히 어리석은 스케줄러 구현이 됩니다.
적절한 RTOS에는 프로세스와 스레드 뮤텍스 및 기타 인터록을 동기화하는 데 문제가 있을 수 있지만 이는 특히 시스템에 여러 실행 단위(CPU 코어)가 있는 경우 어떤 스케줄링 알고리즘을 사용하는지에 관계없이 문제가 됩니다.