DSP

iOS 4层结构(iOS技术概要)—— Core OS 层(四)

2019-07-13 21:03发布

Core OS层 Core OS层包含了很多技术的底层技术支持,在应用程序里面,尽管你没有直接使用这些底层技术,但是他们被高层的框架所使用。如果需要显示的处理安全模块或者与硬件通信,你会Core OS层上的一些框架。     Accelerate  Framework iOS4.0引入的,包含接口执行DSP、线性代数以及图像处理计算。这个框架的优势:自己写接口封装这些底层高性能的接口,这些接口一旦写成,就可以非常方便的移植不同的程序中,并且支持所有iOS设备运行。 更多关于Accelerate框架中函数的使用,参考 Accelerate Framework Reference。   Core Bluetooth Framework 蓝牙框架允许开发者与其他低功耗蓝牙设备交互,这个框架的OC接口允许你扫描低功耗蓝牙设备,与其中一个设备连接或者断开连接,读取或者写入服务的属性,注册服务以及监听属性的变化,等等。 更多关于Core Bluetooth框架接口的介绍,参考 Core Bluetooth Framework Reference。   External Accessory Framework iOS3.0引入,External Accessory(外部辅助)框架提供了与iOS相关辅助设备通信技术,外部辅助设备可以通过30针的数据线连接或者通过蓝牙进行无线连接。外部辅助框架提供了一种方法来获取每个可用的配件以及发起通信会话,之后,还可以通过相关命令直接控制配件。 更多这个框架的使用信息,参考 External Accessory Programming Topics,以及http://developer.apple.com   Generic Security ServicesServices Framework iOS5引入的,通用安全服务框架为iOS程序提供了一组标准的安全相关服务,这个框架的基本接口是在IETF RFC 2743和RFC 4401中指定的。除了提供标准的接口,iOS还增加了管理证书的接口(标准接口里没有,但是需要应用程序要求)。 更多GSS框架的接口,参考对应的头文件。   Security Framework iOS系统不但提供内建的安全功能,还提供Security框架,用于保证程序所管理数据的安全,该框架提供的接口可用于管理证书、公钥、私钥以及信任策略。它支持生成加密的安全伪随机数。同时,它也支持对证书和KeyChain密钥进行保存,是用户敏感数据的安全仓库。 Common Crypto接口另外还支持对称加密、HMAC以及Digests。Digests的功能和OpenSSL库常用的功能兼容,但是iOS无法使用OpenSSL库。 iOS3.0之后,你可以让所创建的多个应用程序共享某些KeyChain项,这样可以让相同套件内的应用程序胡勇更流畅。例如,你可以在应用程序间共享用户密码和其他元素,通过这种方法,你就不需要在每个应用程序单独对用户做出提示。如应用程序需要共享数据,则每个应用程序的Xcode功能必须同样的授权。 更多Security框架的功能和特性,参考SecurityFramework Reference。如何使用Keychain参考,KeyChain Services Programming Guide。如何在Xcode工程中设置应用程序的授权,参考ToolsWorkflow Guide for iOS。如需了解可以对哪些应用程序授权进行配置,参考KeyChain Services Reference中的SecItemAdd函数。   System 系统层包括内核环境、驱动及操作系统底层UNIX接口,内核以Mach为基础,它负责操作系统的各个方面,包括管理系统的虚拟内存、线程、文件系统、网络以及进程间通信。这一层包含的驱动是系统硬件和系统框架的接口,处于安全方面的考虑,内核和驱动只允许少数系统框架和应用程序访问。 应用程序可以使用iOS提供的LibSystem库访问多种操作系统底层功能。LibSystem库的接口基于C语言,可为下述功能提供支持: 1、线程(POSIX线程) 2、网络(BSD sockets) 3、文件系统访问 4、标准I/O 5、Bonjour和DNS服务 6、区域信息 7、内存分配 8、数学计算 许多Core OS技术的头文件位于/usr/include/目录,是Xcode安装目录中目标SDK的路径。如果需要了解这些技术相关的功能,参考iOS Manual Pages