【转】从Mac/OS和iOS开放源码浅谈UNIX家谱

阅读数:1245

苹果公司在各类开源项目中长期贡献着自己的力量,但其UNIX系统技术一直都属于闭源阵营(这一点可以从NUX OS阵营和家谱图中得到答案)。然而,以封闭闻名的苹果公司,2017年国庆期间在GitHub上公布了旗舰操作系统的XNU内核源代码,XNU(XNU is Not Unix的缩写)属于 MacOS(包括以往全部版本)以及 iOS 所使用的类Unix内核(对应各类苹果Darwin操作系统)。通过公开内核代码,苹果公司将帮助开发人员更轻松地理解其设备与更高软件层同内核之间的协作原理。

XNU源代码基于苹果公共源许可(Apple Public Source License 2.0),这其实是一项相当严格的许可 ; 开发人员可将此次发布的内核代码引入自有项目(GitHub源码和详细信息可通过原文链接获取)。

UNIX操作系统是一个强大的多用户、多任务操作系统,支持多种处理器架构,起源于贝尔实验室、通用电气和麻省理工学院合作的计划MULTICS操作系统计划,由Ken Thompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。当时被称为" Niplexed Information and Computing Service" 缩写为"UNICS",后来就将其称其为"UNIX"了。

目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX,其中苹果XNU就是类UNIX系统。

Unix在开发的过程中没有对应任何的奖励制度和管理体制,Unix发展的动力主要源自科研和兴趣。直到现在,Unix的发展历史和家谱体系可以总结为下图(图片来源网络,点击看大图)。

然而在20世纪70年代,AT&T公司开始注意到Unix所带来的商业价值并开始寻找一些手段来保护Unix,包括通过许可证方式教学使用Unix的源码。在20世纪80年代,Unix发展为有两个最主要的版本线,Berkeley的BSD UNIX和AT&T的Unix。后来Unix的发展越来越快,这主要归根于不断地出现各种各样的变种(类Unix)。

Sun Microsystems公司基于BSD UNIX开发的SunOS(即后来大家熟悉的Solaris)的工作站。AT&T发布的Unix System V的第一版最终也造就了IBM的AIX和HP的HP-UX。下面讨论下几个主流类UNIX系统。

Mac OS

Mac OS是基于Unix内核的图形化操作系统,2011年7月20日Mac OS X(X为10的罗马数字写法)已经正式被苹果改名为OS X。也是一套运行于苹果Macintosh系列电脑上的操作系统,后来也推出在PC上运行的Mac系统(简称 Mac PC)。

AIX

AIX是IBM开发的一套UNIX操作系统。它符合Open group的UNIX 98行业标准,通过全面集成对32位和64位应用的并行运行支持,为这些应用提供了全面的可扩展性。它可以在所有的IBM P系列和IBM RS/6000工作站、服务器和大型并行超级计算机上运行。另外,AIX级别的逻辑卷管理正逐渐被添加进各种自由的UNIX风格操作系统中。

Solaris
      Solaris是SUN公司研制的类Unix操作系统。直至2013年,Solaris的最新版为 Solaris 11。早期的Solaris是由BSD Unix发展而来。但至今Solaris仍旧属于私有软件。2005年6月14日,Sun公司将正在开发中的Solaris 11的源代码以CDDL许可开放,这一开放版本就是OpenSolaris。

Sun的操作系统最初叫做SunOS。SunOS 5.0开始,SUN的操作系统开发开始转向System V4,并且有了新的名字叫做Solaris 2.0。Solaris 2.6以后,SUN删除了版本号中的"2",因此,SunOS 5.10就叫做Solaris 10。Solaris的早期版本后来又被重新命名为Solaris 1.x. 所以"SunOS"这个词被用做专指Solaris操作系统的内核,因此Solaris被认为是由SunOS,图形化的桌面计算环境,以及它网络增强部分组成。

Solaris运行在Intel x86及SPARC、Ultra SPARC两个平台。后者是升阳工作站使用的处理器。因此,Solaris在SPARC上拥有强大的处理能力,同时Intel x86上的性能也正在得到改善。对这两个平台,Solaris屏蔽了底层平台差异,为用户提供了尽可能一样的使用体验。

HP UX
      HP UX取自Hewlett Packard UniX,是惠普公司以System V为基础所研发成的类UNIX操作系统。HP-UX可以在HP的PA-RISC处理器、Intel的Itanium处理器上运行,另外过去也能用于后期的阿波罗电脑(Apollo/Domain)系统上。较早版本的HP-UX也能用于HP 9000系列200型、300型、400型的电脑系统(使用Motorola的68000处理器)上,和HP-9000系列500型电脑(使用HP专属的FOCUS处理器架构)。

IRIX
      IRIX是由硅谷图形公司(简称SGI,SGI被HPE收购)以System V与BSD延伸程序为基础所发展成的UNIX操作系统,IRIX可以在SGI公司的RISC型电脑上运行,即运行基于32位、64位MIPS架构的SGI工作站、服务器之上。

Xenix
      Xenix是一种UNIX操作系统,可在个人电脑及微型计算机上使用。该系统由微软公司在1979年从美国电话电报公司获得授权,为Intel处理器所开发。后来,SCO公司收购了其独家使用权,自那以后,该公司开始以SCO UNIX (亦被称作SCO OpenServer)为名发售。它继承了UNIX的特性,Xenix具备了多人多任务的工作环境,符合UNIX System V的接口规格(SVID)。

A/UX
      A/UX取自Apple Unix,是苹果电脑公司所开发的UNIX操作系统,此操作系统可以在该公司的Macintosh电脑上运行,A/UX于1988年首次发表,最终的3.1.1版本于1995年发表。A/UX至少需要一颗具有浮点运算单元及标签页式的存储器管理单元PMMU (Paged Memory Management Unit)的处理器才能运行。

