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 层的更多相关文章

  1. Core Services层

    本文转载至 http://jingyan.baidu.com/article/cdddd41c57360853cb00e124.html Core Services层是系统很多部分的基础部分,也许应用 ...

  2. Core Services 层

    Core Services层为所有的应用程序提供基础系统服务.可能应用程序并不直接使用这些服务,但它们是系统很多部分赖以建构的基础. 高阶特性 下面的部分描述一些比较常见特性,也许您正打算让您的应用程 ...

  3. Win11曝光 代号“Core OS” 明年推出-IT外包

    Win10发布距今已经有两年半的时间了,微软对其"修修补补"也有五次了,而第六次的更新也正在进行中.根据消息爆料,Win 11级别的开发项目"Windows Core O ...

  4. Netty源码细节-accept、read(Linux os层 + Netty层代码细节)(转)

    原文:http://budairenqin.iteye.com/blog/2215899 这篇分析一下accept的细节, 我觉得网络IO相关开发很多时候不能仅仅局限于java层, 尤其从accept ...

  5. 利用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 ...

  6. Spring core resourc层结构体系及JDK与Spring对classpath中资源的获取方式及结果对比

    1. Spring core resourc层结构体系 1.1. Resource相关结构体系 1.2. ResourceLoader相关体系 2. JDK与Spring对classpath中资源的获 ...

  7. os层删除与数据库层drop的区别于对策。

    os rm删除的,可以通过os层面恢复(句柄.inode.如果inode没有了可以根据block去重组出来数据文件),也可以通过rman备份还原方式恢复.  db 层面drop删除的 只能不完全恢复( ...

  8. iOS ---Swift学习与复习

    swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...

  9. iPhone SDK 包含哪些东西?

    iPhone SDK 包含哪些东西? 本文转载自:http://www.cnblogs.com/jy578154186/archive/2013/02/27/2934881.html 第一部分: 在使 ...

随机推荐

  1. Fedora 18 安装前指南

    Secure Boot 与 Win 8   随着 Win8 的发布,先前关于 Secure Boot 和 UEFI 的诸多猜测也得到了证实,Fedora 18 也将如同当初计划的那样使用 shim + ...

  2. PHP框架_Smarty_实现登录功能

    1.项目框架 |--mvc |--data 数据 |--cache 缓存 |--template_c 模板生成目录 |--framework |--function |--function.php 功 ...

  3. android:persistent属性

    application PhoneApp既没有被Broadcast唤醒,也没有被其他service调用,那么是android是通过什么方式来启动PhoneApp,所以就发现了属性android:per ...

  4. 关于 self 和 super 在oc 中 的疑惑 与 分析

    关于 self 和 super 在oc 中 的疑惑 与 分析   面试一定都是很注重 基础的,不管高级还是初级. 虽然基础好跟基础不好都可以写 代码,网上那么多资料.  区分高低也就是研究的深度和广度 ...

  5. Obj-C的hello,world 1

    不得不说,Obj-C所谓的中缀表达式真的蛮奇怪的,当无参或者只有一个参数时看起来还不错: //无参数的方法 -(void) say; [employee say]; //只有一个参数的方法 -(voi ...

  6. git 基本命令 (常用)

    http://www.zhixing123.cn/ubuntu/37865.html 参考的这个网址 他这里有个错误:id_rsa.pub 应该复制这个 而不是id_rsa  1341  git in ...

  7. 【转】JQUERY相关的几个网站

    作者:Terry li - GBin1.com 1. John Resig - http://ejohn.org 毫无疑问,jQuery 的缔造者的博客是你首先必须关注的. 2. Filmament ...

  8. BZOJ 1059 矩阵游戏

    Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏--矩阵游戏.矩阵游戏在一个\(N \times N\)黑白方阵进行(如同国际象棋一般,只是颜色是随意的). ...

  9. MySql的卸载问题

    windows下mysql的卸载: 彻底卸载Mysql的方法:   (1),先在服务(开始——>控制面板——>管理工具——>服务)里停掉MySQL的服务.打开控制面板-添加删除程序, ...

  10. php pack、unpack、ord 函数使用方法

    string pack ( string $format [, mixed $args [, mixed $... ]] ) Pack given arguments into a binary st ...