GNU fête ses 40 ans

GNU fête ses 40 ans

Mais alors... GNU/Linux ou Linux ?

Avatar de l'auteur
Vincent Hermann

Publié dans

Logiciel

27/09/2023 4 minutes
76

GNU fête ses 40 ans

Le système d’exploitation GNU fête en ce moment ses 40 ans. Le projet, initié par Richard Stallman, a donné naissance à un courant de pensée, qui s’est plus tard matérialisé dans la Free Software Foundation. On lui doit également la notion de copyleft.

Qu’est-ce que GNU ? Un projet de système d’exploitation que Richard Stallman a présenté le 27 septembre 1983. À l’époque, il souhaitait que les bidouilleurs et autres hackers le rejoignent dans l’aventure, pour aider au développement et faire grandir cette idée. Un système qui serait libre, à l'abri des poursuites, dans un esprit de coopération et d’enrichissement intellectuel général.

Dans le même esprit, Richard Stallman promouvait déjà une notion spécifique depuis plusieurs années : le copyleft. En opposition directe au copyright, le copyleft autorise toute personne à utiliser, étudier, diffuser et modifier une œuvre soumise au droit d’auteur. Il y a cependant une condition stricte : que ces mêmes droits soient préservés dans les travaux dérivés. Contrairement au copyright, il n’y a donc pas de restriction sur le droit à la copie.

En 1985, Stallman crée la Free Software Foundation, avec deux missions principales : défendre légalement le projet, et assurer sa gouvernance et son rayonnement. Depuis ses débuts, la FSF a une dimension politique, car elle milite pour une certaine vision de l’information, loin des grandes entreprises du monde propriétaire, symbolisé aujourd’hui par les multinationales que sont les GAFAM. Sa licence la plus célèbre est bien sûr la GPL (GNU Public License).

« Quand on regarde l'histoire du mouvement des logiciels libres – ou l'idée que les utilisateurs devraient avoir le contrôle de leur propre ordinateur – cela commence avec GNU. Le système GNU n'est pas seulement le système d'exploitation le plus répandu basé sur des logiciels libres. GNU est également au cœur d'une philosophie qui a guidé le mouvement du logiciel libre pendant quarante ans », a ainsi déclaré Zoë Kooyman, présidente de la FSF, dans un communiqué le 18 septembre.

Sur le système d’exploitation lui-même

On n’entend aujourd’hui plus beaucoup parler de GNU. Il est pourtant omniprésent, puisque composant la base de ce que l’on appelle aujourd’hui les distributions Linux.

Il faut savoir que GNU est resté pendant des années sans noyau. Le projet Hurd devait lui en fournir un, mais n’a jamais réellement abouti. Ce que l’on nomme aujourd’hui « Linux » correspond en fait à un assemblage entre le système GNU et le noyau Linux. Par simplicité le plus souvent, le nom Linux a fini par rester, même si Stallman demandait à ce que les distributions basées sur ce duo soient appelées « GNU/Linux ». Une controverse a divisé pendant un temps la communauté du logiciel libre à ce sujet, mais le créateur de GNU n’a jamais abandonné.

Le système GNU est composé exclusivement de logiciels libres. Il consiste en partie d’une implémentation libre d’UNIX – GNU est un acronyme récursif signifiant « GNU is Not UNIX » – complétée par des développements supplémentaires pour les composants manquants. Il s’agissait, dans les grandes lignes, de proposer un équivalent totalement libre d’UNIX.

Parmi les composants les plus connus créés dans le cadre du projet GNU, on peut citer Bash (Bourne-Again shell), que l’on retrouve dans toutes les distributions. Il était également le shell par défaut de Mac OS X (base UNIX), jusqu’à ce qu’il soit remplacé par zsh dans macOS Catalina (10.15). GCC (GNU Compiler Collection) est également célèbre. Cette collection de compilateurs est utilisée pour le développement et la compilation des logiciels libres, dont le noyau Linux lui-même.

40 ans plus tard

Aujourd’hui, il est évident que le logiciel libre est omniprésent. Il a fini par s’infiltrer avec le temps chez les GAFAM, qui s’en servent bien sûr pour leurs propres besoins. macOS est toujours basé sur Darwin, Microsoft est devenu étrangement l’un des plus gros contributeurs au libre, Android dispose d’une base libre centrée sur le noyau Linux.

Pour la Free Software Foundation cependant, GNU va plus loin que le simple code. « Nous espérons que le quarantième anniversaire inspirera les hackers, anciens et nouveaux, à rejoindre GNU dans son objectif de créer, d'améliorer et de partager les logiciels libres dans le monde entier. Les logiciels contrôlent notre monde aujourd'hui, et GNU est une critique et une solution au statu quo dont nous avons désespérément besoin pour que notre technologie ne nous contrôle plus », a ainsi ajouté Zoë Kooyman.

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Sur le système d’exploitation lui-même

40 ans plus tard

next n'a pas de brief le week-end

Le Brief ne travaille pas le week-end.
C'est dur, mais c'est comme ça.
Allez donc dans une forêt lointaine,
Éloignez-vous de ce clavier pour une fois !

Fermer

Commentaires (76)


:incline: :incline: :incline:
:yes: :yes:


Pour parler de GNU comme d’un système d’exploitation, il faudrait parler de Hurd. Et là, hum, comment dire…



Mais alors… GNU/Linux ou Linux ?




Sous-titre supprimé : Troll ou incitation au troll.



fred42 a dit:


Sous-titre supprimé : Troll ou incitation au troll.




:mdr: :mdr: :incline: :incline:


“Ce que l’on nomme aujourd’hui « Linux » correspond en fait à un assemblage entre le système GNU et le noyau Linux.”



Non c’est faux, ça c’est la justification de Stallman qui ne vaut rien.



Il y a des systèmes Linux sans aucun soft GNU (alpine par exemple).



Et si on veut aller dans la logique de Stallman, pourquoi ne nommer que GNU en plus de Linux ? Pourquoi pas KDE/Qt/GNU/Linux ? Et mon navigateur c’est Firefox/XUL/KDE/Qt/GNU/Linux ?



