# Machines Unix

# Présentation technique des machines Unix

Le contenu de cette page est assez aride, mis à part pour les deux premiers paragraphes, et nettement plus difficile à comprendre que le reste de cette documentation. Si vous êtes néophyte en informatique, lisez plutôt notre page d'introduction à Unix.

## Qu'est-ce qu'une station Sun ?

Sun Microsystems est un fabricant américain d'ordinateurs, qui vend les ordinateurs de l'ENS. Le mot « station » est une abréviation de « station de travail », un vieux vocable désignant les machines reliées en réseau et disposant d'une puissance de calcul propre (différant en cela des terminaux).

## Qu'est-ce qu'Unix ?

Unix est le nom générique d'un certain type de systèmes d'exploitation pour machines haut de gamme. Pour des raisons historiques, ces machines se regroupent en (en gros) deux catégories, System V et BSD. La version qui tourne sur les stations Sun de l'ENS s'appelle Solaris, c'est un System V. L'Unix qui tourne sur les PC s'appelle FreeBSD, c'est un BSD. Ceci explique les petites différences de comportement que vous pouvez observer entre les stations Sun et les PC FreeBSD.

Unix est sans conteste le système préféré des informaticiens de l'ENS. Veuillez donc m'excuser d'être partial dans les questions qui vont suivre...

## Pourquoi Unix est-il meilleur que MS-DOS et MacOS ?

