freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

設(shè)備管理_2(編輯修改稿)

2025-03-09 07:10 本頁面
 

【文章內(nèi)容簡介】 起來統(tǒng)一管理,既可用于輸入又可用于輸出的緩沖結(jié)構(gòu)。 緩沖池的管理 ? 1. 緩沖池的結(jié)構(gòu) ? 緩沖池由多個緩沖區(qū)組成。每個緩沖區(qū)又由兩部分組成: ? 一部分是用來標(biāo)識該緩沖區(qū)和管理的緩沖首部; ? 另一部分是用于存放數(shù)據(jù)的緩沖體。這兩部分有一一對應(yīng)的映射關(guān)系。 ? 對于既可用于輸入又可用于輸出的公用緩沖池,其中至少應(yīng)包含以下三種類型的緩沖區(qū): ? (1) 空閑緩沖區(qū); ? (2) 裝滿輸入數(shù)據(jù)的緩沖區(qū); ? (3) 裝滿輸出數(shù)據(jù)的緩沖區(qū)。 緩沖池的管理 ? 為了方便于管理,系統(tǒng)把相同類型的緩沖區(qū)鏈接成一個隊列,于是可形成以下三種隊列: ? (1) 空閑緩沖隊列 emq。這是由空閑緩沖區(qū)鏈接成的隊列。其隊首指針為 F(emq),隊尾指針為 L(emq)。 ? (2) 裝滿輸入數(shù)據(jù)的輸入緩沖隊列 inq。這是由裝滿輸入數(shù)據(jù)的緩沖區(qū)鏈接成的隊列。其隊首指針為 F(inq),隊尾指針為L(inq)。 ? (3) 裝滿輸出數(shù)據(jù)的輸出緩沖隊列 outq。這是由裝滿輸出數(shù)據(jù)的緩沖區(qū)鏈接成的隊列。其隊首指針為 F(outq),隊尾指針為 L(outq)。 F ( e m q )緩 沖 區(qū) 1 緩 沖 區(qū) 2 ?L ( e m q )F ( i n q )緩 沖 區(qū) 1 緩 沖 區(qū) 2 ?L ( i n q )F ( o u t q )緩 沖 區(qū) 1 緩 沖 區(qū) 2 ?L ( o u t q ) 緩沖池的管理 ? 在緩沖池中,有以下 4種工作緩沖區(qū): ? (1) 用于收容設(shè)備輸入數(shù)據(jù)的收容輸入緩沖區(qū) hin。 ? (2) 用于提取設(shè)備輸入數(shù)據(jù)的提取輸入緩沖區(qū) sin。 ? (3) 用于收容 CPU輸出數(shù)據(jù)的收容輸出緩沖區(qū) hout。 ? (4) 用于提取 CPU輸出數(shù)據(jù)的提取輸出緩沖區(qū) sout。 h i n s i ns o u t h o u t緩 沖 池收 容 輸 入收 容 輸 出提 取 輸 出提 取 輸 入C P UI / O 設(shè) 備 緩沖池的管理 ? 2. 緩沖池管理 ? 對緩沖池的管理由如下幾個操作組成: ? (1) 按一定的規(guī)則從 3種緩沖區(qū)隊列中取出一個緩沖區(qū)的過程 take_buf(type)。 ? (2) 按一定的規(guī)則把緩沖區(qū)插入相應(yīng)的緩沖區(qū)隊列的過程 add_buf(type, number)。 ? (3) 供進程申請緩沖區(qū)使用的過程 get_buf(type,number)。 ? (4) 供進程將緩沖區(qū)放入相應(yīng)緩沖區(qū)隊列的過程put_buf(type,work_buf)。 ? 其中,參數(shù) type表示緩沖隊列類型, number為緩沖區(qū)號,而 work_buf則表示工作緩沖區(qū)類型。 緩沖池的管理 ? 緩沖區(qū)可以工作在收容輸入、提取輸入、收容輸出和提取輸出四種工作方式下 。 ? (1) 收容輸入。 ? (2) 提取輸入。 ? (3) 收容輸出。 ? (4) 提取輸出。 h i n s i ns o u t h o u t緩 沖 池收 容 輸 入收 容 輸 出提 取 輸 出提 取 輸 入C P UI / O 設(shè) 備 設(shè) 備 分 配 ? 在多道程序環(huán)境下,系統(tǒng)中的設(shè)備供所有進程共享。為防止諸進程對系統(tǒng)設(shè)備資源的無序競爭,操作系統(tǒng)規(guī)定設(shè)備不允許用戶自行使用,必須由系統(tǒng)統(tǒng)一分配。 ? 每當(dāng)進程向系統(tǒng)提出資源申請時,由設(shè)備分配程序根據(jù)一定的分配策略為進程分配資源。 設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu) ? 1. 設(shè)備控制表 DCT(Device Control Table) ? 系統(tǒng)為每一個設(shè)備都配置一張設(shè)備控制表,用于記錄本設(shè)備的情況。設(shè)備控制表 DCT反映了設(shè)備的特性、設(shè)備和 I/O控制器的連接情況,包括設(shè)備標(biāo)識、使用狀態(tài)和等待使用該設(shè)備的進程隊列等。 DCT包括以下內(nèi)容: ? (1) 設(shè)備標(biāo)識符,設(shè)備標(biāo)識符用于標(biāo)識設(shè)備。 ? (2) 設(shè)備類型,反映設(shè)備的特性,例如是終端設(shè)備、塊設(shè)備或是字符設(shè)備等。 ? (3) 設(shè)備地址或設(shè)備號,每個設(shè)備都有一個相應(yīng)的地址或設(shè)備號。這個地址既可以是和內(nèi)存統(tǒng)一編址的,也可以是單獨編址的。 ? (4) 設(shè)備狀態(tài),指設(shè)備是在工作狀態(tài)還是空閑狀態(tài)。 ? (5) 等待隊列指針,等待使用該設(shè)備的進程組成等待隊列,其隊首和隊尾指針存放在 DCT中。 ? (6) I/O控制器指針,該指針指向設(shè)備相連接的 I/O控制器。 設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu) ? 2. 系統(tǒng)設(shè)備表 SDT(System Device Table) ? 系統(tǒng)設(shè)備表 SDT在整個系統(tǒng)中只有一張,它記錄已被連接到系統(tǒng)中的所有物理設(shè)備的信息,并為每個物理設(shè)備設(shè)置一表項。 SDT的每個表項包括如下內(nèi)容: ? (1) DCT指針,該指針指向有關(guān)設(shè)備的設(shè)備控制表。 ? (2) 正在使用設(shè)備的進程標(biāo)識。 ? (3) 設(shè)備類型和設(shè)備標(biāo)識符,該項的意義與 DCT中的相同。 ? SDT的主要意義在于反映系統(tǒng)中設(shè)備資源的狀態(tài),即系統(tǒng)中有多少設(shè)備,有多少是空閑的,又有多少已經(jīng)分配給了哪些進程。 設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu) ? 3. 控制器控制表 COCT(COntroler Control Table) ? 每個控制器都有一張 COCT表,它反映 I/O控制器的使用狀態(tài)以及和通道的連接情況等 (DMA方式中沒有該項 )。 ? 4. 通道控制表 CHCT(CHannel Control Table) ? 該表只在通道控制方式的系統(tǒng)中存在,每個通道都有一張 CHCT表。 CHCT包括通道標(biāo)識符、通道忙 /閑標(biāo)識、等待獲得該通道的進程等待隊列的隊首指針與隊尾指針等。 設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu) ? SDT, DCT, COCT和 CHCT分別如下圖所示。顯然,一個進程只有獲得了通道、控制器和所需設(shè)備 3者之后,才具備有進行 I/O操作的物理條件 表 目 1…表 目 i…設(shè) 備 類 型設(shè) 備 標(biāo) 識獲 得 設(shè) 備 的 進 程D C T 指 針…D C T 1…D C T i…設(shè) 備 類 型設(shè) 備 標(biāo) 識設(shè) 備 忙 /閑 標(biāo) 記C O C T 指 針控 制 器 等 待 隊 列 首控 制 器 等 待 隊 列 尾…控 制 器 標(biāo) 識控 制 器 忙 /閑 標(biāo) 記C H C T 指 針控 制 器 等 待 隊 列 首控 制 器 等 待 隊 列 尾…S D TD C TC O C T通 道 標(biāo) 識通 道 忙 /閑 標(biāo) 記通 道 等 待 隊 列 首通 道 等 待 隊 列 尾…C H C T 設(shè)備分配的原則 ? 系統(tǒng)在進行設(shè)備分配時,應(yīng)考慮以下幾個原則:① 設(shè)備的共享屬性;② 設(shè)備分配算法;③ 設(shè)備分配時的安全性。 ? 1. 設(shè)備的共享屬性 ? 第一種是獨占性,是指這種設(shè)備在一段時間內(nèi)只允許一個進程獨占,屬于“臨界資源”; ? 第二種是共享性,是指這種設(shè)備允許多個進程同時共享; ? 第三種是虛擬性,是指設(shè)備本身是獨占設(shè)備,但經(jīng)過虛擬技術(shù),可以把它變?yōu)樘摂M設(shè)備。 ? 對上述的獨占、共享、虛擬三種設(shè)備,系統(tǒng)采取不同的分配策略。 ? (1) 獨占設(shè)備。對于獨占設(shè)備,應(yīng)采用獨享分配策略,即將一個設(shè)備分配給某進程后,便由該進程獨占,直至進程完成或釋放該設(shè)備。然后,系統(tǒng)才能再將該設(shè)備分配給其它進程使用,這種分配策略的缺點是,設(shè)備不能得到充分的利用,有可能引起死鎖。 ? (2) 共享設(shè)備。對于共享設(shè)備,可同時分配給多個進程使用。此時需要對多個進程訪問設(shè)備的先后次序進行合理的調(diào)度。 ? (3) 虛擬設(shè)備。通過對一臺獨占設(shè)備采用虛擬技術(shù)后,可變成多臺邏輯上的虛擬設(shè)備,因此,一臺虛擬設(shè)備是可共享的設(shè)備,可以將它同時分配給多個進程使用,并對訪問該設(shè)備的多個進程進行先后次序控制。 設(shè)備分配的原則 ? 2. 設(shè)備分配策略 ? (1) 先請求先分配 ? 當(dāng)有多個進程對同一設(shè)備提出 I/O請求時,或者是在同一設(shè)備上進行多次 I/O操作時,系統(tǒng)將按提出 I/O請求的先后順序,將進程發(fā)出的 I/O請求命令排成隊列,其隊首指向被請求設(shè)備的 DCT。當(dāng)該設(shè)備空閑時,系統(tǒng)從該設(shè)備的請求隊列隊首取出一個 I/O請求消息,將設(shè)備分配給發(fā)出這個請求的進程。 ? (2) 優(yōu)先級高者先分配 ? 這種策略和進程調(diào)度的優(yōu)先算法是一致的,即進程的優(yōu)先級高,它的 I/O請求也將優(yōu)先予以滿足。 設(shè)備分配的原則 ? 3. 設(shè)備分配的安全性 ? (1) 安全分配方式 ? 在這種分配下,每當(dāng)進程發(fā)出 I/O請求后,便進入阻塞狀態(tài),直到其 I/O操作完成時才被喚醒。采用這種分配方式時,一旦進程已經(jīng)獲得某種設(shè)備 (資源 )后便阻塞,使該進程不能再請求任何資源,并且在它運行期間也不保持任何資源。這種分配方式摒棄了造成死鎖的四個必要條件之一的“請求和保持”條件,從而使設(shè)備分配是安全的。其缺點是進程進展緩慢,即 CPU和 I/O設(shè)備是串行工作。 ? (2) 不安全分配方式 ? 在這種分配方式中,進程在發(fā)出 I/O請求后仍繼續(xù)運行,需要時則可以發(fā)出第二個、第三個 I/O請求等。僅當(dāng)進程所請求的設(shè)備已被另一個進程占用時,請求進程才進入阻塞狀態(tài)。這種分配方式的優(yōu)點是,一個進程可同時使用多個設(shè)備,使進程推進迅速。其缺點是分配不安全,因為它可能具備“請求和保持”條件,從而可能造成死鎖。因此,在設(shè)備分配時,還應(yīng)對本次的設(shè)備分配是否會發(fā)生死鎖進行安全性檢查,僅當(dāng)分配是安全的情況下才可以進行設(shè)備分配。 SPOOLing系統(tǒng) ? 1. 什么是 SPOOLing ? 在聯(lián)機情況下實現(xiàn)的同時外圍操作稱為SPOOLing(Simultaneaus Periphernal Operting On_Line),也稱為假脫機操作。 ? SPOOLing技術(shù)可將一臺物理 I/O設(shè)備虛擬為多臺邏輯 I/O設(shè)備,從而允許多個用戶共享一臺物理 I/O設(shè)備。 SPOOLing系統(tǒng) ? 2. SPOOLing系統(tǒng)的組成 ? (1) 輸入和輸出井:這是在磁盤上開辟的兩個大存儲空間。輸入井是模擬脫機輸入時的磁盤設(shè)備,用于暫存 I/O設(shè)備輸入的數(shù)據(jù);輸出井是模擬脫機輸出的磁盤,用于暫存用戶程序的輸出數(shù)據(jù)。 ? (2) 輸入緩沖區(qū)和輸出緩沖區(qū):為了緩和 CPU和磁盤之間速度不匹配的矛盾,在內(nèi)存中開辟兩個緩沖區(qū):輸入緩沖區(qū)和輸出緩沖區(qū)。輸入緩沖區(qū)用于暫存由輸入設(shè)備送來的數(shù)據(jù),以后再傳送到輸入井;輸出緩沖區(qū)則用于暫存從輸出井送來的數(shù)據(jù),以后再傳送給輸出設(shè)備。 ? (3) 輸入進程和輸出進程: SPOOLing利用兩個進程來模擬脫機 I/O時的外圍控制機。其中,輸入進程模擬脫機輸入時的外圍控制機,將用戶要求的數(shù)據(jù)從輸入機通過輸入緩沖區(qū)再送到輸入井,當(dāng) CPU需要輸入數(shù)據(jù)時,直接從輸入井中讀到內(nèi)存;輸出進程模擬脫機輸出時的外圍控制機,把用戶要求輸出的數(shù)據(jù),先從內(nèi)存送到輸出井,待輸出設(shè)備空閑時,再將輸出井中的數(shù)據(jù)經(jīng)過輸出緩沖區(qū)送到輸出設(shè)備上。 輸 入 緩 沖 區(qū)磁 盤輸 出 緩 沖 區(qū)輸 入 進 程 輸 出 進 程輸 入 井輸 出 井輸 入 設(shè) 備輸 出 設(shè) 備 虛擬設(shè)備 — 共享打印機 ? 打印機是常用的輸出設(shè)備,屬于獨占設(shè)備。利用 SPOOLing技術(shù),可將之改造為一臺可供多個用戶共享的虛擬設(shè)備,從而提高設(shè)備的利用率,方便用戶使用。 ? 當(dāng)用戶進程請求打印輸出時, SPOOLing系統(tǒng)同意為它打印輸出,但并不真正立即把打印機分配給用戶進程,而只為它做兩件事: ? ① 由輸出進程在輸出井中為之申請一個空閑磁盤區(qū),并將要打印的數(shù)據(jù)送入其中; ? ② 輸出進程再為用戶進程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中,再將該表掛到請求打印隊列上。 ? 如果打印機空閑,輸出進程將從請求打印隊列隊首取出一張請求打印表,根據(jù)表中的要求將要打印的數(shù)據(jù),從輸出井傳送到內(nèi)存緩沖區(qū),再由打印機進行打印。打印完后,輸出進程再查看請求打印隊列中是否還有等待打印的請求表。若有,繼續(xù)取出隊列中的第一張表,并根據(jù)表中的要求進行打印,如此下去,直至請求打印隊列為空,輸出進程才將自己阻塞起來,當(dāng)再有打印請求時,輸出進程才被喚醒。 SPOOLing系統(tǒng)的特點 ? (1) 提高 I/O 速度 ? SPOOLing技術(shù)引入輸入井和輸出井,可以使輸入進程、用戶進程和輸出進程同時工作。對數(shù)據(jù)所進行的 I/O操作,已從對低速 I/O設(shè)備進行的 I/O操作,演變?yōu)閷斎刖蜉敵鼍袛?shù)據(jù)的存取,從而提高 I/O 速度,緩解 CPU與低速 I/O設(shè)備之間速度不匹配的矛盾。 ? (2) 將獨占設(shè)備改造為共享設(shè)備 ? 在 SPOOLing系統(tǒng)中,實際上并沒有為任何進程分配設(shè)備,而只是在輸入井或輸出井中為進程分配一個存儲區(qū)和建立一張 I/O請求表。而輸入井和輸出井在磁盤上,為共享設(shè)備。這樣 SPOOLing技術(shù)就把打印機等獨占設(shè)備改造為共享設(shè)備。 ? (3) 實現(xiàn)虛擬設(shè)備功能 ? 宏觀上,雖然是多個進程在同時使用一臺獨占設(shè)備,而對于每一
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1