<html>  	<head> 		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> 		<title>Welcome to Adobe GoLive 4</title> 		<meta name="generator" content="Adobe GoLive 4"> 	</head>  	<body> 		<table cool width="721" height="2382" border="0" cellpadding="0" cellspacing="0" gridx="16" showgridx usegridx gridy="16" showgridy usegridy> 			<tr height="1" cntrlrow> 				<td width="1" height="1"></td> 				<td width="720" height="1"><spacer type="block" width="720" height="1"></td> 			</tr> 			<tr height="2274"> 				<td width="1" height="2274"><spacer type="block" width="1" height="2274"></td> 				<td width="720" height="2274" colspan="1" rowspan="1" valign="top" align="left" xpos="0" content bgcolor="#f1f4e2" csheight="2274"> 					<center> 						<font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4"><b>LE COEUR DU SYSTEME</b></font></center> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4"><b>Sur quelle architecture repose Mac OS X ?</b></font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">Le coeur de l'OS s'intitule &quot;Darwin&quot; et est bas&eacute; sur deux technologies parmi les plus r&eacute;centes du monde UNIX : Mach 3.0 de la Carnegie Mellon University et FreeBSD 3.2, lui-m&ecirc;me d&eacute;riv&eacute; de BSD 4.4 Lite de l'University of California de Berkeley.</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">Darwin propose un certain nombre de fonctionnailit&eacute;s :</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">Les syst&egrave;mes de fichiers support&eacute;s sont ceux du monde UNIX : POSIX, UFS, le partage de fichiers NFS, mais aussi ceux de Mac OS Classic que sont HFS, HFS +, UDF (CD et DVD), ISO 9600 (Disques, CD et DVD du monde PC).</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">Les services int&eacute;gr&eacute;s de bases sont : Telnet, FTP, Serveur Web Apache, etc.</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">Les protocoles r&eacute;seaux en standard sont BSD qui permet TCP/IP en natif (avec internet 1 et 2), mais aussi PPP et AppleTalk, des protocoles purement Apple.</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">Darwin int&egrave;gre un sous syst&egrave;me d'entr&eacute;es/sorties haute performance permettant des connections hot plug and play de la plupart des p&eacute;riph&eacute;riques USB et FireWire. (Rappellons que ce sont l&agrave; les deux seuls protocoles en standard sur les machines d'Apple.) Le SCSI est &eacute;galement support&eacute;.</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4"><b>MACH est &agrave; lui seul un syst&egrave;me d'exploitation !!!</b></font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">Pour faire simple disons que MACH est le noyau qui fait tourner BSD comme une application, mais qui pourrait faire tourner d'autres choses...</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">En fait il s'agit d'une brique de base pour syst&egrave;mes d'exploitation.</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">Mach est &agrave; lui seul un syst&egrave;me d'exploitation. Il est un d&eacute;veloppement de RIG (Rochester Intelligent Gateway), un syst&egrave;me d'exploitation con&ccedil;u de mani&egrave;re modulaire pour un mini-ordinateur de 1975, l'Eclipse de Data General (presque 1 million de francs pour le mod&egrave;le d'entr&eacute;e de gamme &agrave; l'&eacute;poque). Le concept de base de ce syst&egrave;me est de fonctionner sur une s&eacute;rie de processus par le biais d'un protocole de messagerie. Il a &eacute;t&eacute; con&ccedil;u pour faire du <b>calcul distribu&eacute; et parall&eacute;lis&eacute;</b>.</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">Cela signifie que le syst&egrave;me peut tourner en s'appuyant sur un r&eacute;seau ou sur un groupe de processeurs. Ce syst&egrave;me d'exploitation, dont le d&eacute;veloppement s'est poursuivi &agrave; l'universit&eacute; de Carnegie Mellon, a &eacute;t&eacute; renomm&eacute; Mach en 1984. Le projet que Richard Rashid, un ex-d&eacute;veloppeur de RIG, a alors poursuivi pour l'universit&eacute; a &eacute;t&eacute; de d&eacute;velopper une brique de base sur laquelle d'autres syst&egrave;mes d'exploitation pourraient &ecirc;tre construits.</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">M&ecirc;me si Apple a d&eacute;cid&eacute; d'amener des millions d'utilisateurs vers Unix au travers de Mac OS X, personne ne sera oblig&eacute; de m&eacute;moriser des commandes Unix pour se servir du syst&egrave;me d'exploitation (en fait, il faut que l'utilisateur le veuille vraiment pour apercevoir Unix). Disons qu'il peut &ecirc;tre toutefois utile d'avoir quelques notions sur la mani&egrave;re dont Unix se loge dans les entrailles du Mac.</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">MacOS X comporte 4 &eacute;tages dont la base est emprunt&eacute;e au syst&egrave;me d'exploitation NeXTstep, et dont les marches proviennent de MacOS 9. La couche la plus basse int&eacute;ragit avec le mat&eacute;riel et aide diff&eacute;rents &eacute;l&eacute;ments de la couche sup&eacute;rieure &agrave; communiquer entre eux et avec le noyau BSD, ce qui permet d'avoir acc&egrave;s &agrave; la mise en r&eacute;seau, au pilotage de p&eacute;riph&eacute;riques ainsi qu'&agrave; la gestion de fichiers syst&egrave;me.</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">A l'int&eacute;rieur de Darwin, la deuxi&egrave;me couche (FreeBSD) se r&eacute;v&egrave;le &ecirc;tre un environnement Unix tout ce qu'il y a de plus classique, avec des outils comme le programme ls qui &Egrave;tablit la liste des fichiers pr&eacute;sents sur le disque, le programme cp qui s'occupe de la copie de fichiers, jusqu'&agrave; gzip ainsi que le serveur web Apache. Ces deux couches (Mach et FreeBSD) sont maintenant disponibles chez Apple, qui les a r&eacute;unis sous la forme du syst&egrave;me d'exploitation open source Darwin.</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">Darwin est en soi un syst&egrave;me d'exploitation compl&egrave;tement Unix, mais si on le compare &agrave; Mac OS ou &agrave; Windows il reste limit&eacute;. En particulier, il manque &agrave; Darwin des possibilit&eacute;s d'affichage graphique, ce qu'un Unix traditionnel accomplirait via X Window. En effet Darwin ne peut qu'afficher du texte sur le moniteur connect&eacute;.</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">Apple a sorti Darwin en source libre (&quot;Open Source&quot;), pour que les gens avec des Mac r&eacute;cents qui veulent faire tourner des Unix de style BSD aient une alternative gratuite suppl&eacute;mentaire (des projets comme OpenBSD et NetBSD supportent aussi une multitude de configurations mat&eacute;rielles Macintosh). Darwin a d&eacute;j&agrave; attir&eacute; l'attention de certains dans l'industrie de l'informatique, mais cela concerne principalement les utilisateurs de Mac, car il existe plusieurs solutions BSD matures pour les PC bas&eacute;s sur les processeurs Intel. Il reste &agrave; voir si les gens utiliseront vraiment Darwin comme un produit en tant que tel, mais il est possible qu'il gagne en popularit&eacute; sur les machines l&eacute;g&egrave;rement plus vieilles ou dans des environnements particuliers.</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">En fait Darwin interresse au premier chef les d&eacute;veloppeurs. La communaut&eacute; des d&eacute;veloppeurs Apple et Open Source ont ainsi l'occasion de pouvoir participer au d&eacute;veloppement des briques de base du syst&egrave;me. Bien entendu, Apple reste maitre des impl&eacute;mentations, ce qui garantit la fiabilit&eacute; et la coh&eacute;rence du syst&egrave;me. Les d&eacute;veloppeurs peuvent aussi utiliser Darwin pour leurs propres besoins (c'est d'ailleurs l&agrave; le principal int&eacute;r&ecirc;t).</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">Les services basiques de Mach sont donc simples, ce qui fait sa grande force et explique qu'il soit utilis&eacute; par MkLinux, BSD, NextStep, Openstep et Rhapsody. Mach peut m&ecirc;me se permettre de faire tourner plusieurs syst&egrave;mes d'exploitation en m&ecirc;me temps, car ceux-ci ne sont en fait que des t&acirc;ches &agrave; ex&eacute;cuter. Les services de base sont peu nombreux : gestion de la m&eacute;moire, gestion des processus, communications et entr&eacute;es/sorties. En fait, ces quatre services ne permettent pas de faire un syst&egrave;me d'exploitation tel qu'on l'entend, avec son architecture de fichiers et son interface graphique. C'est donc le r&ocirc;le du syst&egrave;me d'exploitation construit sur Mach, d'o&ugrave; BSD, l'Unix qui recouvre MacOS X. Ce fonctionnement n'a pas &eacute;t&eacute; pens&eacute; au hasard. En r&eacute;duisant le noyau de base, on r&eacute;duit le nombre d'erreurs possibles. La maintenance s'en trouve donc plus ais&eacute;e. D'autre part, en fonctionnant sur Mach, on r&eacute;duit &eacute;galement la d&eacute;pendance de l'utilisateur au mat&eacute;riel qu'il utilise. Car enfin, l'Unix qui est &eacute;mul&eacute; sur Mach ne s'accroche qu'aux quatre services de ce micronoyau ! </font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4"><b>Un noyau qui permet d'&eacute;muler n'importe quel syst&egrave;me</b> </font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">De plus, il suffit de porter le noyau sur une autre architecture pour porter tout l'OS ! En effet, le syst&egrave;me d'exploitation sur lequel vous travaillez n'est qu'une &eacute;mulation ! Idem pour MacOS 9 (originellement appel&eacute;e Blue Box). Et on pourrait bien voir fleurir des &eacute;mulations de Windows, d'Atari 520 ST, de ZX, Spectrum ou de console Sega ou PlayStation 2 ! Techniquement, avec la derni&egrave;re &eacute;volution de Mach, l'Unix et le noyau sont un peu plus intimement li&eacute;s. Mais l'&eacute;mulation au mieux et le portage sur une autre architecture au pire, sont r&eacute;alisables&#133; C'est ce qui explique qu'un grand nombre de PC&eacute;istes d&eacute;&ccedil;us par Windows attendent avec impatience le portage de Mac OS X sur l'architecture du Pentium (Voir le grand nombre de forums qui abordent cette question). </font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">Cependant, il est clair que l'int&eacute;r&ecirc;t d'Apple est de fermer le march&eacute; au seul machine de la marque. Business oblige ! Rappelons qu'Apple est la seule entreprise informatique &agrave; fournir &agrave; la fois les machines et le syst&egrave;me qui va avec : ce qui explique la tr&egrave;s grande int&eacute;gration Syst&egrave;me-Mat&eacute;riel d'une part, et d'autre part le fait qu'Apple reste extr&egrave;mement vigilant sur la paternit&eacute; de son syst&egrave;me. Mais c'est aussi ce qui garantie &agrave; l'utilisateur un syst&egrave;me d'une tr&egrave;s bonne tenue et d'une rare qualit&eacute;.</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4"><b>Quelques autres fonctionnalit&eacute;s de Darwin</b> :</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">- Optimis&eacute; Velocity Engine (PowerPC G4)</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">- Gestion du multi-processing sym&eacute;trique</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">- Multit&acirc;ches pr&eacute;emptif</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">- M&eacute;moire prot&eacute;g&eacute;e</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">- Lignes de commandes UNIX accessible via le terminal</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">- Supporte JAVA 2</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">- Syst&egrave;me d'affichage bas&eacute; sur le format PDF</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">- Les drivers sont op&eacute;rationnels sans red&eacute;marrage du syst&egrave;me : USB, FireWire, SCSI, PC Card, AGP, PCI sont g&eacute;r&eacute;s par l'IOKit</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">- Clustering (distribution des traitements sur plusieurs machines).</font></p> 					<p><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4"><b>Pour en savoir plus</b> :</font></p> 					<p><a href="http://www.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html" target="_blank" title="Mach project"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">http://www.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html</font></a></p> 					<p><a href="http://www.publicsource.apple.com/projects/darwin/" target="_blank" title="Darwin"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">http://www.publicsource.apple.com/projects/darwin/</font></a></p> 					<p><a href="http://db.tidbits.com/getbits.acgi?tbart=05994" target="_blank" title="Tidbits"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">http://db.tidbits.com/getbits.acgi?tbart=05994</font></a></p> 					<p><a href="http://www.x.org/" target="_blank" title="X point org"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">http://www.x.org/</font></a></p> 					<p><a href="http://www.macosx.org/" target="_blank" title="Kernel"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">http://www.macosx.org/</font></a></p> 					<p><a href="http://www.openbsd.org/" target="_blank" title="Open BSD"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">http://www.openbsd.org/</font></a></p> 					<p><a href="http://www.netbsd.org/" target="_blank" title="Net BSD"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">http://www.netbsd.org/</font></a></p> 					<div align="right"> 						<p><a href="couches.html" target="corps" title="Suite"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4">&gt;&gt; Suite</font></a></div> 				</td> 			</tr> 			<tr height="14"> 				<td width="1" height="14"><spacer type="block" width="1" height="14"></td> 				<td width="720" height="14"></td> 			</tr> 			<tr height="93"> 				<td width="1" height="93"><spacer type="block" width="1" height="93"></td> 				<td width="720" height="93" colspan="1" rowspan="1" valign="top" align="left" xpos="0" content bgcolor="#ffbebe" csheight="93"> 					<center> 						<a href="mailto:gilles.prin@bigfoot.com" title="M'crire"><font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" size="4"><b>Vous souhaitez m'&eacute;crire...</b></font></a> 						<p><a href="mailto:gilles.prin@bigfoot.com" title="M'crire !"><img height="51" width="69" src="pmail.gif"></a></center> 				</td> 			</tr> 		</table> 	</body>  </html> 
