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

正文內(nèi)容

計(jì)算機(jī)操作系統(tǒng)9-unix系統(tǒng)內(nèi)核結(jié)構(gòu)(ppt96)-經(jīng)營(yíng)管理(編輯修改稿)

2024-09-19 17:21 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 信號(hào)量表是信號(hào)量的結(jié)構(gòu)數(shù)組 。 在系統(tǒng) Ⅴ 中 , 每個(gè)信號(hào)量用一個(gè)信號(hào)量結(jié)構(gòu)表示 。 其中 , 包括信號(hào)量值 semval及最近一次對(duì)信號(hào)量進(jìn)行操作的進(jìn)程標(biāo)識(shí)符 sempid、 等待該信號(hào)量值增加的進(jìn)程數(shù)等 。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2) 信號(hào)量集表 s e m 0s e m 1s e m 2 0s e m 3 1s e m 4 2s e m 5 3s e m 6s e m 7s e m 8 0s e m 9 1s e m 1 0 2s e m 1 1 0…信 號(hào) 量 表信 號(hào) 量 集 表信號(hào)量集信號(hào)量集圖 108 信號(hào)量集表與信號(hào)量表 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 3. 系統(tǒng)調(diào)用 在信號(hào)量機(jī)制中 , 同樣也提供了若干條系統(tǒng)調(diào)用 , 分別用于對(duì)信號(hào)量執(zhí)行各種操作 。 1) semget( ) 用戶(hù)可利用該系統(tǒng)調(diào)用來(lái)建立信號(hào)量集 。 用戶(hù)應(yīng)提供信號(hào)量的名字 、 信號(hào)量集中信號(hào)量的數(shù)目等 。 若信號(hào)量集的建立成功 , 將返回信號(hào)量集的描述符 semid。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2) semop( ) 該系統(tǒng)調(diào)用可用來(lái)對(duì)信號(hào)量集進(jìn)行操作 。 用戶(hù)需提供信號(hào)量集的描述符 、 信號(hào)量的編號(hào) , 即信號(hào)量在信號(hào)量集中的序號(hào) , 以及所要施加操作的操作數(shù) semop。 內(nèi)核根據(jù) semop來(lái)改變信號(hào)量的值 。 當(dāng) semop為正值時(shí) , 便將該正值加到信號(hào)量的值上 。 當(dāng) semop為負(fù)值時(shí) , 若信號(hào)量的值大于 semop的絕對(duì)值 , 應(yīng)將該負(fù)值加到信號(hào)量值上; 否則 , 操作失敗 , 內(nèi)核將已經(jīng)操作過(guò)的信號(hào)量恢復(fù)到該系統(tǒng)調(diào)用開(kāi)始執(zhí)行時(shí)的值 。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 存 儲(chǔ) 器 管 理 請(qǐng)求調(diào)頁(yè)管理的數(shù)據(jù)結(jié)構(gòu) 1. 頁(yè)表和磁盤(pán)描述表 1) 圖 109 頁(yè)表項(xiàng)和磁盤(pán)描述表項(xiàng) 物理頁(yè)號(hào) 年齡 寫(xiě)時(shí)拷貝 修改位 訪(fǎng)問(wèn)位 有效位 保護(hù) ( a)頁(yè)表項(xiàng) 對(duì)換設(shè)備號(hào) 設(shè)備塊號(hào) 存儲(chǔ)器類(lèi)型 ( b)盤(pán)塊說(shuō)明 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2. 頁(yè)框數(shù)據(jù)表和對(duì)換使用表 1) 頁(yè)狀態(tài): 指示該頁(yè)的拷貝是在對(duì)換設(shè)備上 , 還是在可執(zhí)行文件中 。 內(nèi)存引用計(jì)數(shù): 指出引用該頁(yè)面的進(jìn)程數(shù)目 。 邏輯設(shè)備: 指含有此拷貝的邏輯設(shè)備 , 它可以是對(duì)換設(shè)備 , 也可以是文件系統(tǒng) 。 塊號(hào): 當(dāng)邏輯設(shè)備為對(duì)換設(shè)備時(shí) , 這是盤(pán)塊號(hào); 而當(dāng)邏輯設(shè)備為文件系統(tǒng)時(shí) , 這是指文件的邏輯塊號(hào) 。 指針 1: 指向空閑頁(yè)鏈表中的下一個(gè)頁(yè)框數(shù)據(jù)表的指針 。 指針 2: 指向散列隊(duì)列中下一個(gè)頁(yè)框數(shù)據(jù)表的指針。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 圖 1010 頁(yè)框數(shù)據(jù)表項(xiàng)及其散列隊(duì)列 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2) 對(duì)換使用表 頁(yè)表項(xiàng)頁(yè)框號(hào) 7 9 4磁盤(pán)塊 描述項(xiàng)對(duì)換設(shè)備 1塊號(hào)2 7 4 3引用數(shù) 1對(duì)換設(shè) 備 1塊號(hào) 2 7 4 3物理頁(yè) 7 9 4引用數(shù) 1對(duì)換設(shè) 備塊 2 7 4 3對(duì)換使 用表項(xiàng)頁(yè)框數(shù) 據(jù)表項(xiàng) 7 9 4虛地址1 4 9 3 K圖 1011 四種數(shù)據(jù)結(jié)構(gòu)之間的關(guān)系 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 換頁(yè)進(jìn)程 1. 增加有效頁(yè)的年齡 一個(gè)頁(yè)可計(jì)數(shù)的最大年齡 , 取決于它的硬件設(shè)施 。 對(duì)于只設(shè)置兩位作為年齡域的頁(yè) , 其有效頁(yè)的年齡只能取值為 0、 2和 3。 當(dāng)該頁(yè)的年齡為 0、 2時(shí) , 該頁(yè)處于不可換出狀態(tài);而當(dāng)其年齡達(dá)到 3時(shí) , 該頁(yè)便為換出狀態(tài) 。 每當(dāng)內(nèi)存中的空閑頁(yè)面數(shù)低于某規(guī)定的低限時(shí) , 核心便喚醒換頁(yè)進(jìn)程 , 由換頁(yè)進(jìn)程去檢查內(nèi)存中的每一個(gè)活動(dòng)的 、 非上鎖的區(qū) , 對(duì)所有有效頁(yè)的年齡字段加 1。 對(duì)于那些其年齡已增至 3的頁(yè) , 便不再加 1,而是將它們換出 。 如果這種頁(yè)已被進(jìn)程訪(fǎng)問(wèn)過(guò) , 便將其年齡域中的年齡降為 0。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2. 對(duì)換出頁(yè)的幾種處理方式 (1) 若在對(duì)換設(shè)備上已有被換出頁(yè)的拷貝 , 且該頁(yè)的內(nèi)容未被修改 , 此時(shí) , 核心只須將該頁(yè)頁(yè)表項(xiàng)中的有效位清零 ,并將頁(yè)框數(shù)據(jù)表項(xiàng)中的引用計(jì)數(shù)減 1, 最后將該頁(yè)表項(xiàng)放入空閑頁(yè)鏈表中 。 (2) 若在對(duì)換設(shè)備上沒(méi)有被換出頁(yè)的拷貝 , 則換出進(jìn)程應(yīng)將該頁(yè)寫(xiě)到對(duì)換設(shè)備上 。 (3) 雖然在對(duì)換設(shè)備上已有換出頁(yè)的副本 , 但該頁(yè)的內(nèi)容已被修改過(guò) , 此時(shí)核心應(yīng)將該頁(yè)在對(duì)換設(shè)備上原來(lái)占有的空間釋放 , 再重新將該頁(yè)拷貝到對(duì)換設(shè)備上 , 使在對(duì)換設(shè)備上的拷貝內(nèi)容總是最新的 。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 3. 將換出頁(yè)面寫(xiě)到對(duì)換設(shè)備上 當(dāng)在換出頁(yè)面鏈表中的頁(yè)面數(shù)已達(dá)到規(guī)定值時(shí) , 核心應(yīng)將它們換出 。 為此 , 應(yīng)首先為它們分配一個(gè)連續(xù)的對(duì)換空間 ,以便一起將它們換出; 但如果在對(duì)換設(shè)備上沒(méi)有足夠大的連續(xù)空間 , 而其空閑存儲(chǔ)空間的總和又大于 64 KB時(shí) , 核心可采取每次換出一頁(yè)的方式將它們換出 。 每當(dāng)核心向?qū)Q設(shè)備上寫(xiě)一個(gè)頁(yè)時(shí) , 須首先清除該頁(yè)頁(yè)表項(xiàng)的有效位 , 并將頁(yè)框數(shù)據(jù)表項(xiàng)中的引用計(jì)數(shù)減 1。 若引用計(jì)數(shù)為 0, 表明已無(wú)其它進(jìn)程再引用該頁(yè) , 核心便將其頁(yè)框數(shù)據(jù)表項(xiàng)鏈入空閑頁(yè)鏈表的尾部 。 若雖引用計(jì)數(shù)不為 0, 表明仍有進(jìn)程共享該頁(yè) , 但如果該頁(yè)已長(zhǎng)期未被訪(fǎng)問(wèn)過(guò) , 則也須將該頁(yè)換出 。 最后 , 核心將分配給該頁(yè)的對(duì)換空間的地址填入相應(yīng)的磁盤(pán)描述表項(xiàng)中 , 并將對(duì)換使用表中的計(jì)數(shù)加 1。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 請(qǐng)求調(diào)頁(yè) 1. 缺頁(yè)在可執(zhí)行文件上 2. 缺頁(yè)在對(duì)換設(shè)備上 3. 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 設(shè) 備 管 理 字符設(shè)備緩沖區(qū)管理 1. 空閑字符緩沖區(qū)隊(duì)列 c b l o c k [ 0 ]c _ n e x t c _ n e x t c _ n e x tc b l o c k [ 1 ] c b l o c k [ 2 ]c _ n e x tc b l o c k [ N - 1]c f r e e l i s t圖 1012 空閑字符緩沖區(qū)隊(duì)列 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2. 在字符設(shè)備進(jìn)行 I/O時(shí) , 內(nèi)核可利用 getcf過(guò)程從空閑字符緩沖區(qū)隊(duì)列中取得一個(gè)空閑緩沖區(qū) , 若隊(duì)列空 , 表明已無(wú)空閑緩沖區(qū)可提供 , 便返回;否則 , 從隊(duì)首取得一個(gè)空閑緩沖區(qū) , 并把指向該緩沖區(qū)的指針 bp返回給調(diào)用者 。 由于空閑緩沖區(qū)隊(duì)列屬于臨界資源 , 故還須采取互斥訪(fǎng)問(wèn)措施 , 即 , 在過(guò)程開(kāi)始處 , 將處理機(jī)的優(yōu)先級(jí)提升為 6, 在取得空緩沖區(qū)之后 , 再恢復(fù)處理機(jī)的優(yōu)先級(jí) 。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 3. 設(shè)備的字符緩沖區(qū)隊(duì)列 (1) getc過(guò)程 。 該過(guò)程用于從一個(gè) clist結(jié)構(gòu)的隊(duì)首指針?biāo)甘镜淖址彌_隊(duì)列中 , 取出為首的字符 , 然后修改該隊(duì)列的可用字符計(jì)數(shù)和隊(duì)首指針 。 當(dāng)取完一個(gè)緩沖區(qū)中的所有字符時(shí) , 將釋放該緩沖區(qū) 。 該過(guò)程的返回值是取出的字符 。 (2) putc過(guò)程 。 該過(guò)程用于將一個(gè)字符 C放入設(shè)備的指定字符緩沖區(qū)隊(duì)列的末尾 。 若此時(shí)該隊(duì)列空 、 或隊(duì)列的最后一個(gè)緩沖區(qū)已滿(mǎn) ,且空閑字符緩沖區(qū)隊(duì)列也空 , 該過(guò)程無(wú)法將字符放入隊(duì)列中 , 則返回 “ 1”。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) (3) getcb過(guò)程 。 該過(guò)程用于從指定的設(shè)備字符緩沖區(qū)隊(duì)列中 , 取出第一個(gè)緩沖區(qū) , 并將該隊(duì)列的可用字符計(jì)數(shù)減去第一個(gè)緩沖區(qū)中的字符數(shù) , 然后返回指向該緩沖區(qū)的指針 bp。 若該緩沖區(qū)已是該隊(duì)列中惟一的緩沖區(qū) , 則置隊(duì)尾指針為空 。 (4) putcb過(guò)程 。 該過(guò)程用于將由 bp所指向的緩沖區(qū)放入指定的設(shè)備字符緩沖區(qū)隊(duì)列的末尾 , 然后將該隊(duì)列的可用字符計(jì)數(shù)加上 bp緩沖區(qū)中的字符數(shù)后返回 。 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 塊設(shè)備緩沖區(qū)管理 1. 盤(pán)塊緩沖區(qū)及其首部 圖 1013 緩沖首部 設(shè)備號(hào) 塊號(hào) 狀態(tài) 緩沖區(qū)指針 散列隊(duì)列的前向指針 散列隊(duì)列的后向指針 空閑表上的前向指針 空閑表上的后向指針 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 2. 盤(pán)塊緩沖池結(jié)構(gòu) b l k n o 0 m o d 4b l k n o 1 m o d 4b l k n o 2 m o d 4b l k n o 3 m o d 428179834 645 9750 1035 99空 閑 表 頭 標(biāo)圖 1014 空閑隊(duì)列 (鏈 )及散列隊(duì)列 第十章 UNIX系統(tǒng)內(nèi)核結(jié)構(gòu) 3. 盤(pán)塊緩沖區(qū)的分配 (1) getblk( )過(guò)程 。 該過(guò)程用于從空閑緩沖區(qū)隊(duì)列中獲得任一空閑緩沖區(qū) 。 該過(guò)程首先檢查空閑塊緩沖隊(duì)列是否為空 , 若空 , 便調(diào)用sleep
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1