Prochaine révision | Révision précédente |
wiki:os:bsd_unix [2025/03/30 13:35] – créée Thibault Seguin | wiki:os:bsd_unix [2025/05/24 22:11] (Version actuelle) – [4.3BSD] Thibault Seguin |
---|
====== Les différents OS BSD Unix ====== | ====== Les différents OS BSD Unix ====== |
La mascotte des systèmes **BSD** (**//Berkeley Software Distribution//**) du nom de **Beastie** : {{ :wiki:systemes_d_exploitation:beastie-feature-image-420x280_c.png?250 |}} | La mascotte des systèmes **BSD** (**//Berkeley Software Distribution//**) du nom de **Beastie** : {{ :wiki:os:beastie-feature-image-420x280_c.png?nolink&250 |}} |
| |
Rendez-vous dans les [[wiki:os:bsd_unix:distributions BSD libres|distributions BSD]] actuelles, pour avoir une liste de ses **OS** **Unix** très ''stables''. | Rendez-vous dans les [[wiki:os:bsd_unix:distributions BSD libres|distributions BSD]] actuelles, pour avoir une liste de ses **OS** **Unix** très ''stables''. |
| |
| [[wiki:os:bsd_unix:timeline_bsd|Timeline BSD Unix]] |
===== La naissance de BSD Unix, Unix de Berkeley ===== | ===== La naissance de BSD Unix, Unix de Berkeley ===== |
| |
| |
==== 3BSD ==== | ==== 3BSD ==== |
En mars 1980 a été publié **3BSD**, une version conçue pour l'ordinateur **VAX-11** de DEC, qui n'était non plus un mini-ordinateur 16 bits comme le PDP-11 mais un ordinateur basé sur un processeur ''32 bits''. 3BSD se base sur **UNIX/32V** ou abrégé **32V**, un port d'**Unix version 7** des Bell Labs pour l'architecture 32 bits du VAX. Si 3BSD a été crée c'est avant tout parce que le **noyau** de 32V ne prenait pas en charge la **mémoire virtuelle** du VAX et de se fait un étudiant diplômé de l'UCB, **Özalp Babaoğlu** a grandement modifié le noyau de UNIX/32V pour que 3BSD prenne pleinement en charge les capacités du VAX. 3BSD était le premier système d'exploitation **BSD complet**, composé d'un noyau, des utilitaires 2BSD portés sur le VAX et des utilitaires de 32V, 3BSD était également nommé **Virtual VAX/UNIX** ou **VMUNIX** (**//Virtual Memory Unix//**), d'ailleurs les images du noyau BSD étaient nommées ''/vmunix'' (et ce jusqu'à la dernière version de BSD, **4.4BSD**) au lieu de ''/unix'', les images originelles des Unix des Bell Labs. Suite au succès de 3BSD, en avril 1980, la **DARPA** (**//Defense Advanced Research Projects Agency//**) signa un contrat avec l'Université de Californie à Berkeley pour le projet **VLSI** (**//Very Large Scale Integration//**), se qui mèneras à la création du groupe de recherche appelé **CSRG** (**//Computer Systems Research Group//**) en 1980, qui sera désormais le groupe chargé de faire évoluer BSD UNIX et par l'influence de se dernier, toutes les saveurs d'Unix. | En mars 1980 a été publié **3BSD**, une version conçue pour l'ordinateur **VAX-11** de DEC, qui n'était non plus un mini-ordinateur 16 bits comme le PDP-11 mais un ordinateur basé sur un processeur ''32 bits''. 3BSD se base sur **UNIX/32V** ou abrégé **32V**, un port d'**Unix version 7** des Bell Labs pour l'architecture 32 bits du VAX. Si 3BSD a été crée c'est avant tout parce que le **noyau** de 32V ne prenait pas en charge la **mémoire virtuelle** du VAX et de se fait un étudiant diplômé de l'UCB, **Özalp Babaoğlu** a grandement modifié le noyau de UNIX/32V pour que 3BSD prenne pleinement en charge les capacités du VAX. 3BSD était le premier système d'exploitation **BSD complet**, composé d'un noyau, des utilitaires 2BSD portés sur le VAX et des utilitaires de 32V, 3BSD était également nommé **Virtual VAX/UNIX** ou **VMUNIX** (**//Virtual Memory Unix//**), d'ailleurs les images du noyau BSD étaient nommées ''/vmunix'' (et ce jusqu'à la dernière version de BSD, **4.4BSD**) au lieu de ''/unix'', les images originelles des Unix des Bell Labs. Suite au succès de 3BSD, en avril 1980, la **DARPA** (**//Defense Advanced Research Projects Agency//**) signa un contrat avec l'Université de Californie à Berkeley pour le projet **VLSI** (**//Very Large Scale Integration//**), se qui mèneras à la création du groupe de recherche appelé **CSRG** (**//Computer Systems Research Group//**) en 1980, qui sera désormais le groupe chargé de faire évoluer BSD UNIX et par l'influence de ce dernier, toutes les saveurs d'Unix. |
| |
==== 4BSD ==== | ==== 4BSD ==== |
| |
==== 4.1BSD ==== | ==== 4.1BSD ==== |
**4.1BSD** a été publié en juin 1981, car le noyau de 4BSD manquait de performance face au système d'exploitation de DEC, **VMS** (**//Virtual Memory System//**), l'OS dominant du moment pour le VAX. Pendant le cours de la création de 4.1BSD, le noyau a été constamment optimisé par **Bill Joy** jusqu'à ce que 4.1BSD soit aussi performant que VMS sur divers benchmark. Le développement de 4.1BSD à **4.2BSD** a été financé par la DARPA du du 15 novembre 1981 au 30 septembre 1983. 4.1BSD aurait dû s'appeler **5BSD** mais l'entreprise **AT&T** a omit des objections pour éviter toute confusion avec son OS commercial **UNIX System V**. | **4.1BSD** a été publié en juin 1981, car le noyau de 4BSD manquait de performance face au système d'exploitation de DEC, **VMS** (**//Virtual Memory System//**), l'OS dominant du moment pour le VAX. Pendant le cours de la création de 4.1BSD, le noyau a été constamment optimisé par **Bill Joy** jusqu'à ce que 4.1BSD soit aussi performant que VMS sur divers benchmark. Le développement de 4.1BSD à **4.2BSD** a été financé par la DARPA du 15 novembre 1981 au 30 septembre 1983. 4.1BSD aurait dû s'appeler **5BSD** mais l'entreprise **AT&T** a omit des objections pour éviter toute confusion avec son OS commercial **UNIX System V**. |
| |
==== 4.2BSD ==== | ==== 4.2BSD ==== |
En septembre 1983, paru **4.2BSD**, la toute première version de BSD et d'Unix en général à inclure une **pile TCP/IP**, le fondement de l'**internet** que l'on connait à l'heure actuelle. Le développement de 4.1BSD à 4.2BSD a duré pas moins de ''deux ans'', il y eu 3 versions intermédiaires entre les deux distribution BSD: **4.1aBSD** en avril 1982, qui incluait une version préliminaire de la **pile TCP/IP** de **BBN** (**//Bolt, Beranek et Newman//**), **4.1bBSD** en août 1982, incorporant le système de fichiers **FFS** (**//Fast File System//**) et **4.1cBSD** en décembre 1982, qui n'a pas cessé d'être amélioré et optimisé jusqu'à la sortie de 4.2BSD, 4.1cBSD fût en autre la base de **Unix version 8** des Bell Labs. De nombreux acteurs informatiques ont été impliqués dans l'élaboration de 4.2BSD, tels que des membres influents de l'UCB, BBN, des Bell Labs, **CMU** (**//Carnegie Mellon University//**), du **MIT** (**//Massachusetts Institute of Technology//**), de l'**ISI** (**//Information Sciences Institute//**) et de l'**UCLA** (**//University of California, Los Angeles//**), se comité directeur a été fondé par **Duane Adams** de la DARPA. 4.2BSD est finalement composé de la **pile TCP/IP** de **Bill Joy** et non celle de BBN, du nouveau système de fichiers **FFS**, et de nombreuses fonctionnalités de personnes extérieures, tels que les **quotas de disque** et le **contrôle des tâches**. Pour tester la portabilité de 4.2BSD, l'entreprise **Sun Microsystems** porta 4.2BSD sur l'architecture processeur de leurs propres ordinateurs, le processeur **Motorola 68000** qui donnera naissance à leur système d'exploitation **SunOS** qui était basé sur BSD UNIX. Après le départ de Bill Joy pour Sun Microsystems, c'est **Mike Karels** et **Marshall Kirk McKusick** qui prient la direction du projet 4.2BSD. 4.2BSD a été une version très importante du fait quelle intégrait la première implémentation de **TCP/IP**, qui a permit de se connecter à l'**ARPANET** (**//Advanced Research Projects Agency Network//**), l'ancêtre d'internet et c'est également à se moment que naît **Beastie**, la mascotte de BSD (un petit ''démon'' souriant) qui fait référence aux **daemon** (en anglais) aussi appelés **services**, programmes informatiques qui tournent en tant que processus en arrière plan, tel qu'un serveur **FTP** (**//File Transfer Protocol//**) ou un serveur Web comme **Apache HTTP Server**. Les commandes Unix en rapport à la nouvelle pile TCP/IP de Berkeley, incluait en autres, **ifconfig** pour la gestion des cartes réseaux, **route** pour voir et modifier la table de routage, **netstat** qui permet de lister les ports de différent **protocole réseau**, client et serveur **FTP** (commande **ftp** et **ftpd**), client et serveur **TFTP** (commande **tftp** et **tftpd**), client et serveur **Telnet** (commande **telnet** et **telnetd**), client et serveur **Rlogin** (commande **rlogin** et **rlogind**), client et serveur **RSH** (commande **rsh** et **rshd**), client **Mail** (commande **mail**) et tous les services en rapport à la pile TCP/IP hormis **inetd** qui a été seulement intégré à partir de **4.3BSD**. | En septembre 1983, paru **4.2BSD**, la toute première version de BSD et d'Unix en général à inclure une **pile TCP/IP**, le fondement de l'**internet** que l'on connait à l'heure actuelle. Le développement de 4.1BSD à 4.2BSD a duré pas moins de ''deux ans'', il y eu 3 versions intermédiaires entre les deux distribution BSD: **4.1aBSD** en avril 1982, qui incluait une version préliminaire de la **pile TCP/IP** de **BBN** (**//Bolt, Beranek et Newman//**), **4.1bBSD** en août 1982, incorporant le système de fichiers **FFS** (**//Fast File System//**) et **4.1cBSD** en décembre 1982, qui n'a pas cessé d'être amélioré et optimisé jusqu'à la sortie de 4.2BSD, 4.1cBSD fût en autre la base de **Unix version 8** des Bell Labs. De nombreux acteurs informatiques ont été impliqués dans l'élaboration de 4.2BSD, tels que des membres influents de l'UCB, BBN, des Bell Labs, **CMU** (**//Carnegie Mellon University//**), du **MIT** (**//Massachusetts Institute of Technology//**), de l'**ISI** (**//Information Sciences Institute//**) et de l'**UCLA** (**//University of California, Los Angeles//**), se comité directeur a été fondé par **Duane Adams** de la DARPA. 4.2BSD est finalement composé de la **pile TCP/IP** de **Bill Joy** et non celle de BBN, du nouveau système de fichiers **FFS**, et de nombreuses fonctionnalités de personnes extérieures, tels que les **quotas de disque** et le **contrôle des tâches**. Pour tester la portabilité de 4.2BSD, l'entreprise **Sun Microsystems** porta 4.2BSD sur l'architecture processeur de leurs propres ordinateurs, le processeur **Motorola 68000** qui donnera naissance à leur système d'exploitation **SunOS** qui était basé sur BSD UNIX. Après le départ de Bill Joy pour Sun Microsystems, c'est **Mike Karels** et **Marshall Kirk McKusick** qui prierent la direction du projet 4.2BSD. 4.2BSD a été une version très importante du fait quelle intégrait la première implémentation de **TCP/IP**, qui a permit de se connecter à l'**ARPANET** (**//Advanced Research Projects Agency Network//**), l'ancêtre d'internet et c'est également à se moment que naît **Beastie**, la mascotte de BSD (un petit ''démon'' souriant) qui fait référence aux **daemon** (en anglais) aussi appelés **services**, programmes informatiques qui tournent en tant que processus en arrière plan, tel qu'un serveur **FTP** (**//File Transfer Protocol//**) ou un serveur Web comme **Apache HTTP Server**. Les commandes Unix en rapport à la nouvelle pile TCP/IP de Berkeley, incluait en autres, **ifconfig** pour la gestion des cartes réseaux, **route** pour voir et modifier la table de routage, **netstat** qui permet de lister les ports de différent **protocole réseau**, client et serveur **FTP** (commande **ftp** et **ftpd**), client et serveur **TFTP** (commande **tftp** et **tftpd**), client et serveur **Telnet** (commande **telnet** et **telnetd**), client et serveur **Rlogin** (commande **rlogin** et **rlogind**), client et serveur **RSH** (commande **rsh** et **rshd**), client **Mail** (commande **mail**) et tous les services en rapport à la pile TCP/IP hormis **inetd** qui a été seulement intégré à partir de **4.3BSD**. |
| |
<note important>**4.2BSD** est la première version de **BSD UNIX** a intégré tous les composants nécessaires pour gérer une **pile TCP/IP** ! 4.2BSD est le tout premier système d'exploitation à avoir une pile TCP/IP complète et opérationnelle (tous OS confondus et pas seulement les système UNIX) ! En gros tous les OS de nos jours ont une pile TCP/IP qui c'est originellement basée sur celle de **BSD** du **CSRG**, c'est pour ainsi dire les fondements de l'**internet** tel q'on le connaît à l'heure actuelle !</note> | <note important>**4.2BSD** est la première version de **BSD UNIX** a intégré tous les composants nécessaires pour gérer une **pile TCP/IP** ! 4.2BSD est le tout premier système d'exploitation à avoir une pile TCP/IP complète et opérationnelle (tous OS confondus et pas seulement les système UNIX) ! En gros tous les OS de nos jours ont une pile TCP/IP qui c'est originellement basée sur celle de **BSD** du **CSRG**, c'est pour ainsi dire les fondements de l'**internet** tel q'on le connaît à l'heure actuelle !</note> |
| |
=== 4.3BSD-Tahoe === | === 4.3BSD-Tahoe === |
En juin 1988 a été publié **4.3BSD-Tahoe**, dont le but était de s'écarter du VAX, une plateforme jugée vieillissante par le CSRG, qui se tourna vers le mini-ordinateur de l'entreprise **Computer Consoles**, le **Power 6/32** ayant pour nom de code **Tahoe**, qui semblait très prometteur et était directement destiné à concurrencé le VAX de DEC mais la commercialisation du Power 6/32 fût abandonner très peu de temps après son développement. Malgré tout, se port de 4.3BSD fût très utile, car il a permit de séparer le code source dépendant de la machine et le code indépendant de la machine dans les systèmes BSD, ce qui améliorera grandement la portabilité de BSD sur d'autres architectures processeurs. De plus le CSRG a travaillé sur une implémentation de la pile de protocoles réseau **OSI** (**//Open Systems Interconnection//**) , des améliorations du système de mémoire virtuelle du noyau et de nouveaux **algorithmes TCP/IP** avec la participation de **Van Jacobson** (spécialisé dans TCP/IP) pour anticiper la croissance d'internet naissante. | En juin 1988 a été publié **4.3BSD-Tahoe**, dont le but était de s'écarter du VAX, une plateforme jugée vieillissante par le CSRG, qui se tourna vers le mini-ordinateur de l'entreprise **Computer Consoles**, le **Power 6/32** ayant pour nom de code **Tahoe**, qui semblait très prometteur et était directement destiné à concurrencé le VAX de DEC mais la commercialisation du Power 6/32 fût abandonné très peu de temps après son développement. Malgré tout, se port de 4.3BSD fût très utile, car il a permit de séparer le code source dépendant de la machine et le code indépendant de la machine dans les systèmes BSD, ce qui améliorera grandement la portabilité de BSD sur d'autres architectures processeurs. De plus le CSRG a travaillé sur une implémentation de la pile de protocoles réseau **OSI** (**//Open Systems Interconnection//**) , des améliorations du système de mémoire virtuelle du noyau et de nouveaux **algorithmes TCP/IP** avec la participation de **Van Jacobson** (spécialisé dans TCP/IP) pour anticiper la croissance d'internet naissante. |
| |
=== 4.3BSD Net/1 (Networking Release 1) === | === 4.3BSD Net/1 (Networking Release 1) === |
La dernière version BSD du CSRG, **4.4BSD-Lite Release 2** est sortie en juin 1995, après quoi, le CSRG de l' UCB (Université de Californie à Berkeley) a été dissous et se fait il n'y a eu plus aucun développement du système BSD à l'Université de Berkeley. 4.4BSD-Lite Release 2 à bénéficier d'innombrables ajouts, améliorations et modifications que je ne peux pas les citer, il faudrait un livre pour décrire **4.4BSD**. Étant sous licence permissive, plus précisément sous licence BSD, le code source de 4.4BSD-Lite Release 2 a été utilisé par des particuliers, des organisations comme le système **GNU/Linux**, des entreprises, en particulier par l'OS **macOS** (anciennement **Mac OS X**) pour **Mac** et tous les autres systèmes qui en découlent, **iOS** pour **iPhone**, **iPadOS**, **watchOS**, **tvOS**...(tous ses systèmes ayant pour base de code 4.4BSD-Lite Release 2), de l'entreprise **Apple** et même l'entreprise **Microsoft** qui a à minima implémentée la pile TCP/IP de 4.4BSD à partir de Windows 2000 pour citer les systèmes d' exploitation les plus populaires et en ce qui les UNIX® ''commerciaux'', **Oracle Solaris** (anciennement **Sun Solaris**) d' **Oracle** intègre beaucoup de code source de 4.4BSD-Lite Release 2, ainsi que **AIX** (**//Advanced Interactive eXecutive//**) d' **IBM**, **HP-UX** (**//Hewlett Packard Unix//**) de **HP** (**//Hewlett Packard//**) et j'irais même jusqu'à dire que les ''3/4'' des systèmes d' exploitation actuels intègrent du code source de 4.4BSD. | La dernière version BSD du CSRG, **4.4BSD-Lite Release 2** est sortie en juin 1995, après quoi, le CSRG de l' UCB (Université de Californie à Berkeley) a été dissous et se fait il n'y a eu plus aucun développement du système BSD à l'Université de Berkeley. 4.4BSD-Lite Release 2 à bénéficier d'innombrables ajouts, améliorations et modifications que je ne peux pas les citer, il faudrait un livre pour décrire **4.4BSD**. Étant sous licence permissive, plus précisément sous licence BSD, le code source de 4.4BSD-Lite Release 2 a été utilisé par des particuliers, des organisations comme le système **GNU/Linux**, des entreprises, en particulier par l'OS **macOS** (anciennement **Mac OS X**) pour **Mac** et tous les autres systèmes qui en découlent, **iOS** pour **iPhone**, **iPadOS**, **watchOS**, **tvOS**...(tous ses systèmes ayant pour base de code 4.4BSD-Lite Release 2), de l'entreprise **Apple** et même l'entreprise **Microsoft** qui a à minima implémentée la pile TCP/IP de 4.4BSD à partir de Windows 2000 pour citer les systèmes d' exploitation les plus populaires et en ce qui les UNIX® ''commerciaux'', **Oracle Solaris** (anciennement **Sun Solaris**) d' **Oracle** intègre beaucoup de code source de 4.4BSD-Lite Release 2, ainsi que **AIX** (**//Advanced Interactive eXecutive//**) d' **IBM**, **HP-UX** (**//Hewlett Packard Unix//**) de **HP** (**//Hewlett Packard//**) et j'irais même jusqu'à dire que les ''3/4'' des systèmes d' exploitation actuels intègrent du code source de 4.4BSD. |
| |
<note>Il est important de mentionner que **4.4BSD** a été dès le début prévu pour fonctionner sur plusieurs architectures processeurs différentes, comme l' **Intel i386**, **Motorola M68k**, **Sun SPARC**, architecture **MIPS**..., les architectures processeurs les plus populaires à cette époque.</note> | <note>Il est important de mentionner que **4.4BSD** a été dès le début prévu pour fonctionner sur plusieurs architectures de processeurs différentes, comme l' **Intel i386**, **Motorola M68k**, **Sun SPARC**, architecture **MIPS**..., les architectures processeurs les plus populaires à cette époque.</note> |
| |
===== Systèmes d'exploitation BSD basés sur 4.3BSD Net/2 ===== | ===== Systèmes d'exploitation BSD basés sur 4.3BSD Net/2 ===== |
| |
| |
===== Les distributions BSD open source actuelles ===== | ===== Les distributions BSD open source actuelles (basé sur 4.4BSD) ===== |
Les systèmes d'exploitation **BSD** ''actuels'' sont de véritables systèmes UNIX car ils ont des liens de parentés direct avec l'UNIX de **AT&T** mais officiellement se sont des **Unix-like** (OS de **Type Unix**). Vous trouverez une liste des [[wiki:os:bsd_unix:distributions BSD libres]]. Évidement comme tout OS de type Unix, les BSD gèrent le **multi-utilisateur** et le **multitâche préemptif**. | Les systèmes d'exploitation **BSD** ''actuels'' sont de véritables systèmes UNIX car ils ont des liens de parentés direct avec l'UNIX de **AT&T** mais officiellement se sont des **Unix-like** (OS de **Type Unix**). Vous trouverez une liste des [[wiki:os:bsd_unix:distributions BSD libres]]. Évidement comme tout OS de type Unix, les BSD gèrent le **multi-utilisateur** et le **multitâche préemptif**. |
| |
Résumé de la généalogie de **Unix** en image : | Résumé de la généalogie de **Unix** en image : |
| |
{{ :wiki:systemes_d_exploitation:unix_history-simple.png?linkonly |Chronologie Unix}} | {{ :wiki:os:unix_history-simple.png?linkonly |Chronologie Unix}} |
| |
| ===== Documentation complémentaire sur les BSD actuels ===== |
| Vous trouverez le [[wiki:os:bsd_unix:tutos|coin des tutos sur BSD]], qui s'appliquent à tous les BSD actuels |