字符設備(character devices)
:另一類 I/O 設備是字符設備
。字符設備以字符
為單位發送或接收一個字符流,而不考慮任何塊結構。字符設備是不可尋址的,也沒有任何尋道操作。常見的字符設備有 打印機、網絡設備、鼠標、以及大多數與磁盤不同的設備。
設備控制器(device controller)
: 設備控制器是處理 CPU 傳入信號和傳出信號的系統。設備通過插頭和插座連接到計算機,並且插座連接到設備控制器。ECC(Error-Correcting Code)
: 指能夠實現錯誤檢查和糾正錯誤技術的內存。I/O port
: 也被稱為輸入/輸出端口,它是由軟件用來與計算機上的硬件進行通信的內存地址。內存映射I/O(memory mapped I/O,MMIO)
: 內存映射的 I/O 使用相同的地址空間來尋址內存和 I/O 設備,也就是說,內存映射I/O 設備共享同一內存地址。端口映射I/O(Port-mapped I/O ,PMIO)
:在 PMIO中,內存和I/O設備有各自的地址空間。 端口映射I/O通常使用一種特殊的CPU指令,專門執行I/O操作。DMA (Direct Memory Access)
: 直接內存訪問,它是計算機系統的一項功能,它允許某些硬件系統能夠獨立於 CPU 訪問內存。如果沒有 DMA,當 CPU 執行輸入/輸出指令時,它通常在讀取或寫入操作的整個過程中都被完全占用,因此無法執行其他工作。使用 DMA 后,CPU 首先啟動傳輸信號,然后在進行傳輸時執行其他操作,最后在完成操作后從 DMA 控制器(DMAC)接收中斷。完成執行。
-
周期竊取(cycle stealing)
:許多總線能夠以兩種模式操作:每次一字模式和塊模式。一些 DMA 控制器也能夠使用這兩種方式進行操作。在前一個模式中,DMA 控制器請求傳送一個字並得到這個字。如果 CPU 想要使用總線,它必須進行等待。設備可能會偷偷進入並且從 CPU 偷走一個總線周期,從而輕微的延遲 CPU。它類似於直接內存訪問(DMA),允許I / O控制器在無需 CPU 干預的情況下讀取或寫入RAM。 -
突發模式(burst mode)
: 指的是設備在不進行單獨事務中重復傳輸每個數據所需的所有步驟的情況下,重復傳輸數據的情況。 -
中斷向量表(interrupt vector table)
: 用來形成相應的中斷服務程序的入口地址或存放中斷服務程序的首地址稱為中斷向量。 中斷向量表是中斷向量的集合,中斷向量是中斷處理程序的地址。 -
精確中斷(precise interrupt)
:精確中斷是一種能夠使機器處於良好狀態下的中斷,它具有如下特征
- PC (程序計數器)保存在一個已知的地方
- PC 所指向的指令之前所有的指令已經完全執行
- PC 所指向的指令之后所有的指令都沒有執行
- PC 所指向的指令的執行狀態是已知的
-
非精確中斷(imprecise interrupt)
:不滿足以上要求的中斷,指令的執行時序和完成度具有不確定性,而且恢復起來也非常麻煩。 -
設備獨立性(device independence)
:我們編寫訪問任何設備的應用程序,不用事先指定特定的設備。比如你編寫了一個能夠從設備讀入文件的應用程序,那么這個應用程序可以從硬盤、DVD 或者 USB 進行讀入,不必再為每個設備定制應用程序。這其實就體現了設備獨立性的概念。
UNC(Uniform Naming Convention)
:UNC 是統一命名約定或統一命名約定的縮寫,是用於命名和訪問網絡資源(例如網絡驅動器,打印機或服務器)的標准。 例如,在 MS-DOS 和 Microsoft Windows 中,用戶可以通過鍵入或映射到類似於以下示例的共享名來訪問共享資源。
\\computer\path
然而,在 UNIX 和 Linux 中,你會像如下這么寫
//computer/path
-
掛載(mounting)
:掛載是指操作系統會讓存儲在硬盤、CD-ROM 等資源設備上的目錄和文件,通過文件系統能夠讓用戶訪問的過程。 -
錯誤處理(Error handling)
: 錯誤處理是指對軟件應用程序中存在的錯誤情況的響應和恢復過程。 -
同步阻塞(synchronous)
: 同步是阻塞式的,CPU 必須等待同步的處理結果。 -
異步響應(asynchronous)
: 異步是由中斷驅動的,CPU 不用等待每個操作的處理結果繼而執行其他操作 -
緩沖區(buffering)
: 緩沖區是內存的臨時存儲區域,它的出現是為了加快內存的訪問速度而設計的。對於經常訪問的數據和指令來說,CPU 應該訪問的是緩沖區而非內存 -
Programmed input–output,PIO
:它指的是在 CPU 和外圍設備(例如網絡適配器或 ATA 存儲設備)之間傳輸數據的一種方法。 -
輪詢(polling)
: 輪詢是指通過客戶端程序主動通過對每個設備進行訪問來獲得同步狀態的過程。
-
忙等(busy waiting)
:當一個進程正處在某臨界區內,任何試圖進入其臨界區的進程都必須等待,陷入忙等狀態。連續測試一個變量直到某個值出現為止,稱為忙等。 -
可重入(reentrant)
: 如果一段程序或者代碼在任意時刻被中斷后由操作系統調用其他程序或者代碼,這段代碼調用子程序並能夠正確運行,這種現象就稱為可重入。也就是說當該子程序正在運行時,執行線程可以再次進入並執行它,仍然獲得符合設計時預期的結果。 -
主設備編號(major device number)、副設備編號(minor device number)
: 所有設備都有一個主,副號碼。 主號碼是更大,更通用的類別(例如硬盤,輸入/輸出設備等),而次號碼則更具體(即告訴設備連接到哪條總線)。 -
多重緩沖區(double buffering)
: 它指的是使用多個緩沖區來保存數據塊,每個緩沖區都保留數據塊的一部分,讀取的時候通過讀取多個緩沖區的數據進而拼湊成一個完整的數據。 -
環形緩沖區(circular buffer)
: 它指的是首尾相連的緩沖區,常用來實現數據緩沖流。
-
假脫機(Spooling)
:假脫機是多程序的一種特殊形式,目的是在不同設備之間復制數據。 在現代系統中,通常用於計算機應用程序和慢速外圍設備(例如打印機)之間的中介。 -
守護進程(Daemon)
: 在計算機中,守護程序是作為后台進程運行的計算機程序,而不是在交互式用戶的直接控制下運行的程序。 -
邏輯塊尋址(logical block addressing, LBA)
:邏輯塊尋址是一種通用方案,用於指定存儲在計算機存儲設備上的數據塊的位置。 -
RAID
:全稱是 Redundant Array of Inexpensive Disks ,廉價磁盤或驅動器的冗余陣列,它是一種數據存儲虛擬化的技術,將多個物理磁盤驅動器組件組合成一個或多個邏輯單元,以實現數據冗余,改善性能。
MBR(Master Boot Record)
:主引導記錄(MBR)是任何硬盤或軟盤的第一扇區中的信息,用於標識操作系統的放置方式和位置,以便可以將其加載到計算機的主存儲器或隨機存取存儲器中。
-
FCFS (First-Come, First-Served)
: 先進先出的調度算法,也就是說,首先到達 CPU 的進程首先進行服務。 -
SSF (Shortest Seek First)
最短路徑優先算法,這是對先進先出算法的改進,這種算法因為減少了總的磁臂運動,從而縮短了平均響應時間。 -
穩定存儲(stable storage)
: 它是計算機存儲技術的一種分類,該技術可確保任何給定的寫操作都具有原子性。 -
時鍾(Clocks)
:也被稱為 timers。通常,時鍾是指調節所有計算機功能的時序和速度的微芯片。芯片中是一個晶體,當通電時,晶體會以特定的頻率振動。 任何一台計算機能夠執行的最短時間是一個時鍾或時鍾芯片的一次振動。 -
QR Code
: 二維碼的一種,它的全稱是快速響應矩陣圖碼,能夠快速響應。一般應用於手機讀碼操作,國內火車票上的二維碼就是 QR 碼
顯卡(Video card)
,是個人電腦最基本組成部分之一,用途是將計算機系統所需要的顯示信息進行轉換驅動顯示器,並向顯示器提供逐行或隔行掃描信號,控制顯示器的正確顯示,是連接顯示器和個人電腦主板的重要組件,是人機對話
的重要設備之一。
-
GDI (Graphics Device Interface)
:圖形接口,是微軟視窗系統提供的應用程序接口,也是其用來表征圖形對象、將圖形對象傳送給諸如顯示器、打印機之類輸出設備的核心組件。 -
設備上下文(device context)
:設備上下文是 Windows 數據結構,其中包含有關設備(例如顯示器或打印機)的圖形屬性的信息。 所有繪圖調用都是通過設備上下文對象進行的,該對象封裝了用於繪制線條,形狀和文本的 Windows API。 設備上下文可用於繪制到屏幕,打印機或圖元文件。 -
位圖(bitmap)
:在計算機中,位圖是從某個域(例如,整數范圍)到位的映射。也稱為位數組或位圖索引。 -
電阻式觸摸屏(Resistive touchscreens)
:電阻式觸摸屏基於施加到屏幕上的壓力來工作。 電阻屏由許多層組成。 當按下屏幕時,外部的后面板將被推到下一層,下一層會感覺到施加了壓力並記錄了輸入。 電阻式觸摸屏用途廣泛,可以用手指,指甲,手寫筆或任何其他物體進行操作。
電容式觸摸屏(capacitive touchscreen)
:電容式觸摸屏通過感應物體(通常是指尖上的皮膚)的導電特性來工作。 手機或智能手機上的電容屏通常具有玻璃表面,並且不依賴壓力。 當涉及到手勢(如滑動和捏合)時,它比電阻式屏幕更具響應性。 電容式觸摸屏只能用手指觸摸,而不能用普通的手寫筆,手套或大多數其他物體來響應。
死鎖(deadlock)
:死鎖常用於並發情況下,死鎖
是一種狀態,死鎖中的每個成員都在等待另一個成員(包括其自身)采取行動。
相信你一定看過這個圖
-
可搶占資源(preemptable resource)
:可以從擁有它的進程中搶占而並不會產生任何副作用。 -
不可搶占資源(nonpreemptable resource)
:與可搶占資源相反,如果資源被搶占后,會導致進程或任務出錯。 -
系統檢查點(system checkpointed)
:系統檢查點是操作系統(OS)的可啟動實例。檢查點是計算機在特定時間點的快照。 -
兩階段加鎖(two-phase locking, 2PL)
:經常用於數據庫的並發控制,以保證可串行化
這種方法使用數據庫鎖在兩個階段:
-
擴張階段:不斷上鎖,沒有鎖被釋放
-
收縮階段:鎖被陸續釋放,沒有新的加鎖
-
活鎖(Livelock)
:活鎖類似於死鎖,不同之處在於,活鎖中僅涉及進程的狀態彼此之間不斷變化,沒有進展。舉一個現實世界的例子,當兩個人在狹窄的走廊里相遇時,就會發生活鎖,每個人都試圖通過移動到一邊讓對方通過而禮貌,但最終卻沒有任何進展就左右搖擺,因為他們總是同時移動相同的方式。 -
飢餓(starvation)
:在死鎖或者活鎖的狀態中,在任何時刻都可能請求資源,雖然一些調度策略能夠決定一些進程在某一時刻獲得資源,但是有一些進程永遠無法獲得資源。永遠無法獲得資源的進程很容易產生飢餓
。 -
沙盒(sandboxing)
:沙盒是一種軟件管理策略,可將應用程序與關鍵系統資源和其他程序隔離。它提供了一層額外的安全保護,可防止惡意軟件或有害應用程序對你的系統造成負面影響。 -
VMM (Virtual Machine Monitor)
:也被稱為 hypervisor,在同一個物理機器上創建出來多態虛擬機器的假象。
-
虛擬化技術(virtualization)
: 是一種資源管理技術,將計算機的各種實體資源(CPU、內存、磁盤空間、網絡適配器等),進行抽象、轉換后呈現出來並可供分割、組合為一個或多個電腦配置環境。 -
雲(cloud)
:雲是目前虛擬機最重要、最時髦的玩法。 -
解釋器(interpreter)
: 解釋器是一種程序,能夠把編程語言一行一行解釋運行。每次運行程序時都要先轉成另一種語言再運行,因此解釋器的程序運行速度比較緩慢。它不會一次把整個程序翻譯出來,而是每翻譯一行程序敘述就立刻運行,然后再翻譯下一行,再運行,如此不停地進行下去。 -
半虛擬化(paravirtualization)
: 半虛擬化的目的不是呈現出一個和底層硬件一摸一樣的虛擬機,而是提供一個軟件接口,軟件接口與硬件接口相似但又不完全一樣。 -
全虛擬化(full virtualization)
:全虛擬化是硬件虛擬化的一種,允許未經修改的客操作系統隔離運行。對於全虛擬化,硬件特征會被映射到虛擬機上,這些特征包括完整的指令集、I/O操作、中斷和內存管理等。 -
客戶操作系統(guest operating system)
: 客戶操作系統是安裝在計算機上操作系統之后的操作系統,客戶操作系統既可以是分區系統的一部分,也可以是虛擬機設置的一部分。客戶操作系統為設備提供了備用操作系統。 -
主機操作系統(host operating system)
: 主機操作系統是計算機系統的硬盤驅動器上安裝的主要操作系統。 在大多數情況下,只有一個主機操作系統。 -
塊設備(block devices)
:塊設備是一個能存儲固定大小塊
信息的設備,它支持以固定大小的塊,扇區或群集讀取和(可選)寫入數據。每個塊都有自己的物理地址
。通常塊的大小在 512 - 65536 之間。所有傳輸的信息都會以連續
的塊為單位。塊設備的基本特征是每個塊都較為對立,能夠獨立的進行讀寫。常見的塊設備有 硬盤、藍光光盤、USB 盤
文章參考:
https://www.techopedia.com/definition/15763/host-operating-system
https://en.wikibooks.org/wiki/Operating_System_Design/Concurrency/Livelock
https://www.studytonight.com/operating-system/first-come-first-serve
https://blog.csdn.net/liuchuo/article/details/51986201
https://docs.openstack.org/ceilometer/6.1.5/architecture.html
https://www.techopedia.com/definition/16626/error-handling
https://simple.wikipedia.org/wiki/Device_controller
https://blog.csdn.net/zhangjg_blog/article/details/20380971
https://www.techopedia.com/definition/4763/address-space
https://en.wikipedia.org/wiki/Direct_Media_Interface
https://en.wikipedia.org/wiki/Bus_(computing)
https://en.wikipedia.org/wiki/Interrupt_vector_table
https://en.wikipedia.org/wiki/Busy_waiting
https://en.wikipedia.org/wiki/Context_switch
https://en.wikipedia.org/wiki/Read-only_memory
https://www.techopedia.com/definition/6306/cache-hit