【計算機組成原理】緩沖技術SPOOLing技術

緩沖技術

  1. 單緩沖區:初始:工作區滿,緩沖區空
    每塊用時max(處理時間, 輸入時間) + 傳送時間
  2. 雙緩沖區:先裝1,1滿才裝2。初始:工作區空,1空,2滿
    每塊用時max(處理時間, 傳送時間) + 輸入時間
  • 若 處理時間 + 傳送時間 < 輸入時間,可使塊設備連續輸入
  • 若 處理時間 + 傳送時間 > 輸入時間,可使CPU不必等設備輸入
  1. 緩沖池:多個系統公用的緩沖區。
  2. 真題:
  • 鍵盤中斷(按一次觸發一次中斷)服務例程執行結束時,所輸入的數據存放位置是:
    • CPU通用寄存器:是程序處理內部暫存
    • 鍵盤控制器數據緩沖區:它的功能是,按多個鍵記錄手同時按了誰,比如ctrl+shift,然后整體發出
    • 內核緩沖區:先做下一步處理再給用戶看
    • 用戶緩沖區

  • 三隊列
    • 空緩沖隊列
    • 輸入隊列:裝滿輸入數據的緩沖隊列
    • 輸出隊列:裝滿輸出數據的緩沖隊列
  • 四工作緩沖區
    • 收容輸入工作緩沖區
    • 提取輸入工作緩沖區
    • 收容輸出工作緩沖區
    • 提取輸出工作緩沖區
  • 三隊列+四區工作流程:
    • 當輸入進程要輸入數據,從空緩沖隊列首部取一,作為收容輸入放入數據,裝滿后掛到輸入隊列隊尾。
    • 當計算進程要使用數據,從輸入隊列首部取一,作為提取輸入拿走數據,用完后掛到空緩沖隊列隊尾。
    • 當計算進程要輸出數據,從空緩沖隊列首部取一,作為收容輸出放入數據,裝滿后掛到輸出隊列隊尾。
    • 當輸出進程要輸出數據,從輸出隊列首部取一,作為提取輸出拿走數據,用完后掛到空緩沖隊列隊尾。

SPOOLing技術

關鍵點內容
核心思想通過輸入/輸出井虛擬化獨占設備,實現共享,即讓多個作業共享一臺獨占設備
依賴條件1. 外存(井文件)
2. 多道程序設計
虛擬實現多道程序技術+磁盤緩沖
數據流方向輸入設備 → 輸入井 → CPU → 輸出井 → 輸出設備
用戶權限僅操作內存緩沖區的數據讀寫,設備與井的傳輸由系統OS后臺進程管理。
典型應用打印機共享,批量作業處理,磁帶機操作
不適合應用不適用于交互式I/O(如鍵盤輸入),僅適合批處理作業
對比緩沖技術SPOOLing持久化到磁盤,緩沖僅暫存于內存
  1. 輸入/輸出井:本質是磁盤緩沖必須依賴外存(如硬盤)
  2. 輸入/輸出進程:本質是后臺進程,負責設備與井之間的數據傳輸(SPOOLing技術/系統控制,用戶不感知)。由操作系統內核管理,用戶無權直接干預
  3. 井管理程序就是用戶進程,只負責自己的緩沖區。
  4. 目標:空間換時間,用戶與物理設備解耦,傳輸對用戶透明。
  5. 請求隊列:多個用戶作業共享設備時的排隊機制(如打印隊列)。排隊可能調度:FIFO、優先級。
  6. 外圍控制機將 低速IO設備上數據 傳到 高速磁盤上:外圍控制機是專門管理低速I/O設備(如打印機、卡片閱讀器)與高速磁盤(SPOOLing緩沖區)之間數據傳輸的硬件控制器或專用處理機。它的工作有:
  • 數據中轉:將低速設備的數據預先傳輸到磁盤(輸入井)或從磁盤(輸出井)傳回設備。
  • 調度管理:協調多臺I/O設備的并發操作,避免主機等待。
  • 緩沖機制:通過磁盤緩沖實現速度匹配(低速設備vs高速CPU/磁盤)。
  1. 緩沖技術的區別:
  • 緩沖(Buffer):僅解決速度差異(如CPU vs 內存),數據不持久
  • SPOOLing:解決設備獨占性,數據持久化到磁盤(井文件)。
  1. 性能影響:
  • 優點:提高I/O速度、減少空閑時間、支持多作業并發。
  • 缺點:占用額外磁盤空間、增加系統復雜度。
  1. 與DMA的對比:
對比項SPOOLingDMA (Direct Memory Access)
控制主體操作系統(軟件)DMA 控制器(硬件)
數據目標磁盤(輸入/輸出井)內存
速度匹配解決低速設備與 CPU 的矛盾解決高速設備與內存的矛盾
傳輸單位文件/作業級數據塊級(如磁盤扇區)
CPU 干預需要調度和管理進程傳輸期間完全不需要 CPU 參與
典型應用打印機共享、批處理作業磁盤、網卡、顯卡等高速設備
依賴條件需要多道程序設計和外存需要 DMA 控制器和總線支持
  1. 與傳統IO的對比:
