作業系統是如何控制印表機列印檔案的?其實這個問題並不確切,因為印表機列印檔案不是作業系統控制的,電腦底層控制的,作業系統只是呼叫了列印這個引數而已。
在詳細介紹之前,我們先簡單說一下列印的這個過程:
電腦應用程式(比如Office)選擇好印表機及印表機預設應用設定→生成印表機專用檔案(比如該輸送的字型、格式等等要按行按列重新排序)→主機板介面先發送一行確認資料,如果得不到印表機回覆就會顯示“列印已掛起”,否則,通知檔案進入後備池→位於後備池的檔案資料開始透過底層GUI介面向印表機輸送純資料流→印表機獲得資料流,開始根據資料流排列墨粉或者鐳射沖印,方式也是按每一行資料開始輸出,類似於老式打字機,只不過是整合輸出而已。
時間還要追溯回Win98的時候,那陣的印表機介面普遍使用的是Com埠(串列埠):
串列埠與VGA口看起來十分相像(但是現在已經基本不使用這個口了,你可以當做串列埠是公頭,VGA是母頭來區分,下圖就很直觀了。
但是串列埠有個很大的問題,當時使用這個口主要是因為電腦需要額外的排程口來管理印表機,由於印表機效率低下且當時並不是很重要的外設配件,自然就臨時使用了串列埠,序列介面(Serial Interface) 是指資料一位一位地順序傳送,其特點是通訊線路簡單,只要一對傳輸線就可以實現雙向通訊(可以直接利用電話線作為傳輸線),從而大大降低了成本,特別適用於遠距離通訊,但傳送速度較慢。
串列埠的出現是在1980年前後,資料傳輸率是115kbps~230kbps。串口出現的初期是為了實現連線計算機外設的目的,初期串列埠一般用來連線滑鼠和外接Modem以及老式攝像頭和寫字板等裝置。串列埠也可以應用於兩臺計算機(或裝置)之間的互聯及資料傳輸。
所以這就知道了,本身這個介面對於外設是一個統一排程(就是電腦安裝印表機選擇埠的多個Com埠),但是用於印表機實在太慢。。。
並口埠的誕生可謂是專門為印表機設定,我們剛剛講到現在的印表機列印是逐行接收資料直接列印,可舊式印表機卻是接受完檔案之後進行初步校驗然後再列印,為了提高效率,並口的好處就體現出來了,它相當於一次只允許一串資料流傳輸,看起來慢了,但是卻防止了多串資料流互相干擾的問題,加之本身我們的印表機也不需要同時接收多串資料流,平穩而持續的並口就成了最好的選擇。
但是這個LPT介面也有很多壞處,本身就是為了從主機傳輸資料到印表機、繪圖儀或其它數字化儀器而誕生的介面,在主機板上叫Centronics的36腳彈簧式介面(通常主機上是25針D型介面,印表機上是36針Centronics介面)。
一個LTP接口占用的面積接近兩個VGA介面對於小主機板來說壓力很大,佔用了很多空間,而一般來說使用印表機的電腦又屈指可數,這個專用的藉口用於很少的使用者實在是浪費,這個時候,因為USB2.0的誕生,USB的傳輸速度終於到達了比較高的水準,而更多的外設產品也選擇使用USB介面,這就使得印表機也需要一次新的革新了。
由於USB2.0供電不足,所以一般印表機還需要另外接入電源線用於供電,但是使用USB傳輸檔案後,雖然效率沒有太大變化(主要因為印表機的標準特性還是單行資料流讀取,速度還是那麼慢),但是成功的減少了空間佔用,可以讓主機板上多放更多的USB介面來滿足日益提高的外設需求。
另外,使用了USB之後,電腦系統對於印表機的操控增加了更多,因為差傳輸了更多的資料,所以印表機在系統上的設定也可以更加複雜,甚至可以利用USB001埠實現全辦公室隨意公用網路印表機。
隨著USB3.1時代的到來,印表機目前的傳輸速度和印表機機制實在太慢,這種侷限會隨著科技發展提供新的印表機標準,比如一次列印多頁的操作也是有可能的,但是以後的印表機排程恐怕會取消系統底層的排程,而是直接利用BIOS(就像排程光碟機一樣),直接做到系統的完全控制。
作業系統是如何控制印表機列印檔案的?其實這個問題並不確切,因為印表機列印檔案不是作業系統控制的,電腦底層控制的,作業系統只是呼叫了列印這個引數而已。
在詳細介紹之前,我們先簡單說一下列印的這個過程:
電腦應用程式(比如Office)選擇好印表機及印表機預設應用設定→生成印表機專用檔案(比如該輸送的字型、格式等等要按行按列重新排序)→主機板介面先發送一行確認資料,如果得不到印表機回覆就會顯示“列印已掛起”,否則,通知檔案進入後備池→位於後備池的檔案資料開始透過底層GUI介面向印表機輸送純資料流→印表機獲得資料流,開始根據資料流排列墨粉或者鐳射沖印,方式也是按每一行資料開始輸出,類似於老式打字機,只不過是整合輸出而已。
那麼印表機具體是怎麼和電腦通訊的呢?時間還要追溯回Win98的時候,那陣的印表機介面普遍使用的是Com埠(串列埠):
串列埠與VGA口看起來十分相像(但是現在已經基本不使用這個口了,你可以當做串列埠是公頭,VGA是母頭來區分,下圖就很直觀了。
但是串列埠有個很大的問題,當時使用這個口主要是因為電腦需要額外的排程口來管理印表機,由於印表機效率低下且當時並不是很重要的外設配件,自然就臨時使用了串列埠,序列介面(Serial Interface) 是指資料一位一位地順序傳送,其特點是通訊線路簡單,只要一對傳輸線就可以實現雙向通訊(可以直接利用電話線作為傳輸線),從而大大降低了成本,特別適用於遠距離通訊,但傳送速度較慢。
串列埠的出現是在1980年前後,資料傳輸率是115kbps~230kbps。串口出現的初期是為了實現連線計算機外設的目的,初期串列埠一般用來連線滑鼠和外接Modem以及老式攝像頭和寫字板等裝置。串列埠也可以應用於兩臺計算機(或裝置)之間的互聯及資料傳輸。
所以這就知道了,本身這個介面對於外設是一個統一排程(就是電腦安裝印表機選擇埠的多個Com埠),但是用於印表機實在太慢。。。
新的埠代替了舊的埠並口埠的誕生可謂是專門為印表機設定,我們剛剛講到現在的印表機列印是逐行接收資料直接列印,可舊式印表機卻是接受完檔案之後進行初步校驗然後再列印,為了提高效率,並口的好處就體現出來了,它相當於一次只允許一串資料流傳輸,看起來慢了,但是卻防止了多串資料流互相干擾的問題,加之本身我們的印表機也不需要同時接收多串資料流,平穩而持續的並口就成了最好的選擇。
但是這個LPT介面也有很多壞處,本身就是為了從主機傳輸資料到印表機、繪圖儀或其它數字化儀器而誕生的介面,在主機板上叫Centronics的36腳彈簧式介面(通常主機上是25針D型介面,印表機上是36針Centronics介面)。
一個LTP接口占用的面積接近兩個VGA介面對於小主機板來說壓力很大,佔用了很多空間,而一般來說使用印表機的電腦又屈指可數,這個專用的藉口用於很少的使用者實在是浪費,這個時候,因為USB2.0的誕生,USB的傳輸速度終於到達了比較高的水準,而更多的外設產品也選擇使用USB介面,這就使得印表機也需要一次新的革新了。
雲列印改變了傳統介面由於USB2.0供電不足,所以一般印表機還需要另外接入電源線用於供電,但是使用USB傳輸檔案後,雖然效率沒有太大變化(主要因為印表機的標準特性還是單行資料流讀取,速度還是那麼慢),但是成功的減少了空間佔用,可以讓主機板上多放更多的USB介面來滿足日益提高的外設需求。
另外,使用了USB之後,電腦系統對於印表機的操控增加了更多,因為差傳輸了更多的資料,所以印表機在系統上的設定也可以更加複雜,甚至可以利用USB001埠實現全辦公室隨意公用網路印表機。
印表機的更新還在繼續隨著USB3.1時代的到來,印表機目前的傳輸速度和印表機機制實在太慢,這種侷限會隨著科技發展提供新的印表機標準,比如一次列印多頁的操作也是有可能的,但是以後的印表機排程恐怕會取消系統底層的排程,而是直接利用BIOS(就像排程光碟機一樣),直接做到系統的完全控制。