线轴对打印意味着什么?


18

马克为我写了一则评论

我不知道如何使杯子不假脱机,即如何使lpr命令仅在打印机驱动程序运行后退出。

打印“假脱机”是什么意思?

Google说这是一个动词,意思是“发送(用于在外围设备上进行打印或处理的数据)到中间商店”。例如,通过lpr命令打印时,打印后台处理程序代表的中间存储是什么?

马克似乎将假脱机的含义与阻塞联系起来。但是我无法通过查看Google给出的定义来解决这个问题。

谢谢。

Answers:


12

打印假脱机是一个有效的缓冲液,每个作业管理,与节目(假脱机程序)负责从提交程序并将其进料至一个或多个打印机接收作业。假脱机的重点是处理两个具有不同速度的系统之间的通信,并控制对共享设备的访问。前者意味着程序可以按照需要的速度提交打印作业,而这些作业的处理速度则是打印机可以处理的(或缓慢)。后者(如RonJohn指出的)确保了作业的连贯处理:因此,在打印时,作业不会混淆。

联网打印机提供自己的线轴,打印服务器(CUPS lpd等)也实现线轴。大多数打印系统还处理访问控制,配额,标语,打印选项等。例如,基于磁带的备份服务器现在将基于网络的主机上的备份数据假脱机到基于磁盘的快速存储系统上,这样它们就可以以极高的速度馈送现代磁带驱动器,从而避免了磁带擦光。

在评论的上下文中,假脱机的相关性在于它使打印作业提交与完成无关。不假脱机意味着提交将仅与打印作业一起完成,因此您的lpr命令仅在作业完成后才完成。尽管卸下打印机上的线轴可能也不会达到预期效果,因为打印机本身也可能会线轴!


1
“假脱机”含义的哪一部分使其不适用于Linux内核的IO缓冲区?
蒂姆(Tim)

3
邮件系统通常在下面/var/spool/mail或类似位置使用邮件后台处理程序。这也是允许接近异步发送邮件消息的“缓冲区”。邮件消息被假脱机/排队,并且邮件客户端不必等待邮件实际离开系统。非常像印刷工作。
库萨兰达

1
@Tim并不是它是否适用的真正问题,它只是不称为线轴。缓冲区通常确实会导致流入缓冲区的操作是非阻塞的:write将数据写入使用的任何缓冲区(在Linux中,页面高速缓存)后立即完成,而不是一旦数据真正到达目的地就完成。read也不一定非阻塞,并且返回的数据可能少于请求的数据。
斯蒂芬·基特

1
还请注意,除了处理“两个具有不同速度的系统之间的通信”之外,假脱机还可以串行化对这些较慢设备的访问。(您可以想象将多个作业同时全部写入打印机或调制解调器有多糟……)
RonJohn

1
打印假脱机通常存储在磁盘上,无论托管打印服务器在哪里。当我说打印机也可以有自己的线轴时,“联网”打印机(连接到网络,而不是连接到特定计算机)通常是这种情况。他们托管自己的打印服务器,并且必须管理多个传入作业(它们通过拥有自己的线轴来完成)。当打印机有自己的线轴时,它接受打印作业的速度比打印作业快得多,因此,即使lpr等待打印机完成接受作业,在完全处理之前仍然会有延迟。
Stephen Kitt '18

36

简而言之,后台打印程序包括:

  • 后台程序
  • 每个打印机的目录
  • 每个打印作业一个文件

在您的情况下,前台程序(lpr)将其打印作业发送到cups,然后将其存储,然后使用串行,并行,USB,网络,...通信实际开始打印过程。

因此,这就是为什么即使当打印机纸张用完时,您仍然可以继续使用计算机,而回到我小时候使用CP / M时,整个计算机都被锁定,直到您添加更多纸张为止。

为什么称其为“假脱机”?

因为在那个时代,大型计算机使用磁盘来存储这类文件,因为磁盘太昂贵了,所以当您在数据中心内部工作时,您会听到的第一件事是磁带开始旋转¹ 3-4打印机将开始打印(如果幸运的话)。;-)

注1: “线轴”是一个名词,意为“可以在其上缠绕磁带的圆柱形设备”,因此“绕线”是指圆柱形设备旋转并缠绕磁带的过程...


5
更直接地说,“线轴”是一个名词,意思是“可以在其上缠绕磁带的圆柱形设备”
Stop Harming Monica

1
@OrangeDog:纳入答案,谢谢! :-)
Fabby

2
+1从不知道“假脱机”一词的来历。

@Joe同样的原因,如今的孩子们不知道保存按钮的实际含义,因为他们从未见过软盘/软盘/ 硬挺 / ... > :-)
Fabby

5

首先,让我们从“假脱机”一词的含义开始:有时文档的大小大于打印机的内存,因此“打印机假脱机”允许将多个文档发送到打印机并将所有这些文档放入队列。

现在,在Unix下有两个打印系统:

  1. BSD假脱机系统使用lpd守护程序安排打印作业。
  2. SVR4假脱机系统lpsched用作调度程序。

