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

  摘要:本文对嵌入式网络计算机的主要结构进行了分析,并给出了实现方法。主要设计和实现了网络计算机客户端操作系统和基于的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 网络计算机的操作系统的实现方法。

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

加利福尼亚州圣克拉拉市—2024年4月30日―AMD(NASDAQ: AMD)今日公布2024年第一季度营业额达55亿美元,毛利率为47%,经营收入3600万美元,净收入1.23亿美元,摊薄后每股收益为0.07美元。基于...

关键字: 嵌入式 PC 人工智能

这款全新的中端MCU系列为设计人员提供了更高水平的安全性和灵活性

关键字: 嵌入式 单片机

为了满足日益增长的数据处理需求,铁威马NAS推出了全新的性能巅峰2024年旗舰之作F4-424 Pro,并搭载了最新的操作系统--TOS 6。这款高效办公神器的问世,无疑将为企业和专业人士带来前所未有的便捷与效率。

关键字: 存储 Linux 服务器

2024年4月11日,中国——意法半导体的ST25R100近距离通信(NFC)读取器芯片独步业界,集先进的技术功能、稳定可靠的通信连接和低廉的成本价格于一身,在大规模制造的消费电子和工控设备内,可以提高非接触式互动功能的...

关键字: 嵌入式 数据读取器 芯片

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

深圳2024年4月23日 /美通社/ -- 全球AI解决方案与工业级存储领导品牌宜鼎国际 (Innodisk)持续深化边缘AI布局,今(23)日发表全球首创"MIPI over Type-C"独家技术,让旗下嵌入式相机模...

关键字: AI 嵌入式 相机

为增进大家对嵌入式主板的认识,本文将对嵌入式主板以及嵌入式主板常见问题及其解决方法予以介绍。

关键字: 嵌入式 指数 主板

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

为增进大家对嵌入式的认识,本文将对嵌入式、嵌入式工作相关的内容予以介绍。

关键字: 嵌入式 指数 嵌入式技术

机器人操作系统(ROS)驱动程序基于ADI产品而开发,因此可直接在ROS生态系统中使用这些产品。本文将概述如何在应用、产品和系统(例如,自主导航、安全气泡地图和数据收集机器人)中使用和集成这些驱动程序;以及这样将如何有助...

关键字: 电机控制器 机器人 嵌入式
关闭
关闭