Arrêtons les contorsions mentales pour essayer de justifier ce nommage; il est injustifiable et donc inapplicable, on dit Linux et puis voilà.


le kernel linux utilise la gpl et historiquement c’est bien la conjonction du projet gnu et de linux qui a permis l’existance des distribution Gnu/linux tel que debian. Pour moi Stallman ne cherche qu’à mettre en lumière le fait que la volonté d’un système libre, au sens GPL, est preexistant au projet linux.



Linux ne serait pas ce qu’il est sans la GPL et le projet GNU.



Qu’est-ce que GNU ? Un projet de système d’exploitation que Richard Stallman a présenté le 27 septembre 1983. À l’époque, il souhaitait que les bidouilleurs et autres hackers le rejoignent dans l’aventure, pour aider au développement et faire grandir cette idée. Un système qui serait libre, à l’abri des poursuites, dans un esprit de coopération et d’enrichissement intellectuel général.




« Belle activité… Beau projet… » comme dirait l’humoriste Edgar-Yves


Je suis profane dans ce domaine, mais un OS sans noyau c’est possible ?



Car j’ai l’impression à lire que GNU n’est qu’une suite de logiciel libre, du coup je ne comprends pas trop l’appellation “Système”


Je ne pense pas que ça soit possible. C’est la partie qui discute avec le matériel : processeur, mémoire, etc.


zefling

Je ne pense pas que ça soit possible. C’est la partie qui discute avec le matériel : processeur, mémoire, etc.


Ben c’est ce que je me dis, mais comment cela peut être “un projet de système d’exploitation” du coup sans noyau…
N’est-ce pas le noyau qui fait le système ? Après ce qu’on met autour c’est plutôt secondaire non ?



Par rapport à la remarque qu’il faudrait dire GNU/Linux, Linux étant le noyau, c’est normal qu’on appelle cela juste “Linux” je trouve…


En fait on parle du noyau Linux. Et, en informatique, tout est logiciel. Un système d’exploitation est une collection de logiciels qui travaillent ensemble. Le noyau Linux étant lui-même un logiciel.


numerid

En fait on parle du noyau Linux. Et, en informatique, tout est logiciel. Un système d’exploitation est une collection de logiciels qui travaillent ensemble. Le noyau Linux étant lui-même un logiciel.


Oui, en effet, je parlais de logiciel dans le sens application, genre une application utilisateur, pas quelque chose que l’utilisateur ne voit pas qui s’exécute en tache de fond pour faire fonctionner l’OS.


Hors sujet, mais sur chaque billet que je lis je vois un ou des commentaires de Trooppper, systématiquement modérés. 🤔



eglyn a dit:


Je suis profane dans ce domaine, mais un OS sans noyau c’est possible ?




MS-DOS, entre autres, et donc les anciens Windows, encore que…




Année 2000 et avant de Windows (Millennium, Windows 98, 95 et leurs prédécesseurs), il y avait des querelles d’experts pour déterminer si la définition de noyau de système d’exploitation s’applique ou non à ces systèmes d’exploitation.
(Wikipedia)



Ah ben MS-DOS est sans noyau, je ne savais pas, du coup c’est possible :transpi:


alors qu’est command.com pour le DOS ? Il me semble que les interactions homme/machine étaient plus que réduite sans l’avoir chargé, non ?
Il va falloir que je prenne ma frontale et que je retourne à la cave.:phiphi:


la_hyene

alors qu’est command.com pour le DOS ? Il me semble que les interactions homme/machine étaient plus que réduite sans l’avoir chargé, non ?
Il va falloir que je prenne ma frontale et que je retourne à la cave.:phiphi:


Le doute s’installe en moi…
Effectivement, ici ou , on parle de noyau DOS. Attendons d’autres avis plus éclairés !


serpolet

Le doute s’installe en moi…
Effectivement, ici ou , on parle de noyau DOS. Attendons d’autres avis plus éclairés !


Dans le fichier config.sys tu précisais shell=command.com en première ligne de mémoire


serpolet

Le doute s’installe en moi…
Effectivement, ici ou , on parle de noyau DOS. Attendons d’autres avis plus éclairés !


Le DOS est effectivement un noyau. Il fournissait des services basiques (via l’interruption 21h pour ceux qui connaissent l’assembleur !) par rapport à un système d’exploitation d’aujourd’hui, mais il était bien en charge d’une partie de l’abstraction matériel :




  • accès au fichier

  • gestion de la mémoire



On pouvait ensuite charger des drivers pour tout ce qui était lecteur CD par exemple. Les drivers venaient enrichir les services disponibles via interruptions (soit en fournissant de nouvelles interruptions, soit en venant rajouter des fonctionnalités à des interruptions déjà existantes).



A noter que certaines couches d’abstraction était fournies par le BIOS lui-même (int 10h pour la gestion graphique par exemple) et non par le système d’exploitation en lui-même.



COMMAND.COM n’était que l’interpréteur de commande (l’équivalent de sh/bash/zsh/tout autre shell).



[edit]
Pour terminer, le rôle du système d’exploitation n’était pas, à l’époque, de fournir l’abstraction complète du matériel. Par exemple, dans les jeux vidéos, c’était bien souvent le jeu lui-même qui devait supporter les différentes cartes son !


fdorin

Le DOS est effectivement un noyau. Il fournissait des services basiques (via l’interruption 21h pour ceux qui connaissent l’assembleur !) par rapport à un système d’exploitation d’aujourd’hui, mais il était bien en charge d’une partie de l’abstraction matériel :




  • accès au fichier

  • gestion de la mémoire



On pouvait ensuite charger des drivers pour tout ce qui était lecteur CD par exemple. Les drivers venaient enrichir les services disponibles via interruptions (soit en fournissant de nouvelles interruptions, soit en venant rajouter des fonctionnalités à des interruptions déjà existantes).



