Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
wiki:histoire_informatique:research_unix [2024/12/28 21:34] – [La naissance d'Unix au laboratoire Bell Labs] Thibault Seguin | wiki:histoire_informatique:research_unix [2025/03/12 15:13] (Version actuelle) – [Unix version 8] Thibault Seguin |
---|
====== La naissance d'Unix au laboratoire Bell Labs ====== | ====== La naissance d'Unix au laboratoire Bell Labs ====== |
Le **logo** des **Bell Labs** : {{ :wiki:histoire_informatique:at_t_bell_laboratories_logo.svg.png?250 |}} | Le **logo** des **Bell Labs** : {{ :wiki:histoire_informatique:at_t_bell_laboratories_logo.svg.png?300 |}} |
| |
**Unix** est un **système d'exploitation multitâche** et **multi-utilisateurs**, crée au **laboratoire Bell Labs** qui est un **centre de recherche** mené par **Kenneth Thompson** auparavant détenu par l' ''entreprise'' de ''téléphonie'' **AT&T**. | **Unix** est un **système d'exploitation multitâche** et **multi-utilisateurs**, crée au **laboratoire Bell Labs** qui est un **centre de recherche** mené par **Kenneth Thompson** auparavant détenu par l' ''entreprise'' de ''téléphonie'' **AT&T** et désormais par l'**Open Group**. |
| |
===== UNICS ===== | ===== UNICS ===== |
La première ''ébauche'' de **Unix** fut crée en 1969 par **Kenneth Thompson** et **Dennis Ritchie** sur un **ordinateur DEC PDP-7**, elle s'appelait à l'''origine'' **UNICS** (**//Uniplexed Information and Computing Service//**). Cette ''version'' ne supportait pas encore le **multitâche**. **UNICS** fut très vite renommé **Unix**. | La première ''ébauche'' de **Unix** fut crée en 1969 par **Kenneth Thompson** et **Dennis Ritchie** sur un **ordinateur DEC PDP-7** à **processeur** ''18 bits'', elle s'appelait à l'''origine'' **UNICS** (**//Uniplexed Information and Computing Service//**). Cette ''version'' ne supportait pas encore le **multitâche**. **UNICS** fut très vite renommé **Unix**. |
| |
<note>**UNICS** acronyme de **Uniplexed Information and Computing Service** était un jeu de mots avec **Multics** qui de son coté sgnifiait **MULTiplexed Information and Computing Service**. **Multics** était un **OS** à **temps partagé**, le **temps partagé** permet à un **OS** de ''simuler'' le **partage** par plusieurs utilisateurs de **temps processeur**, cet **OS** était très ambitieux mais très complexe à mettre en oeuvre, du coup **Kenneth Thompson** et **Dennis Ritchie** ont décidés de créer **UNICS** en se basant sur beaucoup de concept de **Multics**, en autres le **temps partagé** mais se voulait beaucoup plus simple et contrairement à **Multics** qui était doté d'**utilitaires** qui chacun pouvait faire plusieurs ''tâches'' diffénrentes, **UNICS** lui était composé d'**utilitaires** qui faisaient chacun une seule ''tâche'' mais la faisait bien.</note> | <note>**UNICS** acronyme de **Uniplexed Information and Computing Service** était un jeu de mots avec **Multics** qui de son coté sgnifiait **MULTiplexed Information and Computing Service**. **Multics** était un **OS** à **temps partagé**, le **temps partagé** permet à un **OS** de ''simuler'' le **partage** par plusieurs utilisateurs de **temps processeur**, cet **OS** était très ambitieux mais très complexe à mettre en oeuvre, du coup **Kenneth Thompson** et **Dennis Ritchie** ont décidés de créer **UNICS** en se basant sur beaucoup de concept de **Multics**, en autres le **temps partagé** mais se voulait beaucoup plus simple et contrairement à **Multics** qui était doté d'**utilitaires** qui chacun pouvait faire plusieurs ''tâches'' diffénrentes, **UNICS** lui était composé d'**utilitaires** qui faisaient chacun une seule ''tâche'' mais la faisait bien.</note> |
===== Unix version 1 ===== | ===== Unix version 1 ===== |
**Unix version 1** est sorti en 1971, La liste des **utilitaires Unix** en **ligne de commande** (**//CLI//**) incluses sous **Unix version 1** est la suivante : ''**ar, as, bcd, cal, cat, chdir, chmod, chown, cmp, cp, date, dc, df, du, ed, find, glob, init, ld, ln, ls, mail, mesg, mkdir, mkfs, mount, mv, nm, od, pr, rm, rmdir, roff, sh, sort, stat, strip, su, sum, tty, umount, wc, who, write**'', cette version également ''précurseur'' des **commandes Unix** : ''**fsck, reboot et adb**'', le **système** contenait également un **compilateur B** et un **complateur Fortran**, d'un **interpréteur BASIC**, des **fichiers de périphériques**, des **fonctions de gestion** de **bandes perforées**, des **disques DECtape** et de **disques RK05**. | Après l'acquisition d'un **mini-ordinateur** de **Digital Equipment Corporation** (**//DEC//**), le **DEC PDP-11**, à **processeur** ''16 bits'', plus précisément le **PDP-11/20**, **Unix version 1** est sorti en 1971, La liste des **utilitaires Unix** en **ligne de commande** (**//CLI//**) incluses sous **Unix version 1** est la suivante : ''**ar, as, bcd, cal, cat, chdir, chmod, chown, cmp, cp, date, dc, df, du, ed, find, glob, init, ld, ln, ls, mail, mesg, mkdir, mkfs, mount, mv, nm, od, pr, rm, rmdir, roff, sh, sort, stat, strip, su, sum, tty, umount, wc, who, write**'', cette version également ''précurseur'' des **commandes Unix** : ''**fsck, reboot et adb**'', le **système** contenait également un **compilateur B** et un **complateur Fortran**, d'un **interpréteur BASIC**, des **fichiers de périphériques**, des **fonctions de gestion** de **bandes perforées**, des **disques DECtape** et de **disques RK05**. |
| |
===== Unix version 2 ===== | ===== Unix version 2 ===== |
**Unix version 2** sort en 1972 mêlant **assembleur et langage C** et composé de l'ajout des **commande Unix** : ''**echo, exit, login, man, nroff, strip, stty**'', d' un **processeur de macro m6**, un **compilateur TMG** et le premier **compilateur C**. | **Unix version 2** sort en 1972 mêlant **assembleur** et **langage C** et composé de l'ajout des **commande Unix** : ''**echo, exit, login, man, nroff, strip, stty**'', d' un **processeur de macro m6**, un **compilateur TMG** et le premier **compilateur C**. |
| |
===== Unix version 3 ===== | ===== Unix version 3 ===== |
| |
===== Unix version 4 ===== | ===== Unix version 4 ===== |
Après l'acquisition d'un nouvel **ordinateur** plus ''puissant'', le **DEC PDP-11** pour remplacer le ''vénérable'' **PDP-7**,en novembre 1973 sorti **Unix version 4** qui a été entièrement ''réécrit'' en **langage C** pour faciliter l' ''écriture'' de **code source** et surtout pour rendre théoriquement le **système** plus aisément ''portable'' sur d'autres **machines**, en conséquence c'est une version notable. **Unix version 4** à ajouté les **commandes Unix**, ''**comm, dump, file, grep, nice, nohup, sleep, sync, tr, wait, printf**'', un **interpréteur SNOBOL** et les **pages de manuel** sont désormais ''formaté'' avec **troff**. Cette version fût présentée ''publiquement'' dans un ''article'' **CACM**. Le nombre d'installations était de ''20'' **machines**. | Après l'acquisition d'un nouveau **mini-ordinateur** plus ''puissant'', le **DEC PDP-11/45** pour remplacer le ''vénérable'' **PDP-11/20**, en novembre 1973 sorti **Unix version 4** qui a été entièrement ''réécrit'' en **langage C** pour faciliter l' ''écriture'' de **code source** et surtout pour rendre théoriquement le **système** plus aisément ''portable'' sur d'autres **machines**, en conséquence c'est une version notable. **Unix version 4** à ajouté les **commandes Unix**, ''**comm, dump, file, grep, nice, nohup, sleep, sync, tr, wait, printf**'', un **interpréteur SNOBOL** et les **pages de manuel** sont désormais ''formaté'' avec **troff**. Cette version fût présentée ''publiquement'' dans un ''article'' **CACM**. Le nombre d'installations était de ''20'' **machines**. |
| |
<note>Pour un bref historique du **langage C**, à la base **Ken Thompson** a crée le **langage B** en s'inspirant du **langage BCPL** mais c'est vite rendu compte qu'il était trop ''restrictif'' et de se fait **Dennis Ritchie** et **Brian Kernighan** dans une moindre mesure ont ''inventés'' le **langage C** spécifiquement pour **Unix** en partant du **B** de **Ken Thompson**.</note> | <note>Pour un bref historique du **langage C**, à la base **Ken Thompson** a crée le **langage B** en s'inspirant du **langage BCPL** (**//Basic Combined Programming Language//**) mais c'est vite rendu compte qu'il était trop ''restrictif'' et de se fait **Dennis Ritchie** et **Brian Kernighan** dans une moindre mesure ont ''inventés'' le **langage C** spécifiquement pour **Unix** en partant du **B** de **Ken Thompson**.</note> |
| |
===== Unix version 5 ===== | ===== Unix version 5 ===== |
<note>À noter que **Caldera International** à acheter les ''droits'' sur les **Unix des Bell Labs** et en 2002 **Caldera** a publié **Unix V1**, **V2**, **V3**, **V4**, **V5**, **V6** et **V7** sur **PDP-11** et **UNIX/32V** sur **VAX** en tant que **FOSS** (**//Free and open-source software//**) sous une **licence permissive BSD**. Merci à **Caldera**, car depuis lors tous les **BSD Unix** sont également ''libres'' ce qui inclue la branche **2.XBSD**, **3BSD**, **4.1BSD**, **4.2BSD** et **4.3BSD** et ses versions ultérieures, en clair tous les **Unix** basés sur les **Unix des Bell Labs** jusqu'à la **V7** et son pendant **UNIX/32V**.</note> | <note>À noter que **Caldera International** à acheter les ''droits'' sur les **Unix des Bell Labs** et en 2002 **Caldera** a publié **Unix V1**, **V2**, **V3**, **V4**, **V5**, **V6** et **V7** sur **PDP-11** et **UNIX/32V** sur **VAX** en tant que **FOSS** (**//Free and open-source software//**) sous une **licence permissive BSD**. Merci à **Caldera**, car depuis lors tous les **BSD Unix** sont également ''libres'' ce qui inclue la branche **2.XBSD**, **3BSD**, **4.1BSD**, **4.2BSD** et **4.3BSD** et ses versions ultérieures, en clair tous les **Unix** basés sur les **Unix des Bell Labs** jusqu'à la **V7** et son pendant **UNIX/32V**.</note> |
| |
| <note important>Avant **Unix version 7**, la **commande** pour changer de **répertoire**, **cd**, s'appelait **chdir** jusqu'à **Unix version 6**. Si vous souhaitez **émuler** **Unix version 6** et ses version ''antérieures'' vous ne serez donc pas surpris de ne pas trouver la **commande** **cd**.</note> |
===== Unix version 8 ===== | ===== Unix version 8 ===== |
En février 1985 sort **Unix version 8**, déstinée à l' **ordinateur VAX** de **DEC**, elle ne se base plus sur l'**Unix originel** des **Bell Labs** mais sur **4.1cBSD** de l'**Université de Californie à Berkeley**, cette version était complétée des **commandes Unix** : ''**curses, cflow, clear, compress, cpio, csh, cut, ksh, last, netstat, netnews, seq, telnet, tset, ul, vi, vmstat**'', donc l'ajout de **commandes réseaux**, du **KornShell** (**//ksh//**), **shell Unix** crée par **David Korn**, de la **bibliothèque logicielle Curses**, de la **base de données** de l' **UCB**, **Berkeley DB**, le **shell** de base (**sh**) fût remplacé par le **shell** de **UNIX System V**, les **sockets BSD** ont été remplacés par le **framework Streams** de **System V** pour la **mise en réseau**, le **terminal graphique Blit** est devenu l' **interface utilisateur** par défaut, les **langages de programmation**, **Lisp**, **Pascal** et **Altran** ont été inclus et un **système de fichiers réseaux** permettant l' accès au **système de fichiers** à ''distance''. | En février 1985 sort **Unix version 8**, déstinée à l' **ordinateur** **VAX-11** plus particulièrement le **VAX-11/750** de **DEC**, elle ne se base plus sur l'**Unix originel** des **Bell Labs** mais sur **4.1cBSD** de l'**Université de Californie à Berkeley**, cette version était complétée des **commandes Unix** : ''**curses, cflow, clear, compress, cpio, csh, cut, ksh, last, netstat, netnews, seq, telnet, tset, ul, vi, vmstat**'', donc l'ajout de **commandes réseaux**, du **KornShell** (**//ksh//**), **shell Unix** crée par **David Korn**, de la **bibliothèque logicielle Curses**, de la **base de données** de l' **UCB**, **Berkeley DB**, le **shell** de base (**sh**) fût remplacé par le **shell** de **UNIX System V**, les **sockets BSD** ont été remplacés par le **framework Streams** de **System V** pour la **mise en réseau**, le **terminal graphique Blit** est devenu l' **interface utilisateur** par défaut, les **langages de programmation**, **Lisp**, **Pascal** et **Altran** ont été inclus et un **système de fichiers réseaux** permettant l' accès au **système de fichiers** à ''distance''. |
| |
<note>Malgré que **Unix version 8** n'était pas déstinée à sortir hors des **Bell Labs**, il est tout à fait possible d'utiliser cette version avec l'**émulateur** **SIMH** de **Bob Supnik** mais pas les versions ultérieures.</note> | <note>Malgré que **Unix version 8** n'était pas déstinée à sortir hors des **Bell Labs**, il est tout à fait possible d'utiliser cette version avec l'**émulateur** [[wiki:virtualisation_et_emulation:simh|SIMH]] de **Bob Supnik** mais pas les versions ultérieures.</note> |
| |
===== Unix version 9 ===== | ===== Unix version 9 ===== |