文章编号:1000-1220(2002)01-0047-03

Linux用户空间打印机驱动程序的设计与实现

刘斌王沛潘金贵

(南京大学计算机软件新技术国家重点实验室,南京大学计算机科学与技术学院江苏南京210093)

摘要:当前,Linux作为新兴的操作系统,正越来越受到人们的重视和研究,本文对Linux 打印系统进行了分析,提出了一种开放用户空间打印机驱动程序的通用方法,一定程度上解决了Linux打印机驱动程序开发困难的问题,同时,为了能够更好地解决开发Linux打印机驱动程序的问题,在总结了Linux和Windows打印系统特点的基础上,文中提出了一种新的Linux打印系统结构。

中图分类号:TP334文献标识码:A

1引言

自第一个操作系统诞生起就有了设备驱动程序的概念,因为操作系统本身就是用来驱动计算机这个“设备”的,驱动程序是属于操作系统的核心程序,它不仅直接参与操作系统的内部操作,而且和物理外设有密切关系,直接影响了它的工作效率,从经济角度来看,一种操作系统能否得到广大用户的认可,顺利在市场上推广,与它所支持外设的种类和数量的多寡有很大的关系,一个得不到硬件厂商支持的操作系统是没有什么前途的。反过来,硬件厂商所生产的外设如果没有适当的驱动程序驱动,也不过是一堆没有意义的废铁而已。

当前作为唯一一种能够想和Windows抗衡的操作系统,Linux正越来越受到人们的重视。从技术角度来看,Linux具有卓越的性能和惊人的稳定性,而且,它几乎免费的价格、完全开源的特性使得它逐渐受到人们的欢迎。但是,由于对计算机外设尤其是打印机的支持不足,使得人们在使用Linux时感到很不方便,甚至不愿使用Linux,限制了Linux的迅速推广。Linux缺乏打印机驱动程序,一个原因是支持Linux的硬件厂商还不多,另一个重要原因是Linux自身打印系统的特殊性造成的。Linux打印系统没有对打印机驱动程序结构做出明确的定义,造成开发打印机驱动程序困难的局面。因此,研究Linux打印系统,寻找开发驱动程序的通用方法,解决Linux平台可用打印机缺乏问题具有很强的现实意义。

2Linux打印系统分析

为了对打印任务进行控制,Linux将打印系统分为上下两部分,上半部分和需要打印的应用程序合作,负责打印任务的生成和管理工作,分别由过滤器和lpd完成;下半部分负责与打印机通信,由运行于内核空间的驱动程序lp完成。Lpd负责在过滤器和lp之间传递打印任务。

由于lpd最早是为行式打印机设计的——只打印ASCII字符的打印机,所以要使它胜任现在的打印任务——文本、图形、Postscript等格式的数据,需要为它添加过滤程序——相当于Windows系统中打印机驱动程序。这部分驱动程序运行于用户空间。图1表示了打印机驱动程序和其他系统程序的关系。

