OSX系统编程环境的介绍


文章转自:http://www.tanhao.me/talk/440.html/


  • OSX系统的整体架构(见下图)


  • 内核态编程环境

1.BSD - 来自FreeBSD的内核部分。


FreeBSD是一个高效、稳定的UNIX操作系统,是众多BSD UNIX分支中的一个。正是因为OSX基于FreeBSD的内核,也让它继承了其身上很多的优势,包括相当多的工具支持。这也是为什么Linux的用户可以很容易的适应OSX的主要原因。


2.IOKit - 苹果抽象的驱动模型,面向对象的设计。


IOKit是一个面向对象的驱动模型框架,它是早期DriverKit的一个翻版,Driver Kit是使用Objective-C写的,而IOKit是一个C++的驱动架构,它在DriverKit的基础上做了很大的改进,比如IOKit可以写在用户空间跑的驱动(虽然大多仍是跑在内核空间上的),因而驱动挂了而系统不会挂。另外IOKit考虑到了计算机发展的趋势,所以在电源管理、即插即用、动态加载上做得更好。


  • 用户态程序环境


1.BSD - UNIX POSIX API


OSX 早期版本基于 FreeBSD 内核修改,提供了类UNIX的Shell,支持了许多UNIX的命令。POSIX API接口由内核直接支持,故POSIX API使用标准的C语言,其引用的接口文件的实现均直接由内核实现。


2.Carbon - 苹果早期的API,封装了部分底层接口


Carbon为早期的OSX所用,但至今仍然保留,其基于 Core Foundation框架,提供了更多更底层的支持,Carbon的接口均为C语言,但所提供的很多类型却可以Cocoa中的对象无缝转换(CF与NS的对象转换)。


3.Cocoa - 苹果建议Application使用的框架


Cocoa框架是用Objective-C提供的一套面向对象的接口,提供了丰富了UI界面及用户交互体验,并且极大的方便了程序员快速开发一个完整的Application,所以它提供了完善的App的bundle标准(info.plist、resource、frameworks、多语言等)。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值