| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | 
| wiki:histoire_informatique:research_unix [2025/05/12 12:22]  – [Unix version 7 et UNIX/32V]  Thibault Seguin | wiki:histoire_informatique:research_unix [2025/10/29 16:35] (Version actuelle)  – [Unix version 8]  Thibault Seguin | 
|---|
|  |  | 
| ===== UNICS ===== | ===== UNICS ===== | 
| La première ''ébauche'' de **Unix** fut créé en 1969 par **Kenneth Thompson** et **Dennis Ritchie** sur un ordinateur **DEC PDP-7** ''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. | La première ''ébauche'' de **Unix** fut créé en 1969 par **Kenneth Thompson** et **Dennis Ritchie** sur un ordinateur **DEC PDP-7** ''18 bits'' (**PDP** signifie **Programmed Data Processor**), 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é signifiait **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érentes, 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é signifiait **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érentes, UNICS, lui était composé d'utilitaires qui faisaient chacun une seule tâche mais la faisait bien.</note> | 
| ===== Unix version 1 ===== | ===== Unix version 1 ===== | 
| Après l'acquisition d'un mini-ordinateur de **Digital Equipment Corporation** (**//DEC//**), le **DEC PDP-11** ''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 **compilateur 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** ''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 **compilateur 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 1// gérait à présent le **multitâche** et le **multi-utilisateur** mais à cette époque on parlait plutôt d'OS à **temps partagé** (**Time-Sharing System**), d'où le nom de **Unix Time-Sharing System**. | 
|  |  | 
| ===== Unix version 2 ===== | ===== Unix version 2 ===== | 
|  |  | 
| ===== Unix version 4 ===== | ===== Unix version 4 ===== | 
| 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 (man) 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 (man) sont désormais formaté avec **troff**. Cette version fût présentée ''publiquement'' dans un article **CACM**, c'est également à partir de cette version que Unix a utilisé un véritable **multitâche préemptif** au lieu d'un **multitâche coopératif**. 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** (**//Basic Combined Programming Language//**) mais c'est vite rendu compte qu'il était trop restrictif et de ce 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 ce 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 7 et UNIX/32V ===== | ===== Unix version 7 et UNIX/32V ===== | 
| En janvier 1979, c'est au tour de **Unix version 7** ou **V7** de voir le jour, elle remplace le shell **Thompson shell** par le **Bourne shell** de **Stephen Bourne** et est affublée de nombreuses nouvelles commandes unix : **adb, at, awk, banner, basename, cu, diff3, expr, f77, factor, fortune, iostat, join, lex, lint, look, m4, make, rev, sed, tabs, tail, tar, test, touch, true, false, tsort, uucp, uux**, ainsi q'un nouveau compilateur portable C nommé **ppc** (**//Portable C Compiler//**), l'appel système appelé **ioctl**, la bibliothèque **standard C** nommé **stdio** pour le flux d' entrée et le flux de sortie standard de fichiers . Unix version 7 fonctionnant à l'origine sur PDP-11 qui est un mini-ordinateur ''16 bits'' sera porté sur le nouvel ordinateur de DEC, le **VAX** qui pour sa part est un mini-ordinateur ''32 bits''.\\ | En janvier 1979, c'est au tour de **Unix version 7** ou **V7** de voir le jour, elle remplace le shell **Thompson shell** par le **Bourne shell** de **Stephen Bourne** et est affublée de nombreuses nouvelles commandes unix : **adb, at, awk, banner, basename, cu, diff3, expr, f77, factor, fortune, iostat, join, lex, lint, look, m4, make, rev, sed, tabs, tail, tar, test, touch, true, false, tsort, uucp, uux**, ainsi q'un nouveau compilateur portable C nommé **ppc** (**//Portable C Compiler//**), l'appel système appelé **ioctl**, la bibliothèque **standard C** nommé **stdio** pour le flux d' entrée et le flux de sortie standard de fichiers . Unix version 7 fonctionnant à l'origine sur PDP-11 qui est un mini-ordinateur ''16 bits'' sera porté sur le nouvel ordinateur de DEC, le **VAX** qui pour sa part est un mini-ordinateur ''32 bits''.\\ | 
| Se ''portage'' sur VAX s'appel **UNIX/32V** ou **32V** et est le premier Unix ''32 bits'' sortant en juin 1979. Presque tous les UNIX actuels descendent de 32V. La V7 a également été portée sur l'**Interdata 8/32** de **PerkinElmer, Inc**. Unix version 7 a eu une influence très importante et certain ''puriste'' vienne même à dire que la V7 est le ''dernier vrai'' Unix et c'est aussi la dernière version des laboratoires Bell Labs à être diffusée hors de Bell Labs. Plus tard, il y eu même un portage de la V7 sur **x86** par le groupe **Nordier & Associates**. | Ce ''portage'' sur VAX s'appel **UNIX/32V** ou **32V** et est le premier Unix ''32 bits'' sortant en juin 1979. Presque tous les UNIX actuels descendent de 32V. La V7 a également été portée sur l'**Interdata 8/32** de **PerkinElmer, Inc**. Unix version 7 a eu une influence très importante et certain ''puriste'' vienne même à dire que la V7 est le ''dernier vrai'' Unix et c'est aussi la dernière version des laboratoires Bell Labs à être diffusée hors de Bell Labs. Plus tard, il y eu même un portage de la V7 sur **x86** par le groupe **Nordier & Associates**. | 
|  |  | 
| <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 versions ''antérieures'' vous ne serez donc pas surpris de ne pas trouver la commande **cd**.</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 versions ''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-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** (**UCB**), 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éé 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 aux systèmes 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** (**UCB**), 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éé 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éseau permettant l' accès aux systèmes de fichiers à ''distance''. | 
|  |  | 
| <note>Malgré que Unix version 8 n'était pas destiné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> | <note>Malgré que Unix version 8 n'était pas destiné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. Pour simuler la plupart des Unix des Bell Labs, rendez-vous [[wiki:virtualisation_et_emulation:simh:tutos|là]].</note> | 
|  |  | 
| ===== Unix version 9 ===== | ===== Unix version 9 ===== | 
|  |  | 
| ===== Unix version 10 ===== | ===== Unix version 10 ===== | 
| En octobre 1989 sort **Unix version 10** qui sera la dernière version des Bell Labs, parmi les innovations, il y avait des outils de **composition graphique** conçus pour fonctionner de concert avec troff, un **interpréteur C**, des programmes d'animation et divers outils prévu pour fonctionner par la suite sous Plan9, l'outil de compilation **Mk** et l' interpréteur de commandes **rc**, se shell (rc), deviendra le shell par défaut de **Plan9** (**Plan 9 from Bell Labs**). Le système d'exploitation de **Doug McIlroy** et **James A. Reeds** appelé **IX** a été basé sur la V10. | En octobre 1989 sort **Unix version 10** qui sera la dernière version des Bell Labs, parmi les innovations, il y avait des outils de **composition graphique** conçus pour fonctionner de concert avec troff, un **interpréteur C**, des programmes d'animation et divers outils prévu pour fonctionner par la suite sous Plan9, l'outil de compilation **Mk** et l' interpréteur de commandes **rc**, ce shell (rc), deviendra le shell par défaut de **Plan9** (**Plan 9 from Bell Labs**). Le système d'exploitation de **Doug McIlroy** et **James A. Reeds** appelé **IX** a été basé sur la V10. | 
|  |  | 
| <note>La V8, V9 et V10 ne sortiront jamais des laboratoires Bell Labs, se sont des versions de ''recherche'' qui se basent toutes sur **BSD UNIX**. À la suite de la V10, le système d'exploitation ''distribué'' //Plan 9 from Bell Labs//, appelé plus couramment //Plan 9//, qui n'est pas un système UNIX mais s'en inspire énormément. Le format de codage des caractères **UTF-8** a été crée par Ken Thompson pour //Plan 9//.</note> | <note>La V8, V9 et V10 ne sortiront jamais des laboratoires Bell Labs, se sont des versions de ''recherche'' qui se basent toutes sur **BSD UNIX**. À la suite de la V10, le système d'exploitation ''distribué'' //Plan 9 from Bell Labs//, appelé plus couramment //Plan 9//, qui n'est pas un système UNIX mais s'en inspire énormément, voit le jour. Le format de codage des caractères **UTF-8** a été crée par Ken Thompson pour //Plan 9//.</note> | 
|  |  | 
| <note>L'Unix des Bell Labs était également appelé **UnixTSS** (pour **UNIX Time-Sharing System**) mais aussi **Research Unix** étant donné que l'Unix des Bell Labs était avant tout un Unix de recherche.</note> | <note>L'Unix des Bell Labs était également appelé **UnixTSS** (pour **UNIX Time-Sharing System**) mais aussi **Research Unix** étant donné que l'Unix des Bell Labs était avant tout un Unix de recherche.</note> |