【IT168 技术文章】
引言
MMNC是一种基于普适计算的网络计算机,与传 统NC不同的是,它采用服务器进行存储和管理、客户机进行计算和交互的计算模式。在该计算 模式下,运用了一种新的多操作系统远程启动协议MRBP以及一种基于网络的虚拟交换和调度算 法VSSA。用户可以根据应用需要选择自己的操作系统,例如Windows、Linux等。VSSA通过虚拟 交换和调度技术为用户提供软件按需加载,具有很好的灵活性和扩展性。
MMNC的主要设计思想
普适计算(Pervasive Computing)正成为一种能够把数字化家电设备、通信设备、计算 机设备等智能设备互连和融合起来进行计算的新网络计算模式。普适计算模式把计算任务交给各种分布设备,而服务器或控制系统只负责资源管理和存储。基于这种思想,清华大学提出和开发了一种基于普适计算的软件平台SOPCA(Software Platform for Connected Appliances)。图1给出了该软件平台SOPCA的基本概念图。如图1所示,SOPCA可支持多种不同的通用或嵌入式操作系统。同时,它在上层通过SDK为应用程序提供安装或开发界面;在底层通过封装来屏蔽硬件的动态性和多样性,可以方便地支持包括电话、电视、计算机、smart device在内的各种网络计算设备。SOPCA平台也可支持网络计算机或相应的终端设备。这些设 备可从SOPCA平台上获取自己所需的操作系统和应用,完成用户的计算任务。
由于MMNC采用普适计算模式,其主要计算由客户机完成,服务器只需进行存储和管理,因 此,对连接MMNC的服务器性能要求较低。由MMNC和PC服务器构成的网络应用系统如图2所示, PC服务器以及多个MMNC通过100M以太网互联。服务器在通用操作系统之上运行有SOPCA软件平 台,基于该平台,启动服务和应用服务分别为用户提供相应服务。客户端没有操作系统,MMNC 启动后,通过SOPCA Boot Agent与服务器上的启动服务交互,从服务器上下载操作系统镜像进 行加载,进而在MMNC上构建SOPCA软件平台,随后根据计算需要,通过SOPCA支撑平台按需加载 各种应用软件,进行计算。服务器上的应用服务可以为MMNC提供基于Windows系统、Linux系统 和Java虚拟机的各类应用。
MMNC系统的软件构成
A、支持多操作系统的远程启动技术MRBP MRBP协议基于客户/服务器模型,分为服务器和客户端两部分。服务器指提供远程启动服 务的PC机,而客户端指需要远程启动的MMNC。在MMNC中,MRBP在启动代理(Boot Agent)中实 现,启动代理主要由四部分组成:网卡驱动以及相关协议;扩展的DHCP客户端代码;APTP客户 端代码;OS加载器。
B、虚拟交换与调度算法VSSA 基于SOPCA软件平台支持,服务器为多台MMNC提供服务,MMNC的程序调用过程与PC机显著 不同:在PC中,一个新的应用程序开始执行时,操作系统内核为其创建进程,同时在物理内存 中为该进程分配相应的进程空间,存放该进程的数据和指令。进程执行过程中,若所需的数据 或指令页面不在物理内存中,调用缺页中断,首先查询缓存区,若所需页面在缓存区(swap) 中,将其调入物理内存进行处理;若不在,则通过磁盘I/O从硬盘读取;而在MMNC中,客户端 本地没有硬盘,应用和数据都存储在服务器上,并通过一定的映射关系指明存储位置。当发生 缺页中断时,MMNC内核根据映射关系,通过网络向服务器发出请求,服务器端运行于SOPCA软 件平台上的应用服务接收到请求,按照一定的策略进行调度,从缓存区或者服务器硬盘中取得 用户进程所需的数据,对用户请求做出应答。这种数据不在本地﹑通过网络映射远程存取的调 用算法,就是虚拟交换与调度算法VSSA(Virtual Swap and Scheduling Algorithm)。
C、MMNC集中式管理 MMNC采用家电化设计理念,客户端的维护操作较少。在MMNC中。几乎所有的系统维护和管 理都集中在服务器上进行,这样就大大减少了管理成本的开支。
MMNC集中式管理分为系统管理和用户管理两方面:
系统管理:首先,MMNC所使用的操作系统是经过定制的,一方面裁减冗余功能,精简系 统,以提高性能;另一方面禁掉系统攻击时常用到的一些协议(如ICMP、SNMP等)和系统相关 服务,以增强系统安全。其次,通过服务器工具套件和SOPCA平台,管理员可以对MMNC的系统 和用户进行集中管理和控制,方便地实现软件安装、升级和系统维护。此外,MMNC本地不存储 任何数据,其操作系统、应用程序(系统数据)以及计算结果(用户数据)都存储在服务器上。为 保障系统的安全和稳定,服务器上的系统数据区和用户数据区隔离是隔离的,系统数据区对用 户都是只读的,客户无权对系统数据区的数据进行修改。
用户管理:用户管理主要是基于用户信息数据库来进行的。MMNC用户管理包括用户的增 删﹑磁盘配额管理﹑用户权限管理。所有用户的数据集中存放在服务器上,由服务器统一进行 访问控制。系统根据用户角色及计算需求的不同将用户分组,如管理员组、办公用户组、娱乐 用户组,各组都具有自己的用户和管理员。管理员可针对用户的不同角色和身份,赋予其不同 的软件运行权限和用户数据区访问权限。用户数据区分为公有数据区和私有数据区,公有数据 区为所有用户共享,私有数据区存放用户的私人信息。各组分别享有自己的共享数据区,组内 用户又拥有自己的个人私有数据区。各个数据区根据用户角色和身份进行逻辑隔离,用户按严 格的权限限制对相应数据区进行访问。管理员还可根据实际需要,设置工作组或单个用户对特 定数据的访问权限。