black_lord a écrit :
Ben linux n'est pas FreeBSD. il n'y a pas de code en commun. tu confonds kernel, basesystem et outils installés.
|
Y'a même carrément plus rien en commun entre une freeBSD et MacOS ... Et IOS, c'est basé sur ... Sur ... Sur un truc fait "from scratch".
Bref, pour en revenir a Linux :
-Kernel
-Kernel Land
-Protected Area
-Userland
Avec entre les différents "territoires" des interco, soit en fichier, soit via cgroups, soit via socks, soit via pipe, soit via kthread (pas conseillé). En bref, le kernel donne le nom du système et défini se qui tourne a bas niveau ("drivers", pipe ODBC etc ...) le "kernel land" c'est l'endroit où se trouve toute ces interco, le langage est spécifique au kernel, il faut généralement une API pour communiquer avec le kernel et elle se trouve en protected area (zone d'isolation de process, où les programmes ont logiquement leurs accès uniques et sont identifiés via UUID/PID etc ...) et le userland, c'est se qui tourne au dessus.
Donc, pour résumer, macOS c'est un kernel Darwin, avec un kernel land made in apple et un userland dérivé/cousin d'unity. C'est dérivé de NextStep avec une composante freeBSD pour l'API (sysVFS, stack réseau) et I/O kit. Compilé via LLVM-Clang.
Y'a peut être autant de ressemblance entre MacOS X et FreeBSD qu'une distro Linux et FreeBSD.
Pourquoi je parle de distro Linux et pas de Linux, parce que Linux est le nom du kernel, FreeBSD est a la fois le nom du kernel (dérivé de mach3) et de la distro qui la supporte, parce que, Darwin et FreeBSD sont basés sur des licences BSD dites "full blundled software", tu ne peut dissocier l'userland du kernel land et du kernel = il n'y a donc que très peu de "flavor" possibles.
Tu veux d'autres arguments ?