当前位置:首页 > 嵌入式 > 嵌入式软件

  摘要:本文对嵌入式网络计算机的主要结构进行了分析,并给出了实现方法。主要设计和实现了网络计算机客户端操作系统和基于的RDP客户端。在网络计算机客户端操作系统设计中,主要从嵌入式分层的角度设计了网络计算机的操作系统,这种结构层次清晰,功能划分明确,而且容易实现;在基于Linux的RDP客户端研究中,主要分析了RDP协议,实现了RDP客户端的功能。

  1 引言

  操作系统技术包含服务器和客户机操作系统两套技术,目前支持瘦客户机计算的服务器技术主要是VNC、Citrix Metaframe、 Services、 X 和Tarantella,服务器操作系统要解决多用户、会话控制、状态表示等一系列技术难点。网络计算机设计中的一个主要工作就是瘦客户机操作系统的设计,在此我们把瘦客户端操作系统称为网络计算机操作系统。本文从Linux 体系结构的角度给出网络计算机的Linux 体系结构,这样更能方便表达设计和实现嵌入式Linux 网络计算机操作系统的步骤。

  2 操作系统体系结构

  本操作系统体系结构如图 1 所示:

  根据上面网络计算机的嵌入式 Linux 体系结构,下面给出了要设计的网络计算机操作系统各部分的主要硬件和软件的选择。硬件系统:CPU(VTA C3 733MHzpro) 、内存(64MB-512MB )、显卡( 图形内核、32 兆DDR 帧缓存)、声卡(2 声道)、网卡(10/100 兆网卡、支持PXE 启动)、显示器(CRT 彩显)、PS/2 接口的和键盘。硬件抽象层(HAL):显卡驱动、声卡驱动、存储设备驱动、网卡驱动等。Linux 内核:.4.18。应用程序接口(API):Glibc2.4 等。图形用户界面层:Xwindows4.2 IceWM。应用软件:媒体播放器Mp1aper、浏览器mozila、终端RDP/ICA/PXE 等。

  3 各部分具体实现策略

  3.1 硬件层的实现

  该层主要实现系统初始化部分和网络计算机硬件系统的驱动部分。首先,在386 的实模式下对已经调入内存的操作系统代码进行检查,通过 中断获取内存容量信息,设置键盘反应速度,设置显示器的基本模式,获取硬撇信息,检测是否有PS/2 等操作。然后,就准备让CPU 进入保护模式了。要先屏蔽中断信号,再次设置32位启动代码的位置,调用操作系统指令1idt 和1gdt 被调用了,设置中断向量表(idt)和全局描述符表(gdt)。最后们对8259 中断控制器进行编程,对防处理器进行复位。.S 设置保护模式的标志位,重新取指令以后,再用一条跳转指令,进入保护模式下的启动阶段,同时把控制权交给. S 这段纯32 位汇编代码。. S 先做一些屏蔽中断的准备工作,然后,用一个默认的表项把所有的256 个中断向量填满。这个默认表项指向一个特殊的Linux 中断服务程。因为Linux 系统初始化完成后,就不使用 的中断服务程序。Linux 有很完善的设备驱动程序使用机制,该机制使特定硬件设备的中断服务程序很容易被系统本身或用户直接调用,而且,调用时所需的参数通常都要比 调用来得简单且高效。所以,BIOS的中断向量在这里就被覆盖了。.S 此后会检查CPU 的类型,对协处理器进行检查,然后调用了_paging 这个子函数进行页初始化。到此,保护机制下内存管理,中断管理的框架已经建好了。最后,Head.S 调用//main.c 中的start_kernel 函数,把控制权交内核。