A noter que certaines couches d’abstraction était fournies par le BIOS lui-même (int 10h pour la gestion graphique par exemple) et non par le système d’exploitation en lui-même.



COMMAND.COM n’était que l’interpréteur de commande (l’équivalent de sh/bash/zsh/tout autre shell).



[edit]
Pour terminer, le rôle du système d’exploitation n’était pas, à l’époque, de fournir l’abstraction complète du matériel. Par exemple, dans les jeux vidéos, c’était bien souvent le jeu lui-même qui devait supporter les différentes cartes son !


En quoi le DOS gérait la mémoire ? J’avais comme notion que chaque programme faisait ce qu’il veut pas (16 bits, pas de pagination, pas de MMU etc.)



D’ailleurs j’ai souvent lu que DOS était plus un système de fichiers avec des abstractions très basiques (mode d’affichage, écran, souris) qu’un OS en tant que tel


Carpette

En quoi le DOS gérait la mémoire ? J’avais comme notion que chaque programme faisait ce qu’il veut pas (16 bits, pas de pagination, pas de MMU etc.)



D’ailleurs j’ai souvent lu que DOS était plus un système de fichiers avec des abstractions très basiques (mode d’affichage, écran, souris) qu’un OS en tant que tel


la mémoire était gérée de façon très basique de base. Ensuite, si on voulait une gestion un peu plus avancée, on pouvait charger des drivers (himem.sys / emm386.exe qui donnaient accès à la mémoire étendue / paginée :phiphi: ).
Ça, c’était en mode réel (le mode de compatibilité 8086).



Il me semble qu’à partir de la v5 DOS permettait aussi de passer en mode “étendu” pour peu qu’on ait un 386SX au minimum, mais je ne me souviens plus des détails. De mémoire, des outils comme Dos4gw faisaient ce switch pour les logiciels compilés avec les suites Watcom pour leur donner accès à toute la mémoire disponible (EMS / XMS).


serpolet

Le doute s’installe en moi…
Effectivement, ici ou , on parle de noyau DOS. Attendons d’autres avis plus éclairés !


Il n’y a pas de noyau dans MS-DOS. Il n’y a qu’une seule zone mémoire, utilisée tant par le DOS lui-même, que les drivers et les programmes. Une écriture sur un mauvais adressage d’un seul programme ou driver pouvait planter tout le système.
Dans les systèmes avec noyau, ce genre d’erreur ne plante que le programme. Pour les drivers, ensuite, il y en a dans le noyau (qui peuvent tout planter), et dans l’espace utilisateur (plantages plus limités), il y a même des mix.



Et les interruptions sont une couche d’abstraction vers des le hard (BIOS), ou certains services de l’OS. Il y a des interruptions dans tous les processeurs, mais pas pas de noyau dans tous les OS.



Une autre façon de voir, quand la table des interruptions est accessible (en écriture) depuis un programme (comme dans le DOS), alors c’est qu’il n’y a pas de noyau. Dans tous les OS avec noyau, elle est protégée au moins en écriture. La table des interruptions contient pour chaque interruption l’adresse du code à exécuter, dans un OS avec noyau seul le noyau et les drivers noyaux peuvent la changer, dans le DOS tout programme pouvait remplacer ce code (souvent on mettait notre code qui finissait par enchaîner vers l’interruption DOS ou BIOS originale).


Westvleteren

Il n’y a pas de noyau dans MS-DOS. Il n’y a qu’une seule zone mémoire, utilisée tant par le DOS lui-même, que les drivers et les programmes. Une écriture sur un mauvais adressage d’un seul programme ou driver pouvait planter tout le système.
Dans les systèmes avec noyau, ce genre d’erreur ne plante que le programme. Pour les drivers, ensuite, il y en a dans le noyau (qui peuvent tout planter), et dans l’espace utilisateur (plantages plus limités), il y a même des mix.



Et les interruptions sont une couche d’abstraction vers des le hard (BIOS), ou certains services de l’OS. Il y a des interruptions dans tous les processeurs, mais pas pas de noyau dans tous les OS.



Une autre façon de voir, quand la table des interruptions est accessible (en écriture) depuis un programme (comme dans le DOS), alors c’est qu’il n’y a pas de noyau. Dans tous les OS avec noyau, elle est protégée au moins en écriture. La table des interruptions contient pour chaque interruption l’adresse du code à exécuter, dans un OS avec noyau seul le noyau et les drivers noyaux peuvent la changer, dans le DOS tout programme pouvait remplacer ce code (souvent on mettait notre code qui finissait par enchaîner vers l’interruption DOS ou BIOS originale).


Je ne comprends pas bien.



De mémoire il y a 2 zones mémoires, la première de 640 Ko pour faire tourner les programmes et ensuite tout ce qui se situe au delà de 640 Ko pour les bibliothèque associées, zone mémoire activée par Himem.sys et emm386.exe (il me semble que c’est pour le swap).
C’est le DOS qui affecte les zones mémoires.


Tandhruil

Je ne comprends pas bien.



De mémoire il y a 2 zones mémoires, la première de 640 Ko pour faire tourner les programmes et ensuite tout ce qui se situe au delà de 640 Ko pour les bibliothèque associées, zone mémoire activée par Himem.sys et emm386.exe (il me semble que c’est pour le swap).
C’est le DOS qui affecte les zones mémoires.


Initialement il n’y avait que 640 ko (voire 512). C’était une zone unique partagée entre l’OS, les drivers et les programmes. Pas de zone protégée pour l’OS.



Ensuite sont apparus des PC avec 1024 ko, et cette extra-mémoire était divisée, sous la responsabilité de l’OS (ou d’une extension de celui-ci), mais l’OS ne se protégeait pas plus.



eglyn a dit:


Par rapport à la remarque qu’il faudrait dire GNU/Linux, Linux étant le noyau, c’est normal qu’on appelle cela juste “Linux” je trouve…




