Mac OS 是基于netBSD的是有着正统Unix V6嫡系血统的操作系统。
关于这点可以浏览虫虫的这个(https://www.wukong.com/question/6537446940102099208/)
Linux则是野孩子出家,自己赢是探索出啦一条到了,并且凭借自由软件打遍天下,占领了当今服务器操作系统天下和移动操作系统的天下(安卓)。
除了内核外,当然软件层也有很多的差异,尤其苹果凭借强大的设计能力,在UI展现和使用体验上表现一流。但是两者大体上都属于类Unix体系,都试试POSIX原则,很多软件是可以通用的,比如GNU的各种应用。
理论上如何区分我不知道,不过我觉得所有Unix类系统的图形环境都是一款软件,和其他软件一样。仅到Shell这一层是系统的组成部分,再往上都不能算是系统的一部分了。至于内核,那Linux和Mac就没有交集了。达尔文内核基于BSD提出的老Unix替代内核方案,但是BSD并没能发扬光大它,反而是Mac把它发扬光大了。Linux一开始就没有使用Unix的那一套,说是完全不同的东西也可以。但是它们还是都算做Unix类系统,上层实现的过程基本一致,多数不涉及系统API的软件都在源代码层级上兼容。所以对于上层开发者而言又可以视为基本相同。例如编译Apache服务器,一个版本适用于Mac,Linux和其他Unix,另一个版本适用于Windows。
内核先进谈不上,很多 OS X Mach 内核有的东西,Linux 都有,而且特性更多。
OS X GUI 是 Client/Server 架构。用户能够看到的表现,就是 WindowServer 进程,这个进程基于 Quartz 和一堆 Kext 以及 Private APIs。所有的窗口都可以看作是这个进程的 Client。所以,你把它干掉 OS X 是没问题的。实际上,PureDarwin (基于 Open Darwin) 就是利用开源的 Darwin 内核,外加 X Window 做起来的。Gnome 也有给它的实现。
说到本质区别Linux属于自由软件,copyleft。(GNU之父提出的,可不是我瞎诌的)Mac属于版权软件, cooyright。其他什么桌面体系、跨平台、开闭源等等,都不是本质区别。