Pourquoi une base BSD?

pftlyon

Membre actif
25 Août 2005
204
5
42
Bonjour,

Je m'intéresse à la genèse de Mac OSX et je me demande pourquoi Apple a choisi une base BSD plutôt q'une base linux par exemple? Est-ce pour mieux contrôler le hardware (un système BSD est plus intégré qu'un linux....)? De la même façon, pourquoi un micro noyau mach?

Merci
 
Il faut arrêter de penser que Linux est le Saint Graal. C'est un Unix parmi tant d'autres qui a ses avantages et ses inconvénients. Par ailleurs il faudrait quand même rappeler que Next (ancêtre direct de Mac OSX) est né AVANT Linux, 1989 contre 1991, et alors qu'Unix avait déjà près de 20 ans. :zen:

Et effectivement les concepteurs de Next n'ont pas même avis que M. Thorvald au sujet de la conception du noyau du système, micro contre macro.
 
Il faut arrêter de penser que Linux est le Saint Graal. C'est un Unix parmi tant d'autres qui a ses avantages et ses inconvénients. Par ailleurs il faudrait quand même rappeler que Next (ancêtre direct de Mac OSX) est né AVANT Linux, 1989 contre 1991, et alors qu'Unix avait déjà près de 20 ans. :zen:

Et effectivement les concepteurs de Next n'ont pas même avis que M. Thorvald au sujet de la conception du noyau du système, micro contre macro.

Bonsoir,

Linux n'est pas un UNIX (linux signifiant Linux Is Not Unix) et pour moi c'est loin d'être le saint graal. Je me demandais seulement pourquoi avoir choisi une base BSD et un micro noyau et pas un linux et un macro noyau? Quelle réflexion est à l'origine de ce choix..?

Pour la base BSD, est-ce pour éviter les dépendance et avoir tout en un seul paquet à la manière de l'installation des applis sous OSX?

Merci
 
J'utiliserais volontiers des métaphores dans ce domaine : une façon d'invoquer un objet lointain, et par là-même abstrait du point de vue de l'expérience, par l'intermédiaire d'un objet proche et concret présenté comme analogue : une 'image' faute de concept.

En me figurant que le Linux_kernel est comme la Bibliothèque de France : une énorme structure totalisatrice bourrée de fichiers qui sont les livres : un 'file_based kernel' ou macro kernel. Dont il faudrait attendre que le conservateur ait localisé dans le catalogue et délocalisé de son rayonnage l'ouvrage demandé par l'utilisateur pour qu'il soit disponible au prêt et emportable au-dehors.

Et en me figurant, toujours aux risques et périls de la métaphore, le Mach_kernel (= le noyau d'OSX) comme un QG possédant une rangée de téléphones capables de requérir les offices d'une constellation de services indépendants : un 'pipe_based kernel' ou micro kernel. Multipliant les appels à l'initiation de tâches qui vont s'effectuer au-dehors, c'est-à-dire de processus de production ou de manœuvres sur le terrain par des agents inter-actifs.

Bibliothèque vs Bureau, Usine vs Cerveau. L'empilement de ces métaphores hétérogènes est toujours risqué et s'adresse plus à l'imagination plastique et paradoxale qu'à l'intelligence conceptuelle et rigoureuse.

J'oserais risquer néanmoins la co-relation suivante : un micro_kernel ('pipe-based') implique nécessairement une périphérie de multiples opérateurs synchronisables dans une stratégie multi-tâches qui a pour finalité ultime : le bonheur de l'usager ('bonheur' est peut-être exagéré - disons : 'satisfaction'). D'où la solidarité ultime : micro_kernel -- maniabilité_graphique (GUI 'ustensile').
 
Dernière édition par un modérateur:
Si on regarde platement les choses, on se rend compte que le noyau de Linux, pour monolithique qu'il ait pu être, est très modulaire. D'un autre côté, sur Mac OS X, le noyau est plutôt un noyau hybride qu'un micro-noyau.
Bref, les deux ne sont plus si éloignés que ça...

Je suppose qu'à l'époque de la création de NeXT, les UNIX disponibles n'étaient pas si nombreux. Quoique. En tout cas, plutôt qu'avec Linux, le choix a dû s'opérer entre les BSD et System V (SVR4).

Un concurrent de l'époque, SUN, a commencé avec un UNIX BSD (SunOS) pour passer au SVR4 (Solaris) et, dans un autre mouvement, changer de processeur dans un sens puis un autre (Intel, SUN, re-Intel et SUN etc.) Les gens font des choix et les remettent en question. Apple comme les autres : le cousinage entre BSD et Mac OS X est de plus en plus lointain, que ce soit dans l'architecture interne du système ou son organisation.

Quant à Linux, de mémoire, la version 1 du noyau a dû être publiée autour de 1993-94 donc NeXT existait depuis assez longtemps et le choix était déjà fait.
 
Merci pour ces éclaircissements! :)

Pour continuer dans la même veine, Apple étant toujours à l'affut de nombreuses évolutions, innovations.... Aurait-il été intéressant de basculer le couple mach/BSD vers une base linux, est-ce que le système linux est une évolution en soi? Je veux dire aujourd'hui on voit de plus en plus de systèmes basés sur cette technologie : androïd, chrome os....
Ou alors finalement linux ne serait qu'une pâle copie de l'unix original..???

Je me pose toutes ces questions car je me dis qu'au final Apple a crée le système quasi parfait avec OSX : une base unix bsd ultra-stable sans les problèmes de dépendances à la sauce linux ou même windows... En effet, quoi de plus pénible lorsqu'on désinstalle une app qu'un dépendance commune saute et hop, crash de tout le système...

Mais imaginons que je veuille mettre un système autre que windows sur un pc que j'ai récupéré avec une qualité proche d'un osx, libre et sans les contraintes linuxiennes.... BSD voir PC-BSD semble le plus approprié...???

Merci
 
Linux est très bien. Mais il faut voir aussi que c'est multiple : les différences entre certaines distributions sont telles que leur administration finit par diverger réellement.

Une fois que NeXT a jeté son dévolu sur un système, ils se le sont appropriés. Et une fois chez Apple, ils ont continué cette transformation. Le fait d'avoir pris une distribution BSD au départ n'est plus si important : c'est devenu un UNIX autre, celui de NeXT, puis celui d'Apple. Il n'y avait donc aucune raison a priori de revenir en arrière et recommencer avec telle ou telle version d'UNIX ou assimilé.

Pour avoir utilisé Linux depuis longtemps (début 94 pour être précis), je ne vois pas en quoi les *BSD seraient moins contraignants que Linux. Ça me semble une vue de l'esprit, un fantasme plus qu'autre chose.
J'ai installé des dizaines de fois FreeBSD (j'aime beaucoup ce système, sans doute parce que proche aussi de mon premier système UNIX, SunOS) et son système de paquetage et de gestion des dépendances ne me paraît pas vraiment supérieur (ni vraiment inférieur, à vrai dire) que ceux qu'on trouve sur Linux (car il y en a plus d'un...)
En étant factuel, je dirais simplement que le problème des pilotes (leur disponibilité et leur qualité) est plus aigu sur les BSD que sur Linux... Pour installer une Mint ou une *Ubuntu sur un Mac, c'est de simple à un peu galère ; pour installer un BSD, c'est de galère à de toutes façons pas terrible parce qu'on n'a pas la moitié des pilotes qui conviennent :siffle:

