为啥苹果不用 freeBSD 作为内核,而使用 XNU/Darwin?而且 XNU 的代码仓库根本没有来自外部的代码提交。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zaizaizai2333
V2EX    macOS

为啥苹果不用 freeBSD 作为内核,而使用 XNU/Darwin?而且 XNU 的代码仓库根本没有来自外部的代码提交。

  •  
  •   zaizaizai2333 2024-06-22 15:22:52 +08:00 2703 次点击
    这是一个创建于 480 天前的主题,其中的信息可能已经有所发展或是发生改变。
    XNU: https://github.com/apple-oss-distributions/xnu

    这样的好处是不是避免了 Android 用 Linux kernel 带来的大量无用代码和版本管理的问题?
    10 条回复    2024-06-24 13:21:20 +08:00
    Remember
        1
    Remember  
       2024-06-22 15:24:48 +08:00
    XNU 本身就是基于 FreeBSD 的魔改啊。
    steveshi
        3
    steveshi  
       2024-06-22 16:03:58 +08:00
    这俩就同源吧,苹果为了自家硬件做了定制
    agagega
        4
    agagega  
       2024-06-22 16:04:27 +08:00 via iPhone
    FreeBSD 第一个版本发布于 1993 年,此前只有 BSD ; NeXTSTEP 第一个版本发布于 1989 年。至于为什么没全用 BSD 而用了 Mach ,可能是技术上的倾向或者当时 BSD 对 m68k/ppc 的支持还不够好?
    ysc3839
        5
    ysc3839  
       2024-06-22 16:55:32 +08:00 via Android
    NeXTSTEP 开发的时候连 FreeBSD 都没,而且当时 BSD 还有官司问题。再者选 Mach 可能是想要个微内核作为基底,BSD 是宏内核,可能不适合内核模式 GUI 的开发。类似的还有微软的 Windows NT ,也是微内核+内核模式 GUI 等的模式。
    xarthur
        6
    xarthur  
       2024-06-22 17:04:35 +08:00
    Darwin 现在基本上和 FreeBSD 差不多了,用了大量的 FreeBSD 代码。
    saranz
        7
    saranz  
       2024-06-22 18:38:20 +08:00
    @agagega 当时不用全 BSD ,不是因为版权的问题还没吵完么。谁用 BSD 谁就要沾上官司,但是 Mach 作为 BSD 内核的代替,当然是用 March 了。
    holulu
        8
    holulu  
       2024-06-24 10:40:55 +08:00
    应该是为了内核模式 GUI
    ChaimeLonic
        9
    ChaimeLonic  
       2024-06-24 13:10:14 +08:00
    苹果的 cocoa 层 GUI 不是用户态的吗?除了依赖的 IOKit 。考虑到当初 BSD 发展现状决定的吧,apple 一直对 GUI 有自己的独特想法就注定它会进行较大程度的改造,BSD 不能很好满足自己的需求,而且 NeXTSTEP 当初技术核心团队就有一位来自 mach 的核心开发人员,再加上那个年代微内核概念很火,其实技术前沿上来看确实没多大必要最下层还得映射到 Mach 的 port 机制,不过是个优秀的工程产物,而且方便移植架构。
    seanzxx
        10
    seanzxx  
       2024-06-24 13:21:20 +08:00
    主要原因是 ATT 和 BSD 的官司吧,那时候 BSD 只能提供给拥有 ATT 授权的企业。

    Mach 算是一个全新的内核,完全没有版权问题,而且微内核的概念,消息驱动,更好的多进程支持,当时也代表了先进的技术方向。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4242 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 00:14 PVG 08:14 LAX 17:14 JFK 20:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86