第一章绪论
1.1开展本课题研究的目的和意义
随着Linux操作系统的逐步发展,Linux操作系统的影响力稳步增强,越来越多的企业开始关注Linux操作系统。在服务器、嵌入式设备市场上,Linux系统占据越来越多的市场份额,形成了非常广泛的应用。由于Linux源代码的开源性,学校,研究所等研究机构也开始相应课程的研究,毫无疑问Linux已经成为IT领域的主流系统之一。
虽然Linux系统取得了瞩目的成就,但是在个人电脑方面,相比于Windows还是有些不足,最重要的就是用户量,在国内Windows在桌面系统这一市场领域占据着绝对的主导地位。除了一些IT高手,和Linux的“追星族”之外,很少有人将Linux作为日常办公所使用的系统,由于Windows庞大的用户量,很多IT企业都从事Windows应用软件的研发。在底层硬件驱动方面,情况也大致如此。
设备驱动程序是操作系统的重要组成部分,是联系上层应用程序与底层硬件的中间桥梁,众多外围设备都要有相应的驱动来使其正常工作。在驱动方面,基于开源代码而研发出来的Space内核更趋向于为同类设备(USB设备,字符设备,块设备等等)提供一个通用的框架,而不是单个设备驱动,这样为了兼容大多数设备,这个框架的结构就变得相当复杂,为了能够使众多外围设备在操作系统上正常使用,就需要了解驱动程序框架以及设备驱动的原理。
在Linux开源平台上开发的驱动程序已经可以正常地在Space系统上运行,但是有些设备在运行过程中还是会出现一些问题,为了能够解决这些问题,就需要了解程序的实现,以及Space系统使用设备的机制,然后定位问题,解决问题,并为部分设备的应用提供友好的用户界面,便于用户的操作。本课题的研究的目的,就是针对一些在Space平台下运行的设备,借助Linux开源软件的支持,在进行少量修改的前提下,解决其运行时候出现的一些问题,使其可以在Space系统上正常高效地运行。
1.2国内外研究和发展现状
对于驱动程序来说,由于Windows在操作系统上的近乎垄断的地位,大多数硬件产品厂商只热衷研发Windows操作系统驱动,较小的公司无力承担研发Linux设备驱动的任务,而驱动程序在不同操作系统上是由巨大差异的,Windows的设备驱动程序显然不能运行在Linux上,只有一些实力雄厚的大厂商才提供其公司产品的相关Linux驱动,在Space系统上目前较为成熟的硬件驱动包括显卡驱动、网卡驱动等等。而对数码相机、扫描仪等设备,Space支持尚待完善,而对于某些Raid卡,SCSI卡、无线设各、USB设备的支持情况并不全面;例如,对于最近比较流行的3G上网而一言,支持3G功能的硬件部分分为上网卡和数据卡两个部分,上网卡的提供商目前有三个,分别是电信,联通,和移动,数据卡的供应商比较多,其中比较大的有华为,中兴等,这些公司的产品,Space对它们的支持比较不错,通过正确的配置时候,能够在Space上正常使用。对于3G上网并没有比较友好的用户界面,对于普通用户来说,进行这些配置过程是不太可能的,这些复杂的配置成为Space普及的一大障碍。
1.3课题目标和主要研究内容
就像前面所说的,Space的驱动程序趋向于为同类设备提供通用的框架,这样在使用一些同类产品的时候,不需要安装新的驱动,便可以使用。以惠普打印机作为例子,对于惠普的喷墨打印机而一言,安装完惠普的官方驱动主程序后,几乎都可以正常使用,而对于其激光打印机系列,对不同的型号需要安装相应的插件,这样对于用户而言很方便。如果其他的设备的使用都可以如此方便的话,将可以推动Space系统的推广。
2.6 在Space系统上触摸屏原理......... 37-40
第三章 3G上网卡在SPACE上使用......... 40-45
3.1 3G网卡配置程序......... 40-41
3.2 使用zenity实现用户......... 41-42
3.3 将配置程序放到主菜......... 42
3.4 在Space系统上使用......... 42-45
第四章 HP打印机在SPACE上使用......... 45-50
4.1 HP打印驱动的编译......... 45
4.2 提取HP打印机驱动编译......... 45-46
4.3 将HP打印机驱动程序放......... 46-50
第五章 总结......... 50-51
5.1 本文总结......... 50
5.2 进一步的研究工作......... 50-51
本文总结
本课题通过分析研究Space桌面操作系统的驱动程序,在开源代码的基础上,通过设备驱动程序的编写,经过多次试验,使得Space系统可以支持触摸屏,并可以进行触摸屏的校正。
首先本文介绍了Space操作系统,通过介绍Spac。系统驱动程序的架构,并搭建设备驱动程序的编译环境,为在Space系统上进行设备驱动的研发做了准备工作。通过对设备驱动程序的加载,卸载过程的研究,以及内核与用户的信息的
传递的研究,深入理解了从设备插入系统到正常使用的流程,为设备驱动的编写打下了理论基础。通过对触摸屏原理的介绍,并实现触摸屏的校正,使得触摸屏的使用达到很好的精度,不会产生明显的漂移现象。最后通过对系统进行正确的配置,使得触摸屏在Sp ace系统上很好的运行。
参考文献
[1](美)Jonathan Corbet, Alessandro Rubini, Greg Kroah一arhnan著,Linux Device Drivers> 3rdEdition,中国电力出版社,2006年1月。
[3]刘铁,触摸屏校准程序设计,计算机世界报2006年04月10日第13期B25, B271
[4]范蔚,触摸屏校正算法及编程设计,计算机应用,2007年2期。
[5]宋宝华编著,Linux设备驱动开发详解,人民邮电出版社,2008年2月。
[6]美DANIEL P.BOVET & MARCO CESATI著,陈莉君等译,深入理解Linux内核(第3版),中国电力出版社,2009年6月。
[7] Jasmin Blanchette and Mark Summerfield著,C++ GUI Qt 4编程(第三版),电子」业出版社,2008年8月
[8](美)Sreekrishnan Venkateswaran著,EssentialLinux Device Drivers,Prentice Hall,2008年3月
[9]祝新红著,基于Space操作系统打印驱动服务的研究与实现,首都师范大学硕十学位论文。