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

正文內(nèi)容

計算機(jī)操作系統(tǒng)9-unix系統(tǒng)內(nèi)核結(jié)構(gòu)(ppt96)-經(jīng)營管理-文庫吧資料

2024-08-22 17:21本頁面
  

【正文】 (緩沖區(qū)中數(shù)據(jù)無效 ), 應(yīng)將它鏈入空閑隊列的頭部 。 此前 , 可能有些進(jìn)程因等待使用該緩沖區(qū)而睡眠 , 此時 , 釋放者進(jìn)程應(yīng)將睡眠隊列的隊首進(jìn)程喚醒 。 類似地 , 當(dāng)要把數(shù)據(jù)寫入一特定盤塊時 , 核心先檢查該盤塊的內(nèi)容是否已在某緩沖區(qū) , 僅當(dāng)該塊的內(nèi)容尚不在緩沖區(qū)中時 , 才需調(diào)用 getblk( )過程 , 分配一個空緩沖區(qū) 。 該過程用于為指定設(shè)備 dev和盤塊號為 blkno的盤塊申請一個緩沖區(qū) 。 若在其緩沖首部中還有延遲寫標(biāo)志 , 則還須調(diào)用 bdwrite過程 ,將此緩沖區(qū)中的數(shù)據(jù)寫回到磁盤中 , 再從空閑隊列中取得一個空緩沖區(qū);否則 , 便將 bflag中的 b[CD*2]busy標(biāo)志置為 1, 并返回指向該緩沖區(qū)的指針 bp。 該過程用于從空閑緩沖區(qū)隊列中獲得任一空閑緩沖區(qū) 。 該過程用于將由 bp所指向的緩沖區(qū)放入指定的設(shè)備字符緩沖區(qū)隊列的末尾 , 然后將該隊列的可用字符計數(shù)加上 bp緩沖區(qū)中的字符數(shù)后返回 。 若該緩沖區(qū)已是該隊列中惟一的緩沖區(qū) , 則置隊尾指針為空 。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) (3) getcb過程 。 該過程用于將一個字符 C放入設(shè)備的指定字符緩沖區(qū)隊列的末尾 。 該過程的返回值是取出的字符 。 該過程用于從一個 clist結(jié)構(gòu)的隊首指針?biāo)甘镜淖址彌_隊列中 , 取出為首的字符 , 然后修改該隊列的可用字符計數(shù)和隊首指針 。 由于空閑緩沖區(qū)隊列屬于臨界資源 , 故還須采取互斥訪問措施 , 即 , 在過程開始處 , 將處理機(jī)的優(yōu)先級提升為 6, 在取得空緩沖區(qū)之后 , 再恢復(fù)處理機(jī)的優(yōu)先級 。 最后 , 核心將分配給該頁的對換空間的地址填入相應(yīng)的磁盤描述表項中 , 并將對換使用表中的計數(shù)加 1。 若引用計數(shù)為 0, 表明已無其它進(jìn)程再引用該頁 , 核心便將其頁框數(shù)據(jù)表項鏈入空閑頁鏈表的尾部 。 為此 , 應(yīng)首先為它們分配一個連續(xù)的對換空間 ,以便一起將它們換出; 但如果在對換設(shè)備上沒有足夠大的連續(xù)空間 , 而其空閑存儲空間的總和又大于 64 KB時 , 核心可采取每次換出一頁的方式將它們換出 。 (3) 雖然在對換設(shè)備上已有換出頁的副本 , 但該頁的內(nèi)容已被修改過 , 此時核心應(yīng)將該頁在對換設(shè)備上原來占有的空間釋放 , 再重新將該頁拷貝到對換設(shè)備上 , 使在對換設(shè)備上的拷貝內(nèi)容總是最新的 。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2. 對換出頁的幾種處理方式 (1) 若在對換設(shè)備上已有被換出頁的拷貝 , 且該頁的內(nèi)容未被修改 , 此時 , 核心只須將該頁頁表項中的有效位清零 ,并將頁框數(shù)據(jù)表項中的引用計數(shù)減 1, 最后將該頁表項放入空閑頁鏈表中 。 對于那些其年齡已增至 3的頁 , 便不再加 1,而是將它們換出 。 當(dāng)該頁的年齡為 0、 2時 , 該頁處于不可換出狀態(tài);而當(dāng)其年齡達(dá)到 3時 , 該頁便為換出狀態(tài) 。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 圖 1010 頁框數(shù)據(jù)表項及其散列隊列 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2) 對換使用表 頁表項頁框號 7 9 4磁盤塊 描述項對換設(shè)備 1塊號2 7 4 3引用數(shù) 1對換設(shè) 備 1塊號 2 7 4 3物理頁 7 9 4引用數(shù) 1對換設(shè) 備塊 2 7 4 3對換使 用表項頁框數(shù) 據(jù)表項 7 9 4虛地址1 4 9 3 K圖 1011 四種數(shù)據(jù)結(jié)構(gòu)之間的關(guān)系 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 換頁進(jìn)程 1. 增加有效頁的年齡 一個頁可計數(shù)的最大年齡 , 取決于它的硬件設(shè)施 。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 存 儲 器 管 理 請求調(diào)頁管理的數(shù)據(jù)結(jié)構(gòu) 1. 頁表和磁盤描述表 1) 圖 109 頁表項和磁盤描述表項 物理頁號 年齡 寫時拷貝 修改位 訪問位 有效位 保護(hù) ( a)頁表項 對換設(shè)備號 設(shè)備塊號 存儲器類型 ( b)盤塊說明 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2. 頁框數(shù)據(jù)表和對換使用表 1) 當(dāng) semop為正值時 , 便將該正值加到信號量的值上 。 用戶需提供信號量集的描述符 、 信號量的編號 , 即信號量在信號量集中的序號 , 以及所要施加操作的操作數(shù) semop。 若信號量集的建立成功 , 將返回信號量集的描述符 semid。 1) semget( ) 用戶可利用該系統(tǒng)調(diào)用來建立信號量集 。 其中 , 包括信號量值 semval及最近一次對信號量進(jìn)行操作的進(jìn)程標(biāo)識符 sempid、 等待該信號量值增加的進(jìn)程數(shù)等 。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2. 信號量集的數(shù)據(jù)結(jié)構(gòu) 1) 信號量表是信號量的結(jié)構(gòu)數(shù)組 。 對這組信號量的操作方式應(yīng)當(dāng)是原子操作方式 , 此即 , 把對這組信號量視為一個整體 , 要么全做 , 要么全不做 。 此外 ,還可利用 semget( )來建立信號量及利用 semctl( )系統(tǒng)調(diào)用對信號量進(jìn)行操縱 。 傳統(tǒng)的信號量機(jī)構(gòu)是對信號量施加 wait及 signal操作 。 當(dāng)進(jìn)程不再需要該共享存儲區(qū)時 , 再利用系統(tǒng)調(diào)用 shmdt( )把該區(qū)與進(jìn)程斷開 。 此后 , 此共享存儲區(qū)便成為該進(jìn)程虛地址空間的一部分 。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2) 如同消息機(jī)制一樣 , 可以用 shmctl( )系統(tǒng)調(diào)用對共享存儲區(qū)的狀態(tài)信息進(jìn)行查詢 , 如其長度 、 所連接的進(jìn)程數(shù) 、創(chuàng)建者標(biāo)識符等; 也可設(shè)置或修改其屬性 , 如共享存儲區(qū)的許可權(quán) 、 當(dāng)前連接的進(jìn)程計數(shù)等;還可用來對共享存儲區(qū)加鎖或解鎖 , 以及修改共享存儲區(qū)標(biāo)識符等 。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 共享存儲區(qū)機(jī)制 1. 共享存儲區(qū) 圖 107 利用共享存儲區(qū)進(jìn)行通信 正 文進(jìn)程 A 的虛空 間數(shù) 據(jù)棧共享存 儲區(qū)B正 文數(shù) 據(jù)B′棧內(nèi)存空 間 進(jìn)程 B 的虛空 間A′A第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2. 1) 當(dāng)進(jìn)程要利用共享存儲區(qū)與另一進(jìn)程進(jìn)行通信時 , 須先利用系統(tǒng)調(diào)用 shmget( )建立一塊共享存儲區(qū) , 并提供該共享存儲區(qū)的名字 key和共享存儲區(qū)以字節(jié)為單位的長度 size等參數(shù) 。消息類型 msgtyp的參數(shù)可能有三種情況:當(dāng) msgtyp=0時 , 核心尋找消息隊列中的第一個消息 , 并將它返回給調(diào)用進(jìn)程;當(dāng)msgtyp為正整數(shù)時 , 核心返回指定類型的第一個消息;當(dāng)msgtyp為負(fù)整數(shù)時 , 核心應(yīng)在其類型值小于或等于 msgtyp絕對值的所有消息中 , 選出類型值最低的第一個消息返回 。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2) 進(jìn)程可利用 msgrcv( )系統(tǒng)調(diào)用 , 從指定消息隊列中讀一個消息 。 分配消息首部 ,將它鏈入消息隊列的末尾;在消息首部中填寫消息的類型 、 大小以及指向消息數(shù)據(jù)區(qū)的指針等;還要修改消息隊列頭標(biāo)中的數(shù)據(jù) (如消息隊列中的消息數(shù) 、 字節(jié)數(shù)等 。 對于 msgsnd( )系統(tǒng)調(diào)用 , 核心檢查消息隊列描述符和許可權(quán)是否合法 、 消息長度是否超過系統(tǒng)規(guī)定的長度 。 (3) 消除消息隊列的標(biāo)識符。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2) 消息隊列的操縱 (1) 用于查詢有關(guān)消息隊列的情況 , 如隊列中的消息數(shù)目 、 隊列中的最大字節(jié)數(shù) 、 最后一個發(fā)送消息的進(jìn)程的標(biāo)識符 、 發(fā)送時間等 。 對于該系統(tǒng)調(diào)用 , 核心將搜索消息隊列頭標(biāo)表 , 確定是否有指定名字的消息隊列 。 在一個系統(tǒng)中可能有若干個消息隊列 , 由所有的消息隊列的頭標(biāo)組成一個頭標(biāo)數(shù)組 。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2. 信號機(jī)制的功能 1)發(fā)送信號 2) (1) func=1時, 進(jìn)程對 sig類信號不予理睬, 亦即屏蔽了 (2) func=0, 即為缺省值時, 進(jìn)程在收到 sig信號后應(yīng)自 (3) func為非 0、 非 1類整數(shù)時, 就把 func的值作為指向某 3) 對信號的處理 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 管道機(jī)制 1. 管道的類型 1) 無名管道 (Unnamed Pipes) 2) 有名管道 (Named Pipes) 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2. 對無名管道的讀寫 1) 對 pipe文件大小的限制 2) 3) 進(jìn)程寫管道 4) 進(jìn)程讀管道 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 消息機(jī)制 1. 1) 消息 (message) 圖 106 消息機(jī)制中的數(shù)據(jù)結(jié)構(gòu) ?隊列 i?隊列 n?消息首 部m s g h 0消息首 部m s g h 3消息首 部m s g h 2消息緩沖區(qū)消息緩沖區(qū)消息緩沖區(qū)消息首 部m消息緩沖區(qū)消息隊 列頭表0 3 2第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2) 消息隊列
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1