2009-08-08 4 views

답변

1

간단히 말해서, 신경 쓸 필요가 없습니다. 좋은 일을하는 데 실제로 이용할 수있는 시설이 없습니다. 아주 소수의 사람들이 올바르게 받아들이 기 때문에 기본적으로 사용자 수준에서 올바르게 진행되는 것은 불가능합니다.

Mac OS X 시스템은 응용 프로그램이 요구할 때 시스템 자원을 제거하도록 조정되었습니다. 응용 프로그램을 친숙하게하려면 폴링을하지 말고 원하는 CPU보다 더 많은 CPU를 사용하지 마십시오.

커널은 자원을 적절하고 효율적으로 스케줄링하기에 충분한 정보가있는 유일한 "프로세스"입니다.

그 이상으로 시스템에 남겨 둡니다.

부록 1 :

"최대 편의"에 대한 최적화, 성능 분석 도구를 사용하여 CPU 사용량, 메모리 사용량 및 I/O 사용량의 감소를 최적화 할 수 있습니다. 세 가지 모두 중요합니다.

메모리가 CPU보다 심각 할 수도 있습니다 (CPU를 심각하게 남용하지 않는다고 가정 할 때). 특히 시스템이 스와핑을 시작하면 모든 응용 프로그램의 성능과 전체 시스템 응답 성이 급격히 증대됩니다.

부록 2 : 당신이 최적화를 필요로하는 증명하기 위해 분석해야 할 때까지

아무것도를 최적화하지 마십시오!

+0

도움이되었습니다 ... – BigOmega

+0

대부분의 경우 대부분의 경우 동의합니다. OTOH 스케줄링을 미세 조정하려는 특정 실시간 제약 조건이있는 애플리케이션에 대해서는 합법적 인 이유로 IMHO가 있습니다. – Tobias

+0

스케줄링에 대한 세밀한 제어가 필요한 범주에 해당하는 애플리케이션 수는 극히 적습니다. Moreso의 요구 사항은 거의 항상 시스템에서 실행되는 다른 모든 앱을 엄격하게 제어해야한다는 요구 사항이 있습니다. 진정으로 실시간이 필요한 경우, 실시간 OS를 찾아야합니다. 의사 실시간 (pseudo-realtime)의 경우 의사 실시간을 최대한 KEXT로 격리하는 것이 가장 좋습니다. – bbum

0

최고의 Mac OS X 내부 서적은 Mac OS X Internals: A Systems Approach입니다. 마하 프로세스와 BSD 프로세스, 스레드 등에 대한 정보를 찾을 수 있습니다. 나는 그것이 얼마나 잘 스케줄링을 커버하는지 잘 모르겠다.

또한 소스는 OS X의 핵심 인 다윈 (Darwin)에서 사용할 수 있습니다. Google에서 쉽게 찾을 수 있도록 도와줍니다.