基于UNIX的操作系统内核——脚本支持、多线程支持、X11、二进制文件架构、硬件架构、64位支持

前端之家收集整理的这篇文章主要介绍了基于UNIX的操作系统内核——脚本支持、多线程支持、X11、二进制文件架构、硬件架构、64位支持前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

 脚本支持

        Darwin支持Unix系统上常用的脚本语言。除了命令行工具(如bash和csh)以外,Darwin还支持Perl,Python,Ruby等等。
在Mac OS X 10.5中,新支持了Ruby on Rails。Mac OS X还支持在Python和Ruby脚本中添加Cocoa类(称为scripting bridges),详情请看Ruby和Python编程指南


多线程支持

 
        Mac OS X支持多线程编程。多线程提高了多任务的并行性,提高了应用程序的灵活性,降低了由繁重任务的延迟和多进程的高资源消耗,提高了多cpu计算机的效率。但多线程编程需要好的协调能力以确保程序正确,用户需要仔细分析自己的需要和程序以免适得其反。
用户级别的线程都是基于POSIX线程的。POSIX线程是Mach线程的包装。你可以在Cocoa,Carbon或Java程序中使用pthread接口操作POSIX线程。更多信息,请参阅,多线程编程指南
 

X11

        为了兼容性,Mac OS X支持X11,并可以选择安装。X11是一种UNIX下的窗口环境,许多UNIX应用程序使用它编写程序。
 

二进制文件架构

        Mac OS X设计灵活,单个二进制文件可以支持32位和64位应用程序,也可以支持Intel和PPC不同硬件架构。

硬件架构

        Mac OS X开始引入时,使用的是32位的PowerPC硬件架构。Apple使用Intel芯片后,Mac OS X增加了对32位Intel硬件的支持。Mac OS X 10.4增加了对64位架构的部分支持。Mac OS X 10.5之后,有4种硬件架构被支持

 • 32位 Intel(i386)
 • 32位 PowerPC(ppc)
 • 64位 Intel(x86_64)
 • 64位 PowerPC(ppc64)

        对单个二进制文件支持所有的硬件架构不是必须的。但推荐应用程序支持Universal Binary,即同时支持32位的Intel和PowerPC架构,在硬件条件允许时,也推荐支持64位架构。

        程序库可能被链接到多个应用程序中。要让应用程序支持多架构,程序库也要支持多架构。所以使用多架构的程序库可以使程序保证跨平台性。

        不同架构具有不同的规范,尽管差异微小,但在编程过程中也要特别注意。如不同多字节数据的endian结构,内置数据类型在32位和64位的架构。

        Xcode提供了创建多硬件结构的应用程序的环境。要更多信息,请看Univeral Binary编程指南(第二版)
 

64位支持
 

        Mac OS X 10.4支持编译,链接和调试64位的二进制文件。一开始仅支持由C和C++语言编写的程序,且仅支持Accelerate库和libSystem.dylib程序库。

        Mac OS X 10.5的大部分系统程序库和框架支持64位。库的64位转换体现在库的实现细节上,这些细节是向应用程序透明的。基于Intel的程序可以寻址多达128TB的数据。64位的程序也可以获得更多的cpu资源,如特别为64位程序设计的寄存器。

        一部分老的API不支持64位,这意味着不可以将它们用在64位的应用程序的开发上。如Carbon manager。它们不被推荐使用。详情请见,64-Bit Guide for Carbon Develop-er

 • Code Fragment Manager(使用Mach-O可执行文件)
 • Desktop Manager(使用Icon Services和Launch Services)
 • Display Manager(使用Quartz Services)
 • QuickDraw(使用Quartz或Cocoa)
 • QuickTime Music Instrument(使用Core Audio)

        存在着一些没有被移植到64位的可用的API,它们在32位应用程序上可用,但64位应用程序暂时不可用。包括

 • QuickTime C API(可用,但64位应用程序必须使用QuickTime Kit)
 • HIToolBox,WIndow Manager和其它Carbon用户界面API(可用,但推荐使用Cocoa和其它类库),请查看64Bit Guide for Carbon Developers

        Mac OS X使用LP64模型,它是64位程序的移植规范,有助于让其它操作系统的应用程序向Mac OS X的移植更为规范。更多信息,请看64-Bit Transition Guide 。有关Cocoa的64位移植信息,请看64-Bit Transition Guide for Cocoa ,有关Carbon的64位移植信息,请看64-Bit Guide for Carbon Developer。 

猜你在找的cocoa相关文章