Vieille discussion en fait, ca fait depuis le debut de Linux qu’on en parle.
Pour windows, le noyau c’est NT, et pourtant l’OS ne s’appelle pas NT.
Pour BSD, il y a plusieurs noyaux, et ca s’appelle BSD, du nom de la suite de logiciels (Berkley Software Distribution), analogue donc a GNU
Pour MacOS le noyau c’est XNU et pourtant ca ne s’appelle pas XNU.



Tout ca ce n’est qu’une question d’usage


Ben on peut dire qu’il n’y a pas de Linux, mais des Debian, Ubuntu, RedHat, etc… :)
On parle de distributions Linux, comme à la limite on parlerait de distributions NT pour Windows 7, 10, 11, etc…



Dans une Debian, GNU représente quoi ?


Il y a bien eu Windows NT3.51 et Windows NT 4 :phiphi:


Tandhruil

Il y a bien eu Windows NT3.51 et Windows NT 4 :phiphi:


Seul un des 2 était un véritable OS … pour l’avoir utiliser sur station Alpha (AXP)



Freud a dit:


“Ce que l’on nomme aujourd’hui « Linux » correspond en fait à un assemblage entre le système GNU et le noyau Linux.”



Non c’est faux, ça c’est la justification de Stallman qui ne vaut rien.



Il y a des systèmes Linux sans aucun soft GNU (alpine par exemple).



Et si on veut aller dans la logique de Stallman, pourquoi ne nommer que GNU en plus de Linux ? Pourquoi pas KDE/Qt/GNU/Linux ? Et mon navigateur c’est Firefox/XUL/KDE/Qt/GNU/Linux ?



Arrêtons les contorsions mentales pour essayer de justifier ce nommage; il est injustifiable et donc inapplicable, on dit Linux et puis voilà.




Ah ? Ok !



C’est dingue la capacité de l’être humain à raconter des trucs faux et à se persuader que c’est la vérité.
P. Desproges disait à ce propos :
« Un psychotique, c’est quelqu’un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait. Un névrosé, c’est quelqu’un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! »



eglyn a dit:



Dans une Debian, GNU représente quoi ?




Source : https://www.debian.org/intro/about




Une grande partie des utilitaires de base qui constituent le système d’exploitation proviennent du projet GNU ; d’où les noms : GNU/Linux, GNU/kFreeBSD et GNU/Hurd. Ces utilitaires sont libres eux aussi.




Le système d’exploitation GNU fête en ce moment ses 40 ans.




Non non non et non, je ne peux pas laisser passer ça :non: (même si d’autres l’ont déjà plus ou moins fait).



Le système d’exploitation GNU n’a pas 40 ans. Ce que l’on célèbre, c’est le message de Stallman dans les forums Usenet annonçant son projet de créer un système compatible Unix qui ne soit pas unix (GNU = Gnu is not Unix). Mais ce n’était qu’un projet qui n’avait pas encore démarré.



Donc, c’est le lancement du projet, pas le système d’exploitation en lui-même. Système d’exploitation que les plus mauvaises langues diront qu’il n’a jamais existé, faute de viabilité, aujourd’hui encore, de Hurd.



Ce n’est qu’en 1992 que l’on pourra parler de système d’exploitation grâce à la symbiose GNU/Linux (mais GNU n’est pas un système d’exploitation en lui-même, tout comme Linux n’en est pas un !).



Voilà, c’était pour être précis jusqu’au bout :cap:


En fait, il faut parler de projet GNU plutôt que de système d’exploitation.


numerid

En fait, il faut parler de projet GNU plutôt que de système d’exploitation.


Exactement (quoi que les plus chipoteurs diront que le projet en lui-même a réellement commencé en janvier 1984 :D)


fdorin

Exactement (quoi que les plus chipoteurs diront que le projet en lui-même a réellement commencé en janvier 1984 :D)


Et on est tranquille, il y en aura ! :D


En plus de composants cruciaux (gcc, gclib, bash, etc…), GNU défi surtout l’architecture globale du système, la manière dont toutes les briques interagissent ensemble pour former un tout.



Pour bien comprendre ce qu’apporte GNU, il suffit de regarder Android : même noyau mais OS totalement différent.



eglyn a dit:


Je suis profane dans ce domaine, mais un OS sans noyau c’est possible ?



Car j’ai l’impression à lire que GNU n’est qu’une suite de logiciel libre, du coup je ne comprends pas trop l’appellation “Système”




Il y a un noyau, c’est Hurd. Mais il est tellement basique, tellement en retard que tout le monde utilise les outils GNU plutôt avec le noyau Linux.



Trooppper a dit:


Pour BSD, il y a plusieurs noyaux, et ca s’appelle BSD, du nom de la suite de logiciels (Berkley Software Distribution), analogue donc a GNU




Personne de ceux qui utilisent un système *BSD ne prétendent utiliser “le système BSD”. C’est soit FreeBSD, soit NetBSD, soit OpenBSD, en insistant justement bien lourdement dessus.



(reply:2155393:alex.d.) Ne parlons pas de choses qui fâchent :non:



c’est une vue de l’esprit de penser “GNU sont pas fichu de faire un kernel”, ils ont simplement laissé tomber pour des raison objectives. l’important du projet GNU c’est pas de tout labellisé sous le nom Gnu ou la GPL.


Richard Stallman déteste l’arrogance et la vision de Linus Torvalds, d’où la guerre des noms.
Stallman expliquait à la base que le noyau Linux n’aurait jamais eu de succès sans GNU et que les gens parlaient de Linux uniquement, d’où sa volonté de parler de GNU/Linux pour mettre en avant le travail des équipes de chez GNU.


C’est un bien vieux débat qui n’aura jamais vraiment de réponse.



Je pense tout de même qu’il faut parler de GNU/Linux vu l’énorme apport de GNU (dont gcc et glibc). Un linux sans GNU c’est par exemple Android.



Mais je comprends qu’en allant dans cette direction on pourrait parler de systemd/GNU/Linux ou bien gnome/GNU/Linux ou bien systemd/gnome/GNU/Linux.