图2 是NC( )系统的整个引导过程。

  Linux 核心和设备驱动程序之间必须有一个以标准方式进行相互操作的接口。每一类设备驱动:字符设备、块设备及网络设备都提供通用接口,以便在需要时为核心提供服务。Linux动态性很强。每次Linux 核心启动时如果遇到不同的物理设备,需要不同的物理设备驱动程序。Linux 允许通过配置脚本,在核心重建时将设备驱动包含在内。设备驱动可在必要时作为核心模块动态加载。

  3.2 内核的实现

  在系统需求确定的前提下,设计网络计算机嵌入式Linux 操作系统的首要步骤是嵌入式Linux 内核的设计。内核的选择主要是根据硬件系统处理器体系结构的不同,选择适当的Linux 内核实现。构建Linux 内核之前先要根据目标硬件平台的配置来修改内核选项。通常要进行的修改是选择合适的硬件支持,这些硬件主要是处理器、芯片组、网卡、声卡、显卡等设备;另外还需要设置的是文件系统、网络接口等系统软件选项的选择,去除不需要的功能模块。内核编译过程包括确定内核依赖关系、生成内核镜像、生成内核模块几个步骤。

  内核是应用程序和硬件之间桥梁,在瘦客户机中,存储设备和内存是非常紧缺的资源,保持一个小的内核既可以增强整个系统的性能,又能够节省宝贵的存储空间。因此需要一个精简的内核支持瘦客户机,使得内核能够完备的支持瘦客户机的硬件设备,又没有冗余。在完成了硬件 HAL 层的工作,将各种驱动源代码都获得并放到内核的指定位置后,就可以开始编译出自己想要的嵌入式Linux 内核了。编译结束后得到内核文件大小为1M 字节左右,这个大小对于网络计算机来说是可以接受的。

  3.3 根文件系统的实现

  设计好 Linux 内核后的工作是设计嵌入式Linux 的根文件系统,Linux 内核引导过程的最后一步工作就是挂接这个根文件系统。Linux 根文件系统的组织结构沿袭 系统的传统结构。在设计嵌入式Linux 的根文件系统的时候,我们要做的工作依次是组织目录结构、开发应用程序、选择共享函数库、存储内核镜像和模块、选择设备文件、配置系统初始化过程和安装根文件系统。

  瘦客户机通常使用 作为存储设备。引导程序、操作系统内核、文件系统都保存在 中。因此需要文件系统和 驱动程序来统一完成对Flash 设备的读写。由于Flash的容量小、成本高、以及使用寿命短的特点。

  3.4 应用程序层(API)层实现

  应用程序层主要有许多 c 函数库构成。在Linux 中有很多函数库,满足各种各样的函数调用。我们用1dd 命令检测出需要的函数库,然后根据系统存储空间(因为网络计算机嵌入式操作系统要求最后编译出来的内核大小不能太大)和网络计算机需要满足的应用需求,将用到的函数库放到API 层,或用静态编译的方法将涉及该函数库的代码直接编译到应用中,从而使其不依赖该函数库。图3 给出了我们用到的部分函数库。

  4 基于Linux 的RDP 客户端的设计与实现

  NC 系统的一大应用是连接Windows2000 或Windows2003 终端系统,使用Windows 的资源,让用户感觉就像直接在使用windows2003 一样。由于Windows 终端协议经过了多次升级,到目前为止最新的是Rpd5.1 协议,该协议提供了很多RDP5.1 之前不具备的特性,如真彩色、本地打印、本地视频等。为了给用户提供一个真实的Windows 环境,使之具有多媒体等功能,需要研究RDP5.1,开发RDP5.1 的客户端。

  4.1 RDP 程序模块

  RDP 客户端的设计主要分为两大模块,分别是RDP 程序模块,客户端底层设计模块。RDP 程序模块主要实现RDP 协议;客户端底层设计模块通过定制和剪裁Linux 系统,让RDP程序与网络计算机硬件平台整合到一起,使RDP 程序在网络计算机设备上可以运行。RDP 程序主要有RDP 协议模块与GUI 模块组成,它们之间保留了接口。RDP 协议模块主要解析RDP 防议,与平台无关;GUI 模块主要负责图形显示和消息上传,与所选平台也没有关系。图4 是RDP 程序结构图。

  RDP 程序执行后,首先从配置文件中读取服务器IP 地址,本机IP 地址等参数,然后连接服务器,服务器连接成功后,建立窗口,下载登陆界面,随后进入窗口消息循环,程序只处理鼠标、键盘消息,出理上传的RDP 数据。根据RDP 协议的层次结构将整个模块分为TCP 层、ISO 层、MCS 层、SEC 层、RDP 层。分别有文件tcp.c、iso.c、mcs.c、sec.c、rdp.c来实现。按功能划分,可以划分为RDP 回话连接、数据传输与解析、RDP 数据处理、数据的上传和本地打印。

  4.2 客户端底层设计模块

  RDP 客户端模块由两个独立程序组成,Rdp1og 负责用户界面和处理用户配置,mw 为RdP 客户端程序。在脚本rdp 中循环调用这两个独立程序,使用户所见到的总是RDP 客户端界面,可以从界面点击图标启动客户端程序。在启动脚本/etc/rc.d/rc.sys 中直接启动rdp脚本。启动流程如下图5 所示。

  本文作者创新点:本文从Linux 体系结构的角度提出了网络计算机操作系统层次结构。根据提出的嵌入式Linux 网络计算机操作系统层次结构,研究了基于嵌入式Linux 网络计算机的操作系统的实现方法。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