Accueil MacOSX / Les versions majeures / Cocoa / Carbon / Quartz / Classic / Darwin






 

Le 16 mars 1999, Apple rompt avec sa tradition de système fermé et met à disposition quelques "briques" de MacOS X Server sur son site http://www.publicsource.apple.com/.
Le nom de ce projet est Darwin et des développeurs se lancent dans un travail d'ajout d'un système graphique pour obtenir un MacOS X Lite gratuit compatible MacOS X Server, puis MacOS X.

Le 10 mai, Steve Jobs et Avie Tevanian annoncent DarwinOS 0.2, un système compilé opérationnel...
On apprend alors que Darwin sera la couche la plus basse du futur MacOS X...


 

L'architecture du disque MacOS X :



Organisation du dossier ~/ de l'utilisateur "romain".

La différence majeure de MacOS X, pour un habitué de MacOS, est la nouvelle organisation des fichiers (héritée d'Unix et NeXT). Les changements sont profonds :


Cette nouvelle disposition, déroutante aux premiers abords, est en fait très puissante. D'une part, elle permet d'organiser le système en fonction des différents utilisateurs. D'autre part, elle permet d'assurer la protection du système d'exploitation qui est isolé des bibliothèques que pourrait installer un nouveau logiciel (ce qui n'est pas le cas dans Windows avec les DLLs).


 

Quelques commandes Unix à connaître pour manipuler Darwin :


Notations dans l'article:
Les commandes sont placées entre guillemets " ".
Les chemins d'accès sont entre cotes ' '.
Les numerosMachine en italique sont des adresses IP (Internet)

Caractères spéciaux sous Unix:
Le caractère "*" signifie "n'importe quelle suite de caractères".
"/" désigne la racine des fichiers Unix
Les commandes de base:
  • "ls": liste des fichiers
  • "ll": liste des fichiers avec détails et fichiers cachés
  • "cd 'dossier'": pour aller dans un dossier (si le nom comporte un espace, taper "\ ": Majuscule-Alt-: et un espace)
  • "cd ..": pour remonter d'un dossier en arrière
  • "su": pour passer en administrateur de la machine (root)
  • "mkdir 'dossier'": pour créer un dossier
  • "mv 'dossier' 'cheminDestination'": pour déplacer ou renommer un fichier
  • "cp 'dossier' 'cheminDestination'": pour copier un fichier
  • "rm 'nomFichier'": pour effacer un fichier ou application
  • "rm -R 'nomDossier'": pour effacer un dossier
  • "chmod 777 'nomFichier'": pour donner tous les droits d'accès sur un éléments (fichier, logiciel ou dossier)
  • "chmod 700 'nomFichier'": pour protéger l'accès en lecture écriture et exécution sur un éléments (fichier, logiciel ou dossier)
  • "ps": liste des processus (programmes lancés)
  • "top": idem avec mise à jour régulière
  • "man 'commandeUnix'": pour avoir l'aide sur une commande Unix (touche return pour avancer, espace pour sauter une page et q pour quitter)
  • Autres programmes:
  • "tar -zcvf 'fichierCompresse.tgz' 'dossierOuFichierACompresser'": compression d'un dossier ou d'un fichier en tar-gzip
  • "tar -zxvf 'fichierCompresse.tgz'": décompression d'un fichier tar-gzip
  • "vi": l'éditeur de texte universel d'Unix: Au départ, on est en mode commande donc il faut passer en mode texte en tapant "i" (comme insérer). Ensuite on peut écrire, mais attention, pour effacer, il faut sortir du mode texte avec "esc" (retour en mode commande), se positionner sur le caractère à effacer et taper "x". Pour quitter vi, il faut passer en mode commande et faire ":q!" pour quitter sans sauvegarder ou ":x 'nomFichier'" pour quitter en sauvegardant la première fois. (Ensuite, c"est ":x" ou "majuscule-zz") Bien sûr vi est très complexe et il y a des commandes pour faire à peu près tout ce que l'on veut (sauf, bien sûr, du Glisser-déposer ;-) ).
  • "telnet numeroMachine": pour entrer sur une autre machine
  • "ftp numeroMachine": pour transférer des fichiers depuis ou vers une autre machine
  • "ping numeroMachine": pour vérifier qu'une machine est bien visible sur le réseau
  • "make ...": pour compiler un programme dont on a le source.
  • Pour des détails sur tous ces programmes Unix, l'idéal est de consulter le "man" pour chacun d'eux.
    Pour finir, "control-c" permet d'interrompre l'exécution d'un programme.



    Le résultat de quelques commandes Unix.






     
    Historique :

    Sources MacOSRumors, MacWorld, Apple.





     
    Darwin et le noyau Mach 3 de MacOS X:

    Les 2 changements majeurs dans Darwin pour MacOS X (par rapport aux précédentes versions) sont, d'une part le nouveau noyau, et d'autre part le remplacement de UniX BSD 4.4 par FreeBSD et sa compatibilité POSIX. De plus, la gestion avancée du hot plug and play par l'IOKit permet de ne pas dépayser les utilisateurs des systèmes de Cupertino.

    Les systèmes de fichiers gérés par MacOS X sont UFS (UnixFileSystem), NFS (NetworkFileSystem), ISO9600 (CD PC), UDF (DVD) et HFS+ (MacOS étendu). Ce dernier est le système de fichiers principal du nouveau système (un volume HFS+ peut contenir le système, contrairement à MacOS X Server).

    Le noyau utilisé est Mach Kernel 3.0. L'accélération par rapport à MacOSX Server est spectaculaire, MOSR parle même d'une plus grande vitesse d'exécution que Linux !!! Ce nouveau noyau économiserait de la mémoire vive par rapport au Mach 2.5.
    MacOS X est multiprocesseurs symétrique dès la première version. Cette fonction est implantée au niveau du noyau du système. Mach 3 est très optimisé VelocityEngine, la technologie PowerPC vectorielle, ce qui signifie des échanges mémoire beaucoup plus rapides (à partir des G4s).
    Le Clustering (distribution des traitements sur plusieurs machines) est également possible.

    Sources Apple, AppleInsider, MacOSRumors et MacWorld.




    OpenSource Apple | Linux-Darwin | The Darwin Project
    AppleInsider | MacOSRumors
    Hit-Parade