HISTORIQUE [ Unix ] [ Linux ]

Unix
[ Haut ]

Chronologie des systèmes Unix

1969

Ken Thompson (laboratoires de Bell) écrit la première version de ce qui devait par la suite s'appeler Unix. Le nom "Unix" était à l'origine un calembour sur le système d'exploitation Multics (Multiplexed Information and Computing Service) et a été écrit "Unics" en premier lieu (UNiplexed Information and Computing System). Cette première mouture a fonctionné sur un DEC PDP-7. En 1970, Ken Thompson et Dennis Ritchie l'adaptent au DEC PDP-11/20. Il résultat de cette expérience le premier compilateur C. Le langage C a été conçu spécifiquement pour un OS portable. Ces versions initiales ont été intitulées "la Version n" ou "la Énième Edition"

1971

La première version d'Unix, avec l'assembleur du PDP-11/20. Incluant les systèmes de fichiers, fork(), roff, ed, elle a été employée comme un outil de traitement de texte pour la préparation de brevets d'invention. La fonction pipe() est apparue pour la première fois dans la V2. 1973
Ritchie et Thompson réécrivent le noyau d'Unix en C.


1974-1977

Le code source d'Unix est distribué librement aux universités (dû, au moins en partie, aux restrictions commerciales des USA à ATT). En conséquence, UNIX a gagné la faveur de la communauté scientifique et universitaire. Il a été ainsi à la base des systèmes d'exploitation des principales universités.


1978