Enfin, je suis absolument d'accord pour dire que, à mes yeux, Mac OS X est, formellement, l'UNIX le plus beau et le plus abouti que je connaisse (l'organisation des fichiers de données, de paramétrage, du système etc. est remarquablement propre et logique : elle ferait rougir de honte la moindre distribution Linux...) Pour autant il a un système de paquetage miteux (et je reste poli), archaïque et, à la limite du déshonorant (il n'y a pas de méthode fiable de désinstallation d'un paquetage : on fait toujours dans l'empirisme...)

Mais, encore un fois : ce n'est plus du tout un BSD, c'est autre chose, c'est Mac OS X. Ou iOS, aussi bien.
 
Enfin, je suis absolument d'accord pour dire que, à mes yeux, Mac OS X est, formellement, l'UNIX le plus beau et le plus abouti que je connaisse

C'est claire mais il a encore des points sur lesquels il peut s'améliorer : comme tu le dis, la gestion des pakages, les drivers graphiques et ce qui serait top (a mon sens), la possibilité de l'installer ailleurs que sur un mac
 
Bonsoir,

Linux n'est pas un UNIX (linux signifiant Linux Is Not Unix) et pour moi c'est loin d'être le saint graal. Je me demandais seulement pourquoi avoir choisi une base BSD et un micro noyau et pas un linux et un macro noyau? Quelle réflexion est à l'origine de ce choix..?

