<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software Dev Blog &#187; Mac OS X</title>
	<atom:link href="http://www.software-dev-blog.de/tag/mac-os-x/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.software-dev-blog.de</link>
	<description>Multicore-Programmierung, Multithreading &#38; Visual Computing</description>
	<lastBuildDate>Thu, 09 Feb 2012 19:54:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>.NET-Portierungstool MonoDevelop 2.8 mit neuen Funktionen für Mac-Entwickler</title>
		<link>http://www.software-dev-blog.de/net-portierungstool-monodevelop-2-8-mit-neuen-funktionen-fur-mac-entwickler/10/2011/</link>
		<comments>http://www.software-dev-blog.de/net-portierungstool-monodevelop-2-8-mit-neuen-funktionen-fur-mac-entwickler/10/2011/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 07:54:17 +0000</pubDate>
		<dc:creator>Oliver</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Portierung]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1796</guid>
		<description><![CDATA[Es ist wohl der Traum eines jeden .NET-Entwicklers: Wie portiere ich meinen existierenden C#-Quellcode mit möglichst wenig Aufwand auf weitere Plattform, sodass ich meine Software-Programme einer größeren Anwenderschar zur Verfügung stellen kann. Mit dem unter General Public License 2.1 stehenden Entwicklerumgebung MonoDevelop wird dieser Traum wahr, und ab sofort steht die verbesserte Version 2.8 zum [...]]]></description>
			<content:encoded><![CDATA[<p>Es ist wohl der Traum eines jeden .NET-Entwicklers: Wie portiere ich meinen existierenden C#-Quellcode mit möglichst wenig Aufwand auf weitere Plattform, sodass ich meine Software-Programme einer größeren Anwenderschar zur Verfügung stellen kann. Mit dem unter General Public License 2.1 stehenden Entwicklerumgebung <a href="http://monodevelop.com/" target="_blank">MonoDevelop</a> wird dieser Traum wahr, und ab sofort steht die verbesserte Version 2.8 zum Download zur Verfügung. Folgende wesentliche Neuerungen bietet das Portierungs- und Entwicklertool:</p>
<p>Der <strong>Quellcode-Editior</strong> wurde um neue Funktionen für das Projektmanagement erweitert. Das bedeutet unter anderem, dass MSBuild-Projektdateien mit <a title="Neuigkeiten aus Kalifornien: Intel IDF und Microsoft BUILD" href="http://www.software-dev-blog.de/neuigkeiten-aus-kalifornien-intel-idf-und-microsoft-build/09/2011/">Visual Studio</a> durch das Update kompatibler und darüber hinaus angepasste Frameworks unterstützt werden. Auch neu: die Syntax lässt sich farblich individuell darstellen, indem man eigene Farbschemen festlegt und diese je nach Projekt einsetzt.</p>
<p>Mac-Entwickler können ab sofort <strong>Xcode 4</strong> für das Schreiben ihres Quellencodes einsetzen. Somit können beispielsweise Interface-Builder-Dateien mithilfe von Xcode 4 editiert werden. Desweiteren sollen neue <a href="https://github.com/xamarin/monotouch-samples" target="_blank">MonoTouch-Beispiele</a> dabei helfen, Xcode 4 besser einzusetzen.</p>
<p>Außerdem wird der Testing-Services <strong>TestFlight</strong> unterstützt. Hierfür müssen Sie sich lediglich auf <a href="https://testflightapp.com/" target="_blank">testflightapp.com</a> anmelden, das zugehörige SDK in Ihre Build-Datei integrieren, dieselbe hochladen, testen lassen, fertig. Darüber hinaus lassen sich die Pfade zum Portierungstool <a href="http://ios.xamarin.com/" target="_blank">MonoTouch</a> und zum iOS SDK besser konfigurieren, es gibt neue Projektvorlagen für iPhone und iPad und die neue Storyboard-Funktion, die unter iOS 5 zur Verfügung steht, wird ebenfalls unterstützt.</p>
<p>MonoDevelop 2.8 können Sie <a href="http://monodevelop.com/Download" target="_blank">von der Download-Seite auf Ihren Rechner laden</a>. Unterstützt werden Windows, Mac OS X sowie die Linux-Distributionen openSUSE, SLE, Debian und Ubuntu.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/net-portierungstool-monodevelop-2-8-mit-neuen-funktionen-fur-mac-entwickler/10/2011/&via=sw_devtwits&text=.NET-Portierungstool MonoDevelop 2.8 mit neuen Funktionen für Mac-Entwickler&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/net-portierungstool-monodevelop-2-8-mit-neuen-funktionen-fur-mac-entwickler/10/2011/&via=sw_devtwits&text=.NET-Portierungstool MonoDevelop 2.8 mit neuen Funktionen für Mac-Entwickler&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/net-portierungstool-monodevelop-2-8-mit-neuen-funktionen-fur-mac-entwickler/10/2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apps unter Mac OS X multicore-tauglich machen</title>
		<link>http://www.software-dev-blog.de/apps-unter-mac-os-x-multicore-tauglich-machen/12/2009/</link>
		<comments>http://www.software-dev-blog.de/apps-unter-mac-os-x-multicore-tauglich-machen/12/2009/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 12:30:36 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Workshop]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1262</guid>
		<description><![CDATA[Disclaimer: Dieser Beitrag ist ein Extrakt des Artikels &#8220;Mehrkern-Beschleuniger&#8221;, der in der mac-developer 1/2010 erschienen ist. Autor dieses Beitrags ist Maximilian Götzfried. Ende August war ich bei Apple, um ein wenig mehr über deren Multicore-Beschleuniger Grand Central Dispatch zu erfahren. Diese in Snow Leopard implementierte Technik erlaubt es Anwendungsentwicklern, mit relativ wenig Aufwand, ihre Anwendungen [...]]]></description>
			<content:encoded><![CDATA[<p><em>Disclaimer: Dieser Beitrag ist ein Extrakt des Artikels &#8220;Mehrkern-Beschleuniger&#8221;, der in der <a href="http://www.mac-developer.de/" target="_blank">mac-developer</a> 1/2010 erschienen ist. Autor dieses Beitrags ist Maximilian Götzfried.</em></p>
<p>Ende August war ich bei Apple, um ein wenig mehr über deren Multicore-Beschleuniger <a href="http://www.software-dev-blog.de/mac-os-x-106-erleichtert-die-multicore-programmierung/08/2009/">Grand Central Dispatch</a> zu erfahren. Diese in Snow Leopard implementierte Technik erlaubt es Anwendungsentwicklern, mit relativ wenig Aufwand, ihre Anwendungen multicore-tauglich zu machen. Und das ohne größeren Programmieraufwand, sondern lediglich mithilfe der C-API und den NSOperation-Klassen.</p>
<p>Das Tolle an GCD ist deren einfache Verwendung: Anstatt selbst Threads auf Basis von Tasks oder anderen Objekten zu erzeugen, kümmert sich GCD selbst darum. Das bedeutet aber für den Software-Entwickler, dass er sich für eine optimale Ausnutzung der vorhandenen Prozessorressourcen grundsätzlich Gedanken machen muss über die Programmlogik. Das Resultat seines überarbeiteten Programms sind einzelne Tasks, die je nach Programmablauf an die vorhandenen Multithreading-Queues übergeben werden können, wo sie von GCD bestmöglich verarbeitet werden.</p>
<p>Wie bereits angedeutet, stellt GCD zwei Möglichkeiten zur Verfügung, Programmcode zu multithreaden: Mithilfe der NSOperation-Klasse und der C-API. Beides soll kurz beleuchtet werden.</p>
<p><span style="color: #993300;"><em><strong>NSOperation: Warteschlangentechnik für asynchrone Tasks</strong></em></span><br />
Für das asynchrone, also zeitversetzte Ausführen von Anwendungen ist lediglich das Erstellen von NSOperation-konformen Objekten erforderlich, die dann an die zugehörige Warteschlange übergeben werden, die die Queue nach dem FIFO-Prinzip verarbeitet. Hierfür werden Tasks im Hintergrund ausgeführt, pausiert und zu Ende geführt. Es ist sogar möglich, die Anzahl der maximalen Threads festzulegen, was in Extremfällen ein einziger sein kann. Natürlich erlaubt GCD die ständige Rückkehr zum Main Thread.</p>
<p><span id="more-1262"></span>Sehr hilfreich ist auch das &#8220;Verketten&#8221; mehrerer Threads, um so bestimmte Abhängigkeiten zu definieren. Hierzu gehört auch die Möglichkeit, Thread zu priorisieren. Darüber hinaus lassen sich NSOperation-Threads mit Rückgabewerten definieren, die während des Programmablaufs dann weiter verwendet werden können.</p>
<p><span style="color: #993300;"><em><strong>Grand-Central-Dispatch-API</strong></em></span><br />
Neben den NSOperation-Klassen erlaubt die GCD-API das direkte Verwenden der vorhandenen Funktionen. Hierfür kann man entweder eigene Queues erzeugen oder auf die globale Warteschlange zugreifen. Es existieren drei globale Queues, die sich lediglich in ihrer Priorität unterscheiden. Daneben gibt es natürlich auch eine Main Queue, die die Steuerung des Main Threads übernimmt.</p>
<p>Im Gegensatz zu den globalen Queues funktionieren eigene Warteschlange rein seriell, womit sie beispielsweise in Bereichen eingesetzt werden können, die bis dato mit Hilfe von Locks überwacht wurden. Queues werden blockweise gefüllt, der zugehörige Code wird asynchron im Hintergrund ausgeführt. Für eine problemlos Rückkehr zur Main Queue sollte jeder Block eine Callback-Funktion aufweisen, die auf das &#8220;Hauptprogramm&#8221; verweist. Natürlich lassen sich Queues auch pausieren (suspend) und weiter ausführen (resume).</p>
<p><span style="color: #993300;"><em><strong>Weitere wichtige GCD-Techniken</strong></em></span><br />
Neben den Klassen und APIs stehen weitere Techniken in GCD zur Verfügung, die man als Entwickler kennen sollte. So ermöglichen beispielsweise Semaphore die bessere Kontrolle bgrenzter Ressourcen. Aber auch Deadlocks lassen sich dank GCD besser vermeiden, Blöcke können zeitlich gesteuert genutzt werden, Systemereignisse lassen sich effizient und einfach überwachen und vieles mehr.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/apps-unter-mac-os-x-multicore-tauglich-machen/12/2009/&via=sw_devtwits&text=Apps unter Mac OS X multicore-tauglich machen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/apps-unter-mac-os-x-multicore-tauglich-machen/12/2009/&via=sw_devtwits&text=Apps unter Mac OS X multicore-tauglich machen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/apps-unter-mac-os-x-multicore-tauglich-machen/12/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mac OS X 10.6 erleichtert die Multicore-Programmierung</title>
		<link>http://www.software-dev-blog.de/mac-os-x-106-erleichtert-die-multicore-programmierung/08/2009/</link>
		<comments>http://www.software-dev-blog.de/mac-os-x-106-erleichtert-die-multicore-programmierung/08/2009/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 16:06:42 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1152</guid>
		<description><![CDATA[Anfang Dezember vorigen Jahres hab ich schon mal ein wenig über die nächste OS-Version des Apple-Betriebssytems geschrieben. Und gestern erreichte mich eine E-Mail mit folgendem Inhalt: Hallo, vor wenigen Minuten solltest Du die Pressemeldung zu Mac OS X Snow Leopard bekommen haben. Am Freitag, 28. August, etwas früher als erwartet, ist die neue Version des [...]]]></description>
			<content:encoded><![CDATA[<p>Anfang Dezember vorigen Jahres hab ich schon mal ein wenig über die nächste OS-Version des Apple-Betriebssytems <a title="Apple Mac OS X 10.6 mit hohem Multicore-Potenzial" href="http://www.software-dev-blog.de/apple-mac-os-x-106-mit-hohem-multicore-potenzial/12/2008/">geschrieben</a>. Und gestern erreichte mich eine E-Mail mit folgendem Inhalt:</p>
<blockquote><p>Hallo,</p>
<p>vor wenigen Minuten solltest Du die Pressemeldung zu Mac OS X Snow Leopard bekommen haben. Am Freitag, 28. August, etwas früher als erwartet, ist die neue Version des fortschrittlichsten Betriebssystems der Welt erhältlich!</p>
<p>Wir möchten Dich noch am selben Tag zu einem kurzen Pressebriefing zur neuen Version des Desktop-Betriebssystems einladen, um Dir einige der Wichtigsten der neuen Verbesserungen und Technologien vorzustellen &#8211; von &#8216;Grand Central Dispatch&#8217; (GCD) bis zur serienmäßigen Unterstützung für Microsoft Exchange.</p>
<p>Lust und Zeit aus erster Hand alles über Mac OS X Snow Leopard zu erfahren, mit den Fachleuten zu diskutieren und selbstverständlich im Anschluss an das Briefing eine Version der neuen Software mitzunehmen?!</p></blockquote>
<p>Ob ich Lust und Zeit habe?! Na klar habe ich. Denn ich will endlich ein wenig mehr wissen über die geplanten Features des Schneeleoparden, wenngleich es kein ganz großes Update wird. Aber eins steht schon fest: Apple spendiert seiner sechsten OS-X-Version ein neues Tool, mit dem das Programmieren von Multicore-Anwendungen einfacher werden soll: <strong>Grand Central Dispatch (GCD)</strong>.</p>
<p>GCD wird Bestandteil des OS-X-Kernels sein und damit nicht anwendungs-, sondern betriebssystem-nah arbeiten. Und das wiederum soll eine Vereinfachung der Multicore-Programmierung mit sich bringen, da nicht mehr einzelne Multithread-Anwendungen aufeinander abgestimmt werden müssen. Hierfür soll GCD die globale Verwaltung der notwendigen Threads übernehmen und nicht mehr benötigte Ressourcen automatisch freigeben.</p>
<p><span id="more-1152"></span>Aber für all diese Verbesserungen braucht es natürlich ein wenig Wissen und diverse <a title="Videocast: So funktioniert Parallel Studio" href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">Tools</a>, mit denen sich vor allem das Laufzeitverhalten parallel ablaufender Anwendungen untersuchen lässt. Hiefür bietet Apple seinen Entwicklern beispielsweise ein Debugger-Tool, das in die Entwicklerumgebung Xcode integriert ist. Oder das Analysetool &#8220;Instruments&#8221;, mit dem man zur Laufzeit in GCD hineingucken kann, um mögliche Schwachstellen oder Programmierfehler aufzudecken. Damit soll es sogar möglich sein, Warteschlangen zu untersuchen, und das auf Code-Ebene.</p>
<p>Dann bin ich schon mal sehr gespannt auf den Freitag und was Apple zu Snow Leopard zu erzählen hat. Und mit etwas Glück erfahre ich vom anwesenden Produktmanager mehr über GCD und ob es <a title="Mit Intel Thread Checker und Parallel Inspector Dead Locks und Konsorten aufspüren" href="http://www.software-dev-blog.de/vergleich-intel-thread-checker-versus-parallel-inspector/07/2009/">Dinge wie Dead Locks</a> und andere fiese Sachen zur Laufzeit entdeckt. Mal sehen.</p>
<p><em><strong>Lesetipp:</strong></em> Für alle, die jetzt mehr Lust bekommen haben auf Grand Central Dispatch, hat Apple <a title="Mehr zu GCD lesen" href="http://images.apple.com/euro/macosx/technology/docs/GrandCentral_TB_brief_20090608.pdf" target="_blank">ein PDF online</a> gestellt, das schon mal die wichtigsten Fragen beantwortet. Das werde ich mir beizeiten genauer ansehen. So, stay tuned &#8230;</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/mac-os-x-106-erleichtert-die-multicore-programmierung/08/2009/&via=sw_devtwits&text=Mac OS X 10.6 erleichtert die Multicore-Programmierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/mac-os-x-106-erleichtert-die-multicore-programmierung/08/2009/&via=sw_devtwits&text=Mac OS X 10.6 erleichtert die Multicore-Programmierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/mac-os-x-106-erleichtert-die-multicore-programmierung/08/2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mac OS X 10.5 (Leopard) fährt voll auf Multicore ab</title>
		<link>http://www.software-dev-blog.de/mac-os-x-105-leopard-fahrt-voll-auf-multicore-ab/12/2008/</link>
		<comments>http://www.software-dev-blog.de/mac-os-x-105-leopard-fahrt-voll-auf-multicore-ab/12/2008/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 09:48:44 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=474</guid>
		<description><![CDATA[J, ja, es ist schon ein paar Tage her, dass Mac OS X 10.5, auch bekannt als Leopard, das Licht der Welt erblickt hat. Aber ich habe gerade ein paar sehr interessante Details bezüglich der Multicore-Affinität des Apple-Betriebssystems entdeckt. Und so richtig viel darüber habe ich im Web nicht gefunden. Hardware-seitig bietet Apple ja mit [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-485" style="margin-left: 10px; margin-right: 0px;" title="In Mac OS X 10.5 Leopard steckt eine Menge Multicore-Potenzial" src="http://www.software-dev-blog.de/wp-content/images/2008/12/apple-logo1.jpg" alt="In Mac OS X 10.5 Leopard steckt eine Menge Multicore-Potenzial" height="180" /></p>
<p>J, ja,  es ist schon ein paar Tage her, dass Mac OS X 10.5, auch bekannt als Leopard, das <a title="Die wichtigsten Leopard-Funktionen auf einen Blick" href="http://www.it-techblog.de/frisch-vom-apple-event-leopards-beste-funktionen/10/2007/" target="_blank">Licht der Welt</a> erblickt hat. Aber ich habe gerade ein paar sehr interessante Details bezüglich der Multicore-Affinität des Apple-Betriebssystems entdeckt. Und so richtig viel darüber habe ich im Web nicht gefunden.</p>
<p>Hardware-seitig bietet Apple ja mit dem <a title="Mehr Infos zum Mac Pro von Apple" href="http://www.it-techblog.de/neuer-mac-pro-und-xserve-mit-8-core-ab-sofort-bei-apple/01/2008/" target="_blank">Mac Pro</a> die volle Mehrkerntechnik von Intel: Acht Prozessorkerne beschleunigen vor allem die Bild- und Videobearbeitung, aber auch für Apple-eigene Anwendungen ist der Intel Xeon Prozessor, eine Quadcore-CPU mit maximal 3,2 GHz, nützlich.</p>
<p>Von dieser Mehrkern-Architektur profitieren unter anderem Programme wie Mail, das Adressbuch und die Verwaltung der Schriftensammlung, indem anfallende Aufgaben auf die vorhandenen Ressourcen möglichst optimal verteilt werden. Darum kümmert sich übrigens die neu programmierte Ablaufsteuerung von Leopard.</p>
<p>In Sachen Netzwerk hat sich Apple ebenfalls Gedanken gemacht: So wurde ein multithreading-fähiger Netzwerkstapel implementiert, der die Ein- und Ausgabeanfragen des LANs schneller verarbeiten kann. Außerdem wurde die indizierte Suchfunktion Spotlight beschleunigt, genauso wie die Wörterbuchfunktion von Mac OS X 10.5. Dies hat vor allem mit der <a title="Wiki-Infos zu Cocoa" href="http://de.wikipedia.org/wiki/Cocoa" target="_blank">objektorientierten API Cocoa</a> zu tun, die ebenfalls für den Multicore-Betrieb optimiert wurde.</p>
<p><span id="more-474"></span>Um all diese Verbesserungen hinsichtlich der parallelen Datenverarbeitung zu erzielen, hat Apple seinem Betriebssystem eine ganz neue Klasse an APIs spendiert, die sogenannten NSOperationen. Dabei werden unabhängig voneinander berechenbare Operationen einer Warteschleife hinzugefügt, die automatisch und sehr dynamisch die Verarbeitung der Befehle oder Operationen steuert, je nach Auslastung der vorhandenen Prozessorkerne.</p>
<p>Interessant daran ist auch die Tatsache, dass man als Entwickler die erforderlichen Threads nicht selbst erstellen und wieder schließen muss. Dies erledigt Cocoa automatisch, indem es die Operationen selbstständig auf die Ressourcen effizient verteilt.</p>
<p>Darüber hinaus lassen sich Leopard-basierte Macs (vor allem der bereits erwähnte Mac Pro) für wissenschaftliche Zwecke einsetzen, da Apple auch hier auf die Multicore-Fähigkeiten seiner Rechner setzt. Das Zauberwort heißt <a title="Wiki-Infos zu MPI" href="http://de.wikipedia.org/wiki/Message_Passing_Interface" target="_blank">OpenMPI</a>, was eine Vernetzung mehrerer Rechner ermöglicht. Dabei kommen mediumseitig IP-Verbindungen wie LAN oder WLAN zum Einsatz, die Software für den eigenen Mac-Cluster nennt sich <a title="Apple-Infos zu Xgrid" href="http://www.apple.com/de/server/macosx/technology/xgrid.html" target="_blank">Xgrid</a> und stammt ebenfalls von Apple. Selbst in der Entwicklerumgebung <a title="Apple-Infos zu Xcode" href="http://developer.apple.com/Tools/xcode/" target="_blank">Xcode</a> steckt eine Menge Multicore-Potenzial, wie wir ja bereits in einem <a title="Apple-Software mit Intel-Tools optimieren " href="http://www.software-dev-blog.de/apple-software-mit-intel-tools-optimieren/11/2008/">früheren Beitrag</a> gezeigt haben. Parallel Computing aus dem Hause Apple von A bis Z eben &#8230;</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/mac-os-x-105-leopard-fahrt-voll-auf-multicore-ab/12/2008/&via=sw_devtwits&text=Mac OS X 10.5 (Leopard) fährt voll auf Multicore ab&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/mac-os-x-105-leopard-fahrt-voll-auf-multicore-ab/12/2008/&via=sw_devtwits&text=Mac OS X 10.5 (Leopard) fährt voll auf Multicore ab&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/mac-os-x-105-leopard-fahrt-voll-auf-multicore-ab/12/2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple Mac OS X 10.6 mit hohem Multicore-Potenzial</title>
		<link>http://www.software-dev-blog.de/apple-mac-os-x-106-mit-hohem-multicore-potenzial/12/2008/</link>
		<comments>http://www.software-dev-blog.de/apple-mac-os-x-106-mit-hohem-multicore-potenzial/12/2008/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 13:13:54 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Optimieren]]></category>
		<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=356</guid>
		<description><![CDATA[John Hubbard scheint ein ziemlich kluger Kopf zu sein. Denn erstens beschäftigt er sich bei Apple als Director of Unix Technologies mit sehr komplexen und ernsthaften Dingen. Und zweitens hat er Mitte November auf einer Konferenz in San Diego bemerkenswerte Dinge über Intel und Multicore gesagt. Beispiele gefällig? Forget everything you thought you knew about [...]]]></description>
			<content:encoded><![CDATA[<p>John Hubbard scheint ein ziemlich kluger Kopf zu sein. Denn erstens beschäftigt er sich bei <strong>Apple</strong> als Director of Unix Technologies mit sehr komplexen und ernsthaften Dingen. Und zweitens hat er Mitte November auf einer <a title="Mehr Infos zu LISA'08" href="http://www.usenix.org/events/lisa08/" target="_blank">Konferenz in San Diego</a> bemerkenswerte Dinge über Intel und Multicore gesagt. Beispiele gefällig?</p>
<blockquote><p>Forget everything you thought you knew about multi-threaded programming (and, as it turns out, most developers didn’t know much anyway).</p></blockquote>
<blockquote><p>The kernel is the only one who really knows the right mix of cores and power states to use at any given time &#8211; this can’t be a pure app-driven decision.</p></blockquote>
<blockquote><p>We need new APIs and mechanisms for dealing with this incoming meteor.</p></blockquote>
<p>Wie gut, dass sich Intel über Letzteres bereits Gedanken macht und Tools wie <a title="Mehr Infos zu den Intel TBB" href="http://www.software-dev-blog.de/multithreading-konzepte-openmp-apis-und-intel-tbb/11/2008/">Intel TBB</a> und <a title="Intel Parallel Composer steht als Beta bereit" href="http://www.software-dev-blog.de/jetzt-beta-tester-des-intel-parallel-composer-werden/11/2008/">Intel Parallel Studio</a> bietet, mit deren Hilfe die Multicore-Programmierung deutlich erleichtert werden kann.</p>
<p>Weniger schlau während seines Vortrags war allerdings die Folie Nummer 5, auf der er (ganz inoffiziell natürlich) den Erscheinungszeitraum der nächsten <a title="Mehr Infos zu Snow Leopard auf apple.com" href="http://www.apple.com/macosx/snowleopard/" target="_blank">OS-X-Version 10.6 aka Snow Leopard</a> bekannt gegeben hat, nämlich das erste Quartal 2009. Anfang Juni während der <a title="Die WWDC'08-Keynote zum Nachlesen" href="http://www.it-techblog.de/wwdc08-live-ticker-iphone-20-snow-leopard-co/06/2008/" target="_blank">Apple-Entwicklerkonferenz WWDC’08</a> war noch von ungefähr einem Jahr die Rede, bis Mac OS X 10.6 in die Läden kommt. Tja, dumm gelaufen!</p>
<p>Und was hat das alles mit Multicore-Programmierung zu tun? Nun, in der nächsten Version des Apple-Betriebssystems wird ganz viel Multicore-Unterstützung stecken. Leider gibt Apple noch nichts Konkretes raus (und John leider auch nicht), aber einige grundsätzliche Dinge sind heute schon klar:</p>
<p><span id="more-356"></span>Die Multicore-Technik in Snow Leopard trägt den Codenamen „Grand Central“ und soll laut Apple den Umgang mit Multicore-Systemen erheblich erleichtern. Das soll sowohl die Software-Entwickler betreffen als auch die Anwendungen und deren Ausführung. Es geht also um die Zuordnung von Tasks auf vorhandene Prozessorkerne und eine verbesserte Multicore-Programmierung unter Mac OS X 10.6. Das ist so überraschend nicht, schließlich weiß Apple seit vielen Jahren ganz genau, wie man Software und Hardware optimal aufeinander abstimmt.</p>
<p>Übrigens: Auch John Hubbards Chef, Mister Steve Jobs, kann gelegentlich nicht ganz so schlaue Dinge sagen. In einem <a title="Das komplette Interview mit Steve Jobs" href="http://bits.blogs.nytimes.com/2008/06/10/apple-in-parallel-turning-the-pc-world-upside-down/" target="_blank">Interview mit dem Bits Blog</a> der News York Times sprach er nämlich folgenden Satz:</p>
<blockquote><p>The way the processor industry is going is to add more and more cores, but nobody knows how to program those things. I mean, two,, [processor cores], yeah; four, not really; eight, forget it!</p></blockquote>
<p>So, so, niemand weiß, wie man Software für vier, acht oder mehr Prozessorkerne programmiert. Na, Steve, frag mal bei <a title="Videochat mit Nero zum Thema Core i7 und Nero-Software" href="http://software.intel.com/en-us/videos/perfect-match-nero-and-the-intel-core-i7" target="_blank">Intel und seinen Partnern</a> nach, wie das geht &#8230;</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/apple-mac-os-x-106-mit-hohem-multicore-potenzial/12/2008/&via=sw_devtwits&text=Apple Mac OS X 10.6 mit hohem Multicore-Potenzial&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/apple-mac-os-x-106-mit-hohem-multicore-potenzial/12/2008/&via=sw_devtwits&text=Apple Mac OS X 10.6 mit hohem Multicore-Potenzial&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/apple-mac-os-x-106-mit-hohem-multicore-potenzial/12/2008/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Apple-Software mit Intel-Tools optimieren</title>
		<link>http://www.software-dev-blog.de/apple-software-mit-intel-tools-optimieren/11/2008/</link>
		<comments>http://www.software-dev-blog.de/apple-software-mit-intel-tools-optimieren/11/2008/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 12:19:58 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Compiler]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Symbiose]]></category>
		<category><![CDATA[TBB]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=146</guid>
		<description><![CDATA[Seit dem Prozessor-Switch seitens Apple von IBM- auf Intel-CPUs Anfang 2006 ist Stück für Stück eine kleine, aber sehr exquisite Entwicklergemeinde in den Fokus von Intel gerückt: Mac-Programmierer, die mithilfe von Xcode und Cocoa neue Anwendungen erschaffen. Mit dabei sind natürlich auch Intel-Tools, die diesen Software-Entwicklern dabei helfen sollen, ihre Programme bestmöglich auf die Intel-Plattform [...]]]></description>
			<content:encoded><![CDATA[<p>Seit dem <a title="Apple kündigt den erste iMac mit Intel-Prozessor an" href="http://www.apple.com/de/pr/pr-infos2006/januar/imac.html" target="_blank">Prozessor-Switch</a> seitens Apple von IBM- auf Intel-CPUs Anfang 2006 ist Stück für Stück eine kleine, aber sehr exquisite Entwicklergemeinde in den Fokus von Intel gerückt: Mac-Programmierer, die mithilfe von <a title="Mehr Infos zu den Apple-Entwicklertools" href="http://developer.apple.com/technology/" target="_blank">Xcode und Cocoa</a> neue Anwendungen erschaffen. Mit dabei sind natürlich auch <a title="Intel Software-Tools für Mac-Entwickler" href="http://www.intel.com/cd/software/products/asmo-na/eng/227389.htm" target="_blank">Intel-Tools</a>, die diesen Software-Entwicklern dabei helfen sollen, ihre Programme bestmöglich auf die Intel-Plattform abzustimmen.</p>
<p>Dazu zählt beispielsweise der <a title="Mehr Infos zum Intel C++ Compiler für den Mac" href="http://www.intel.com/cd/software/products/asmo-na/eng/compilers/cmac/index.htm" target="_blank">C++-Compiler</a>, den es in einer Professional und Standard Edition gibt. Vor allem die Profi-Variante hat es in sich: Volle Multithread-Unterstützung für paralleles Programmieren, was zum Beispiel automatisches Multithreading umfasst, aber auch Vektorisierung, <a title="Mehr Infos zu OpenMP" href="http://openmp.org/wp/" target="_blank">OpenMP</a> oder Loop Unrolling. Darüber hinaus bietet die Compiler-Suite leistungsstarke C++-Bibliotheken für noch mehr Parallelismus, mathematische Funktionen und Multimediaanwendungen.</p>
<p>Aber nicht nur den Mac-kompatiblen C++-Compiler hat Intel zu bieten, sondern auch <a title="Mehr Infos zu Intel TBB" href="http://www.intel.com/cd/software/products/asmo-na/eng/threading/threadbuildblocks/294797.htm" target="_blank">Intel Threading Building Blocks</a>, <a title="Mehr Infos zu Intel IPP" href="http://www.intel.com/cd/software/products/asmo-na/eng/perflib/ipp/index.htm" target="_blank">Intel Integrated Performance Primitives</a> und <a title="Mehr Infos zu Intel MKL" href="http://www.intel.com/cd/software/products/asmo-na/eng/307757.htm" target="_blank">Intel Math Kernel Library</a>, die allesamt perfekt auf den Intel C++-Compiler für Mac OS X abgestimmt sind.</p>
<p><span id="more-146"></span>Das Beste daran ist jedoch die volle Integration der Intel-Tools in die Apple-eigene Entwicklerumgebung Xcode, mit der sich Mac-Programme sehr intuitiv und sehr elegant schreiben lassen. Darüber hinaus kann man sich als Entwickler sicher sein, dass die eigenen Anwendungen optimal auf Intel-basierten Apple-Rechnern laufen und das Multithread-Potenzial bestmöglich ausschöpfen.</p>
<p>Übrigens: Neben dem C++-Compiler bietet Intel auch einen <a title="Mehr Infos zum Intel Fortran Compiler" href="http://www.intel.com/cd/software/products/asmo-na/eng/compilers/fmac/index.htm" target="_blank">Fortran-Compiler</a> für die Mac-OS-X-Entwicklergemeinde. Damit diese nicht zu kurz kommt.</p>
<p>Falls Sie sich jetzt fragen, ob Sie das Ganze erst mal ausprobieren können, bevor Sie die Intel-Mac-Dev-Tools kaufen &#8211; ja, Sie können. Hierfür brauchen Sie sich lediglich für den kostenlosen Intel Premier Support <a title="Hier können Sie sich für den Intel Premier Support anmelden" href="http://support.intel.com/support/performancetools/sb/CS-017156.htm" target="_blank">anzumelden</a> und können anschließend das entsprechende Tool aus dem <a title="Link zum Intel Evaluation Center" href="http://www.intel.com/cd/software/products/asmo-na/eng/download/eval/219690.htm" target="_blank">Evaluation Center</a> auf Ihren Mac laden und dort ausgiebig testen. Kommerzielle Anwendungen lassen sich damit aber nicht erstellen!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/apple-software-mit-intel-tools-optimieren/11/2008/&via=sw_devtwits&text=Apple-Software mit Intel-Tools optimieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/apple-software-mit-intel-tools-optimieren/11/2008/&via=sw_devtwits&text=Apple-Software mit Intel-Tools optimieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/apple-software-mit-intel-tools-optimieren/11/2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

