现代操作系统多使用多层次的架构,这样做的好处一方面是方便权限管理,另一方面也可以把各层次的方法封装起来,便于应用程序开发。比如说一个程序需要写硬盘,不需要考虑写入到哪个磁头扇区柱面,也不需要命令磁头向内外移动几毫米,因为这些都有底层系统帮忙解决了,应用程序只需要命令写入C:\log.txt就行了。OS X的系统结构,维基百科上有这样一张图:

可以看到,Darwin是OS X的核心操作系统,即直接管理硬件的部分。一般大家会认为操作系统必须包括人机交互部分,实际上“操作系统”并不必须包括这些。在Darwin的xnu内核里包括了一个BSD系统,BSD是UC Berkeley对UNIX系统的修改版(早期UNIX授权中包括源代码)。而iOS底层也采用Darwin(arm版本的编译),上层是另外开发的。总的来说它们之间的差别比MIUI和Android的差别大得多,MIUI和Android中相当于Darwin的部分是linux内核以及Shell和一些基础的应用程序(Systam utilities)。

Unix是一个很古老的操作系统,主要有system-V和bsd两个分支,一般用来泛指与之兼容的操作系统,同时也是一个商标,苹果有这个商标的使用权

这个商标属于美国通用电信公司

判断与Unix是否兼容的标准叫posix

mach是一个微内核操作系统,与Unix在一定程度上兼容

xnu是乔布斯结合mach和bsd做出来的操作系统架构,是他被踢出苹果,自己开next公司时发明的,当时叫nextstep,后来被买回苹果

Darwin是xnu架构的实现,基本可以视作Mac的命令行部分

iOS是利用xnu构建的手持操作系统,因为不开放root权限,表面不符合posix

Mac是一个桌面操作系统

iOS,macOS,darwin,unix 简介相关推荐

  1. macOS、iOS、Darwin、类 unix、POSIX

    文章目录 类Unix POSIX Unix & Linux & macOS macOS & Darwin macOS 和 iOS对比 类Unix 类Unix系统(英文:Unix ...

  2. 微信数据存储WCDB for iOS/macOS

    WCDB WCDB是一个高效.完整.易用的移动数据库框架,基于SQLCipher,支持iOS, macOS. WCDB for iOS/macOS 基本特性 易用,WCDB支持一句代码即可将数据取出并 ...

  3. Swift iOS macOS 如何 Localize StoryBoard,StoryBoard 本地化,添加多语言支持,基于 String

    Swift iOS macOS 如何 Localize StoryBoard,StoryBoard 本地化,添加多语言支持,基于 String 本地化主要包含两个部分:代码中文本的本地化 和 Stor ...

  4. Unix简介及Linux简介

    1.Unix简介 UNIX是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用.Unix作为一种开发平台和台式操作系统获得了广泛使用,主要用于工程应用和科学计算 ...

  5. MacOS darwin 环境变量

    这里写目录标题 MacOS darwin 环境变量 List All Environment Variables env for all users Where is the PATH Environ ...

  6. iOS开发---开发工具简介

    成为一iOS程序开发者,首先需要一台运行Mac OS的电脑. Mac系统是 苹果机专用系统,是基于Unix 内核的图形化操作系统:一般情况下在普通 pc上无法安装的操作系统.由 苹果公司自行开发. 苹 ...

  7. IOS/macOS安全相关资料的收集

    • [PDF] https://objectivebythesea.com/v2/talks/OBTS_v2_Beer.pdf: https://objectivebythesea.com/v2/ta ...

  8. iwork11旗舰版 linux,苹果 iWork 11 套件来了,Pages/Numbers/Keynote iOS/macOS 版大升级

    IT之家3月24日消息 苹果今天专为 iOS 和 macOS 设备设计的 iWork 应用套件更新到了版本 11,引入了许多新功能和调整,以改善其功能. IT之家获悉,在 iOS 系统上,Pages. ...

  9. 关于Facebook iOS UI 工具ComponentKit简介

    在 iOS 上面开发界面,需要创建视图.配置界面.视图分层等等很多步骤,也就不可避免的需要书写 N 多的代码.这还仅仅是界面设计,除此之外,完成 controllers 的回调.控制内部事务在界面上的 ...

最新文章

  1. php7 $this-,在PHP中如何为匿名函数指定this?
  2. [Bug]当IDENTITY_INSERT设置为OFF时,不能为表“xx”中的标识列插入显示的值
  3. 【DIY】可能是最简单粗暴、省钱省电的家用温湿度计解决方案
  4. Selenium 功能总结大集合
  5. 关于 mysql.test 数据库
  6. 泛型数组列表ArrayList
  7. vue+vant 移动端H5 商城项目_03
  8. curaengine linux编译,Cura源码在Ubuntu15.04上编译脚本(成功)
  9. Python爬虫实战八之利用Selenium抓取淘宝匿名旺旺
  10. 特斯拉Model Y Performance高性能版车型价格上调一万元
  11. 深度揭秘垃圾回收底层,这次让你彻底弄懂它
  12. 20200714:动态规划复习day05
  13. java 游戏得分排行_以编程方式更改文本以统一显示游戏屏幕上的得分
  14. idea 安装jrebel6.4.3及破解
  15. 基于Netty和Java的GUI界面实现在线聊天室软件
  16. linux shadow文件*,Linux /etc/shadow文件详解
  17. Android内存管理的原理--进程管理
  18. 爬虫晋江小说python_python 爬虫入门之爬小说
  19. 大屏用户有福了,vivo大屏旗舰被“猪队友”爆光,售价9999元?
  20. IAP协议实现苹果home键功能

热门文章

  1. linux程序重读分区表,重读分区表, 求教~~, 系统是 Cent6.5,
  2. 使用 Amazon Cloud WAN 构建您的全球网络
  3. 架构师之路 — 业务架构 — Overview
  4. 设计模式 — 创建型模式 — 单例模式
  5. 再谈 Devstack(Rocky)
  6. Notepad++自用主题推荐
  7. [20170622]传输表空间与dblink.txt
  8. 进程process与线程thread
  9. cocoapods管理第三方框架
  10. BZOJ3682 : Phorni