特性SPOOLing 系統傳統 I/O 方式
設備共享性虛擬共享(多作業并發使用)獨占(單作業獨占設備)
CPU 利用率高(CPU 不等待 I/O)低(CPU 需等待 I/O 完成)
用戶控制層級用戶僅控制內存緩沖區,設備傳輸由系統管理用戶直接控制設備
依賴技術多道程序設計 + 外存支持無特殊要求
數據持久性數據暫存于磁盤(井文件)數據不持久
適用場景打印機、磁帶機等獨占設備簡單交互式 I/O
  1. 做題
    對于SPOOLing技術的描述,錯誤的是:
    A、 只能在多任務操作系統上使用
    B、 可以將物理上的獨占設備抽象成邏輯上的共享設備
    C、 輸出數據由輸出進程送入輸出井中保存
    D、 輸入數據由輸入進程送入輸入井中保存
    根據SPOOLing技術的工作原理和特點,我們分析各選項:

正確答案:AC

詳細解析:

選項分析結論
ASPOOLing技術可以在單任務系統(如早期批處理系統)上實現,并非必須多任務環境錯誤
B正確描述,通過輸入/輸出井實現物理獨占設備→邏輯共享設備的轉換正確
C輸出方向應為:用戶進程→輸出井→輸出設備(選項描述反了)錯誤
D輸入方向正確:輸入設備→輸入井→用戶進程正確

關鍵點說明
SPOOLing核心組件:

  • 輸入井/輸出井(磁盤空間)
  • 輸入/輸出進程(后臺守護進程)
  • 設備分配表(記錄虛擬-物理映射)

技術本質圖解

輸入進程
用戶進程
用戶進程
輸出進程
輸入設備
輸入井
CPU
輸出井
輸出設備

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

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

相關文章

給網站添加live2d看板娘

給網站添加live2d看板娘 參考文獻&#xff1a; stevenjoezhang/live2d-widget: 把萌萌噠的看板娘抱回家 (ノ≧?≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 網站環境如下&#xff0c;文章也主…

web端rtmp推拉流測試、抽幀識別計數,一鍵式生成巡檢報告

本文旨在實現無人機城市交通智慧巡檢中的一個模塊——無人機視頻實時推拉流以及識別流并在前端展示&#xff0c;同時&#xff0c;統計目標數量以及違停數量&#xff0c;生成結果評估&#xff0c;一并發送到前端展示。對于本文任何技術上的空缺&#xff0c;可在博主主頁前面博客…

基于自適應虛擬諧波阬的光儲VSG并網電流諧波抑制模型

“電氣仔推送”獲得資料&#xff08;專享優惠&#xff09; 模型簡介 此模型完全復現于《基于自適應虛擬阻抗的光儲并網系統諧波抑制策略》-程靜 此并網系統模型的核心控制為虛擬同步發電機&#xff08;VSG&#xff09;控制&#xff0c;采用基于混合廣義積分器的諧波信號提取…

【RockeMQ】第2節|RocketMQ快速實戰以及核?概念詳解(二)

升級Dledger高可用集群 一、主從架構的不足與Dledger的定位 主從架構缺陷 數據備份依賴Slave節點&#xff0c;但無自動故障轉移能力&#xff0c;Master宕機后需人工切換&#xff0c;期間消息可能無法讀取。Slave僅存儲數據&#xff0c;無法主動升級為Master響應請求&#xff…

【會員專享數據】2017-2024年我國分省的10米精度土地覆蓋數據

土地覆蓋數據是我們在各項研究中都非常常用的數據&#xff0c;之前我們分享過2017-2024年全球范圍的10米精度土地覆蓋數據&#xff08;均可查看之前的文章獲悉詳情&#xff09;&#xff01;該數據提供瓦片形式&#xff0c;也就是全球的數據沒有拼成一張圖&#xff0c;很多小伙伴…

通過css實現正方體效果

