Core OS 层
Core OS层的底层功能是很多其他技术的构建基础。通常情况下,这些功能不会直接应用于应用程序,而是应用于其他框架。但是,在直接处理安全事务或和某个外设通讯的时候,则必须要应用到该层的框架。
Accelerate 框架
iOS 4.0引入了Accelerate框架(Accelerate.framework
)。该框架的接口可用于执行数学、大数字以及DSP运算。和开发者个人编写的库相比,该框架的优点在于它根据现存的各种iOS设备的硬件配置进行过优化。因此,您只需一次编码就可确保它在所有设备高效运行。
如需要进一步了解Accelerate框架,请查看Accelerate框架参考。
External Accessory 框架
iOS 3.0引入了External Accessory框架(ExternalAccessory.framework
),通过它来支持iOS设备与绑定附件通信。附件可以通过一个30针的基座接口和设备相连,也可通过蓝牙连接。通过External Accessory框架,您可以获得每个外设的信息并初始化一个通讯会话。通讯会话初始化完成之后,您可以使用设备支持的命令直接对其进行操作。
如需进一步了解External Accessory框架的使用方式,请查看External Accessory编程概论。如需了解External Accessory框架中相关类的信息,请查看External Accessory框架参考。如需了解如何开发iOS设备附件,请访问 http://www.apple.com.cn/developer/页面。
Security 框架
iOS系统不但提供内建的安全功能,还提供Security框架(Security.framework
)用于保证应用程序所管理之数据的安全。该框架提供的接口可用于管理证书、公钥、私钥以及信任策略。它支持生成加密的安全伪随机数。同时,它也支持对证书和Keychain密钥进行保存,是用户敏感数据的安全仓库。
CommonCrypto接口另外还支持对称加密、HMAC以及Digests。实际上,Digests的功能实和OpenSSL库常用的功能兼容,但是iOS无法使用OpenSSL库。
在 iOS 3.0及其后续版本的系统中, 您可以让所创建的多个应用程序共享某些Keychain项,这样可以让相同套件内的应用程序的互用更流畅。举个例子,您可以在应用程序间共享用户密码和及其他元素。通过这种方法,您就不需要在每个应用程序单独对用户作出提示。如应用程序需要共享数据,则每个应用程序的Xcode工程必须配备恰当的资格。
如需要进一步了解Security框架的功能和特征,请查看Security 框架参考 。如需了解如何访问 Keychain,请查看Keychain服务编程指南。如需了解如何在Xcode工程中设置应用程序的资格,请查看iOS 开发指南。如需了解您可以对哪些应用程序资格进行配置,请查看Keychain服务参考中的SecItemAdd
函数。
System
系统层包括内核环境、驱动及操作系统底层UNIX 接口。内核以Mach为基础,它负责操作系统的各个方面,包括管理系统的虚拟内存、线程、文件系统、网络以及进程间通讯。这一层包含的驱动是系统硬件和系统框架的接口。出于安全方面的考虑,内核和驱动只允许少数系统框架和应用程序访问。
应用程序可以使用iOS提供的LibSystem
库访问多种操作系统底层功能。LibSystem
库的接口基于C语言,可为下述功能提供支持:
线程 (POSIX 线程)
网络 (BSD sockets)
文件系统访问
标准 I/O
Bonjour和 DNS服务
区域信息
内存分配
数学计算
许多 Core OS技术的头文件位于<iOS_SDK>/usr/include/
目录,<iOS_SDK>是 Xcode安装目录中目标SDK的路径。如果需要了解这些技术相关联的功能,请访问iOS手册页面。
Core OS 层的更多相关文章
- Core Services层
本文转载至 http://jingyan.baidu.com/article/cdddd41c57360853cb00e124.html Core Services层是系统很多部分的基础部分,也许应用 ...
- Core Services 层
Core Services层为所有的应用程序提供基础系统服务.可能应用程序并不直接使用这些服务,但它们是系统很多部分赖以建构的基础. 高阶特性 下面的部分描述一些比较常见特性,也许您正打算让您的应用程 ...
- Win11曝光 代号“Core OS” 明年推出-IT外包
Win10发布距今已经有两年半的时间了,微软对其"修修补补"也有五次了,而第六次的更新也正在进行中.根据消息爆料,Win 11级别的开发项目"Windows Core O ...
- Netty源码细节-accept、read(Linux os层 + Netty层代码细节)(转)
原文:http://budairenqin.iteye.com/blog/2215899 这篇分析一下accept的细节, 我觉得网络IO相关开发很多时候不能仅仅局限于java层, 尤其从accept ...
- 利用Vagrant and VirtualBox搭建core os环境
利用Vagrant and VirtualBox搭建core os环境 系统环境 ubuntu 14.04 x64 vagrant 1.7.4 virtualbox 4.3.10 git 1.9.1 ...
- Spring core resourc层结构体系及JDK与Spring对classpath中资源的获取方式及结果对比
1. Spring core resourc层结构体系 1.1. Resource相关结构体系 1.2. ResourceLoader相关体系 2. JDK与Spring对classpath中资源的获 ...
- os层删除与数据库层drop的区别于对策。
os rm删除的,可以通过os层面恢复(句柄.inode.如果inode没有了可以根据block去重组出来数据文件),也可以通过rman备份还原方式恢复. db 层面drop删除的 只能不完全恢复( ...
- iOS ---Swift学习与复习
swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...
- iPhone SDK 包含哪些东西?
iPhone SDK 包含哪些东西? 本文转载自:http://www.cnblogs.com/jy578154186/archive/2013/02/27/2934881.html 第一部分: 在使 ...
随机推荐
- Fedora 18 安装前指南
Secure Boot 与 Win 8 随着 Win8 的发布,先前关于 Secure Boot 和 UEFI 的诸多猜测也得到了证实,Fedora 18 也将如同当初计划的那样使用 shim + ...
- PHP框架_Smarty_实现登录功能
1.项目框架 |--mvc |--data 数据 |--cache 缓存 |--template_c 模板生成目录 |--framework |--function |--function.php 功 ...
- android:persistent属性
application PhoneApp既没有被Broadcast唤醒,也没有被其他service调用,那么是android是通过什么方式来启动PhoneApp,所以就发现了属性android:per ...
- 关于 self 和 super 在oc 中 的疑惑 与 分析
关于 self 和 super 在oc 中 的疑惑 与 分析 面试一定都是很注重 基础的,不管高级还是初级. 虽然基础好跟基础不好都可以写 代码,网上那么多资料. 区分高低也就是研究的深度和广度 ...
- Obj-C的hello,world 1
不得不说,Obj-C所谓的中缀表达式真的蛮奇怪的,当无参或者只有一个参数时看起来还不错: //无参数的方法 -(void) say; [employee say]; //只有一个参数的方法 -(voi ...
- git 基本命令 (常用)
http://www.zhixing123.cn/ubuntu/37865.html 参考的这个网址 他这里有个错误:id_rsa.pub 应该复制这个 而不是id_rsa 1341 git in ...
- 【转】JQUERY相关的几个网站
作者:Terry li - GBin1.com 1. John Resig - http://ejohn.org 毫无疑问,jQuery 的缔造者的博客是你首先必须关注的. 2. Filmament ...
- BZOJ 1059 矩阵游戏
Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏--矩阵游戏.矩阵游戏在一个\(N \times N\)黑白方阵进行(如同国际象棋一般,只是颜色是随意的). ...
- MySql的卸载问题
windows下mysql的卸载: 彻底卸载Mysql的方法: (1),先在服务(开始——>控制面板——>管理工具——>服务)里停掉MySQL的服务.打开控制面板-添加删除程序, ...
- php pack、unpack、ord 函数使用方法
string pack ( string $format [, mixed $args [, mixed $... ]] ) Pack given arguments into a binary st ...