https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/Introduction/Introduction.html

iOS 是基于 UNIX 内核,Android是基于 Linux内核,他们之间有共性和区别

  iOS的系统架构分为四个层次:

核心操作系统层(Core OS layer):Core OS 是位于iOS系统架构最下面的一层是核心操作系统层,它包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。作为app开发者不需要与这一层打交道。

  操作系统内核服务(BSD sockets、I/O访问、内存申请、文件系统、数学计算等)

  本地认证(指纹识别验证等)

  安全(提供管理证书、公钥、密匙等的接口)

  加速(执行数学,大数字以及DSP运算,这些接口iOS设备硬件相匹配)

核心服务层(Core Services layer):为程序提供基础的系统服务例如网络访问、浏览器引擎、定位、文件访问、数据库访问

  CFNetWork(网络访问)

  Core Data(数据存储)

  Core Location(定位功能)

  Core Motion (重力加速度,陀螺仪)

  Foundation(基础功能)

  WebKit(浏览器引擎)

  JavaScript(Javascript引擎)

媒体层(Media layer):主要提供图像引擎、音频引擎、视频引擎框架

  图像引擎(Core Graphics、Core Image、Core Animation、OpenGL ES)

  音频引擎(Core Audio、AV Foundation、OpenAL)

  视频引擎(AV Foundation、Core Media)

可触摸层(Cocoa Touch layer):主要提供用户交互相关的服务如界面控件、事件管理、通知中心、地图、

  UIKit(界面相关)

  EventKit(日历事件提醒等)

  Notification Center(通知中心)

  MapKit(地图显示)

  Address Book(联系人)

  iAd(广告)

  Message UI (邮件与SMS显示)

  PushKit(iOS8新push机制)

  Android 系统架构:

应用程序层: 该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。

应用程序框架层:该层是Android应用开发的基础,开发人员大部分情况是在和她打交道。应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。在Android平台上,开发人员可以完全访问核心应用程序所使用的API框架。并且,任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件

系统库和Android运行时:系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如android.os、android.NET、android.media等等。后者是一种基于寄存器的java虚拟机,Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。

Linux内核: Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也是作为硬件与软件栈的抽象层。驱动:显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等

iOS 系统架构的更多相关文章

  1. iOS系统架构

    1.iOS系统架构 iOS的系统架构分为四个层次 核心操作系统层 (Core OS) 它包括 内存管理 , 文件系统 , 电源管理以及一些其他的操作系统任务, 它可以直接和硬件设备进行交互 核心服务层 ...

  2. ios系统架构及常用框架

    1.iOS基于UNIX系统,因此从系统的稳定性上来说它要比其他操作系统的产品好很多 2.iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch layer).媒体层(Media l ...

  3. iOS学习笔记(三)——iOS系统架构

    iOS的系统架构分为四个层次:核心操作系统层(Core OS layer).核心服务层(Core Services layer).媒体层(Media layer)和可触摸层(Cocoa Touch l ...

  4. iOS系统架构和Object-C基本数据类型(1)

    iOS系统架构 基本数据类型 思维导图  下载 注:打开思维导图的软件:Mindjet MindManager 9

  5. 认识iOS系统架构

    关于本文: 文章主要介绍iOS系统架构中的四层结构的内容.常用的框架.大致的功能,然后对iOS开发人员的发展提出自己的一些拙见. 一.iOS系统是基于UNIX系统,所有从系统稳定性上来说的确比其他操作 ...

  6. iOS 系统架构及常用框架

    1.iOS基于UNIX系统,因此从系统的稳定性上来说它要比其他操作系统的产品好很多 2.iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch layer).媒体层(Media l ...

  7. iOS 系统架构 && 常用 framework

    整理自互联网,感谢原文作者! 1.iOS基于UNIX系统,因此从系统的稳定性上来说它要比其他操作系统的产品好很多 2.iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch lay ...

  8. iOS 系统架构及常用框架(iOS的系统架构分为四个层次)

    1.iOS基于UNIX系统,因此从系统的稳定性上来说它要比其他操作系统的产品好很多 2.iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch layer).媒体层(Media l ...

  9. iOS 操作系统架构

    Mac OS 和 iOS 操作系统架构 做iOS开发已经半年多了,但是感觉对iOS开发的理解却还只停留在表面,昨天刚把两个项目结了,今天打算学了一下iOS系统的架构,以便于更好的理解和开发. 首先看一 ...

随机推荐

  1. VBA唏嘘戏——简单单元格的设定(实例)

    由于有很多个Word文件,所以应用宏会更加方便排版,而且版式较为统一. Sub 设置列宽() ' ' 设置列宽宏 ' ' ActiveDocument.Tables().Cell(, ).Width ...

  2. CVPR历年Best Papers

    作者:我爱机器学习原文链接:CVPR历年Best Papers CVPR (Computer Vision)(2000-2016) 年份 标题 一作 一作单位 2016 Deep Residual L ...

  3. Visro 应用的前端模板工具介绍 -JsRender

    1.什么是JsRender: JsRender是一款JavaScript模版引擎,是具有简单直观,功能强大,可扩展的,早期版本是基于JQUERY 写的,后来作者重构了,就不再依赖JQUERY了. 它的 ...

  4. 【转】Java反射 之 反射基础

    一.反射 反射:Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为 ...

  5. Vsftp精解之安装配置及原理(一)

    简介 Vsftp(Very Secure FTP)是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,是一款小巧而又易用FTP服务器程序,Vsftpd 在安全性.高性能及稳定性三个方面有很好 ...

  6. c++ 中的sort用法

    别人写的,我拿来做做笔记 sort函数的用法 做ACM题的时候,排序是一种经常要用到的操作.如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错.ST ...

  7. Spring学习笔记(1)——资源加载

    <!-- 占坑,迟点补充底层原理 --> Spring支持4种资源的地址前缀 (1)从类路径中加载资源——classpath: classpath:和classpath:/是等价的,都是相 ...

  8. Java 图片压缩

    package com.wuyu.util; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.Buff ...

  9. MVC之路随记3--Html辅助方法

    概述:MVC中使用@Html.MethodName 来做很多Html的事情,简化了开发工程量,使用方便,并且易于理解 详细方法: 1.表单 <form action="/Home/Se ...

  10. 数据结构《17》---- 自动补齐之《二》----Ternary Search Tree

    一. 序言 上一篇文章中,给出了 trie 树的一个实现.可以看到,trie 树有一个巨大的弊病,内存占用过大. 本文给出另一种数据结构来解决上述问题---- Ternary Search Tree ...