UNIX ET LE MACINTOSH


Par Tom Ierna, traduit de l'anglais par Charles Gigučre.
(C) 1998 - Tous droits réservés par l'auteur

Beaucoup de gens sont intéressés à utiliser d'autres systèmes d'exploitation sur leurs Macintosh. Quelques options sont disponibles, cependant, UNIX est celui qui est le plus convoité. Bien des gens ne savent pas qu'UNIX et le Mac forment une bonne équipe.

 

Bref survol de l'histoire de UNIX

UNIX fut développé vers la fin des années 1960 par Ken Thompson et Dennis Ritchie, chez AT&T Bell Labs pour remplacer ULTRICS, un système d'exploitation pour les mini-ordinateurs de l'époque. Il fut conçu dès le départ pour être un système d'exploitation multitâches, multi-utilisateurs (1) et multi-thread avec protection de mémoire -- des caractéristiques qui sont aujourd'hui des standards. Il fut écrit complètement avec le langage de programmation C, ce qui le rendait indépendant de l'ordinateur -- une nouveauté pour l'époque, alors que les systèmes d'exploitation étaient écrits pour une machine particulière.

(1) Pour un ordinateur personnel multi-utilisateurs, UNIX est la seule véritable solution. NT n'est pas réellement multi-utilisateurs, c'est beaucoup plus un serveur de fichiers et d'impression possédant des outils d'administration. Vous pouvez vous connecter en utilisant différents noms d'utilisateurs, mais une seule personne peut être connectée à la fois à moins d'utiliser un logiciel spécial (tel que WinFrame de Citrix). UNIX est véritablement multi-utilisateurs. Vous pouvez créer des comptes pour vos amis et vous pouvez tous utiliser l'ordinateur en même temps à partir d'un réseau -- sans logiciel additionnel. L'interface utilisateur graphique est supportée par X-Windows. Les clients peuvent même être situés sur des plates-formes différentes -- le seul dénominateur commun est un serveur X situé sur chacune des machines clientes.

En 1975, UNIX fut rendu disponible aux universités à un coût réduit, il devint alors extrêmement populaire. En 1984, l'université de Berkeley, en Californie, rendit disponible une version améliorée de UNIX appelée Berkeley Standard Distribution (BSD) UNIX. AT&T vendit les droits de UNIX, il a changé plusieurs fois de mains depuis. Aujourd'hui, la compagnie X/Open possède les droits des sources de AT&T, plusieurs des caractéristiques du BSD ont été incorporées dans la variante de AT&T, qui s'appelle actuellement System V. La plupart des Unix commerciaux sont basés sur cette version, alors que la plupart des Unix gratuits sont basés sur BSD. Tout récemment, Linus Torvalds et des programmeurs de partout dans le monde ont développé un clone de UNIX appelé Linux, sur lequel sont basées plusieurs variantes.

Les différents Unix et leurs clones possèdent tous une architecture similaire, et les idées, dont UNIX est le pionnier, se sont répandues dans tous les systèmes d'exploitation modernes. Parmi celles-ci, notons : le kernel, les privilèges de sécurité de fichiers, le piping, le réseau TCP/IP, une mémoire virtuelle protégée, et un tas d'autres encore que Microsoft prétend qu'elles sont de nouvelles technologies dans NT. Les différences entre les Unix résident dans les détails d'implémentation; par exemple, tous les Unix ont des utilitaires de commandes en ligne similaires, cependant elles peuvent avoir des options différentes pour les mêmes utilitaires. Tous les Unix sont composés d'un kernel et des outils de commandes en ligne.

 

Les options pour le Macintosh

Le Mac a une histoire intéressante avec UNIX. Jusqu'à tout récemment, Apple était le seul maître de sa quincaillerie, si vous vouliez écrire un nouveau système d'exploitation ou en adapter un existant, vous deviez décortiquer vous mêmes les bits pour savoir ce qu'ils faisaient et bâtir votre système d'exploitation autour de ces observations. À cause de cela, c'était extrêmement lent avant d'obtenir une des variantes de UNIX sur la quincaillerie Mac, jusqu'à tout récemment.

Apple avait sa propre version de UNIX, appelée A/UX, qui tournait sur tous les ordinateurs 68030 ou 68040 équipé de l'unité de mémoire paginée. C'était une variante de AT&T avec un tas d'extensions BSD. Un des aspects les plus intéressants de A/UX, c'est qu'il vous permettait d'exécuter toutes applications Mac se conformant au système 7. Ce ne fut que vers la fin de 1992 que d'autres Unix furent portés sur le Mac; et toutes ces adaptations de UNIX furent faites sans l'aide d'Apple. NetBSD et FreeBSD sont deux de ceux-là. Cependant, beaucoup plus tard, Apple se montra plus ouvert face aux spécifications de sa quincaillerie.

