字元控制塊

字元控制塊

在計算機和電信技術中,一個字元是一個單位的字形、類字形單位或符號的基本信息。字元控制塊是指系統為每一個在系統中進行字元有關操作的程式設定一個有關字元使用情況的控制信息塊,是一種數據控制塊。

基本介紹

  • 中文名:字元控制塊
  • 外文名: character control block
  • 學科:計算機
  • 定義:有關字元使用情況的控制信息塊
  • 有關術語:字元
  • 領域:計算機系統
簡介,字元,字元設備,緩衝區溢出,設備驅動程式,

簡介

控制塊是控制數據塊行為的,不同的控制塊包含一些不同的控制參數。字元控制塊是一種數據控制塊。字元控制塊是指系統為每一個在系統中進行字元有關操作的程式設定一個有關字元使用情況的控制信息塊。字元控制塊在計算機系統中有很多地方有套用,例如在緩衝區中和字元設備中都有用到字元控制塊,主要用於控制字元讀取,防止字元緩衝區溢出。字元控制塊的功能一般都是通過程式實現,即設備驅動程式

字元

字元是指計算機中使用的字母、數字符號,包括:1、2、3、A、B、C、~!·#¥%……—*()——+等等。在 ASCII 編碼中,一個英文字母字元存儲需要1個位元組。在 GB 2312 編碼或 GBK 編碼中,一個漢字字元存儲需要2個位元組。在UTF-8編碼中,一個英文字母字元存儲需要1個位元組,一個漢字字元儲存需要3到4個位元組。在UTF-16編碼中,一個英文字母字元或一個漢字字元存儲都需要2個位元組(Unicode擴展區的一些漢字存儲需要4個位元組)。在UTF-32編碼中,世界上任何字元的存儲都需要4個位元組。

字元設備

主要指工作速度比較低的機電類設備,如字元終端、印表機等。 這類設備通常以字元或字作為與 處理機之間傳送數據的基本單位, 在設備控制器中一般只設定存儲 一個或少數幾個字元的緩衝暫存 器。對於輸入設備,緩衝暫存器用 來作為CPU讀取數據的源暫存 器;而對於輸出設備,緩衝暫存器 用來作為CPU傳送數據的目的寄 存器。這種設備通常只在啟動、停 止或已經準備好進行數據傳送或 接收時要求CPU服務,而在主存 中也只需要指定少數空間進行打 包或差錯控制。
當一台字元型設備在硬體上與主機相連之後,必須為這台設備創建字元特別檔案。作業系統的mknod命令被用來建立設備特別檔案。例如為一台終端創建名為/dev/tty03的命令如下(設主設備號為2,次設備為13,字元型類型標記c):
mknod /dev/tty03 c 2 13
此後,open, close, read, write等系統調用適用於設備檔案/dev/tty03。設備與驅動程式的通信方式依賴於硬體接口。當設備上的數據傳輸完成時,硬體通過匯流排發出中斷信號導致系統執行一個中斷處理程式。中斷處理程式與設備驅動程式協同工作完成數據傳輸的底層控制。

緩衝區溢出

緩衝區是由多個以不同速度或優先權 運行的硬體或程式進程共享的數據區。緩衝區的存在使它們之間的相互等待變少了。緩衝區溢出(buffer overflow),是針對程式設計缺陷,向程式輸入緩衝區寫入使之溢出的內容(通常是超過緩衝區能保存的最大數據量的數據),從而破壞程式運行、趁著中斷之際並獲取程式乃至系統的控制權。緩衝區溢出原指當某個數據超過了處理程式限制的範圍時,程式出現的異常操作。造成此現象的原因有:存在缺陷的程式設計。尤其是C語言,不像其他一些高級語言會自動進行數組或者指針的邊界檢查,增加溢出風險。C語言中的C標準庫還具有一些非常危險的操作函式,使用不當也為溢出創造條件。

設備驅動程式

一個能使計算機連線並控制 某一外部設備的程式。每個操作系 統中都包含有為鍵盤、顯示器等設 置的一套標準設備驅動程式;但是 如果你要外加專門的外設,如光碟 驅動器或網卡,則可能需要加入適 當的設備驅動程式,以便讓操作系 統知道如何管理該設備。在DOS 作業系統中,CONFIG.SYS檔案 中的DEVICE或DEVICEHIGH 命令用來裝載設備驅動程式。在不同的作業系統中所採用的設備處理方式並不完全相同。根據在設備處理時是否設定進程,以及設定什麼樣的進程而把設備處理方式分成以下三類:
(1) 為每一類設備設定一個進程,專門用於執行這類設備的 I/O 操作。比如,為所有的互動式終端設定一個互動式終端進程;又如,為同一類型的印表機設定一個列印進程。
(2) 在整個系統中設定一個 I/O 進程,專門用於執行系統中所有各類設備的 I/O 操作。也可以設定一個輸入進程和一個輸出進程,分別處理系統中所有各類設備的輸入或輸出操作。
(3) 不設定專門的設備處理進程,而只為各類設備設定相應的設備處理程式(模組),供用戶進程或系統進程調用。

相關詞條

熱門詞條

聯絡我們