Mac OS システムでプログラミングするための Objective C でのプロセッサ管理のより高度な微調整に関するチュートリアルまたはドキュメントを探しています。他のプロセスとうまく連携するプロセスの作成や、Mac OS がプロセスとプロセッサのスケジューリングを処理する方法など。
2 に答える
要するに、気にしないでください。そうするために利用できる設備は実際にはありませんが、それには正当な理由があります。正しく理解している人はほとんどおらず、ユーザーレベルで正しく理解することさえ基本的に不可能です。
Mac OS X システムは、アプリケーションの要求に応じてシステム リソースを分配するように調整されています。アプリケーションを使いやすくするには、ポーリングを避け、必要以上に CPU を使用しないようにします。
カーネルは、リソースを適切かつ効率的にスケジュールするのに十分な情報を持つシステム上の唯一の「プロセス」です。
あとはシステムにお任せ。
補遺1:
「最大限の使いやすさ」を実現するために最適化する場合は、パフォーマンス分析ツールを使用して、CPU 使用率、メモリ使用率、および I/O 使用率を削減するように最適化します。3 つすべてが重要です。
メモリは、おそらく CPU よりもさらに重要です (CPU をひどく乱用していないと仮定して)。具体的には、システムがスワッピングを開始すると、すべてのアプリケーションのパフォーマンスとシステム全体の応答性が急速に低下します。
補遺2:
最適化が必要であることを証明するために必要な分析を行うまで、何も最適化しないでください。
Mac OS X の内部についての最高の本はMac OS X Internals: A Systems Approachです。マッハ プロセスと BSD プロセス、スレッドなどに関する情報が見つかります。ただし、スケジューリングをどの程度カバーしているかはわかりません。
また、ソースは OS X のコアである Darwin で利用できます。Google が簡単に見つけられるようにします。