La particularité de GNU, c’est que c’est grâce à ce projet que Linux a vraiment pu décoller quoiqu’en dise Linus (qui lui s’en fout pas mal de GNU et de la GPL) car si il ne s’était appuyé que sur des compilateurs ou libc propriétaires ce serait surement devenu un Unix (non-Posix :trol::) comme un autre.



serpolet a dit:


Le doute s’installe en moi… Effectivement, ici ou , on parle de noyau DOS. Attendons d’autres avis plus éclairés !




Je pense que dans les commentaires il y a une confusion entre logiciel et fonction (le job à faire).



Comme déjà dit: un noyau est un logiciel. Et sa fonction n’est pas seulement de parler avec le matériel mais aussi de “centraliser les échanges” (c’est une vulgarisation; fermes làaaaa toi le troll!).



Donc dans un ordinateur il y a ces types:




  • Le fichier de données (il faut un programme pour le lire)

  • Le programme qu’il soit exécutable directement ou par l’intermédiaire d’un premier programme (ex: Bash lance LS)

  • Le script qui est un fichier de donnée mais qui peut avec le programme adéquate qui s’en sert, émuler un vrai programme.



Des fonctions… Il y en a autant que l’on veut (du programme simple, au service en passant par le driver). Ca dépend de nos besoins et de ce qu’on fait. Et on peut en faire plein de catégories. ex: BTRFS pour les systèmes de fichiers. Bref c’est au feeling en fait…



La notion de “noyau” s’est précisée dans le langage des geeks contemporains en effet de mode avec les Linux (ca en jette un peu de recompiler le kernel). Mais comme Unix le précède. Tous ces individus n’apparaissent pas vraiment comme les inventeurs de la soupe. Et encore moins un certain Linus.



la_hyene a dit:


alors qu’est command.com pour le DOS ? Il me semble que les interactions homme/machine étaient plus que réduite sans l’avoir chargé, non ?




command.com, c’est le shell de DOS. Le noyau, c’est msdos.sys.



hurd a dit:


le kernel linux utilise la gpl et historiquement c’est bien la conjonction du projet gnu et de linux qui a permis l’existance des distribution Gnu/linux tel que debian. Pour moi Stallman ne cherche qu’à mettre en lumière le fait que la volonté d’un système libre, au sens GPL, est preexistant au projet linux.



Linux ne serait pas ce qu’il est sans la GPL et le projet GNU.




Exact. Et quand on ecoute Linus en parler il precise bien que au tout debut il n’envisageait pas la GPL, et que c’est seulement apres moult discussions qu’il y est passé



Carpette a dit:


La particularité de GNU, c’est que c’est grâce à ce projet que Linux a vraiment pu décoller quoiqu’en dise Linus (qui lui s’en fout pas mal de GNU et de la GPL) car si il ne s’était appuyé que sur des compilateurs ou libc propriétaires ce serait surement devenu un Unix (non-Posix :trol::) comme un autre.




N’oublie pas que Linux a démarré comme un fork de Minix qui avait déjà son propre compilateur libre (ACK). S’il n’y avait pas eu les outils GNU, d’autres outils libres aurait pris leur place (comme la glibc qui n’a réellement décollé que grâce à Linux).


Non, pas un fork mais un remplaçant, Tanenbaum ayant refusé d’intégrer ses améliorations à Minix.


Oui on peut jouer a ça, mais faut bien trouver un nom au choses et le projet Gnu, avec la généralisation du copyleft, est assez structurant dans le monde libre pour que ça fasse sens. La définition de l’opensource de l’osi est postérieure.



Bref utilisez ce que vous voulez mais Gnu/Linux on comprend tout de suite que c’est un OS avec des composant majoritairement libre au sens de la GPL avec le kernel linux. ça permet tout de suite la distinction avec android ou des systèmes embarqué proprio divers.


Pfiouuu, vous m’avez fait mal à la tête avec vos commentaires, ca part loin :mad2:
L’avantage c’est qu’au moins tout le monde semble raccord sur le sujet.


Imaginez un monde où Stallman n’aurait pas eu cette idée :eeek2:


On utiliserait l’un des BSD ou un BSD/Linux. :D


Comme déjà dit tout ceci n’est qu’une question d’usage.



Il est indéniable que GNU a une part importante dans quasiment toutes les distributions actuelles et passées. Linux ne serait pas ce qu’il est sans GNU, et GNU ne serait pas ce qu’il est sans Linux.



Ce qui définit principalement une distribution, c’est son noyau, son gestionnaire de paquet et son système d’init.



GNU est bien un projet de système d’exploitation, puisqu’il comprend un noyau (Hurd, pas terminé), un système d’init (Shepherd) et même un gestionnaire de paquets (Guix). Et un très complet, vu les très nombreux outils fournis (compilateurs, etc).



D’ailleurs il existe une distribution nommée Guix System qui fait partie de GNU, avec toutes les briques de GNU. Et en noyau on a le choix entre Hurd (lol) ou Linux. Dans sa version sans aucun blob proprio Linux-Libre (maintenu par GNU) dans les dépôts de base, mais on peut aussi avoir le noyau Linux Vanilla.



Carpette a dit:


En quoi le DOS gérait la mémoire ? J’avais comme notion que chaque programme faisait ce qu’il veut pas (16 bits, pas de pagination, pas de MMU etc.)




En théorie oui, car le DOS était monotache. Par contre, il était possible d’avoir un programme en tâche de fond en le “branchant” sur le timer. Et donc, pour éviter tout souci de conflit mémoire, il vallait mieux demander au DOS des allocations mémoires plutôt que de prendre la mémoire où on en avait envie.




D’ailleurs j’ai souvent lu que DOS était plus un système de fichiers avec des abstractions très basiques (mode d’affichage, écran, souris) qu’un OS en tant que tel




Après, il ne faut pas oublier que DOS = Disk Operating System. Son but premier était donc bien la gestion des disques ;)