效果 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>/* css實…

Java并發編程-理論基礎

Java并發編程-理論基礎 1、什么是進程&#xff1f; 進程&#xff08;Process&#xff09;是計算機中的程序關于某數據集合上的一次運行活動&#xff0c;是系統進行資源分配的基本單位&#xff0c;是操作系統結構的基礎。在早期面向進程設計的計算機結構中&#xff0c;進程是程…

Tornado WebSocket實時聊天實例

在 Python 3 Tornado 中使用 WebSocket 非常直接。你需要創建一個繼承自 tornado.websocket.WebSocketHandler 的類&#xff0c;并實現它的幾個關鍵方法。 下面是一個簡單的示例&#xff0c;演示了如何創建一個 WebSocket 服務器&#xff0c;該服務器會接收客戶端發送的消息&a…

模塊化架構下的前端調試體系建設:WebDebugX 與多工具協同的工程實踐

隨著前端工程化的發展&#xff0c;越來越多的項目采用模塊化架構&#xff1a;單頁面應用&#xff08;SPA&#xff09;、微前端、組件化框架等。這類架構帶來了良好的可維護性和復用性&#xff0c;但也帶來了新的調試挑戰。 本文結合我們在多個模塊化項目中的真實經驗&#xff…

高考:如何合理選擇學科、專業以及職業

如何合理選擇學科、專業以及職業 一、自我認知&#xff1a;明確自身興趣與優勢&#xff08;一&#xff09;興趣探索&#xff08;二&#xff09;能力評估&#xff08;三&#xff09;價值觀與目標 二、外部調研&#xff1a;深入了解學科、專業與職業&#xff08;一&#xff09;學…

【新品解讀】一板多能,AXRF49 定義新一代 RFSoC FPGA 開發平臺

“硬件系統龐雜、調試周期長” “高頻模擬前端不穩定&#xff0c;影響采樣精度” “接收和發射鏈路難以同步&#xff0c;難以擴展更多通道” “數據流量大&#xff0c;處理與存儲跟不上” 這些是大部分客戶在構建多通道、高頻寬的射頻采樣鏈路時&#xff0c;面臨的主要問題。…

實現仿中國婚博會微信小程序

主要功能&#xff1a; 1、完成底部標簽導航設計、首頁海報輪播效果設計和宮格導航設計&#xff0c;如圖1所示 2、在首頁里&#xff0c;單擊全部分類宮格導航的時候&#xff0c;會進入到全部分類導航界面&#xff0c;把婚博會相關內容的導航集成到一個界面里&#xff0c;如圖2…

MySQL強化關鍵_020_SQL 優化

目 錄 一、order by 優化 1.未添加索引 2.添加索引 3.復合索引默認升序排列 4.復合索引降序排列 5.復合索引升序降序排列并用 6.總結 二、group by 優化 1.未添加索引 2.添加索引 3.添加復合索引 三、limit 優化 四、主鍵優化 1.主鍵設計原則 五、insert 優化…

湖北理元理律師事務所視角:企業債務優化的三維平衡之道

核心提示&#xff1a;債務優化的本質不是消滅債務&#xff0c;而是在法律框架內重建財務可持續性。 一、企業債務危機的典型誤區 某制造企業主曾向我坦言&#xff1a;“用新貸還舊貸3年&#xff0c;債務從200萬滾到500萬。”這類案例暴露出企業債務處置的共性痛點&#xff1a…

【Ragflow】27.RagflowPlus(v0.4.1):小版本迭代,問題修復與功能優化

概述 RagflowPlus v0.4.0 在發布后&#xff0c;收到了積極的反饋&#xff0c;同時也包含一些問題。 本次進行一輪小版本更新&#xff0c;發布 v0.4.1 版本&#xff0c;對已知問題進行修復&#xff0c;并對部分功能進行進一步優化。 開源地址&#xff1a;https://github.com/…

【hadoop】Flink安裝部署

一、單機模式 步驟&#xff1a; 1、使用XFTP將Flink安裝包flink-1.13.5-bin-scala_2.11.tgz發送到master機器的主目錄。 2、解壓安裝包&#xff1a; tar -zxvf ~/flink-1.13.5-bin-scala_2.11.tgz 3、修改文件夾的名字&#xff0c;將其改為flume&#xff0c;或者創建軟連接…

Linux 下 ChromeDriver 安裝

個人博客地址&#xff1a;Linux 下 ChromeDriver 安裝 | 一張假鈔的真實世界 Selenium 是一個用于 Web 應用程序測試的工具。可以通過它驅動瀏覽器執行特定的操作&#xff0c;如點擊、下滑、資源加載與渲染等。該工具在爬蟲開發中也非常有幫助。Selenium 需要通過瀏覽器驅動操…

Canal環境搭建并實現和ES數據同步

作者&#xff1a;田超凡 日期&#xff1a;2025年6月7日 Canal安裝&#xff0c;啟動端口11111、8082&#xff1a; 安裝canal-deployer服務端&#xff1a; https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…

STM32使用土壤濕度傳感器

1.1 介紹&#xff1a; 土壤濕度傳感器是一種傳感裝置&#xff0c;主要用于檢測土壤濕度的大小&#xff0c;并廣泛應用于汽車自動刮水系統、智能燈光系統和智能天窗系統等。傳感器采用優質FR-04雙料&#xff0c;大面積5.0 * 4.0厘米&#xff0c;鍍鎳處理面。 它具有抗氧化&…

鎖的藝術:深入淺出講解樂觀鎖與悲觀鎖

在多線程和分布式系統中&#xff0c;數據一致性是一個核心問題。鎖機制作為解決并發沖突的重要手段&#xff0c;被廣泛應用于各種場景。樂觀鎖和悲觀鎖是兩種常見的鎖策略&#xff0c;它們在設計理念、實現方式和適用場景上各有特點。本文將深入探討樂觀鎖和悲觀鎖的原理、實現…