linux系统下的打印机驱动下载,Linux 打印机驱动程序 开发 (绝对有用)相关推荐

  1. linux系统下编写I2C驱动

    I2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线. ...

  2. OK6410开发板linux系统下的SPI驱动和测试

    OK6410下的SPI驱动是可以用的,但是飞凌把它作为其它用途了,我们修改一些代码才能在/dev目录下创建SPI的设备节点文件 Step1:打开arch/arm/mach_s3c64XX/mach_m ...

  3. 如何查看linux系统下的各种日志文件 linux 系统日志的分析大全

    如何查看linux系统下的各种日志文件 linux 系统日志的分析大全 日志分类: 1. 连接时间的日志 连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这 ...

  4. linux如何运行verilog,linux系统下ncverilog的详细命令linux系统下ncverilog的详细命令.doc...

    linux系统下ncverilog的详细命令linux系统下ncverilog的详细命令 ncverilog: 08.10-p002: (c) Copyright 1995-2008 Cadence ...

  5. hp1005mfp打印机驱动下载,打印机驱动安装方法

    很多人都不知道打印机驱动到底要怎么去安装,其实这个打印机驱动安装还是非常的简单的,主要是你不清楚流程,所以才不知道怎么去弄,今天就来给大家分享一下hp1005mfp打印机驱动下载,打印机驱动安装方法. ...

  6. linux系统下的oracle数据库,在Linux系统下安装Oracle数据库

    在Linux系统下安装Oracle数据库:1.约定:linux系统为Linux.5.4-server-x86_64,数据库为linux.x64_11gR1_database_1013 linux 在L ...

  7. linux系统下怎么使用c语言,Linux操作系统下C语言使用.ppt

    Linux操作系统下C语言使用 Linux操作系统下C语言的使用 授课教师:江兰帆 E-Mail: jiang_lanfan@126.com GCC的使用 在LINUX开发环境下,GCC(GNU C ...

  8. linux系统能装什么显卡,Linux系统下安装显卡驱动

    第一次使用Linux遇到的不是硬盘分区而是显卡驱动问题,因为Linux在图形界面方面作的不是很好,以后你安其它软件时就能感受到.好多时候看到图形界面出错不一定是软件出问题. Linux下安装显卡驱动 ...

  9. Linux 系统下 NVIDIA 显卡驱动,GNOME 桌面环境不兼容

    NVIDIA 显卡驱动在 Windows 系统下的安装非常方便,大部分第三方软件都能直接自动检测型号,并从 NVIDIA 官网上下载驱动安装.但是在 Linux 操作系统下,NVIDIA 显卡的驱动需 ...

  10. linux系统下安装2080ti驱动,CentOS 7.4 Nvidia GeForce RTX 2080 Ti 显卡驱动安装

    环境描述 系统版本:CentOS Linux release 7.4.1708 (Core) 内核版本:3.10.0-693.el7.x86_64 显卡驱动版本: NVIDIA-Linux-x86_6 ...

最新文章

  1. 使用Java基于数据流直接抽取word文本
  2. volatile的实现细节
  3. 13行代码AC_习题3-9 子序列 (UVa10340,All in All)
  4. 常用数据结构算法 c++模板实现
  5. lwip连续发数据卡死_LwIP用TCP连接方式在数据量比较大协议栈卡死
  6. 数据结构和算法系列13 五大查找之哈希查找
  7. 云服务器里可以放多少网站,一台云服务器上可以放多少个网站
  8. NLP纠错 | 恶意短信变体字还原、鲁棒性过滤与文本纠错竞赛概述与简单变体实现...
  9. 兼容M1芯片 Denise Audio poltergate Mac - 侧链均衡器
  10. 如何利用Caffe训练ImageNet分类网络
  11. 四数之和 leetcode
  12. 欧姆龙cp1h指令讲解_欧姆龙cp1h常用指令学习(八)字符串处理指令
  13. 今日科普:什么是MEMS传感器
  14. FBReader集成后,打开书出现空白页面
  15. 回文联对联大全_回文对联大全
  16. 大数据的处理是怎样的过程
  17. 如何看待第三方百度云 Pandownload 作者被捕?
  18. 解决:ERROR: Cannot uninstall ‘certifi‘. It is a distutils installed project and thus we cannot accurat
  19. python 字典计数_python怎么用字典计数
  20. 乔治亚大学计算机科学,乔治亚大学的计算机科学排名,真得稳重考察

热门文章

  1. 傲梅分区助手看不到linux,傲梅分区助手使用教程
  2. 正点原子STM32F103(精英版)------电容触摸按键
  3. KYLO的数据库知识总结
  4. KYLO的计算机网络知识总结
  5. RedHat 终端大小写不能切换问题
  6. 关于写论文的小技巧[一]:公式编号
  7. 液晶屏接口定义_简介TFT-LCD液晶屏接口类型之LVDS接口
  8. python编程视频剪辑_MoviePy常用剪辑类及Python视频剪辑自动化
  9. 视频播放神器——PotPlayer基本设置
  10. 电脑莹石云显示认证失败_添加萤石云方法与常见问题解答