Pas nécessairement le timer, par exemple le clavier… Le drivers eux-même étaient des TSR (ie programmes qui ne s’arrêtent pas), par exemple pour fournir un accès à mettons un CD-ROM. Le TSR pouvait aussi fournir des services, et éventuellement ne faire qu’attendre une requête. Possible d’implémenter par exemple un FS en interceptent l’int 21.



Westvleteren a dit:


Il n’y a pas de noyau dans MS-DOS. Il n’y a qu’une seule zone mémoire, utilisée tant par le DOS lui-même, que les drivers et les programmes.




Oui et non. Vrai pour les premières versions de MS-DOS, fausses pour les dernières qui pouvaient gérer le mode protégé sur les systèmes 286 et supérieur.




Une écriture sur un mauvais adressage d’un seul programme ou driver pouvait planter tout le système. Dans les systèmes avec noyau, ce genre d’erreur ne plante que le programme. Pour les drivers, ensuite, il y en a dans le noyau (qui peuvent tout planter), et dans l’espace utilisateur (plantages plus limités), il y a même des mix.




C’est une définition que l’on retrouve souvent. Pour moi, c’est juste du bullshit. Tous les systèmes n’ont pas de mécanisme de protection de la mémoire. C’était le cas de l’architecture 8086. Sur ces systèmes, d’après ta définition, il ne peut y avoir de noyau, puisqu’il n’y a aucun moyen de protéger la mémoire. Les mécanismes de protection sont apparus avec le 286 et le mode protégé.



Aujourd’hui encore, il existe encore de nombre systèmes sans protection mémoire, notamment dans l’embarqué.



Et donc Linux, pourtant considéré par tout le monde comme un noyau, n’en est en fait pas un sur certaine architecture. C’est ce qui fait que cette définition ne me parait pas pertinente.



Le noyau est là pour fournir une base d’abstraction et de service. Ce que faisait le DOS de manière très basique (mais cela correspondait parfaitement au besoin de l’époque).


Je doute que MS-DOS ait supporté le mode protégé (typiquement on utilisait les dos extender type dos4gw).



Et bien d’accord avec toi sur le fait qu’il semble léger de définir un noyau par la présence d’un mécanisme de protection mémoire.



Il me semble que le noyau, c’est… Le noyau ;) Probablement msdos.sys.
Alors bien sûr c’est plus facile de délimiter le périmètre quand une partie du truc tourne en ring 0 (en x86).



Devrait-on qualifier de “noyau” tous les TSR ? Probablement pas vu que le je-sais-plus-quoi shell de MS-DOS 5 était un TSR qui permettait de switcher entre divers programmes.



(reply:2155407:consommateurnumérique)



l’humoriste Edgar-Yves




…Wow ! Merci pour cette tranche de rire qui fait du bien ! :mdr2: :mdr2: :mdr2: :dix:



xlp a dit:


Pas nécessairement le timer, par exemple le clavier… Le drivers eux-même étaient des TSR (ie programmes qui ne s’arrêtent pas), par exemple pour fournir un accès à mettons un CD-ROM. Le TSR pouvait aussi fournir des services, et éventuellement ne faire qu’attendre une requête. Possible d’implémenter par exemple un FS en interceptent l’int 21.




Oui, le timer n’était qu’un exemple parce que j’avais en tête des tâches périodiques (plus précisément, lecture de son !). Et merci pour TSR. Je ne retrouvais pas l’acronyme :) C’est que ça commence à dater tout ça !


Bel exemple.
Celui qui m’a le plus marqué était GameWizard (l’encêtre de CheatEngine pourrait-on dire), qui hookait le clavier, le timer… pour te laisser geler par exemple ton nombre de vies ;)



xlp a dit:


Je doute que MS-DOS ait supporté le mode protégé (typiquement on utilisait les dos extender type dos4gw).




Alors soyons précis jusqu’au bout ;)



DOS pouvait fournir le DPMI. Les DOS extender (comme dos4gw) pouvait ensuite l’exploiter pour fournir des fonctionnalités avancées (plus de mémoire accessible, mode protégé, etc.).



Après, là où c’est parfois ambigu, c’est qu’il me semble (attention, c’est de mémoire donc je peux me tromper) que certains DOS extender venaient avec leur propre DPMI, pour pouvoir malgré tout se lancer si le DPMI du DOS n’était pas disponible mais que l’architecture matérielle était compatible (286 minimum).



Mais là, on rentre dans les détails vraiment très pointu, et je me rends compte que j’étais vraiment un geek à l’époque :francais:


Alors je ne vais pas chicanner sur les détails, ma “Bible PC programmation système” (si ça te dit quelque chose, un petit bouquin de 1000+ page sur… tout ça, entre autre DPMI) est à plus de 10 000km :D



De mémoire personne n’utilisait le mode protégé sur 286 car impossible d’en sortir (même si la rumeur dit qu’il y avait un hack, l’explication que j’ai lu était “les ingé de chez Intel ne voyaient pas pourquoi on voudrait sortir du mode protégé”… ils n’avaient sûrement pas tort, je ne crois pas qu’on se soucie trop de sortir du mode protégé ces derniers temps… genre ces 20 dernières années :D)



fdorin a dit:


Oui et non. Vrai pour les premières versions de MS-DOS, fausses pour les dernières qui pouvaient gérer le mode protégé sur les systèmes 286 et supérieur.




Je ne souviens pas que le MS-DOS gérait le mode protégé avec un 286. Et puis, dans mon souvenir un 286 pouvait entrer en mode protégé mais pas en sortir. C’était complet avec le 386.
Mais à la fin, il y avait de nombreux DOS non MicroSoft, et certains l’ont peut-être fait, tu sembles t’en souvenir.




C’est une définition que l’on retrouve souvent. Pour moi, c’est juste du bullshit. Tous les systèmes n’ont pas de mécanisme de protection de la mémoire. C’était le cas de l’architecture 8086. Sur ces systèmes, d’après ta définition, il ne peut y avoir de noyau, puisqu’il n’y a aucun moyen de protéger la mémoire. Les mécanismes de protection sont apparus avec le 286 et le mode protégé.



