版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
IP2000网络终端系统方案纲要设计IP2000是我们企业依据市场需求将开发的第二代网络终端,要求拥有友善的类WINDOWS风格的人机交互界面,在知足传统终端所有功能基础上,实现以太网联机功能(实现TELNET远程登录协议)和支持多任务的一种更新换代产品。功能需求简述以下:供给类WINDOWS风格的用户界面,采纳桌面图标的方式启动任求实现TELNET远程登录协议支持最多达8个任务同时运转支持PS/2鼠标支持网络版本更新支持网关功能支持当地和网络打印机在此需求前提下,我们决定采纳多任务嵌入式操作系统(EOS)+嵌入式GUI+终端仿真的结构来实现需求,系统结构框图描绘以下:AP终端仿真切例1终端仿真切例2终端仿真切例7终端仿真切例8GUI窗口管理图形界面API支持中文支持系统设施接口虚线箭头表示控制流实线箭头表示数据流EOS进度管理文件系统网络支持中止和系统内存管理调用设施驱动IO控制硬件平台显示器键盘网络设施鼠标SUPERI/OIP2000网络终端系统方案纲要设计一、结构设计在此系统框图的基础上,我们分别对各层次进行结构设计分析:1、EOS设计目前存在的嵌入式系统多不胜数,流行的有WinCE、PalmOS、Vxwork、pSOS、Neculeus等多种系统。从目前嵌入式系统使用最宽泛的信息家电行业和通信行业分析,PalmOS和WinCE、Vxwork是目前应用最宽泛的三种:WindowsCE:MicrosoftWindowsCE是一个简短的,高效率的多平台操作系统。它不是减少的Windows95版本,而是从整体上为有限资源的平台设计的多线程,完好优先权,多任务的操作系统。它的模块化设计同意它对于从掌上电脑到专用的工业控制器的用户电子设施进行定制,但WinCE是非开放性操作系统,使第三方很难实现产品的定制,嵌入式操作系统追求高效、节能,而WinCE在这方面是蠢笨的,它占用过多的内存,应用程序宏大,并且入门费和同意费较高,使得整个产品的成本急剧上涨。所以WinCE多用于从高档的产品。VxWorks:VxWorks所在的企业WindRiver吞并了pSOS的ISI企业,使得该企业此刻有两大RTOS系统。VxWorks是目前嵌入式系统率域中使用最宽泛,市场据有率最高的系统。它支持多种办理器,如x86,i960,SunSparc,MotorolaMC68xxx,MIPSRX000,POWERPC等等。使用的是和UNIX不兼容的环境,大多半的VxWorksAPI是专有的。采纳GNU的编译和调试器。pSOS:ISI企业已经被WinRiver企业吞并,此刻是属于WindRiver企业的产品。这个系统是一个模块化,高性能的及时操作系统,专为嵌入式微办理器设计,供给一个完好多任务环境,在定制的或是商业化的硬件上供给高性能和搞靠谱性。
能够让开发者将操作系统的功能和内存需求定制成每一个应用所需的系统。
开发者能够利用它来实现从简单的单个独立设施到复杂的、网络化的多办理器系统。QNX:QNX
是一个及时的,可扩大的操作系统,它依据
POSIX.1(程序接口
)和
POSIX.2(Shell和工具)、部分依据POSIX.1b(及时扩展)。它供给了一个很小的微内核以及一些可选的配合进度。其内核仅供给
4种服务:进度调动、进度间通信、
基层网络通信和中止OS所以QNX内核特别小巧(QNX4.x大概为12Kb)并且运转速度极快。这个灵巧的结构可以使用户依据实质的需求将系统配置成细小的嵌入式操作系统或是包含几百个办理器的超级虚构机操作系统。PalmOS:IP2000网络终端系统方案纲要设计3Com企业的PalmOS在PDA市场上据有很大的市场份额,它有开放的操作系统应用程序接口(API),开发商能够依据需要自行开发所需要的应用程序。目前已经有总合3500多个应用程序能够运转在PalmPilot上,此中大多半应用程序均为其余厂商和个人所开发,使得
PalmPilot
的功能得以不停增加。
这些软件包含计算器、
各样游戏、电子宠物、地理信息等等。在开发环境方面,能够在
Windows95/98,WindowsNT以及Macintosh下安装PalmPilotDesktop;PlamPilot能够与流行的PC平台上的应用程序如Word,Excel等进行数据互换。OS-9:Microwave的OS-9是为微办理器的重点及时任务而设计的操作系统,宽泛应用于高科技产品中,包含花费电子产品,工业自动化,无线通信产品,医疗仪器,数字电视/多媒体设施中。它供给了很好的安全性和容错性。与其余的嵌入式系统对比,它的灵活性和可升级性特别突出。LynxOS:LynxReal-timeSystems的LynxOS是一个散布式、嵌入式、可规模扩展的及时操作系统,它依据POSIX.1a、POSIX.1b和POSIX.1c标准。LynxOS支持线程观点,供给个全局用户线程优先级;供给一些传统的,非及时系统的服务特点;包含鉴于调用需求的虚构内存,一个鉴于Motif的用户图形界面,与工业标准兼容的网络系统以及应用开发工具。Linux:Linux在嵌入式领域获取了飞快发展,目前正在开发的嵌入式系统中,49%的项目选择Linux作为嵌入式操作系统。Linux之所以能在嵌入式系统市场上获得这样快速的发展,与它自己的优秀特征有着不行切割的关系:免费、开放源码,丰富的软件资源;功能强盛的内核,性能高效、稳固,多任务;支持多种系统结构,如X86、ARM、MIPS、ALPHA、SPARC等;完美的网络通信、图形、文件管理体制;支持大批的周边硬件设施,驱动丰富;大小、功能都可定制;优秀的开发环境,不停发展的开发工具集;宽泛的软件开发者的支持;价钱便宜。从我们IP2000网络终端的需乞降目前网络终端的市场来分析,目前我们企业已有的产品
IP1000
采纳
Linux+Microwin
这类方式已基本实现网络终端的需求,不过在界面的雅观程度和系统速度上比同种类的较为突出的实达
netterm860终端有所不足,但从系统的角度和开发进度以及成本的角度考虑,从头引进一种新的嵌入式操作系统,以上介绍的几种EOS引进的门槛成本太高,且需要较长时间消化和熟习,移植到我们的硬件平台也需要长时间的过程,综合考虑,我们仍是决定在博利思供给的Linux内核的基础上修建我们的IP2000的IP2000网络终端系统方案纲要设计OS,并准备对内核作以下改良:优化
framebuffer
代码,并在原有
256色的基础上增添
16色支持改正
ttyS0/1
的设施驱动,解决目前
IP1000存在的所有因为串口造成的问题2、GUI设计经过对目前几种鉴于Linux的嵌入式GUI的详尽分析,较好的嵌入式GUI往常联合面向对象方法采纳多层独立设计,拥有以下结构:设施有关层(driver)在这一层的功能应当是将系统中与设施和操作系统平台的详细细节障蔽起来。它利用实质的设施驱动程序接口或许OS系统调用来与硬件设施交互,这些硬件设施主要包含screen、mouse和keyboard等。我们使用设施对象(deviceobject)的观点来描绘一类设施,每一个对象描绘了一类实质设施的属性和方法。比方,screen设施对象就描绘了screen设施的各样属性(屏幕尺寸、分辨率、像素深度、像素格式、逻辑显存首地点等等)和基本方法(翻开和封闭显示器、设置调色板、返回屏幕属性、读写像素点等等)。对于同一类设施在不同驱动或许平台上的详细状况则以设施对象实例来描绘,比方screen种类的设施,我们可能让它工作在Linux上,通过framebuffer或许SVGALib驱动来操作它。他们的对象类相同,可是类的属性和方法的实现不相同。中间层看到的不过该类设施的可选的对象实例,不用关怀基层是如何操作的(也就是对象的方法是如何实现的)。最基层其实是以设施对象的方式为中间层供给了一个抽象的设施驱动界面。为了移植更简单,最基层应尽量简短,只实现最基本的设施功能函数。能够看到,当系统要移植到此外的平台上时,我们只需依据各种设施对象的定义实现相对较少的函数就能成立新的设施对象实例并让中间层选择他们就能够了。设施没关层(engine)这一层的功能是供给一个能够为各样应用层共享的与设施没关的核心图形引擎,此中的主要工作就是实现各样图形函数和输入设施的功能函数。对于中间层,它向下看到的是各种设施对象,向上则是要供给一个抽象的核心图形界面,使得上边的应用层对它所使用的究竟是什么设施对象不用去理睬。很明显,这一层依据不同的设施和平台选择相应的设施对象实例来实现核心图形引擎。因为每类设施的各个实例拥有相同的对象种类定义,所以中间层鉴于设施对象所实现的功能是不会因为设施和平台的改正而受影响的。同时,中间层把信息驱动体制、窗口管理体制交给应用层去达成,所以,对于各种类的应用层(Win32或许是X-Windows),中间层达成的功能都是通用的。应用层(API)这一层的功能是依据顾用的详细要求为应用程序供给合适的应用层用户界面。当应用程序不需要窗口系统的时候,用户自定义图形界面将十分简单,甚至可以什么都不做而直接使用中间层供给的抽象核心界面。假如用户需要完美的多任务窗口系统,比方是类Win32的,能够使用抽象核心界面来实现其应用程序编程接口(API)以及窗口和信息体制等。嵌入式GUI的系统结构的抽象参照模型以下:IP2000网络终端系统方案纲要设计framb-显示设uff设施和平台驱动类WIN32图抽没关层应备类WIN32用鼠标形用户界svgal-驱动象面GUI户程序开发和ib键盘对平驱动用中文象台类支持类libggi设X-WINDOW输入法相适应于不同平X-WINDOW用图形用户支持户程序开发备关台的图形引擎层界面GUIxwind-触摸屏集驱动层ow目前采纳此套结构的比较成熟的嵌入式GUI有Microwindow和MiniGUI两种GUI平台,Microwindow平台提出较早,并且经过多年的实践,已经比较成熟,目前国内的众多嵌入式系统厂商包含联想、中软、红旗、桑夏科技、华恒等都采纳Micorwindow作为基础开发自己嵌入式GUI,但因为该项目缺乏强有力的核心代码保护,代码质量错落不齐,所以在此外一种GUIQt/Embedded公布以来,它就长时间逗留在了0.89Pre7版本,近几年来发展迟缓;MiniGUI项目发源于清华大学一个采纳嵌入式Linux系统的工业控制系统项目,开发之初借鉴了Microwindow的一些经验,但以后在发展速度上超出了Microwindow(MiniGUI已经是版本,但Microwindow到现在仍是0.89pre版本),因为二者都是自由软件项目,开放源代码和所有文档,可作为我们IP2000网络终端的GUI设计的参照选择,我们能够在此中一种的基础上修建我们自己的GUI平台。因为IP2000网络终端有多任务功能需求,所以我们的GUI设计一定能够知足适应多任务的需求,经过对已有的两种GUI进行预研,我们发现,GUI的多任务设计往常有两种方法:采纳
C/S结构C/S结构是天然的多任务,在Sever端特意负责监控外面事件和随之的信息传达和散发,Client达成信息的办理,各个Client之间互不扰乱和影响。采纳这类方法实现多任务支持的有Microwindows的Nano-x方案和MiniGUI,但两种GUI实现的体制有很大差异,MicroWindows为了追乞降XWindow的兼容,采纳了传统的鉴于Unix套接字通信方式的C/S系统结构,这样大批的数据在客户/内核/服务器之间传达,增加了系统负荷,占用了更多系统资源,降低了系统的图形效率,其实不适应于CPU速度较慢和系统资源有限的一般嵌入式场合。而MiniGUi汲取了Microwindows的经验,采纳了独到的系统结构,它的最第一版本采纳线程体制来实现C/S结构,这样所有的应用程序都运转在同一个地点空间,大大提升了程序之间的通信效率,但这类结构也致使了系统整体的柔弱,假如某个线程因为非法的数据接见而停止运转,整个进度都将遇到影响,可是,这类系统结构对重点的及时控制系统来说,仍是特别合适的,后期IP2000网络终端系统方案纲要设计发展的MiniGUI-Lite版本则作了一些改良,在独立多进度和系统效率之间作了一些综合,采纳套接字和共享内存联合的方式支持多进度,并且供给前后台进度的切换,通过共享内存体制供给全局资源的共享,以便减少实质内存的耗费,但仿佛MiniGUI的图形引擎不是直接成立在内核framebuffer驱动上,而要由如Libggi或Svgalib等更高一级的图形库支持,并且因为MiniGUI采纳了独到的接口设计,其应用程序的可移植性很差,而MicroWindows的Nano-x方案则采纳XWindow的兼容接口设计,大大方便了很多鉴于XWindow的应用程序的移植和代码复用。采纳GUI上下文共享的方法往常在单任务GUI基础上开发图形界面应用有以下列图左侧的系统流程,应用程序经过调用GUI的API实现相应功能,而这些函数有自己的上下文,并且这些上下文主若是经过数据空间的形式(data&BSS)来保持的。因为信息系统的同步功能,假如在同一进度中创立并使用多个窗口,也不会造成GUI的矛盾。比如,能够在一个进度中结构记事本和计算器,两个窗口都能够正常地运转,因为任一时刻只有一个窗口接受信息队列的信息散发并办理(使用或改变GUI上下文)——这类同步是由信息系统来保证的。若是把GUI使用的上下文和应用其余部分的上下文分开,一个应用完好部是能够正常运转的。假如把这类方法应用到多任务的系统,假如各个任务独有自己的GUI上下文,则不可以解决一些系统公共的设施比如鼠标、键盘、输入法等事件的检测、变换、分派以及系统宏大等很多问题(在C/S结构中是由Sever来达成这个工作的)。由此只好在各个任务之间共享GUI上下文,同步接见的方法来实现多任务,但在这类方法下,可能出现上图右部的状况,两个应用的GUIAPI接口函数会不行预知地改写GUI的上下文,会造成严重矛盾,为了防止这类状况,经过OS的锁体制来实此刻不同进度间实现同步地接见GUI上下文,则可实现不同进度有次序地共同作,达到多任务的目的,往常经过采纳了嵌入式Linux中常用的一些工具,包含ld脚本、ld、nm、objcopy、awk、objdump等把ELF文件各部分抽拿出来、并从头定位,用共享内存函数把指定的内存映照到固定的地点的方法,把抽取的GUI上下文装载到固定地点的方法来实现共享。共享GUI上下文的各进度运转时结构以下列图所示:IP2000网络终端系统方案纲要设计进度1sharedata&bssDATA&BSSdata&bsscodeCODESTATCKstatck进度Nsharedata&bssSHAREDATA&BSSDATA&BSSdata&bsscodeSTACKstatck进度私有空间
进度虚构空间
进度共享空间此中
sharedata&BSS
就是
GUI的上下文。采纳这类方法来设计GUI多任务支持的有博利思企业为我们企业IP1000多任务版网络终端设计GUI,该GUI是在Microwindows的基础上改良后的设计,事实上,这类设计方法也是借鉴了MiniGUI-Lite版本的一些技术,用一个主进度作为虚构Sever处理所有的外面事件,达成信息变换后达成信息的散发并达成窗口保护和管理,同时负责用户进度的启动(用fork的方式复制子进度,因此主进度和所实用户进度之间皆为父子关系,各用户进度之间则互为兄弟进度),各用户进度则接受并达成信息办理。主进程和用户进度经过共享内存的方式来实现GUI上下文共享和通信,并且采纳主进度附带调动的方式:在LINUX内核进度调动的基础上再成立应用调动,随意时刻只让此中一个用户进度运转(Running状态),其余用户进度则让其进入Sleep-on状态,主进度并用信息散发的主动权采纳信息驱动的体制达成各用户进度间的调动,并实现前后台时间片的主动分派,这类方法不单可实现共享GUI的接见矛盾,同时也提升系统的效率――决不使安闲的用户进度占用可贵的CPU时间片资源,但这类方法的弊端也是不言而喻的。对于我们GUI的设计,我们进行了较长时间的预研,并对Microwindows/Nano-x和MiniGUI的多任务体制进行了较为详尽的分析,感觉二者实现多任务的C/S结构对于我们的arm7500硬件平台其实不合适,因为C/S结构系统效率较低,在我们这类硬件平台资源的基础上,性能远远不可以达到我们的功能需求,鉴这样,我们决定在IP1000多任务版本GUI的基础上,开发IP2000的GUI,主若是完美在IP1000开发过程中已发现的缺点,并增添以下功能的支持:IP2000网络终端系统方案纲要设计对Microwindows桌面和窗口管理进行完美,使整个桌面和窗口管理与windows风格更为近似,进而为IP2000设计出更好的人机界面:多窗口操作,图标的拖动,窗口最大、最小化操作等参照MiniGUI改良Microwindows图形引擎的一些算法,提升GUI的效率增添业务窗口下拉菜单的支持(参照MiniGUI菜单组件设计)增添国际标准化汉字系统:支持16x16(大字符集)、24x24汉字库(GB2312)多种汉字字体字符显示驱动增添16色支持找寻代替单信息队列共享的进度间通信体制,防止某个用户进度崩溃致使整个系统崩溃。3、仿真设计设计目标降低模块间的耦合关系减少中间层方便各个平台的移植设计方法将IP1000的仿真程序进行整合,按模块封装成API。针对几个重点点进行技术改良,争取最大程度地发挥系统和硬件平台的长处。在纵向的层次上只有相邻的两层有调用和被调用的关系,相同的层次能够调用和被调用。仿真结构设计全局模块、命令分析模块仿真层显示模块打印模块外设模块通信模块自检模块键盘模块键盘仿真显示仿真打印仿真外设仿真通信仿真自检仿真NVR操作仿真driver层driverdriverdriverdriverdriverdriver键盘API显示API打印API串口API网络APINVRAPI中文输入microwin法模块说明、仿真全局模块,包含:IP2000网络终端系统方案纲要设计初始化Gblint的数据改变汉字通信码的显示拼字进口设置输入/输进出口(将终端仿真软件从功能上分为输入、输出两大部分)复位通用命令分析器依据参数初始化串口恢复、保存、缺省NVR参数2)、命令分析使用有限状态自动机来分析命令序列。3)、键盘模块仿真上层:办理控制码(ESC、CAN、BS、CR、XON、XOFF)办理ASCII码办理当地功能键办理用户自定义序列键办理缺省功能键汉字译码并发送仿真driver层:将系统发来的键盘信息WM_KEYDOWN、WM_KEYUP所需的键码(高字节扫描码+低字节Ascii码)
变换成终端GUI层:在键盘有数据时,更新键盘状态,散发键盘事件。将原始码变换成终端所需的键码假如是输入法有重点且输入法有效,进输入法办理;不然向上层发WM_KEYDOWN或WM_KEYUP信息。4)、显示模块将显示从操作对象上能够分为5个部分:屏幕、光标、字符显示、滚屏、图形。仿真上层:依据通信方式的不同,TTY显示一个国标码/ASCII码/ID码/CNC码。能在光标的目前地点以目前属性和字符集显示一个ASCII字符屏幕开关显背风景设置仿真driver层:初始化显示。主若是创立光标、设置光标的属性、显示光标、设置屏幕行数和列数。光标控制:设置光标属性、地点显示光标属性、地点挪动光标获取光标的地点和光标左右的字符。消除光标IP2000网络终端系统方案纲要设计支持多个光标GUI层:光标驱动:创立光标、开释(消除)光光标属性(点/线、固定/闪耀/消隐)支持屏幕驱动开/关显、节电模式支持分辨率、背风景设置支持字符显示驱动西文、汉字、汉字左半、汉字右半显示支持自造汉字显示支持字符属性(上/下/左/右划线、高/低亮/正常、倍高/宽、显示/消隐)支持滚屏驱动向上滚屏、向下滚屏支持显存数据操作支持图形驱动点、线、圆等基本图形操作支持5)、打印模块仿真上层选择打印机打印机字库打印终端字库打印正常打印拷贝屏幕自动打印屏幕上的一行透明打印条码打印一个字符退出打印打印犯错时弹出模态窗口,显示提示信息,用键盘或鼠标选择来决定持续打印/退出打印。仿真driver层
Y/N获取目前队列的VRAM地点打印字符属性办理将显示点阵变换成打印点阵打印一个字符(串)到设置的打印端口。最多查问打印端口次,若就绪就送打印,若打印机错退出。
0x7ff打印测试GUI
层后台打印字符缓冲区支持并口支持6)、外设、通信外设模块和通信模块的程序结构以及两个模块之间的关系以下列图所示:IP2000网络终端系统方案纲要设计仿真上层外设通信仿真driver层串口通信网络通信GUI层串口API网络API外设模块仿真上层:翻开/封闭端口翻开/封闭密码键盘、读密码键盘的数据向主机发送辅串口、透明打印等命令分析向辅串1~n输出数据读辅串口数据向主机发送串口拷屏串口打印一个字符通信模块仿真上层:通信初始化经过主通信口(主串口或网络口)以非堵塞方式从主机读数据。经过主通信口(主串口或网络口)以堵塞方式从主机读数据。写一个字节数据到主通信口(串口或网络口)写一串数据到主通信口(串口或网络口)外设模块仿真driver层:串口通信初始化向主串、辅串输出数据从主串、辅串读数据设置串口参数串口复位串口测试网络模块仿真driver层:网络通信初始化ping功能支持翻开/封闭一个Telnet会话从一个Telnet会话中读数据向一个Telnet会话中写数据外设模块GUI层:翻开/封闭串口从串口读数据往串口发送数据设置串口参数读取串口参数网络模块GUI层:翻开/封闭一个网络联接从网络读数据经过网络发送数据7)、输入入法模块IP2000网络终端系统方案纲要设计输入法放嵌入GUI层,并支持输入法挂接接口设计。切换输入状态切换输入法获得输入键的Ascii码,查表获得相应的汉字内码,把汉字的内码发送给提示行,用数字键选择汉字自造汉字和短语输入支持供给改正默服输入法的API8)、NVR模块仿真driver层:读取/保存终端参数读取/保存自造短语读取/保存自造汉字GUI层:读NVR到缓冲区保存缓冲区到NVR从缓冲区中读数据NVR校验读NVR校验写读取自造短语、自造汉字9)、自检模块键盘测试串口测试并口测试网络测试循环自检演示测试报告自检结果二、流程设计在以上设计的基础上,我们采纳SDT方法作以下鉴于信息驱动体制数据流程的详尽流程设计(图见鉴于信息驱动体制数据流程设计):IP2000网络终端系统方案纲要设计信息循环
鉴于信息驱动体制数据流程设计信息办理流程PeekMessage()查问信息队列办理键盘连发读鼠标button以及地点状态系统调用检测网络状态select()检测串口状态查问所有公共设施和注册设备读键盘状态仿真显示上层行属性表显示模块VRAM
信息散发出口系统公用消息队列进口鼠标信息WM_FDINPUT/OUPUTWM_FDINPUT/OUPUT键盘信息输入法办理GUI显示驱动点阵读取(数组方式)字符属性变换DRAM操作到屏末惹起逐行memmove方式滚屏操作
主桌面消息处理业务进度调动终端仿真信息办理1全局上下文共享终端仿真信息办理N
WM_LBUTTONUP启动目前应用,切换到WM_KEYDOWN前台,申请目前应用的socket号WM_COMMAND绘制主桌面WM_COMMANDWM_SETFOCUS传统终端仿WM_KEYDOWN真办理KbProWM_KEYUPWM_CHARSysOut显示模块WM_FDINPUT读取串口或获取上下文网络数据x开释上下文WM_CREATE注册sockfdWM_PAINT屏幕、状态假如需要,网行刷新络初始化IP2000网络终端系统方案纲要设计如上图所示我们可获得以下结论:1、流程设计的几个基来源则:信息循环的速度一定足够快,也就是说从事件的检测――->达成信息的变换――>进入信息队列――>从信息队列拿出散发――>相应信息回调函数办理达成――>事件检测这整个循环必要在某个限准时间内达成,才不会造成事件丢掉和信息办理滞后,应用不可以有长时间的某个信息办理流程。因为整个应用系统共享一个信息队列,所有信息办理在不非法操作造成系统崩溃的基础上都一定能够正确返回,不然某次信息的办理睬造成信息循环停止,造成系统停止。2、性能分析:我们的传统终端810C/910/920等型号和IP1000/2000都是采纳CLPS-7500硬件平台,分析二者的流程,我们可作出以下列图所示对照分析,为了支持图形界面、多任务、网络,我们不得不在我们的系统中引入OS、GUI,随之而来的则是很多中间流程的引入,使我们整机效率和办理速度等性能的降低,所以我们IP2000功能指标如刷屏、滚屏、办理速度等所能达到的终极目标就是采纳同种类CPU的传统终端,一般来说,达到80%左右当属正常。一般来说,可考虑以下角度优化影响性能指标的流程:屡次在内核态和用户态之间切换各层次之间接口杂乱、冗余GUI操作效率低下多任务各进度之间数据通信效率低下BIOS层算法、代码效率低下对照分析传统终端外面中止事件外面中止事件终端仿真AP主循环事件查问->散发->终端仿真数OS内核办理据分析->办理信息BIOS显示BIOS其余出口循环(查问、组装、散发)终端仿真数据分析-->办理显示BIOS其余出口
网络终端内核态OSGUI用户态APBIOSIP2000网络终端系统方案纲要设计3、IP1000目前所存在的几个未解决问题的初步分析系统办理速度较慢系统办理速度主要由数据通信方法、显示、滚屏等要素综合组成,这个指标的瓶颈也就要依据实质状况分析,举个例子:若是我们采纳Nano-x方案实现多任务,则在SERVER和CLIENT之间数据传达的低效的套接字方法就成为了我们速度的瓶颈,我们采纳了较高效率的共享内存方式传达数据,则显示、滚屏BIOS的算法就成为我们速度提升的重点,并且从IP1000串口联机和网络联机办理速度的差异分析,我们也可得出在AP层数据办理的方法和接见上下文的体制也可成为影响性能的重点:网络联机一个WM_FDINPUT
信息对应办理一个数据包,而串口一个
WM_FDINPUT
信息则只办理单个数据,造成串口联机办理速度很慢。滚屏、刷新速度较慢刷新速度主若是由终端仿真的显示结构和GUI字符显示的方法(算法)决定,滚屏速度则与滚屏所采纳的体制(行滚?屏滚?)关系最大,自然也与系统数据传达的速度及显示基层的实现有关,我们可从改良这三个方面作为打破口,可望有较大性能提升。别的假如在保持16点阵不变的状况下,采纳16色,各样指标能够有较大幅度的提升。(已初步做过试验)CTRL+D
问题从流程图我们可看出,这个问题的出此刻于我们在主进度中分派业务进度的socket号,当我们在业务进度中间按下CTRL+D退出本次TELNET连结时,假如我们
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中南林业科技大学《食品质量管理学》2022-2023学年第一学期期末试卷
- 化学文字表达式符号表达式
- 中南林业科技大学《色彩(2)》2023-2024学年第一学期期末试卷
- 小学三年级下册英语模拟卷(答案和解释)652
- 小学四年级上册英语刷题卷(答案和题解)537
- 中南林业科技大学《计算方法及优化设计》2022-2023学年第一学期期末试卷
- 二零二四年度技术研发合作与技术成果共享协议
- 安保培训授课
- 食品安全调查报告
- 二零二四年度农产品订单生产合同
- 2024-2030年中国建筑施工行业运行状况及发展规模分析报告
- 放射科专科护理模拟题含参考答案
- 家政培训讲师课件
- 2024年大型科学仪器共享与服务合作协议
- 2024-2025学年苏科版七年级数学上册期中复习试卷
- 露天矿安全生产年度总结
- 生态文明学习通超星期末考试答案章节答案2024年
- 2023秋部编版四年级语文上册第2单元大单元教学设计
- (完整版)新概念英语第一册单词表(打印版)
- 2025届四川省新高考八省适应性联考模拟演练政治试卷(含答案)
- 中国民用航空局信息中心招聘笔试题库2024
评论
0/150
提交评论