- Multitâche : une machine Unix peut lancer plusieurs programmes à la fois, et ce avec une efficacité inconnue sous les systèmes d'exploitation susmentionnés. Ceux-ci sont en effet incapables de faire autre chose pendant qu'ils accèdent à leurs périphériques (par exemple, pour écrire ou lire sur le disque dur), et perdent donc le plus clair de leur temps à attendre. Il est tout à fait possible sous Unix de rédiger un mémoire dans une fenêtre avec quatre versions de brouillon tout autour, et ce pendant qu'un gros fichier se télécharge...
- Multi-utilisateurs : une station Unix peut servir plusieurs utilisateurs en même temps, et les protéger les uns des autres au moyen des mots de passe et de droits d'accès. Personne ne peut lire votre courrier électronique à votre place, et si vous désirez garder confidentiel un document, c'est possible !
- Protection mémoire : aucun programme ne peut faire planter le système ; si il tente d'effectuer une opération qui devrait avoir ce résultat, il sera terminé de force, sans conséquences pour le reste du système. L'allégation que Windows ou Mac OS possèdent cette qualité est une plaisanterie.
- Sécurité : en règle générale, le système n'est pas prévu pour respecter les impératifs ci-dessus dans la plupart des cas, mais dans tous les cas, si bien que faire planter l'ordinateur ou contourner les protections est un véritable challenge (même si ce n'est malheureusement pas impossible). De plus, la découverte d'un tel « trou de sécurité » occasionne une réaction consciencieuse de la part du vendeur du système d'exploitation, qui fournit continuellement de nouvelles versions pour que l'administrateur système ait toujours une longueur d'avance sur le pirate. On ne peut certes pas en dire autant de Microsoft ni Apple...
- Fiabilité : `clipper`, le serveur des élèves, point névralgique du résdeau de l'École, ne réamorce en moyenne qu'une fois tous les trois mois (et pour faire des opérations de maintenance, rajouter des disques durs, etc.) ! Cela permet de faire de très longs calculs sur plusieurs semaines, ou bien de faire de nuit de grosses opérations réseau.
- Fonctionnalité : toutes les stations Sun et les PC sous FreeBSD gèrent le réseau dans les deux sens. On peut s'y connecter à distance, on peut lancer un programme sur une machine et avoir l'affichage sur une autre, etc. Unix fournit toujours au programmeur plus de possibilités que sur tout autre système, toutes choses égales par ailleurs (c'est-à-dire sans acheter de kit de développement supplémentaire) : il existe des compilateurs gratuits et la rétention d'information n'y est pas de mise.
- Configurabilité : le système Unix est construit pour avoir le moins possible de présupposés du genre « les extensions système sont toutes dans le dossier du même nom » (respectivement, « dans `C:\WINDOWS\SYSTEM` »). C'est pourquoi Unix est extrêmement configurable et s'adapte à tous types d'environnement, de la plus petite à la plus grosse des machines, avec ou sans réseau, et quelle que soit la marque de l'ordinateur considéré.
- Portabilité : les différents constructeurs d'Unix se sont mis d'accord depuis longtemps sur toutes les normes utiles à leur travail. La conséquence est qu'un programme écrit pour SunOS tournera sans aucune modification sous Solaris.

## Quels inconvénients à Unix ?

Bon, soyons vraiment honnêtes : la qualité d'Unix se traduit par un aspect spartiate décourageant, et il est vrai que la sécurité coûte un peu en performances (mais la puissance correspondante est de toute façon perdue sous Windows 95 ou MacOS). Pourtant, si autant d'efforts avaient été consacrés à l'aspect extérieur d'Unix qu'il y en eut pour Windows et le Système 7, nul doute qu'il les ridiculiserait aujourd'hui sur tous les tableaux ! Mais programmer des interfaces utilisateur est un travail long et peu passionnant (c'est toujours la même chose), et l'histoire d'Unix est surtout faite de programmeurs bénévoles.

Depuis plusieurs années, avec le développement de Linux et son ouverture au grand public, des interfaces graphiques se développent; citons en particulier KDE (dont une partie des logiciels sont installés sur les stations), Gnome, etc. Unix ne se traduit plus forcément par « interface fruste »...

## Pourquoi les stations Unix ont-elles des noms ?

Parce qu'il est plus facile de dire « trimaran » que « la station Sun 4 située à gauche le mur Sud de la salle S ». Il est également plus facile de dire « trimaran » que « la station trimaran » (ou même pire, « la station 42 »), ce qui conduit à une personnalisation affectueuse (certains diront lobotomique) des machines par les habitués...

Quoi qu'il en soit, les machines administrées par le SPI sont repérables au fait qu'elles ont un nom de bateau ; parmi elles, `clipper` est le serveur des élèves à Ulm (il est dans une salle du niveau -2 du DI climatisée et inaccessible au commun des mortels) ; `vedette` est le serveur de Jourdan ; `paquebot` est le serveur de Montrouge.

Les autres groupements de machines respectent également l'unité de noms : ainsi, les machines du DMI ont un nom de végétal ou de champignon, dont l'embranchement caractérise le bâtiment et l'étage, et les machines des biologistes ont des noms de dieux (`horus` est leur serveur).

Pour connaître le nom d'une machine dans une salle d'informatique élèves, il y a deux méthodes :

- Sur la mire de login, la machine `steamer` (par exemple) affiche `steamer login:` (c'est le cas le plus simple). Et pour un utilisateur de la config conscrits, le nom de sa machine apparaît dans l'invite de ses fenêtres de terminal une fois qu'il est logué ; par exemple :

    steamer ~ $

- Vous pouvez obtenir un plan de salle avec la commande `qui` :

`qui` | Salle S
`qui t` | Salle T
`qui i` | Infi
`qui 46` | Salle du 46
`qui j` | Salle de Jourdan
`qui m` | Salle de Montrouge
`qui p` | Salle des physiciens

## Qu'est-ce que `root` ?

`root` est le nom de login traditionnel de l'administrateur système. Il a tous les droits, c'est-à-dire qu'aucune opération ne lui sera refusée sous prétexte qu'elle outrepasse la limite de l'utilisateur `root` (par contre, il est toujours sous le coup de la protection contre le plantage par exemple). Il peut donc lire votre courrier électronique, savoir quels programmes vous avez utilisés, suspendre ou fermer votre compte, etc. Ces droits sont nécessaires à assurer le fonctionnement du système : que feriez-vous sinon lorsque vous oubliez votre mot de passe ?

Mais à l'ENS, les administrateurs sont intègres et dignes de confiance et ne se servent presque jamais de ce droit de « super-utilisateur » : même si votre boîte aux lettres électronique déborde, l'administrateur en fait une copie chez vous et ne regarde pas dedans (le cas s'est déjà présenté).

« Devenir root » est un fantasme courant d'une certaine frange de la population de la salle S, parce que c'est interdit et théoriquement impossible (donc tentant) et que les informaticiens se divisent en deux sous-castes : ceux qui savent passer root sans y être autorisés et les autres... C'est la raison d'être de la banderole en salle S. N'oubliez jamais que Jacques Beigbeder n'est pas un imbécile, et que si vous vous faites prendre la sanction sera très lourde...

## Peut-on détourner la table d'interruptions ?

Non (sur les Suns, on appelle cela la trap table). La philosophie même du système d'exploitation Unix fait que pour garantir la sécurité et la disponibilité de la machine, il doit absolument interdire quiconque de prendre le contrôle exclusif d'un élément matériel. Même l'administrateur système n'a pas ce pouvoir, à moins de modifier Unix lui-même.

De toute façon, dans la pratique on n'a jamais besoin de le faire : sous réserve que vous en ayez le droit, vous avez toujours moyen de faire ce que vous voulez en programmation Unix sans avoir à réinventer la roue à la place d'un incompétent qui aurait dû le faire pour vous comme c'est le cas sur un PC sous DOS.

Les copyrights de divers noms cités ici se trouvent là-bas.

Auteur : Dominique Quatravaux (1998), François-Xavier Coudert (2002). Dernière modification le .