预计阅读本页时间:-
12.2 Symbian操作系统概述
前一节介绍过,Symbian操作系统是由一个掌上设备操作系统发展成为一个以实时性能作为目标的用在智能手机平台上的操作系统。这一节里我们将对Symbian操作系统设计中蕴含的概念作简单的介绍。这些概念与如何使用这个操作系统息息相关。
Symbian是一个独特的操作系统,因为它是以智能手机作为目标平台的。它不是将一般的操作系统硬装入智能手机(有很大的难度),也不是使较大的操作系统适应于较小的平台。然而,它确实包含了许多其他大型操作系统所具有的特性,从多任务到内存管理再到安全问题。
Symbian操作系统继承了其前身的最佳的特性,具有由EPOC传承下来的面向对象特性。并且如版本6中所引入的,使用了微内核的设计方案,最小化了内核的开销,将不必要的功能移到了用户层进程。它模仿EPOC中应用的引擎模型,使用了客户机/服务器结构。它支持多种台式机功能,包括多任务和多线程,以及可扩展存储系统。它还继承了EPOC中强调的多媒体与通信。
广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元
12.2.1 面向对象
面向对象是一个意味着抽象的术语。在一个面向对象的设计中,针对某个系统成分的数据和功能,建立一个抽象的实体,称为对象。一个对象提供了具体的数据以及功能,但隐藏了具体实现。一个合理实现的对象可以被移除并被另外一个不同的对象代替,只要系统其他部分对这个对象的使用(也即其接口)保持不变。
当面向对象应用到操作系统设计中时,就意味着所有的系统调用以及内核端功能的使用均要通过接口,而不能直接获取实际数据或依靠其他类型的实现。一个面向对象的内核的实现通过对象来提供内核功能。使用内核端对象通常意味着一个应用程序具有一个对象的句柄,也就是对对象的一个引用,然后通过这个句柄来获得对该对象接口的访问。
Symbian操作系统采用了面向对象的设计。系统功能的实现是隐藏的,系统数据的使用通过系统对象已定义的接口完成。在Linux等操作系统中,构建一个文件描述符,并将这个描述符作为open调用的参数;而在Symbian操作系统中则会创建一个文件对象,然后调用该对象的open方法。举例来说,在Linux操作系统中,正如大家所知道的,文件描述符对应于系统内存中文件描述符表的索引的整数表示;而在Symbian操作系统中,文件系统表的实现是未知的,而所有的文件操作是通过一个特定的文件类的对象来实现的。
需要注意的是Symbian操作系统与其他在设计中运用了面向对象理念的操作系统不同。例如,许多操作系统设计使用了抽象数据类型,人们甚至可以说系统调用整个理念就是通过将系统实现细节对用户程序隐藏起来而实现了抽象。而对于Symbian操作系统,整个操作系统的结构均是面向对象设计的。操作系统功能以及系统调用都是与系统对象相联系的。资源分配以及保护则是对应于对象的分配,而不是系统调用的实现。