A/UX是以System V 2.2版为基础所发展,同时使用System V3、System V4、BSD 4.2、BSD 4.3等的传统特色,它也遵循POSIX规范及SVID规范。

从Unix操作系统的发展历史来看,又可以分为古典Unix,近代Unix和现代Unix,其中Linux起源于Minix,在严格意义上来讲不属于Unix范畴。智能终端系统除了苹果iOS外,Android、MeeGo和WebOS都属于Linux系统分支。

Linux有许多不同的版本,而且Linux的内核的发行和使用是完全免费的。所以很多的公司、组织,甚至是个人开发了他们自己Linux操作系统版本。随着Linux成熟发展和开放,Linux也经常内嵌在许多硬件设备之中,例如路由器、交换机、电话系统、智能手机、GPS系统等。比较受欢迎的Linux发行版如Fedora、Ubuntu、Red Hat、Debian、SUSE等

posted on 2018-07-29 16:22 时空观察者9号 阅读(...) 评论(...) 编辑 收藏

【转】从Mac/OS和iOS开放源码浅谈UNIX家谱相关推荐

  1. 《深入解析 MAC OS X iOS 操作系统》PDF 带书签

    内容简介  · · · · · · <深入解析Mac OS X & iOS操作系统>编著者莱文. 系统开发者.内核黑客和对苹果感到好奇的人们注意了!本书探讨了MacOSX系统和iO ...

  2. 深入解析Mac OS X iOS操作系统

    深入解析Mac OS X & iOS操作系统 系统开发者.内核黑客和对苹果感到好奇的人们注意了!本书探讨了Mac OS X系统和iOS系统的方方面面,深入讲解了两个系统的架构,讨论了框架手册没 ...

  3. 浅谈 unix, linux, ios, android 区别和联系

    浅谈 unix, linux, ios, android 区别和联系 网上的答案并不是很好,便从网上整理的相对专业的问答. 1.UNIX 和 Linux UNIX 操作系统(尤尼斯), 是一个强大的多 ...

  4. Mac OS X / IOS 内存管理机制简要说明

    最近身边用苹果的人越来越多,这是一件好事,我很高兴身边的朋友们都能用上世界上最先进的计算机和操作系统,但是大部分朋友都是从Windows过度过来的,从系统使用和原理理解上都有一些Windows的观念, ...

  5. mac OS与iOS的系统调用

    系统调用在mac OS 操作系统上 x86_64 使用syscall,32位使用 int 0x80. 中断号定义在#import <sys/syscall.h> syscall.h #if ...

  6. MAC OS X IOS系统调用的处理

    有其它系统基础的很容易理解,没有基础的可以先看看其它系统的.目前水果pc端cpu大部分都是intel,虽然他支持很多架构.因此这里只说intel的. 我们先调用一个系统函数frok,代码如下: int ...

  7. iOS XML浅谈

    XML简介 XML出身名门,W3C制定,微软和IBM曾经共同大力推荐过的数据格式. XML指可扩展标记语言(Extensible Markup Language). 被设计用来传输和存储数据.在以前是 ...

  8. iOS之浅谈纯代码控制UIViewController视图控制器跳转界面的几种方法

    一.最普通的视图控制器UIViewContoller 一个普通的视图控制器一般只有模态跳转的功能(ipad我不了解除外,这里只说iPhone),这个方法是所有视图控制器对象都可以用的,而实现这种功能, ...

  9. 浅谈 UNIX、Linux、ios、android 他们之间的关系

    Unix, 简化形成了Linux,Linux则是Android的内核,而苹果则是使用unix系统作为ios和macos的内核. 几个系统出现的时间 UNIX系统的诞生 1969年,贝尔实验室的研究员肯 ...

最新文章

  1. java设计模式---抽象工厂模式
  2. EasyUI 树菜单
  3. Algorithm之MC:基于Matlab实现通过蒙特卡洛方法模拟二维布朗运动
  4. JZOJ 5603. 【NOI2018模拟3.27】Xjz
  5. Windows 动态链接库 DLL 浅析
  6. MySQL 全文搜索支持, mysql 5.6.4支持Innodb的全文检索和类memcache的nosql支持
  7. win10无法检验服务器出示的ssl证书,win10系统网站启用ssL安全证书的操作方法
  8. AI 产品经理如何练就?一文了解十大必备技能
  9. JavaSE——Java8之函数式接口、函数式编程、Lambda表达式
  10. AMD IOMMU与Linux (3) -- DMA
  11. 14届数独-真题标准数独-Day 5-20220120
  12. 查看Android手机CPU框架信息
  13. 计算机xp系统ie8,WinXP系统IE8安装失败的解决方法
  14. smbd of samba-3.0.23b internal
  15. 轻松摆好人像摄影姿势
  16. 武汉坚守第六十三天——七九已满疫未退,印度大法上棍棒
  17. 单片机 中断秒表 c语言程序,51单片机秒表C程序
  18. 基于Springboot+vue实现前后端分离二手图书交易
  19. 【Qt】弹出子窗口时禁用主窗口
  20. 【Pytorch Lighting】第 7 章:半监督学习

热门文章

  1. POI实现Excel导入Cannot get a text value from a numeric cell
  2. VisualStudio2017下载与安装教程详解
  3. Ecplise中怎样导入Maven项目
  4. 软考-信息系统项目管理师-知识管理
  5. java ip加密如何访问_java代码中如何实现http访问
  6. 新康众闫顺成:数据中台建设中的得与失
  7. 周四话运营:如何提高用户留存?
  8. 第一期赠书活动《硅谷百年史》已寄出
  9. css元素居中方法归纳
  10. 美征信巨头Equifax因Struts漏洞导致数据大规模泄露