UNIX, 7ème édition. Cette version a été développée expressément pour être portée sur diverses architectures matérielles. En outre, avec la version 7, ATT annonce qu'ils font payer des licences pour accéder aux sources du système. En conséquence, la version 7 forme la base de toutes les versions d'Unix actuellement disponibles. Les écrits de Brian Kernighan et Rob Pike (deux chercheurs des laboratoires Bell fortement impliqués dans le développement d'Unix) présentent la philosophie de conception d'Unix. Commençant par la structure de base d'Unix et son exécution, il conclut avec la programmation du système inférieur en C. Pour beaucoup, c'est le "dernier vrai Unix", "une amélioration sans précédent" [Bourne]. Il a inclus la version complète de K&RC, uucp, Bourne shell. Le noyau V7 avait une taille de seulement 40 Ko ! Voici les fonctions de la V7 : _exit, access, acct, alarm, brk, chdir, chmod, chown, chroot, close, creat, dup, dup2, exec*, exit, fork, fstat, ftime, getegid, geteuid, getgid, getpid, getuid, gtty, indir, ioctl, kill, link, lock, lseek, mknod, mount, mpxcall, nice, open, pause, phys, pipe, pkoff, pkon, profil, ptrace, read, sbrk, setgid, setuid, signal, stat, stime, stty, sync, tell, time, times, umask, umount, unlink, time, ait, write.


1979

L'annonce d'ATT de son intention de commercialiser UNIX a incité l'université de Californie à Berkeley pour créer sa propre variante : BSD UNIX. Les versions les plus répandues de BSD sont la 4.2 (1983) et la 4.3 (1987). Le développement commandité par le DARPA (Defense Advanced Research Projects Agency) d'Internet était basé sur le BSD UNIX. La plupart des premiers constructeurs commerciaux d'Unix (Sun (SunOS), DEC (Ultrix), etc...) se sont en grande partie basés sur le BSD UNIX. De plus beaucoup de plates-formes hardware (de mini à Cray) utilisent le BSD. Le manuel d'administration de système Unix par Nemeth, Snyder et Seebass est publié. Le système V d'ATT y est détaillé. La deuxième édition , éditée en 1995, est une mise à jour qui traite de Solaris 2.4, SunOS 4.1.3, HP-UX 9.0, DEC OSF/1 2.0, IRIX 5.2 et BSDI 1.1.


1983

ATT met en vente la version commerciale du système V.

1987

Diffusion de X Window, une interface client/serveur graphique développée au MIT (Massachussetts Institute of Technology). La version 3 du système V d'ATT est opérationnelle . C'est la version qui a forcé les constructeurs principaux (HP (HP-UX) et IBM (AIX), a développer un OS propriétaire. C'est également en 1987 que la version 4.3 de BSD a été développée. Et finalement, c'est cette année là qu'ATT et Sun ont choisi conjointement d'unifier le Système V et BSD.


1990

La version 4 du système V d'ATT comporte de nouveaux standard d'unification d'UNIX. C'est le résultat de la coopération entre Sun et ATT. Cependant, d'autres grands constructeurs (en particulier DEC, HP et IBM) se sentant menacés par cette collaboration entre deux des plus grands développeurs d'Unix ont décidés de créer l'OSF(Open Software Foundation). Le Perl, langage de programmation écrit par Larry Wall spécifiquement pour les besoins de gestion d'Unix s'est grandement répandu. Tandis que le C est le langage de choix pour la programmation système d'Unix, le Perl est le langage pour la gestion de systèmes Unix (Majordomo et ftpmail sont juste deux exemples des programmes significatifs écrits en Perl).


1991

OSF-1 .C'est l'année ou les clones d'Unix comme Linux et FreeBSD ont commencé à émerger.


1992

Sun développe son OS, Solaris, un dérivé de la version 4 du système V avec la gestion des threads. Ces versions Vn ont été développées par le Computer Research Group (CRG) des Laboratoires Bell. Un autre groupe, le Unix System Group (USG), était responsable du support. Un troisième groupe aux Laboratoires Bell a été aussi impliqué dans le développement d'Unix, le Programmer's WorkBench (PWB), auquel l'on doit, par exemple, sccs, le nom pipes et d'autres idées importantes. Tous les groupes ont fusionné dans le Laboratoire de Développement de Système Unix en 1983. CB Unix (Columbus Unix) était une autre variante d'Unix de la branche Columbus des Laboratoires Bell, responsables de Systèmes d'Appui d'Opérations. Sa principale contribution fut les parties de SV IPC. Dans les années 1980, le travail sur Unix continua aux Laboratoires Bell. La série V a été poussée plus loin par le CRG (Stroustrup mentionne V10 dans la seconde édition de son livre sur le C++), mais on ne parla pas beaucoup de cela par la suite. La société maintenant responsable d'Unix (le Système V) est appelée Unix System Laboratories (USL) et appartient en majorité à AT&T. Novell a acheté USL (au début de 93) et il a donné des droits à la marque déposée "UNIX" à X/Open (à la fin de 93). Mais des changements sont encore survenus sur Unix en dehors d'AT&T, particulièrement à Berkeley.


Linux
[ Haut ]

Linux a été écrit par Linus Torvalds et a été amélioré par de nombreux developpeurs personnes dans le monde entier. C'est un sosie du système d'exploitation Unix écrit entièrement de A à Z. Un des faits les plus intéressants de l'histoire de Linux est que ce développement soudain arrive simultanément dans le monde entier. De l'Australie à la Finlande, les gens ont contribué à Linux et continueront à y contribuer. Linux a débuté par un projet d'exploration du processeur i386. Un des projets précédents de Linus était un programme qui commuterait entre l'impression AAAA et BBBB. Ce qui fut plus tard appelé Linux. Linux a été protégé par le droit d'auteur conformément à GNU General Public License (GPL). C'est une licence écrite par la Free Software Foundation (FSF) qui est conçue pour empêcher les gens de limiter la distribution du logiciel. En bref elle dit que bien que vous puissiez charger autant que vous aimeriez pour le refus d'une copie, vous ne pouvez pas empêcher la personne à qui vous l'avez vendue de le donner gratuitement. Cela signifie que le code source doit aussi être fourni. Il est utile pour des programmeurs. La licence dit aussi que chaque personne qui modifie le programme doit aussi faire sa version librement redistribuable. Linux reprend la plupart des logiciels Unix, incluant le système de XWindow. C'est un programme de MIT permettant aux ordinateurs de créer des environnements graphiques et est employé sur beaucoup de plates-formes Unix différentes. Linux implémente le Système V et POSIX-1 (une norme de l'IEEE essayant de standardiser des systèmes d'exploitation), et il est compatible BSD. Linux implémente beaucoup de POSIX-2, une autre norme de l'IEEE. C'est un mélange des trois standards : BSD, Système V et POSIX. Beaucoup d'utilitaires inclus dans les versions de Linux sont pour la Free Software Foundation et font partie du Projet de GNOU. Le Projet de GNOU a pour but d'écrire un système d'exploitation avancé portatif qui ressemblera beaucoup à Unix. "portable" signifie qu'il s'adaptera sur plusieurs machines différentes, pas seulement sur les PC Intel, Macintosh ou autre machine de la sorte. Linux n'est pas facilement portable (déplacé sur une autre architecture) parce qu'il a été écrit seulement la mémoire du 80386. Bien sûr, Torvalds n'est pas le seul grand nom dans le développement de Linux. Les personnes suivantes méritent aussi d'être reconnues : H. J. Lu a maintenu gcc (un compilateur C) et la bibliothèque du langage C de Linux, deux éléments nécessaires pour la programmation. Bien entendu, de nombreuses autres personnes ont contribué à son développement.


Linux aujourd'hui

De plus en plus d'entreprises l'adoptent, souvent pour mener à bien des projets web ou e-business, mais aussi des projets d'informatique interne. Ainsi, d'après une étude de Netcraft, à peu près la moitié des serveurs web de la planète tournent sous Apache, un produit issu de l'informatique libre. Linux, par sa gratuité et par son mode de développement ouvert, synonyme de progrès techniques rapides, peut permettre à de jeunes entreprises dotées de peu de moyens de se constituer une architecture informatique performante. Ainsi, certaines distributions de Linux ( c'est ainsi que l'on dénomme les versions de Linux diffusées commercialement) comprennent un grand nombre d'applications déjà installées (serveurs web, mail, DNS, proxy, etc.). On peut par exemple citer eServer 2.3 de Caldera ainsi que RedHat 6.2 Professionnal. Mais les logiciels libres vont plus loin, et certains projets intègrent des technologies avancées qui sont souvent l'exclusivité de produits commerciaux et coûteux. Il existe ainsi des serveurs d'applications permettant de monter des sites de commerce électronique, mais aussi des solutions de clustering. Des sociétés d'ingénierie et de conseils commencent de même à se développer. Enfin, le système libre devient si populaire que des fabricants de matériels conçoivent des produits qui lui sont spécialement destinés.


Tableau récapitulatif des serveurs d'application Linux

  Fournisseur Prix Bases de donnée Compatibilité
Zope Zope.org gratuit Intégrée (orientée objet)+ODBC XML
Enhydra Enhydra.org gratuit Toute base compatible JDBC Servlets, EJB, Corba, XML,J2EE
Websphere Application Server Standard Edition I.B.M. 729 $ JDBC for DB2, Oracle Servlets, JSP,
Tango 2000 Pervasive Software De 1295 à 25000 $ Pervasive SQL2000 XML, JavaBeans

 

  Outils de développement
Zope Zope development environment
Enhydra Inprise Jbuilder, Oracle JDeveloper
Websphere Application Server Standard Edition Visual Age for Java
Tango 2000 Tango Development Studio, Dreamweaver

Peut-on faire confiance à Linux en entreprise ?

Depuis quelque années, on assiste à l'émergence d'un nouveau système d'exploitation qui repose sur un modèle de développement et de diffusion complètement différent de ce qui se faisait jusqu'alors. Linux repose en effet sur les travaux de milliers de développeurs répartis de par le monde, qui collaborent par l'intermédiaire d'Internet. Le système ainsi conçu est distribué sous la forme d'une licence GPL ou General Public License qui spécifie que le produit doit être distribué avec ses sources. Le code, s'il appartient à ses auteurs, peut être réutilisé ou modifié autant de fois qu'il est nécessaire. Ainsi, chaque utilisateur peut adapter son système d'exploitation à ses besoins spécifiques. Par contre, Linux est encore moins connu et utilisé que les systèmes classiques et est parfois moins convivial. Alors, peut-on faire confiance à Linux dans le cadre d'une utilisation en entreprise ?

Linux est adapté à une utilisation en entreprise pour plusieurs des raisons suivantes :

En premier lieu, Linux est basé sur Unix, un système utilisé depuis longtemps en entreprise, et dont de nombreuses versions existent (Solaris, HP/UX, AIX …). Celui-ci est conforme avec la norme POSIX qui définit l'interface entre les applications et le système Unix. Sa prise en main ne devrait pas être difficile pour des informaticiens qui ont l'habitude de travailler sur des machines Unix. De même, cette conformité à Posix facilitera l'adaptation des applications à Linux. De plus, Linux offre des fonctionnalités intéressantes en terme de sécurité. Ainsi, un firewall est intégré au noyau. Il est donc possible de bloquer certains ports du système. Linux offre aussi des avantages certains en termes de coûts. Le système ainsi que la plupart des outils associés sont téléchargeables gratuitement depuis Internet. Il faut préciser que ces outils sont souvent d'un haut niveau technologique. Par exemple, des serveurs d'applications XML tels que EnHydra ou Zope ou des outils de clustering tels Beowulf sont gratuits et disponibles sans délai. La documentation est elle aussi gratuite (contrairement à celle édité par les fabricants de systèmes Unix). Mais ces gains en terme de coûts se répercutent aussi sur le matériel puisque peu de ressources sont nécessaires pour faire tourner le système. Par exemple, il est possible de transformer un 486 avec 16 Mo de RAM en serveur Mail. Enfin, la communauté Open Source qui développe toutes ces applications, de par son mode de fonctionnement se montre très dynamique et réactive, ce qui permet une progression technologique sans cesse plus rapide. Linux est donc très évolutif.

Mais Linux est encore en phase d'émergence :

Ce système est encore méconnu de nombreux informaticiens, en particulier de ceux venant du monde Microsoft. Les utilisateurs en entreprise maîtrisent mal Linux alors qu'ils connaissent bien Windows. Linux sera donc beaucoup plus adapté à une utilisation sur les postes serveurs que sur les postes clients. De plus, peu de sociétés proposent des services de support ou d'intégration autour de Linux. Ainsi, il faut la plupart du temps, " se débrouiller ". Enfin, certains matériels ne sont pas supportés par Linux, car aucun driver n'a été développé. En effet, les drivers pour Linux sont souvent programmés par des membres de la communauté qui développent des drivers pour le matériel dont ils disposent. Pour conclure, Linux offre de nombreux avantages, tant au niveau technologique qu'au niveau coût, mais est encore en phase d'émergence. L'engagement fort de certains acteurs tels qu'IBM devrait cependant accélérer sa croissance.

Les serveurs d'applications gratuits sous Linux

Les serveurs d'applications sont nécessaires aux développement du commerce électronique sur le Web. Ils permettent de créer des sites dynamiques rapidement, et utilisent en général une base de données pour stocker le contenu du site. La plupart de ces logiciels sont disponibles sur Windows et Unix, et coûtent souvent cher. Mais, certains de ces outils, gratuits et libres sous Linux, offrent des fonctionnalités équivalentes à celles de produits payants. Parmi ceux-ci, on trouve Zope un projet Open Source développé par Zope.org. Ce serveur d'application, architecturé autour de composants, constitue une plate-forme de développement orienté objet. Il permet ainsi de définir des utilisateurs, qui peuvent être des graphistes, des producteurs de contenu ou des développeurs. Ceux-ci peuvent travailler simultanément sur le site en s'y connectant directement. Le site est donc éditable directement par le Web. Le logiciel contient de plus un moteur de recherche et une base de données orientée objets. Il supporte aussi XML de manière à pouvoir offrir une interopérabilité avec de nombreuses sources de données.

Enhydra, est lui un serveur d'application Open Source Java/XML. Il supporte les Enterprise Java Beans (EJB), ainsi que CORBA. Ce logiciel, écrit entièrement en Java, est compatible avec toutes les bases de données conforme à la norme JDBC. Il s'interface de plus avec des outils de développement tels que JBuilder de Borland ou encore JDeveloper d'Oracle et dispose, lui aussi, d'une interface d'administration en ligne. Plusieurs acteurs du marché ont contribué à ce projet en apportant des technologies tels que Lutris, France Telecom, ou encore Bullsoft. Ces serveurs d'applications offrent des fonctionnalités intéressantes, de par la rapidité et la simplicité de mise à jour qu'ils procurent, en comparaison avec un serveur web traditionnel. Ils permettent aussi de développer des applications de commerce électronique compatibles avec XML, tout comme les outils commerciaux.

Les serveurs d'applications payant sous Linux

Les outils commerciaux traditionnels sont de plus en plus adaptés à Linux. Dans le domaine des serveurs d'application, on trouve, par exemple Websphere Application Server d'IBM et Tango 2000 de Pervasive Software. Le logiciel d'IBM, qui est disponible dans une version gratuite (la version "standard") et dans des versions payantes ("advanced" et "enterprise") se base sur le serveur HTTP d'IBM, qui a été développé à partir d'Apache. Il inclut le support pour les Java Server Pages, les servlets, ainsi que les Enterprise Java Beans, mais uniquement pour les versions payantes, celles-ci intégrant aussi le support de CORBA. Enfin, le serveur d'application Websphere peut s'intégrer à l'outil de développement d'IBM Visual Age for Java, qui est lui aussi disponible sous Linux. Il faut également préciser qu'IBM assure le support de ses produits sous Linux, mais aussi de certaines distributions (celle de Mandrake, par exemple).

De son côté, Pervasive Software propose Tango 2000, un composé d'un serveur d'application XML, Tango Application Server, un environnement de développement graphique, Tango Development Studio, ainsi que de la base de données Pervasive SQL 2000. Il est de plus possible de développer des sites pour Tango 2000 directement sous Dreamweaver en ajoutant une extension au logiciel. Cette plate-forme se distingue par un temps de développement court, un élément crucial dans le commerce électronique.