Aujourd’hui encore, il existe encore de nombre systèmes sans protection mémoire, notamment dans l’embarqué.



Et donc Linux, pourtant considéré par tout le monde comme un noyau, n’en est en fait pas un sur certaine architecture. C’est ce qui fait que cette définition ne me parait pas pertinente.




Pour moi le bullshit, c’est un noyau qui ne se protège pas, qui n’offre aucune garantie d’intégrité, ou chaque programme individuel menace tout l’ensemble.



Je suis d’accord que certaines plate-formes matérielles n’offrent pas les protections nécessaires, mais à mon sens l’OS qui tourne dessus ne mérite plus le qualificatif de noyau.



Ensuite, le i386 date de 1986, je considère que tous les CPU actuels implémentent les protections nécessaires à un noyau et que ce débat n’aurait plus lieu d’être 37 ans plus tard. Mais il est vrai que j’ignore les contraintes et solutions de l’embarqué, où tu sembles indiquer que l’intégrité du noyau passe derrière d’autres considérations. Cet arbitrage peut être optimum, mais celui qui l’a fait ne peut plus prévaloir sa solution de noyau.



Westvleteren a dit:


Je ne souviens pas que le MS-DOS gérait le mode protégé avec un 286.




A ma connaissance, il ne l’utilisait pas en interne, mais proposait une interface DPMI pour permettre aux programmes de l’utiliser facilement.




Et puis, dans mon souvenir un 286 pouvait entrer en mode protégé mais pas en sortir. C’était complet avec le 386.




Dans mon souvenir aussi ;)




Pour moi le bullshit, c’est un noyau qui ne se protège pas, qui n’offre aucune garantie d’intégrité, ou chaque programme individuel menace tout l’ensemble.




C’est une vision très contemporaine. Un noyau, aujourd’hui, devrait effectivement protéger les accès mémoire dans la mesure du possible (hardwarement parlant).



Ne pas oublier que le DOS était prévu pour du “monoprocessus”. Les contraintes d’intégrité mémoire ne sont pas du tout les mêmes qu’en multiprocessus.



Le DOS fournissait une abstraction matériel (certes basique par rapport à ce qui se fait aujourd’hui) mais la on parle des années 90 alors qu’on est en 2023 ! C’est une autre ère quand on parle informatique ! Les ports série et parallèle régnaient en maître, l’USB n’existait pas, les claviers et souris étaient souvent en PS/2 pour une interface en ligne de commande, sans connexion internet pour, au final, être monoprocessus. Sans oublier les lecteurs de disquette qui étaient plus souvent présent que le lecteur CD-ROM :)




Ensuite, le i386 date de 1986, je considère que tous les CPU actuels implémentent les protections nécessaires à un noyau et que ce débat n’aurait plus lieu d’être 37 ans plus tard.




Yes, mais je répondais initialement à un commentaire sur le DOS :)




Mais il est vrai que j’ignore les contraintes et solutions de l’embarqué, où tu sembles indiquer que l’intégrité du noyau passe derrière d’autres considérations. Cet arbitrage peut être optimum, mais celui qui l’a fait ne peut plus prévaloir sa solution de noyau.




Encore une fois, et ce n’est que mon avis, je trouve cela réducteur. Tout système n’est pas fait pour être “bidouillable” (dans le sens, personnalisable avec les programmes de l’utilisateur). Les protections mémoires sont super dès lors que l’on ne maitrise pas tout l’environnement notamment pour limiter l’impact de programmes “malveillants” (qu’ils soient malveillants intentionnellement ou simplement car codé avec les pieds). Lorsque le système est parfaitement contrôlé (souvent le cas de l’embarqué), je n’irai pas jusqu’à dire que les protections mémoires ne servent à rien (puisque cela protège la correction d’un processus par un autre qui aurait un bogue par exemple) mais c’est beaucoup moins utile.



Mais je te rejoins sur un point, en ce qui concerne les ordinateurs, smartphone, etc… : impensable aujourd’hui de ne pas avoir la possibilité de mettre des gardes fou d’ordre matériel sur la mémoire.



xlp a dit:


Alors je ne vais pas chicanner sur les détails, ma “Bible PC programmation système” (si ça te dit quelque chose, un petit bouquin de 1000+ page sur… tout ça, entre autre DPMI) est à plus de 10 000km :D




Le livre que je rêvais d’avoir quand j’étais jeune :eeek2: Je me demande si je ne vais pas essayer de me trouver un exemplaire. Rien que pour le côté historique de la chose !




De mémoire personne n’utilisait le mode protégé sur 286 car impossible d’en sortir (même si la rumeur dit qu’il y avait un hack, l’explication que j’ai lu était “les ingé de chez Intel ne voyaient pas pourquoi on voudrait sortir du mode protégé”… ils n’avaient sûrement pas tort, je ne crois pas qu’on se soucie trop de sortir du mode protégé ces derniers temps… genre ces 20 dernières années :D)




Yes, effectivement. Impossible de sortir du mode protégé. C’est pour ça qu’il ne faut pas laisser faire les ingénieurs sans avoir de retour utilisateur :mad2: Vive l’agilité :francais: (je sais, c’est très contemporain comme vision ^^)


Concernant Hurd (le noyau pas l’intervenant sur ce fil :D ) notons la dernière phrase de la page wikipedia




Ce noyau souffre encore d’importantes limitations liées au support matériel, par exemple il n’existe aucun support pour les cartes son.




Je trouve que ça résume bien la situation, le projet GNU est une suite de logiciel excellente et absolument essentielle ! Mais le système d’exploitation GNU c’est plus un concept qu’autre chose.



Malheureusement le libre absolu est compliqué, un Linux sans charger des blobs binaires ça signifie un support graphique assez limité, pas de wifi, pas Bluetooth, pas de réseau >1gb…



fdorin a dit:


