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

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

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