認識計算機的設備管理

在計算機系統中,除了處理器和內存之外,其他的大部分硬設備稱為外部設備。它包括輸入/輸出設備,輔存設備及終端設備等。這些設備種類繁多,特性各異,操作方式的差異很大,從而使操作系統的設備管理變得十分繁雜。在架構師考試中,設備管理需要掌握的知識內容較少,主要為兩個方面:
1.數據傳輸控制方式
設備管理的主要任務之一是控制設備和內存或 CPU 之間的數據傳送。
選擇和衡量控制方式的原則如下:
(1)數據傳送速度足夠高,能滿足用戶的需要但又不丟失數據。
(2)系統開銷小,所需的處理控制程序少。
(3)能充分發揮硬件資源的能力,使得 I/O 設備盡量處于使用狀態中,而 CPU 等待時間少。
外圍設備和內存之間常用的數據傳送控制方式主要有以下幾種:
(1)程序控制方式。處理器啟動數據傳輸,然后等設備完成。
(2)中斷方式。程序控制方式不能實現并發。中斷方式的數據傳輸過程是這樣的,進程啟動數據傳輸(如讀)后,該進程放棄處理器,當數據傳輸完成,設備控制器產生中斷請求,中斷處理程序對數據傳輸工作處理之后,讓相應進程成為就緒狀態。以后,該進程就可以得到所需要的數據。
(3)直接存儲訪問(Direct Memory Access,DMA)方式。指外部設備和內存之間開辟直接的數據交換通路。除了控制狀態寄存器和數據緩沖寄存器外,DMA 控制器中還包括傳輸字節計數器、內存地址寄存器等。DMA 方式采用竊取(或挪用)處理器的工作周期和控制總線而實現輔助存儲器和內存之間的數據交換。有的 DMA 方式也采用總線浮起方式傳輸大批量數據。
(4)通道方式。通道又稱為輸入/輸出處理器(Input/Output Processor,IOP),可以獨立完成系統交付的輸入/輸出任務,通過執行自身的輸入/輸出專用程序(稱通道程序)進行內存和外設之間的數據傳輸。主要有 3 種通道:字節多路通道、選擇通道和成組多路通道。
2.虛設備與 SPOOLING 技術
采用假脫機技術,可以將低速的獨占設備改造成一種可共享的設備,而且一臺物理設備可以對應若干臺虛擬的同類設備。假脫機(Simultaneous Peripheral Operation On Line,SPOOLING)的意思是外部設備同時聯機操作,又稱為假脫機輸入/輸出操作,采用一組程序或進程模擬一臺輸入/輸出處理器。
SPOOLING 系統的組成如圖 2-8 所示。該技術利用了專門的外圍控制機將低速 I/O 設備上的數據傳送到高速設備上,或者相反。但是當引入多道程序后,完全可以利用其中的一道程序來模擬脫機輸入時的外圍控制機的功能,把低速的 I/O 設備上的數據傳送到高速磁盤上;再利用另一道程序來模擬脫機輸出時外圍控制機的功能,把高速磁盤上的數據傳送到低速的 I/O 設備上。這樣便可以在主機的控制下實現脫機輸入、輸出的功能。此時的外圍操作與 CPU 對數據的處理同時進行。
在這里插入圖片描述
采用假脫機技術,可以將低速的獨占設備改造成一種可共享的設備,而且一臺物理設備可以對應若干臺虛擬的同類設備。SPOOLING 系統必須有高速、大容量并且可隨機存取的外存(例如,磁盤或磁鼓)支持。
在現代計算機系統中,還可以用一臺設備來模擬自身。例如,常見的多窗口技術,即在一個終端上開多個窗口,每個窗口可以獨立地進行顯示,以監視用戶不同任務的執行情況。這是通過縮小顯示區域、平鋪或重疊顯示來模擬多個顯示器的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/212073.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/212073.shtml
英文地址,請注明出處:http://en.pswp.cn/news/212073.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【數據結構】哈希表算法總結

