| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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...
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 :
- Disparition du Dossier Extensions
- Disparition du Dossier Tableau de Bord
- Déplacement du Dossier Préférences (dans ~/Library/Preferences)
- Protection du System pour les utilisateurs non-administrateurs
- Nouvelle syntaxe Unix pour décrire les chemins d'accès (transparente à l'utilisateur) :
- / (racine du disque)
- .. (remonter d'un dossier)
- ~/ (dossier utilisateur; exemple dans mon cas /Users/rhapso)
- La quasi-totalité des couches basses (Darwin) est masquée :
- /bin
- /dev
- /etc
- Noyau Mach
- /sbin
- /tmp
- /usr
- /var
- Les volumes (partitions de disques, CDs, DVDs, Zip,...) sont dans /Volumes.
- Les logiciels et les utilitaires sont dans un dossier nommé /Applications.
- Nouveaux dossiers Library situés à différents endroits stratégiques du disque :
- Dans le dossier "System" pour les librairies (sortes d'extensions) et préférences globales d'Apple
- A la racine du disque pour les autres librairies et préférences globales
- Dans les dossiers des utilisateurs (~/Library) pour les librairies et préférences spécifiques aux utilisateurs (personnalisation)
- Les éléments placés sur le Bureau se retrouvent dans le dossier ~/Desktop.
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).
Les commandes sont placées entre guillemets " ".
Les chemins d'accès sont entre cotes ' '.
Les numerosMachine en italique sont des adresses IP (Internet)
Les commandes de base:Le caractère "*" signifie "n'importe quelle suite de caractères".
"/" désigne la racine des fichiers Unix
Autres programmes:
"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)
"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.
- Avril 2000: Apple place Darwin 1.0 sur le site d'OpenSource. Cela comprend le noyau Mach 3 et UniX FreeBSD. De plus, une pré-version pour PC est mise à disposition. Apple fait un pas vers les PC....
- John Carmack, auteur de Quake, a réussi à porter le système graphique XWindow sur Darwin. Cela pourrait permettre, à moyen terme, de faire tourner des logiciels Linux sur MacOS X...
- Apple a mis à jour Darwin en DarwinOS 0.3. Il y a désormais un logiciel d'installation.
- Apple a lancé une nouvelle technologie en source ouvert: OpenPlay.
Déjà utilisé par Bungie dans Myth, OpenPlay facilite la gestion réseau des jeux.
- Un projet Linux-Darwin est né et a pour but d'apporter à Darwin un maximum d'outils présents sur Linux et de rapprocher les 2 systèmes.
- D'après MacWorld, la société Sassafras a implanté la gestion d'AppleTalk dans KeyServer pour MacOSX Server grâce à Darwin.
- Apple a ouvert le source de QuickTime Streaming pour Darwin.
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.