杰夫· 莱瑟姆( Jeff Lessem)USAIL:Unix系统管理独立学习的一章介绍了Unix下的打印,它很好地概述了BSD和SVR4系统:

BSD后台打印系统

扩展到大型异构网络,允许许多计算机共享打印机。

在BSD假脱机系统下,对打印机的访问由lpd 守护程序和lpr程序控制。lpr是BSD系统上唯一可以将文件排队打印的程序。

lpr接受要打印的数据,将其放在假脱机目录中,并通知lpd守护程序。对于每个打印作业,lpr在假脱机目录中创建两个文件,即控制文件(cfxxx)和数据文件(dfxxx),xxx表示唯一的作业ID。控制文件包含用于处理打印作业的信息,包括所有者的身份。数据文件包含要打印的实际数据。

lpd守护程序检查的/etc/printcap文件,以确定目标打印机。如果目标打印机是本地设备,请 lpd确保lpd该打印队列上正在运行守护程序的副本。否则,lpd将打开与打印机连接的远程主机的连接,并将控制文件和数据文件都传输到该主机。

打印作业是按lpd先进先出(FIFO)计划的。但是,系统管理员可以使用lpc命令来更改打印队列中作业的优先级。

Solaris和HP-UX使用SVR4假脱机系统。它提供了更多的控制和灵活性,但不是为网络打印而设计的,并且设置起来更加复杂。

在SVR4假脱机系统下,该lp命令接受要打印的数据,并在与目标相关联的假脱机目录中进行复制。目标由打印机名称和打印机所属类的可选规范组成。当指定的打印机繁忙时,作业将被发送到同一类别的另一台打印机。假脱机目录通常是/var/spool/lp/request/printer-name并且打印文件具有唯一的名称,以标识作业和用户。

对打印机的访问由lpsched守护程序控制。它从假脱机目录中拾取作业,并在可用时将其发送到适当的目的地。lpsched通常也保存一个日志/usr/spool/lp/log。日志文件会指出在处理打印作业时出现的任何错误,以及用户名,

另请参阅:打印机和后台打印程序– lp,lpstat和cancel命令| IT博客的技巧与窍门


3
很高兴提及您的消息来源 ...
Stephen Kitt

我尚未完成;-)

3
我建议使用Markdown格式来明确指出哪些是您自己的文本,哪些是引用的文本。您还应该相信unix.stackexchange.com/help/referencing中
Anthony G-Monica的正义

4

不会忘记,SPOOL为的缩写小号 imultaneous P eripheral ø perations ö Ñ 大号 INE。由于计算的早期(但不是最早),处理器产生的结果要比打印机打印的结果快。没有假脱机,处理器将无法完成“打印作业”,直到打印本身完成。这通常导致处理器闲置,等待打印机。

在美国太空计划期间,线轴技术有了一个巨大的飞跃。这些计算机产生的结果太慢了,因此只为NASA编写了一个新的假脱机系统(尽管它及其后继者越来越流行,直到所有IBM系统都拥有它们为止)。这就是所谓的ħ ouston utomatic 小号P rogram,使得HASP第一嵌套缩写。

假脱机是一个很好的类比:线程工厂-线程以快速的速度旋转,然后在其他位置存储到假脱机中。然后,线轴最终被放到缝纫机或其他机器上,该机器以慢得多的速度运行,用于制造成品。


17
注意,“假脱机”的派生被广泛认为是反义词,而“ PDQ” 肯定是。
克莱里斯

6
显然,这是事实之后构造的反义词。传播这种谣言已成为一种时尚。这里列出很多,也许是时候添加“ spool”了!
管道

4
@Jennifer尽管IBM确实有一个名为SPOOL的程序,但正如上面的“ Jargon File”链接中一样,它被广泛猜想是他们要么选择该名称作为双关语,要么从现有术语衍生而来。无论哪种方式,它可能是指装载作业到线轴磁带,然后打回。在现代用法中,它既不是指过时的IBM产品,也不是指一盘带子,因此,整个辩论都是学术性的,并且与今天的含义有关。
IMSoP '18

3
@Jennifer好吧,即使人们猜错了,我也没错,它被广泛猜想了。即使IBM确实发明了该词,他们为什么还选择这些词呢?他们是不是把名字写得很长,然后说“哦,这是一个巧合,它拼写了一个英语单词”?或者他们更有可能正在寻找一个看起来似乎适合该功能的术语,并认为“将这些工作转移到磁带”是一个很好的形象?
IMSoP

4
该帖子将从引文中受益匪浅,尤其是从词源方面来说。
TemporalWolf

3

假脱机是一个相当古老的学期。如今,您会看到“打印队列”的使用频率更高。

To Queue是英国人所说的“排队等候”。因此,将打印作业“排队”,即排队等待打印。

作业完成后台处理后(在打印行之间可能会有较长的“思考”时间),然后通常以FIFO为基础进行打印,但“打印作业”优先级可以覆盖它。

可以暂停打印线轴和队列,以便操作员更换纸张。如果某些页面已损坏,也可以重新启动。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.