知識概覽(哈希表) 哈希表可以將一些值域較大的數映射到較小的空間內,通常用x mod 質數的方式進行映射。為什么用質數呢?這樣的質數還要離2的整數冪盡量遠。這可以從數學上證明,這樣沖突最小。取余還是會出現沖突情況。…

《三十一》開發模式構建工具 Vite

20的40分鐘之前還沒看。 20的1小時15分 基于 Vite2。 在實際開發中,編寫的代碼往往是不能被瀏覽器直接識別的,例如 ES6、React、Vue、TypeScript 等,必須通過構建工具來對代碼進行轉換、編譯,例如 Webpack、Rolluop、Vite 等。 V…

c++模板學習筆記

模板 函數模板類模板 函數模板 函數模板的格式為&#xff1a; template<typename T1,typename T2...> 函數返回值類型 函數名(參數列表) {//函數體 }typename是定義模板參數的關鍵字&#xff0c;可以使用class來代替&#xff08;不能使用struct&#xff09; 函數模板本…

【數據結構 — 排序 — 選擇排序】

數據結構 — 排序 — 選擇排序 一.選擇排序1.基本思想2.直接選擇排序2.1算法講解2.2.代碼實現2.2.1.函數定義2.2.2.算法接口實現2.2.3.測試代碼實現2.2.4.測試展示 3.堆排序3.1.算法講解3.2.代碼實現3.2.1.函數定義3.2.2.算法接口實現3.2.3.測試代碼實現3.2.4.測試展示 一.選擇…

Docker創建mqtt容器mosquitto

#1.創建映射到主機的配置文件/bwss/agent/docker/mosquitto_public/config/mosquitto.conf 內容為&#xff1a; listener 51883 0.0.0.0 # 0.0.0.0 allow_anonymous false persistence false persistence_location /mosquitto/data password_file /mosquitto/config/passwd …

Java 8 新特性深度解析:探索 Lambda 表達式、Stream API 和函數式編程的革新之路

Java8 新特性 Java 8 的革新之路 自 1995 年首次發布以來&#xff0c;Java 已經成為世界上最廣泛使用的編程語言之一。隨著時間的推移&#xff0c;Java 經歷了多次版本更新&#xff0c;其中最具里程碑意義的便是 Java 8 的發布。這個版本引入了許多重大變革&#xff0c;包括 …

開發猿的平平淡淡周末---2023/12/10

天氣陰 溫度適宜17攝氏度 AM 昨晚竟然下小雨了&#xff0c;還好還好&#xff0c;昨天刷的兩個背包基本干了 一覺睡到日三竿&#xff0c;誰是神仙&#xff0c;我是神仙&#xff08;哈哈哈哈哈哈&#xff09; 刷會兒視頻 補充下起床的動力 洗漱&#xff0c;恰飯&#xff0c;肝…

電工--基本放大電路

電壓放大倍數、輸入電阻和輸出電阻是放大電路的三個主要性能指標 共發射極基本交流放大電路 晶體管&#xff1a;電流放大作用。能量較小的輸入信號通過晶體管的控制作用&#xff0c;去控制電源所共給的能量&#xff0c;以在輸出端獲得一個能量較大的信號 集電極電源電壓&#…

traj_dist 筆記:測量軌跡距離

python 筆記 &#xff1a;trajectory_distance包&#xff08;如何可以正確使用&#xff09;【debug篇】-CSDN博客 經過前面的debug后&#xff0c;在setup.py對應的位置&#xff0c;寫代碼&#xff08;直接在別處import traj_dist我還是出問題&#xff09; 1 新建軌跡 import…

電子學會C/C++編程等級考試2021年12月(五級)真題解析

