集群操作系统(cluster operating system)建立在局域网络基础上,是指一种由多台计算机通过软件互相连接组成的并行或分布式系统,可以作为单独、统一的计算资源来使用。
集群的关键技术分为网络层、结点机及操作系统层、集群系统管理层、应用层4个层次。
这4个层次技术有机结合,所有的相关技术虽然解决的问题不同,但都有其不可或缺的重要性。集群系统管理层是集群系统所特有的功能与技术的体现。在未来按需计算的时代,每个集群都应成为业务网格中的一个结点,所以自治性(自我保护、自我配置、自我优化、自我治疗)也将成为集群的一个重要特征。自治性的实现,各种应用程序的开发与运行,大部分直接依赖于集群的系统管理层,并且,系统管理层的完善程度也决定了集群系统的易用性、稳定性、可扩展性等诸多关键参数。正是集群管理系统将多台机器组织起来,使之可以被称为“集群”。
分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。分布式结构中的每一个结点都可以做集群,而集群并不一定就是分布式的。
云的思想是把互联网中计算能力比较弱的各个结点统一管理起来,构成一个功能强大的计算机系统。
云计算操作系统(cloud computing operating system),又称云操作系统、云计算中心操作系统,是以云计算、云存储技术作为支撑的操作系统,是云计算后台数据中心的整体管理运营系统(也有人认为云计算系统包括云终端操作系统,例如现在流行的各类手机操作系统,这与单机操作系统区别不大),它是指构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等基础软件之上的,管理海量的基础硬件、软件资源的云平台综合管理系统。
在机器人、个人数字助理(personal digital assistant,PDA)、车载系统、家用电器、手机等通信设备上,都需要一个支持多道程序设计的环境,提供这种环境的操作系统称为嵌入式操作系统(embedded operating system)。
嵌入式操作系统大多用于控制,因而具有实时特性。
嵌入式操作系统与一般操作系统相比在以下几方面具有比较明显的差别。
【1】可裁剪性
好家伙, 嵌入式期末考试突然攻击我
因为嵌入式操作系统的硬件配置和应用需求的差别很大,要求嵌入式操作系统必须具备比较好的适应性,即可裁减。在一些配置较高、功能要求较多的环境中,能够通过加载较多的模块来满足这种需求;而在配置较低、功能单一的环境中,系统必须能够通过裁减方式把一些不需要的模块裁减掉。
【2】可移植性
在嵌入式开发中,存在多种多样的CPU和低层硬件环境,仅流行的CPU就会达到十几款在设计时必须充分考虑,通过一种可移植方案来实现不同硬件平台上的移植。
例如,可以把硬件相关部分单独剥离出来,在一个相对独立的模块或源文件中实现,或者增加一个硬件抽象层来实现不同硬件的底层屏蔽。
【3】可扩展性
这是指可以很容易地在嵌入式操作系统上扩展新的功能。例如,随着Internet的快速发展,可以根据需要,在对嵌入式系统不做大量改动的情况下,增加TCPP协议功能和HTTP协议解析功能。这样要求在进行嵌入式系统设计时,充分考虑功能之间的独立性,并为将来的扩展预留接口。
因为存在上述差别,嵌入式操作系统一般采用微内核(micro kernel)结构。
所谓微内核就是非常小巧的操作系统核心,其中只包含绝对必要的操作系统功能,其他功能(如与应用有关的设备驱动程序)则作为应用服务程序置于核心之上,并在目态下运行。当然也有采用单核(monolithic)结构的嵌入式操作系统,这种结构虽运行速度快,但是适应性不及微内核结构。
尽管目前微内核尚无统一的规范,但一般认为内核应当包括如下功能:处理器调度,基本内存管理,通信机制,电源管理。而虚拟存储管理、文件系统、设备驱动程序等则处于核心之外,以目态形式运行。随着嵌入式系统的发展和成熟,有理由相信在不远的未来将会形成相应的工业标准。
微内核结构的明显优点是可靠性高、可移植性好。然而它也有不可忽视的缺点,即系统效率低。应用程序关于文件和设备的操作一般需要经过操作系统转到另一个应用程序,然后再返回到原来的应用程序,其中涉及两次进程切换。
嵌入式操作系统具有微小、实时、专业、可靠、易裁减等优点。具有代表性的嵌入式操作系统有WinCE(微软公司的Vinus计划)、PalmOS、μC Linux、Vx Works、国内的Hopen(女娲计划)等。
多媒体操作系统是指除具有一般操作系统的功能外,还具有多媒体低层扩充模块,支持高层多媒体信息的采集、编辑、播放和传输等处理功能的系统。
多媒体操作系统大致可分为3类:
最小的操作系统当数智能卡操作系统(smart card operating system),这种如信用卡大小的设备上包含一个CPU芯片,但是对CPU的计算能力和存储容量都有严格的限制。最简单的系统只能执行单一功能,如电子支付,功能较强的系统可以完成多个功能,通常都属于个人私用系统。
有些智能卡是面向Java的,即在其智能卡的ROM中保存一个Java虚拟机(Java virtual machine,JVM)的解释程序,可以将Java小应用程序下载到智能卡上并由JVM解释执行。有些智能卡可以同时处理多个Java小应用程序,多任务调度成为必需的功能。资源管理和保护也是多个小应用程序并发执行的必要条件,这些功能必须由智能卡上的操作系统来提供。