在操作系统 API 的开放程度上, macOS 和 Win 哪个更封闭? 限制更多? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
dioxide
V2EX    程序员

在操作系统 API 的开放程度上, macOS 和 Win 哪个更封闭? 限制更多?

  •  
  •   dioxide 2019-11-06 16:46:31 +08:00 3927 次点击
    这是一个创建于 2172 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题. 比如说?

    20 条回复    2019-11-07 13:19:53 +08:00
    janxin
        1
    janxin  
       2019-11-06 16:53:26 +08:00
    之前 macOS 挺好的,不过最新的 Catalina 似乎对部分权限做了限制,会让用户授权

    Windows 只要管理员权限跑起来,你就....
    wdhwg001
        2
    wdhwg001  
       2019-11-06 17:30:59 +08:00 via iPhone
    Windows 的 UAC 是一个“防呆”设计,而不是一个严格意义上的多用户隔离式的沙盒,也不存在任何粒度细分。绕过 UAC 的方法层出不穷,微软在修复 UAC 漏洞上也不怎么上心。
    wdhwg001
        3
    wdhwg001  
       2019-11-06 17:36:10 +08:00 via iPhone   2
    Windows 始终是一个宽容权限的,单用户的,传统文件系统的操作系统,它的安全性通常要靠第三方商业工具维护,其中包括约束软件权限的主动防御软件和依靠复杂的黑名单和静态分析以删除恶意软件的“杀毒”软件。
    whi147
        4
    whi147  
       2019-11-06 17:38:08 +08:00
    macOS 做音频录制,没有 api 录制扬声器声音,只能通过第三方打驱动的方式,这很不开放
    rb6221
        5
    rb6221  
       2019-11-06 17:40:13 +08:00
    windows 的破解版和各种 ghost 广告植入版 就是例证吧
    passerbytiny
        6
    passerbytiny  
       2019-11-06 17:44:45 +08:00   2
    @wdhwg001 #2 讨论开放的时候不要参杂安全。一套 API,任何方都能用为最开放,经过公开方或第三方认证的一方才能使用为常见的开放,只有经过特定方认证的一方才能使用为最封闭。一套 API,经过认证的一方跟第一方都可以使用全部 API 为开放,第一方可以使用全部但经过认证的一方只能使用部分则为封闭。
    aptx4689
        7
    aptx4689  
       2019-11-06 17:46:19 +08:00   1
    @janxin 这个权限问题真是太蠢了,如果老程序不在自己的 plist 声明权限,那程序不会像 iOS 一样直接崩溃,而是会出各种莫名奇妙的问题,比如针对语音来说就会自动返回空,开黑讲了一堆话别人都听不见,蠢死了……
    dioxide
        8
    dioxide  
    OP
       2019-11-06 18:26:22 +08:00
    @whi147 @janxin , 同感, 仅作为普通用户的角度,也能感觉到 macOS 是在朝更加封闭的方向走.
    dioxide
        9
    dioxide  
    OP
       2019-11-06 18:34:35 +08:00
    @passerbytiny 这没错, 但安全和开放总是此消彼长的关系么?
    guanhui07
        10
    guanhui07  
       2019-11-06 18:51:04 +08:00
    我每次都要输入 sudo 记得 之前没升级系统前 不需要。
    secondwtq
        11
    secondwtq  
       2019-11-06 19:02:33 +08:00   1
    话说 macOS 写驱动的资料貌似少得要命 ...
    有 API 没文档算不算不开放呢
    stoneabc
        12
    stoneabc  
       2019-11-06 19:10:24 +08:00
    @secondwtq
    说到文档,应该没几个比 MSDN 更专业详细的了…
    ceilingCloud
        13
    ceilingCloud  
       2019-11-07 00:32:30 +08:00 via Android
    @wdhwg001 #3 现代 Windows 时多用户操作系统。
    ysc3839
        14
    ysc3839  
       2019-11-07 01:32:04 +08:00 via Android
    个人认为是 Linux > Windows > macOS。
    Windows 有小部分私有 API,但一般不阻止软件去使用,只不过稳定性无法保证。macOS 的话我没详细了解过,应该也是不做限制。
    Windows UWP 的话,有些 API (如 VPN) 是要经过认证才能上架商店的,但本地调用没有限制。
    ysc3839
        15
    ysc3839  
       2019-11-07 01:37:25 +08:00 via Android
    @ysc3839 补充一下,上面的 Linux > Windows > macOS 指的是开放程度。
    jedihy
        16
    jedihy  
       2019-11-07 04:26:39 +08:00
    Definitely, Windows 比 macOS 在 API 上更加开放。macOS 的驱动开发就是一坨屎,不仅资源少,官方文档也非常烂,很多东西都 deprecated 了。Catalina 稍微做了一些进步。
    passerbytiny
        17
    passerbytiny  
       2019-11-07 09:14:44 +08:00
    @dioxide #9 此消彼长只是初级认识。如果以开放性为 X 轴,安全性为 Y 轴,那么( x,y )这条线,应该是从 Y 轴正方向上某个点开始,缓慢向下穿过 X 轴,到达某个程度后,急速向上回穿 X 轴。类似于下面这样:

    安全 X
    ^ XX
    | X
    | XX
    | X
    | XX
    | X
    | XX
    | X
    | X
    XX XX
    |XX XX
    | XX XX
    | XXX XX
    | XXX XX
    | XX XX
    +--------XX--------------------X------------> 开放
    XX XX
    XX XX
    XX XXX
    XX XXXXX
    XXXXX
    passerbytiny
        18
    passerbytiny  
       2019-11-07 09:18:15 +08:00
    站长竟然进入每行做 trim。看这样行不

    安全.........................................X..
    ^.........................................XX....
    |.........................................X.....
    |........................................XX.....
    |........................................X......
    |.......................................XX......
    |.......................................X.......
    |......................................XX.......
    |......................................X........
    |.....................................X.........
    XX...................................XX.........
    |XX.................................XX..........
    |.XX...............................XX...........
    |..XXX............................XX............
    |....XXX.........................XX.............
    |......XX.......................XX..............
    +--------XX--------------------X------------>.开放
    ..........XX.................XX.................
    ...........XX..............XX...................
    .............XX.........XXX.....................
    ..............XX....XXXXX.......................
    ...............XXXXX............................
    passerbytiny
        19
    passerbytiny  
       2019-11-07 09:19:51 +08:00
    间距对不上,凑合着看吧,建议复制出去看。
    yinzhili
        20
    yinzhili  
       2019-11-07 13:19:53 +08:00
    Windows 应该是 API 最开放的商业软件了吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2519 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 15:06 PVG 23:06 LAX 08:06 JFK 11:06
    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