C/C++等級考試(1~8級)全部真題?點這里 第1題:書架 John最近買了一個書架用來存放奶牛養殖書籍,但書架很快被存滿了,只剩最頂層有空余。 John共有N頭奶牛(1 ≤ N ≤ 20,000),每頭奶牛有自己的高度Hi(1 ≤ Hi ≤ 10,000),N頭奶牛的總高度為S。書架高度為B(1 ≤ B ≤ S &…

[LeetCode周賽復盤] 第 375 場周賽20231210

[LeetCode周賽復盤] 第 375 場周賽20231210 一、本周周賽總結100143. 統計已測試設備1. 題目描述2. 思路分析3. 代碼實現 100155. 雙模冪運算1. 題目描述2. 思路分析3. 代碼實現 100137. 統計最大元素出現至少 K 次的子數組1. 題目描述2. 思路分析3. 代碼實現 100136. 統計好分…

Java中多態的一些簡單理解

什么是多態 1.面向對象的三大特性&#xff1a;封裝、繼承、多態。從一定角度來看&#xff0c;封裝和繼承幾乎都是為多態而準備的。這是我們最后一個概念&#xff0c;也是最重要的知識點。 2.多態的定義&#xff1a;指允許不同類的對象對同一消息做出響應。即同一消息可以根據發…

Linux用戶和權限

一、認知root用戶 1.1 了解什么是root用戶&#xff08;超級管理員&#xff09; root用戶&#xff08;超級管理員&#xff09; 無論是Windows、MacOS、Linux均采用多用戶的管理模式進行權限管理。 在Linux系統中&#xff0c;擁有最大權限的賬戶名為&#xff1a;root&#x…

Java9及之后關于類加載器的新特性

為了保證兼容性&#xff0c;JDK9沒有從根本上改變三層類加載器的架構和雙親委派模型&#xff0c;但為了模塊化系統的順利運行&#xff0c;仍然發生了一些值得被注意的變動。 一、變動1 由于引入了模塊化概念&#xff0c;所以不同的類加載器回去加載屬于不同模塊的類 啟動類加…

Nginx負載均衡實戰

&#x1f3b5;負載均衡組件 ngx_http_upstream_module https://nginx.org/en/docs/http/ngx_http_upstream_module.html upstream模塊允許Nginx定義一組或多組節點服務器組&#xff0c;使用時可以通過多種方式去定義服務器組 樣例&#xff1a; upstream backend {server back…

從零開發短視頻電商 在AWS SageMaker已創建的模型列表中進行部署

1.導航到 SageMaker 控制臺。 2.在 SageMaker 控制臺的左側導航欄中&#xff0c;選擇 “模型” 選項。 3.在模型列表中&#xff0c;找到您要部署的模型。選擇該模型。 4.點擊 “創建端點” 選項或者點擊 “創建端點配置” 選項都可以進行部署。 選擇創建端點進去后還是會進行…

k8s中部署基于nfs的StorageClass

部署nfs服務 1.1 創建基礎鏡像(選做) 如果以docker的形式部署nfs server, 參考此步驟, 若否, 該步驟可忽略。 mkdir /data/nfs -p chmod 755 /data/nfs# NFS默認端口: 111、2049、20048 docker run -d \ --privileged \ --name nfs_server \ -p 111:111/tcp \ -p 111:111/ud…

[CTFshow 紅包挑戰] 刷題記錄

文章目錄 紅包挑戰7紅包挑戰8紅包挑戰9 紅包挑戰7 考點&#xff1a;xdebug拓展 源碼 <?php highlight_file(__FILE__); error_reporting(2);extract($_GET); ini_set($name,$value);system("ls ".filter($_GET[1])."" );function filter($cmd){$cmd s…

1832_org-mode的注釋處理

Grey # :OPTIONS ^:nil org-mode的注釋處理 關于這部分其實比較簡單&#xff0c;在我現在的使用訴求上來說要求不多。但是我覺得如果考慮以后把文學式編程作為一種開發的主要體驗的話&#xff0c;掌握這樣的操作很有必要。因為我可以控制部分信息的輸出。 自然&#xff0c;控…

LeetCode-數組-重疊、合并、覆蓋問題-中等難度

435. 無重疊區間 我認為區間類的題型&#xff0c;大多數考驗的是思維能力&#xff0c;以及編碼能力&#xff0c;該類題型本身并無什么算法可言&#xff0c;主要是思維邏輯&#xff0c;比如本題實際上你只需要能夠總結出重疊與不重疊的含義&#xff0c;再加上一點編碼技巧&#…