Le livre que je rêvais d’avoir quand j’étais jeune :eeek2: Je me demande si je ne vais pas essayer de me trouver un exemplaire. Rien que pour le côté historique de la chose !




Mon cadeau de Noël à 12 ans :D



Depuis j’ai eu l’occasion d’en récupérer des versions plus récentes (quand je dis depuis, c’est y’a 20 ans !), je ne sais même plus si je l’ai fait. Je garde la mienne plus par nostalgie qu’autre chose. Ceci dit je cotoie des 486 sous MS-DOS (industrie), donc ça pourrait toujours servir.
En fait j’ai même proposé à quelqu’un récemment de faire un hook du timer pour ralentir la machine (qui contrôle des servo-moteurs par une carte ISA et dont le soft semble codé avec une fréquence CPU bien particulière). Y’avait un exemple complet de hooking de timer soit dans la bible PC, soit dans un autre de mes bouquins d’enfance, qui étaient surtout des grosses listes d’interruptions et services, avec quelques exemples d’illustration.


Il faut savoir rendre à César ce qui est à César…



C’est impossible de faire un noyau sans les outils autour. Il faut donc commencer modeste et faire des outils. Pour compiler le noyau, il faut donc make, gcc, bash, sed…



Mettre GNU/Linux, c’est juste toute la philosophie du libre dans le nom. C’est ainsi que ce sont construite toutes les distributions.



Depuis plusieurs années, on assiste à un rejet de la GPL, notamment porté par Apple et aussi Google. Apple ne supporte pas la GPL. Beaucoup de développeurs suivent ce mouvement et les GAFAM recycle le code MIT dans leur logiciels sans toujours faire de retour.



Si Linux peut actuellement tourner sans GNU (et encore, il est compilé avec gcc par défaut), cela reste dans l’histoire d’avoir GNU associé à ce noyau. En réalité, le GNU ne fait pas vraiment de mal. C’est comme les combattants des licences à gauche d’auteur. Personnellement, je trouve cela plutôt une idée géniale et je ne peux remercier tout ces mouvements.


Concernant le débat sur DOS, c’est clairement un système d’exploitation, même si basique. L’absence d’un système d’exploitation signifierait qu’un programme tourne “bare metal” et doit absolument tout gérer lui-même : allocation mémoire, accès au matériel, ordonnancement des tâches, etc.



Non ?



Mais les concepts d’OS ou de kernel peuvent parfois avoir des frontières difficiles à définir. Par exemple sur la Wii, les jeux ont directement accès au matériel sous-jacent (“bare metal”), sauf aux mécanismes de sécurité, et incluent pour ce faire des bibliothèques de Nintendo. Ces libs fournissent les fonctionnalités d’un OS, donc on peut dire que l’OS est intégré au jeu, d’une certaine façon.


Débattre de DOS sur un article traitant de GNU/Linux, c’est un comble quand même :)



“Faut-il dire GNU/Linux ?” ou la nouvelle Querelle des universaux.



:popcorn:


Nouvelle? On t’a décongelé quand John Spartan?



Nommer correctement les choses ne devrait pas être un si gros problème tout de même. On associe le noyau Linux avec d’autres environnement que GNU, donc un peu de nuance pour les différencier n’est pas du luxe. On a par exemple Android qui est un environnement utilisant le noyau linux mais sans GNU. On a aussi des distributions comme Alpine, qui ne sont pas basées sur gnu du tout, …



Bref, il y a pas mal de combinaisons et c’est pas plus mal d’utiliser les noms corrects pour éviter les malentendus et tant qu’à faire rendre à César ce qui est à César…


Pour m’en servir je souhaite longue vie à Linux.
Après je trouve que c’est quand même trop de mise à jour tout le temps… (bon je suis sous manjaro je cherche aussi. ^^)
Je vais peut être repasser sur une LTS comme Debian ou Mint, c’est plus pépère.



Manolo38 a dit:


Je vais peut être repasser sur une LTS comme Debian ou Mint, c’est plus pépère.




T’as aussi des MAJ tout le temps sur des LTS.
C’est à chaque fois moins de MAJ en nombre, mais c’est quasi tous les jours quand même.


2 fois par semaine environ sous Voyager 12 (enfin debian 12 avec une petite couche personnalisée gnome+xfce au choix).
Sous manjaro j’ai décidé d’en faire une, tous les paquets de la semaine d’un coup (le vendredi) et hop.
Après on a le choix de les faire ou pas, sous windows c’est imposé une fois par mois environ mais c’est peut être pas plus mal vu certains moldus utilisant cet O.S.


GNU et liée à :



https://www.gnu.org/home.fr.html



Il a une histoire et un contexte !



Linux fait référence a Linus Benedict Torvalds
Linu du nom de ce monsieur et X en référence au X de Unix.



C’est comme une voiture, il y a un moteur et tout le reste autour



Linux c’est pour les mécaniciens de l’informatique alors que GNU c’est pour la philosophie de la liberté informatique !!



C’est la raison de la contraction GNU/Linux, il est important de comprendre le sens et les raisons des choses, sans quoi l’amalgame est vite faite, ont atribu le travail légitime de stallman a Linus, alors que c’est qu’une partie du système sont moteur, et qu’à la base Linus adhèrait pas a la philosophie du libre !!


Tous les mécanismes de rage anti GNU qu’ils soient de la part de sociétés souhaitant fermer leurs écosystèmes pour monétiser ou égotiques comme dans le cas de linus T. prouvent que Stallman avait la bonne vision en mettant contractuellement des obligations morales et légales de reverser à la communauté et de définir la liberté comme faire tout ce qu’on veut tant qu’on n’attaque pas la liberté des autres.
Joyeux anniversaire donc, à cette vision.



Et pour les noms des OS ne vous prenez pas trop la tête, Debian peut tourner sous noyau BSD mais 99,99% des gens parlent de “distribution linux” pour Debian :transpi:


Tiens en parlant de ca, Stallman a annoncé récemment qu’il a un lymphome folliculaire, cancer donc.
Souhaitons lui courage et bon rétablissement.