為了實(shí)現(xiàn)入機(jī)交互,還須在微機(jī)或終端上配置相應(yīng)的鍵盤(pán)終端處理程序,它負(fù)責(zé)接收用戶(hù)從終端上輸入的字符,并將其回送至屏幕顯示,用戶(hù)可以根據(jù)需要修改、刪除已輸入的信息。下面對(duì)鍵盤(pán)終端處理程序的各項(xiàng)功能逐一介紹。
1.字符接受功能
為了實(shí)現(xiàn)入機(jī)交互,鍵盤(pán)終端處理程序必須能夠接收用戶(hù)從終端輸入的字符,并將其傳送給用戶(hù)程序。字符接收功能主要通過(guò)以下兩種方式實(shí)現(xiàn)。
(1)面向字符方式。驅(qū)動(dòng)程序只接收從終端輸入的字符,并且不加修改地將它傳送給用戶(hù)程序。它通常是一串未加工的ASCII碼。
(2)而向行方式。終端處理程序?qū)⑺邮盏淖址麜捍嬗诰彌_區(qū)中,并可對(duì)行內(nèi)字符進(jìn)行編輯。當(dāng)收到行結(jié)束符后,才將一行正確的信息交給命令解釋程序。在有的計(jì)算機(jī)中,從鍵盤(pán)硬件送出的是鍵的編碼(簡(jiǎn)稱(chēng)鍵碼),而不是ASCII碼。例如,當(dāng)輸入a時(shí),是將鍵碼“30”放入I/O寄存器中,此時(shí),終端處理程序必須參照某種映射規(guī)則,將鍵碼轉(zhuǎn)換成ASCII碼。
2.字符緩沖功能
為了能暫存從終端輸入的字符,以降低中斷處理器的頻率,在終端處理程序中,還必須具有字符緩沖功能。字符緩沖可采用以下兩種方式。
(1)專(zhuān)用緩沖方式。這是指系統(tǒng)為每個(gè)終端設(shè)置一個(gè)緩沖區(qū),暫存用戶(hù)輸入的一批字符,緩沖區(qū)的典型長(zhǎng)度為200個(gè)字符左右。這種方式較適合于中.用戶(hù)微機(jī)或終端很少的多用戶(hù)機(jī)。當(dāng)終端數(shù)目較多時(shí),需要的緩沖數(shù)目可能很大,而且每個(gè)緩沖的利用率也很低。例如,當(dāng)有100個(gè)終端時(shí),要求有20KB的緩沖區(qū)。圖1所示為專(zhuān)用緩沖方式。

(2)公用緩沖方式。系統(tǒng)不必為每個(gè)終端設(shè)置專(zhuān)用緩沖區(qū),只須設(shè)置一個(gè)由多個(gè)緩沖區(qū)構(gòu)成的公用緩沖池。其中的每個(gè)緩沖區(qū)大小相同,如為20個(gè)字符,再將所有的空緩沖區(qū)鏈接成一個(gè)空緩沖區(qū)鏈。當(dāng)終端有數(shù)據(jù)輸入時(shí),可先向空緩沖區(qū)鏈中請(qǐng)一個(gè)空緩沖區(qū)來(lái)接收輸入字符;當(dāng)該緩沖區(qū)裝滿(mǎn)后,再申諳一空緩沖區(qū)。這樣,直至全部輸入完畢,并利用鏈接指針將這些裝奮輸入數(shù)據(jù)的緩沖區(qū)鏈接成一條輸入鏈。每當(dāng)該輸入鏈中一個(gè)緩沖區(qū)內(nèi)的字符被全部傳送給用戶(hù)程序后,便將該緩沖區(qū)從輸入鏈中移出,再重新鏈入空緩沖區(qū)鏈中。顯然,利用公用緩沖池方式可有效地提高緩沖的利用率。圖2所示為公用緩沖池方式。

