Auf der Suche nach einigen Tutorials oder Dokumentation über die erweiterte Feinabstimmung der Prozessorverwaltung in Objective C für die Programmierung in dem Mac OS-System. Dinge wie das Schreiben eines Prozesses, der mit anderen Prozessen gut funktioniert, und die Art und Weise, wie das Mac OS Prozesse und Prozessorzeitpläne verarbeitet.Eine gute Ressource für die Prozessorzeitplanung/Programmierung für Mac OS X?
Antwort
Kurz gesagt, nicht stören. Dafür gibt es nicht wirklich Möglichkeiten und das aus gutem Grund; sehr wenige Leute machen es richtig und es ist im Grunde unmöglich, überhaupt auf der Benutzerebene richtig zu kommen.
Das Mac OS X-System ist darauf abgestimmt, Systemressourcen nach Bedarf zu verteilen. Damit Ihre Anwendung benutzerfreundlich ist, vermeiden Sie die Abfrage und verwenden Sie nicht mehr CPU als erforderlich.
Der Kernel ist der einzige "Prozess" auf dem System, der über genügend Informationen verfügt, um Ressourcen entsprechend und effizient zu planen.
Darüber hinaus überlassen Sie es dem System.
Addendum 1:
Wenn für "maximale Freundlichkeit" zu optimieren, um die Performance-Analyse-Tools und eine Reduzierung der CPU-Auslastung, Speicherauslastung und I/O-Nutzung optimieren. Alle drei sind kritisch.
Speicher ist wahrscheinlich noch kritischer als CPU (unter der Annahme, dass Sie nicht ungeheuerlich die CPU missbrauchen). Sobald ein System mit dem Austausch beginnt, werden sich die Leistung aller Anwendungen und die Reaktionsfähigkeit des gesamten Systems schnell verflüchtigen. 2
Nachtrag:
Sie nichts optimieren, bis Sie die Analyse notwendig gemacht haben zu beweisen, dass es die Optimierung benötigt!
Das beste interne Mac OS X Buch ist Mac OS X Internals: A Systems Approach. Sie finden Informationen über Mach-Prozesse im Vergleich zu BSD-Prozessen, Threads und dergleichen. Ich bin mir nicht sicher, wie gut es die Zeitplanung abdeckt.
Auch die Quelle ist für Darwin, dem Kern von OS X, verfügbar. Google wird Ihnen helfen, es leicht zu finden.
das war hilfreich ... – BigOmega
Ich würde für die meisten Anwendungen die meiste Zeit zustimmen. OTOH gibt es legitime Gründe IMHO für Anwendungen mit bestimmten Echtzeit-Einschränkungen zu Feinabstimmung der Planung. – Tobias
Die Anzahl der Anwendungen, die in die Kategorie fallen, die fein abgestimmte Kontrolle über die Zeitplanung zu benötigen, ist äußerst gering. Darüber hinaus folgt dieser Anforderung fast immer die Anforderung, jede andere App, die auf dem System ausgeführt wird, streng zu kontrollieren. Wenn Sie wirklich Echtzeit benötigen, sollten Sie nach einem Echtzeit-Betriebssystem suchen. Für Pseudo-Realzeit ist es am besten, die Pseudo-Realzeit so weit wie möglich zu isolieren, möglicherweise in ein KEXT. – bbum