Pour la base BSD, est-ce pour éviter les dépendance et avoir tout en un seul paquet à la manière de l'installation des applis sous OSX?

Merci

Je ne comprend pas cette opposition entre Linux et BSD. Ce ne sont du tout les mêmes époques.

Linux est arrivé bien après tous les unix, et comme tu dis Linux n'est PAS un unix, plutôt une copie inspirée.

La famille Unix se répartie essentiellement entre ceux à noyau System V, et les quelques uns basés sur BSD (séparation suite à problème de licences avec AT&T …)

NextStep a été conçu sur BSD dans les années 86/88 bien avant que Linus ne sorte la bêta de son projet … ;)

La question du choix de linux n'a donc aucune pertinence dans le contexte de Mac OS X qui est le successeur de NextStep … C'est comme si tu demandais pourquoi les premiers trains à vapeurs ont préféré le charbon à l'électricité produite par l'énergie nucléaire ! :D

C'est claire mais il a encore des points sur lesquels il peut s'améliorer : comme tu le dis, la gestion des pakages, les drivers graphiques et ce qui serait top (a mon sens), la possibilité de l'installer ailleurs que sur un mac

Mac OS X n'est pas une oeuvre caritative … Ceci dit va fouiller un peu le forum hackintosh ;) Pour les drivers graphiques, ce ne serait pas par hasard aux fabricants de cartes graphiques de se bouger un peu le derrière ?
 
Dernière édition:
Rappel : le noyau de OS X n'est pas Mach mais XNU.


Pour remettre les choses dans le contexte chronologique, le choix du noyau de NeXT est antérieur de plusieurs années à l'apparition de Linux.

Au départ, Steve Jobs veut faire un ordinateur pour les universités. Le choix d'une architecture Unix est naturel. Puis, il recrute à sa sortie de Carnegie-Mellon Avie Tevanian, spécialiste du micro-noyau Mach. On est en 1987-1988.

Il ne faut pas non plus négliger les questions de Licence. BSD 4.3 était libre sous la licence du même non. Idem pour le noyau Mach 2.5.

Voilà pour NeXT.

La question du noyau (micro, hybride ou monolithique) a beaucoup perdu de sa pertinence aujourd'hui. Les microkernels étaient réputés plus lents, les monolithiques moins souples. Au final, ils font les mêmes choses. Le noyau XNU est un hybride alors que Mach est un microkernel.

En fait, cette opposition micro-mono est surtout une problématique interne au monde Linux. D'abord entre Linux et Minix puis entre Linux et Hurd.

Lorsqu'il a fallu créer Mac OS X, Apple (c'est-à-dire les équipes NeXT) en a profité pour changer plusieurs choses. XNU repose alors sur Mach 3.0, BSD 4.4 et FreeBSD. Hancock voulait imposer le noyau créé pour Coplan mais elle a été virée dans la même charrette que Amelio.
 
  • J’aime
Réactions: Charleon