Avant l'acquisition de NeXT, Apple mit brièvement sur le marché les serveurs de réseau 500 et 700 basés sur le PowerPC. Ce fut la brève incursion d'Apple avec AIX, une version de UNIX maintenue par IBM pour leurs machines RS6000. La version AIX d'Apple ne fonctionne que sur les serveurs 500 et 700.

Les propriétaires de Macintosh PowerPC ont plusieurs choix :

 

 

 

X-Windows

Vous vous demandez peut-être: «Pourquoi UNIX est si formidable: il n'a même pas une petite image sur laquelle on peut cliquer!", heureusement ce n'est pas le cas. Toutes les variantes de UNIX on un environnement graphique appelé X-Windows. X est assis sur UNIX de la même manière que Windows95 est assis sur le DOS, sauf que c'est fait plus élégamment, avec beaucoup moins de gaspillage de temps d'exécution et énormément plus de possibilités de configuration, de quoi faire rougir Bill Gates.

X ne fait rien par lui-même, pour qu'il affiche des fenêtres, il a besoin d'un gestionnaire de fenêtres. Ils en existent plusieurs, chacun ayant un style et une approche différente. Certains sont très sobres alors que d'autres sont extravagants. Chaque gestionnaire de fenêtres est configuré via un fichier texte, vous pouvez paramétriser à peu près n'importe quoi. Ce qui est difficile à saisir à propos de X, c'est que chaque ordinateur client a besoin d'un «serveur X» si vous désirez déployer des applications d'un ordinateur vers un autre via un réseau. Les clients X sont des applications et non pas des ordinateurs qui sont branchés. Le «serveur» qui contient le code binaire exécutable des applications n'a même pas besoin d'avoir X-Windows.

 

Pourquoi utiliser Unix ?

Vous pensez peut-être, «OK, c'est une bonne petite introduction de UNIX sur le Mac, mais pourquoi installer UNIX sur un Mac ?»

Voici quelques raisons:

Si vous vous demandez encore pourquoi utiliser Unix, alors ce n'est probablement pas le bon choix pour vous. Unix n'est pas pour tout le monde. Mais plusieurs ont un grand intérêt dans Unix, et les Unix disponibles pour le Macintosh offrent à ces gens des solutions irrésistibles.


Termes

Certains termes utilisés dans cet article peuvent confondre les nouveaux utilisateurs UNIX, alors en voici un rapide survol.

Kernel:

Le kernel agit en tant qu'arbitre pour les pilotes de dispositifs de la quincaillerie. C'est celui qui se tape le sale boulot, tel que les entrées/sorties, la gestion de la mémoire, la sécurité et la gestion des processus.

Processus:

Chaque programme UNIX est un processus. Le kernel attribue à chaque processus un PID ou numéro d'identification de processus. Chaque processus est indépendant, cependant un processus peut donner naissance à des processus enfants.

Sécurité:

Puisque UNIX a été conçu pour être multi-utilisateurs, des privilèges de sécurité sont associés à chaque fichier (et répertoire).

Commandes en ligne:

Il existe plusieurs interfaces de commandes en ligne (CLI) pour UNIX et elles s'appellent shell. Les shells les plus courants sont C-Shell, Bash (Bourne-Again Shell) et Korn. Ils diffèrent en fonctionnalités mais ils ont tous des utilitaires leur permettant de naviguer dans les répertoires et de visualiser le contenu des fichiers. C'est là que vous tapez vos commandes, certaines sont très complexes (elles s'approchent des langages de programmation), d'autres ne sont que des outils de scripting rudimentaires, mais elles vous permettent de réaliser des tâches nécessitant plusieurs étapes en les regroupant dans des fichiers de script.

Les outils de commandes en ligne:

Un shell peut s'occuper de toute l'interaction entre l'utilisateur et le kernel, et la ligne de commandes représente le processus parent des outils dont se sert l'utilisateur. Les outils vont des utilitaires de disques au traitement de textes, jusqu'aux compilateurs. Ils sont tous basés sur le texte. Certains utilisent une librairie appelée «Curses» qui permet de bâtir des écrans de saisie au terminal.

Piping (pipes):

La plupart des utilitaires UNIX sont de nature modulaire. Vous leur donnez quelque chose en entrée (input) et ils vous donnent une réponse (output). Vous pouvez enchaîner des commandes en les reliant ensembles par la technique du piping. Le nom piping provient du caractère ASCII «pipe» utilisé pour relier les commandes entre elles.