3.回送顯示
回送顯示(回顯)是指每當(dāng)用戶(hù)從鍵盤(pán)輸入一個(gè)字符后,終端處理程序便將該字符送往屏幕顯示。回顯可以通過(guò)硬件實(shí)現(xiàn),優(yōu)點(diǎn)是速度較快,但往往會(huì)引起麻煩。如當(dāng)用戶(hù)輸入口令時(shí),為防止口令被盜用,顯然不該有回顯。此外,用硬件實(shí)現(xiàn)回顯也缺乏靈活性,因而近年來(lái)多改用軟件來(lái)實(shí)現(xiàn)回顯,這樣可以做到在用戶(hù)需要時(shí)才回顯。用軟件實(shí)現(xiàn)回顯,還可方便地進(jìn)行字符變換,如將鍵盤(pán)輸入的小寫(xiě)英文字母變成大寫(xiě)。驅(qū)動(dòng)程序在將輸入的字符送往屏幕回顯時(shí),應(yīng)打印在正確的位置上;當(dāng)光標(biāo)走到一行的最后一個(gè)位置后,便應(yīng)返回到下一行的開(kāi)始位置。例如,當(dāng)所輸入的字符數(shù)目超過(guò)一行的80個(gè)(字符)時(shí),應(yīng)自動(dòng)地將下一個(gè)字符打印到下一行的開(kāi)始位置。
4.屏幕編輯
用戶(hù)有時(shí)需要對(duì)從鍵盤(pán)輸入的數(shù)據(jù)(字符)進(jìn)行修改,如刪除(插入)一個(gè)或多個(gè)字符。為此,終端處理程序還應(yīng)具有屏幕編輯功能,包括能提供若干個(gè)編輯鍵。常用的編輯鍵有如下幾個(gè)。
(1)刪除字符鍵。它允許將用戶(hù)剛輸入的字符刪除。在有的系統(tǒng)中是利用退格鍵(Backspace)。當(dāng)用戶(hù)敲擊該鍵時(shí),處理程序并不將剛輸入的字符送入字符隊(duì)列而是從字符隊(duì)列中移出其前面的一個(gè)字符。
(2)刪除一行鍵。該鍵用于將剛輸入的一行刪去。
(3)插入鍵(Insert)。利用該鍵在光標(biāo)處可插入一個(gè)字符或一行正文。
(4)移動(dòng)光標(biāo)鍵。在鍵盤(pán)上有用于對(duì)光標(biāo)進(jìn)行上、下、左、右移動(dòng)的鍵。
(5)屏幕上卷(PageUp)或下移(PageDown)鍵。
5.特殊字符處理
終端處理程序必須能對(duì)一些特殊字符進(jìn)行及時(shí)處理,這些字符如下。
(1)中斷字符。當(dāng)程序在運(yùn)行中出現(xiàn)異常情況時(shí),用戶(hù)可通過(guò)輸入中斷字符的辦法來(lái)中止當(dāng)前程序的運(yùn)行。在許多系統(tǒng)中是利用Break鍵、Delete鍵或Ctrl+C鍵作為中斷字符的。對(duì)中斷字符的處理比較復(fù)雜。當(dāng)終端處理程序收到用戶(hù)輸入的中斷字符后,將向該終端上的所有進(jìn)程發(fā)送一個(gè)要求進(jìn)程終止的軟中斷信號(hào),這些進(jìn)程收到該軟中斷信號(hào)后,便進(jìn)行自我終止。
(2)停止上卷字符。用戶(hù)輸入此字符后,終端處理程序應(yīng)使正在上卷的屏幕暫停上卷,以便用戶(hù)仔細(xì)觀察屏幕內(nèi)容。在有的系統(tǒng)中,是利用Ctrl+S組合鍵停止屏幕上卷的。
(3)恢復(fù)上卷字符。有的系統(tǒng)利用Ctrl+Q組合鍵使停止上卷的屏幕恢復(fù)上卷。終端處理程序收到該字符后,便恢復(fù)屏慕的上卷功能。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注