基于UNIX的操作系统内核——Cocoa中的Distributed Object
来源:互联网 发布:决策树经典算法 编辑:程序博客网 时间:2024/05/11 01:16
Cocoa中的Distributed Object
Cocoa中的Distributed Object提供了本地或远程计算机的进程通讯。它将服务端的一个Objective-C对象“租赁”给客户端,客户端通过网络发送消息给另一台计算机上的那个“被租赁”的对象,从形式上和发消息给本地程序的一个Objective-C对象相同。它的设计使你能够专注于传送的数据而不是传送的连接方法,所以它比较方便,节省时间。但是这种技术牺牲性能,没有其它的通讯技术高效。
更多关于Cocoa中的Distributed Object信息,请看Distributed Objects Programming Top-ics(http://developer.apple.com/documentation/Cocoa/Conceptual/DistrObjects/DistrObjects.html)。
Mach消息传递
Mach端口实现了标准和安全的进程消息传递。但是利用Mach端口进行通讯是不推荐的。它依赖于对内核的接口的了解,并有可能在未来的版本变化。
所有的进程间的通讯机制都在某一层次上以Mach端口通讯的形式实现,所以底层的技术如套接字,端口,流都提供了有效和可靠的进程通讯方式。仅仅在进行内核编程的时候才需要直接使用Mach端口。
Core Foundation
Core Foundation框架(CoreFoundation.framework)是一套基于C语言的接口。它提供了Mac OS X的基本数据处理服务。您可以操作的数据包括:
• 集合
• Bundle和插件
• 字符串
• 原始数据块
• 日期和时间
• Preferences
• 流
• URLs
• XML数据
• 本地化信息
• Run loops
• 端口和套接字
Core Foundation基于C语言开发,但它有类似于面向对象的概念,Core Foundation的opaque数据对象和Cocoa的对应数据对象往往可以混合使用。Carbon和非Cocoa应用程序推荐使用Core Foundation,Cocoa应用程序则推荐使用Foundation Framework。
更多信息,参见Core Foundation Design Concepts 。
Objective-C
Objective-C是C语言的面向对象扩展。它是Cocoa应用程序的主要开发语言。它不是像从C到C++那样从语言本身进行改造,而是使用动态的运行环境使它具有面向对象的特性。
在Mac OS X 10.5中,Objective C 2.0的引入,给我们带来了如下的新特性:
• 对象属性(object property),使get和set函数以及其对应的数据变量的整体具有实例变量的特征
• 支持垃圾收集器。参见Garbage Collection编程指南
• 为支持快速枚举(fast enumeration)而出现的新的for运算符
• 协议(protocol)的改进
• Deprecation语法
更多信息,请看The Objective-C 2.0 Programming Lan-guage 。
Java
Java环境
Java应用程序环境所需的资源库,JAR文件,可执行文件可以在/System/Library/Frameworks/JavaVM.framework文件夹中找到。Java应用程序环境有3个部分:
• javac编译器jdb调试器以及javap,javadoc和appleviewer。Xcode可以开发Java程序。
• 运行环境,包括,JVM虚拟机,JIT字节码编译器和几个基础类,如java.lang,java.util,java.io和java.net。
• 应用程序框架。如用于设计用户界面的Abstract Window-ing Toolkit(java.awt)和Swing(javax.swing),还包括用户接口元素,2D绘画支持,Layout管理器,和Java事件处理机制。
使用Jar Bundler,Java应用程序可以被打包成bundle。
可使用java命令打开Java应用程序。使用exec或Runtime.exec()方法从另一程序打开。可使用Safari打开Applet程序。
Java和其它应用程序环境
Java可以利用Java Native Interface(JNI)使用Cocoa和QuickTime的特性。请看Technical Note 2147 。
- 基于UNIX的操作系统内核——Cocoa中的Distributed Object
- 基于UNIX的操作系统内核——BSD管道等
- 基于UNIX的操作系统内核——Mach、驱动程序支持、BSD
- 基于UNIX的操作系统内核——IPC和Notification机制等
- RTLinux—基于Linux内核的实时操作系统RTLinux
- UNIX操作系统内核
- 基于L4微内核的操作系统
- 基于 Bochs 的操作系统内核实现
- 基于 Bochs 的操作系统内核实现
- Day05-基于Linux内核的Android操作系统
- Hadoop基于Shell命令与底层Unix操作系统的交互
- Hadoop基于Shell命令与底层Unix操作系统的交互
- 操作系统的CPU监控,基于Unix/linux系统
- 【UNIX】什么是操作系统中的接口
- Palm将推出基于Linux内核的新操作系统
- 解决基于NT内核的操作系统启动故障
- 操作系统实验之基于内核栈切换的进程切换
- 操作系统内核的绝佳学习材料——JOS
- 嵌套使用 datalist
- 比较购物 火爆有因
- 使用XPathExpression类对XML进行排序
- StreamWriter输出中文乱码的问题
- Delphi 7前瞻:将Delphi作为ASP.NET的脚本语言(下)
- 基于UNIX的操作系统内核——Cocoa中的Distributed Object
- 如何进行 比较购物
- Web Service描述语言 WSDL 详解(2)
- Ns4_obj结构
- Ubuntu下用Firefox来安装软件!
- Web Service描述语言 WSDL 详解(4)
- 10.3.1 服务端
- CString常用方法简介 - 文逗 - CSDNBlog
- 在C#中如何通过需要用户认证的SMTP服务器发送Email