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

正文內(nèi)容

設(shè)備管理培訓(xùn)教材(ppt157頁(yè))(編輯修改稿)

2025-03-10 02:27 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 輸入進(jìn)程要空緩沖區(qū)輸入數(shù)據(jù)時(shí)調(diào) Getbuf(Nexti)過(guò)程 ,將 Nexti指示的緩沖區(qū)供給輸入進(jìn)程 , Nexti下移。當(dāng)計(jì)算進(jìn)程把當(dāng)前緩沖區(qū) C中的數(shù)據(jù)提取完時(shí) , 調(diào)用Releasebuf()過(guò)程 , 將該空緩沖區(qū)釋放 , 將其狀態(tài)該為 R。 當(dāng)輸入進(jìn)程把緩沖區(qū)裝滿時(shí) , 也應(yīng)調(diào)用 Releasebuf()過(guò)程 , 將該空緩沖區(qū)釋放 , 將其狀態(tài)該為 G。 注意 : 計(jì)算進(jìn)程和輸入進(jìn)程的同步 , Nexti 和 Nextg 追趕。 緩沖池 (Buffer Pool)? 空緩沖鏈隊(duì)列 emp:由空緩沖區(qū)組成? 輸入緩沖鏈隊(duì)列 inq:由裝滿輸入數(shù)據(jù)的緩沖區(qū)組成? 輸出緩沖鏈隊(duì)列 out:由裝滿輸出數(shù)據(jù)的緩沖區(qū)組成? 4種工作緩沖區(qū) 收容輸入、提取輸入、收容輸出、提取輸出。 從某隊(duì)列上取下來(lái)操作完后再掛到另一隊(duì)列上 緩沖池中的隊(duì)列是臨界資源要考慮互斥與同步提取輸出收容輸入 提取輸入收容輸出緩沖池hin sinsout hout用戶程序empinqout收容輸入的工作方式 :當(dāng)輸入進(jìn)程需要輸入數(shù)據(jù)時(shí)(1)調(diào)用 Getbuf(emp,hin)過(guò)程 , 從 emp隊(duì)列首摘下空緩 沖區(qū)作為收容輸入工作緩沖區(qū) hin(2) 把數(shù)據(jù)輸入到工作緩沖區(qū) hin(3) 調(diào)用 Putbuf(inq,hin),將 hin掛到 inq隊(duì)列尾提取輸入工作方式: 當(dāng)計(jì)算進(jìn)程需要提取輸入數(shù)據(jù)時(shí)(1) 調(diào)用 Getbuf(inq, sin)過(guò)程 ,從 inq隊(duì)列頭摘下緩沖區(qū) 作為提取輸入工作緩沖區(qū) sin計(jì)算進(jìn)程從工作緩沖區(qū) sin中提取數(shù)據(jù)調(diào)用 Putbuf(emp,sin), 將 sin掛在 emp隊(duì)列尾Procedure Getbuf(q,buf)。 從 q隊(duì)列頭摘下緩沖區(qū) buf begin Wait(RS(q))。 信號(hào)量 RS(q)是隊(duì)列 q的長(zhǎng)度 Wait(MS(q))。 MS(q)是對(duì) q操作的互斥信號(hào)量 buf:=Takbuf(q)。 Signal(MS(q))。 endProcedure Putbuf(q,buf)。 buf加到 q隊(duì)列的隊(duì)尾 begin Wait(MS(q))。 Addbuf(q,buf)。 Signal(MS(q)) Signal(RS(q))。 endTerminalDriver DiskDriverPrinterDriverTerminalControllerPrinterControllerDiskController 設(shè)備分配 設(shè)備分配多道程序環(huán)境下 用戶進(jìn)程提出 I/O請(qǐng)求,設(shè)備分配程序按一定策略把用戶所需的設(shè)備分配給用戶進(jìn)程 。OS是怎樣對(duì)設(shè)備進(jìn)行分配的?采用了哪些數(shù)據(jù)結(jié)構(gòu)? 設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)具有通道的 I/O系統(tǒng)結(jié)構(gòu)存儲(chǔ)器通道 1通道 2控制器 1控制器 2設(shè)備 1設(shè)備 2設(shè)備 3設(shè)備 41. 系統(tǒng)設(shè)備表( SDT)表目 1...表目 i...設(shè)備類(lèi)型設(shè)備標(biāo)識(shí)符設(shè)備狀態(tài) :忙 /閑等待控制器通道標(biāo)志指向控制器表的指針重復(fù)執(zhí)行次數(shù)或時(shí)間驅(qū)動(dòng)程序入口設(shè)備控制表DCT 系統(tǒng)設(shè)一張系統(tǒng)設(shè)備表 ,紀(jì)錄系統(tǒng)中全部設(shè)備的情況 , 每個(gè) 設(shè)備 占一個(gè)表目。、通道控制表COCT CHCT每個(gè)控制器設(shè)一張 COCT, 每個(gè)通道設(shè)一張 CHCT控制器標(biāo)識(shí)符控制器狀態(tài) :忙 /閑指向相連通道表的指針控制器隊(duì)列的首指針控制器隊(duì)列的尾指針通道標(biāo)識(shí)符通道狀態(tài) :忙 /閑相連控制器表的指針通道隊(duì)列的首指針通道隊(duì)列的尾指針 獨(dú)占、共享、虛擬 先來(lái)先服務(wù)、優(yōu)先級(jí)高者優(yōu)先3. 設(shè)備分配的安全性安全分配方式 : 進(jìn)程發(fā)出 I/O請(qǐng)求便被阻塞直到 I/O完成不安全分配方式 : 進(jìn)程發(fā)出 I/O請(qǐng)求后繼續(xù)執(zhí)行 , 需要時(shí) 又發(fā)出第二個(gè)第三個(gè) I/O請(qǐng)求 , 滿足請(qǐng)求保持條 件可能引起死鎖。進(jìn)程推進(jìn)速度塊。 (Device Independence) 為了提高 OS的可適應(yīng)性和可擴(kuò)展性 , 現(xiàn)代 OS都實(shí)現(xiàn)了設(shè)備獨(dú)立性 (設(shè)備無(wú)關(guān)性 ), 引入了邏輯設(shè)備和物理設(shè)備兩個(gè)概念 ,使應(yīng)用程序用邏輯設(shè)備名來(lái)請(qǐng)求某類(lèi)設(shè)備 , 獨(dú)立于具體的物理設(shè)備。 OS將邏輯設(shè)備名轉(zhuǎn)換為具體的物理設(shè)備。帶來(lái)的好處是 : (1) 設(shè)備分配的靈活性 (2) 易于實(shí)現(xiàn) I/O的重定向I/O軟件的層次結(jié)構(gòu)及功能進(jìn)行 I/O。格式化 I/O命名 。保護(hù) 。緩沖 。分配 。阻塞建立設(shè)備寄存器 。檢測(cè)狀態(tài)I/O結(jié)束時(shí)喚醒服務(wù)子程序執(zhí)行 I/O操作中斷處理程序設(shè)備驅(qū)動(dòng)程序設(shè)備無(wú)關(guān)軟件I/O應(yīng)答I/O請(qǐng)求用戶進(jìn)程硬件2. 設(shè)備獨(dú)立性軟件(1) 執(zhí)行所有設(shè)備的公有操作? 對(duì)獨(dú)立設(shè)備的分配和回收? 將邏輯設(shè)備名映射為物理設(shè)備名找到驅(qū)動(dòng)程序? 對(duì)設(shè)備進(jìn)行保護(hù)? 緩沖管理? 差錯(cuò)控制(2) 向用戶層軟件提供統(tǒng)一接口 I/O軟件組織成一種 層次結(jié)構(gòu) ,低層軟件用來(lái)屏蔽具體設(shè)備細(xì)節(jié) ,高層軟件則為用戶提供一個(gè)簡(jiǎn)潔規(guī)范的界面 。它體現(xiàn)了 I/O 設(shè)計(jì)的關(guān)鍵的概念 :設(shè)備無(wú)關(guān)性 , 其含義就是使程序員寫(xiě)的軟件無(wú)須修改 ,就能進(jìn)行不同設(shè)備上的 I/O操作。 如對(duì)各種設(shè)備的讀操作都使用 read。對(duì)各種設(shè)備的寫(xiě)操作都使用 write。 (1) 邏輯設(shè)備表 (LUT)邏輯設(shè)備名 物理設(shè)備名 驅(qū)動(dòng)程序入口地址 /dev/tty 3 1024 /dev/print 5 2048(2) 邏輯設(shè)備表的設(shè)置? 整個(gè)系統(tǒng)只設(shè)一張 LUT不允許有相同的邏輯設(shè)備名 , 用在單用戶系統(tǒng)中。? 每個(gè)用戶設(shè)一張 LUT, 用戶登錄建立進(jìn)程時(shí) ,建立一張 LUT并將該表放入該進(jìn)程的 PBC中 ,用在多用戶系統(tǒng)中。 Language Translation: Source to Assembly to Machineint a, b, c, d。. . .a = b + c。d = a 100。Source。 Code for a = b + c load R3,b load R4,c add R3,R4 store R3,a。 Code for d = a 100 load R4,=100 subtract R3,R4 store R3,dAssembly Language10111001001100…110111001010000…010100111001100…010111010001100…110111001010000…010100110001100…010111001101100…1Machine Languageload(block, length, device)。seek(device, 236)。 out(device, 9)write(char *block, int len, int device,int track, int sector) { ... load(block, length, device)。 seek(device, 236)。 out(device, 9)。 ...}write(char *block, int len, int device,int addr)。fprintf(fileID, “%d”, datum)。Example of Resource Abstraction?236: track9: sectorCopy a block of information from main memory onto a diskTreat the disk as file storageopen Prepare dev for operationclose No longer using the deviceioctl Character dev specific inforead Character dev input opwrite Character dev output opstrategy Block dev input/output opsselect Character dev check for datastop Discontinue a stream output opSample APIBSD UNIX Driver? In Unix, ioctl Passes Driver Specific Information to Driver? Differentiation Between Block and Character I/O Processing as Part of Uniform API (1) 分配設(shè)備 : 根據(jù)物理設(shè)備名 , 查找系統(tǒng)設(shè)備表 SDT, 找出該設(shè)備的設(shè)備控制表 DCT, 再根據(jù) DCT中的設(shè)備狀態(tài)字忙否執(zhí)行 ,若忙將請(qǐng)求 I/O的進(jìn)程掛在設(shè)備等待隊(duì)列上 , 否則檢查安全性 , 安全則分配。(2) 分配控制器 : 分到設(shè)備后 ,再到 DCT中找出與之連結(jié)的控制器控制表 COCT,再根據(jù) COCT中的狀態(tài)字忙否執(zhí)行等待或分配控制器。(3) 分配通道 : 在 COCT中找到與之連結(jié)的通道控制表CHCT, 再根據(jù) CHCT中的狀態(tài)字忙否執(zhí)行等待或分配通道。 獨(dú)占設(shè)備的分配程序Entry Points for Device jOtherKernel Servicesopen(){…}read(){…}etc.Operating System InterfaceDriver for Device jReconfigurable Device DriversIRTDriver/Kernel Interface? Indirect Reference Table (IRT) for Driver Entry? Installation of Driver Creates Entry in IRT? Data Driven ReconfigurationCoordinating the I/O Operationread(...)。read(...){ ... read_request() wait_for_done()。 return。 }while(1) { ask_for_work()。 do_the_work()。}ProcessDriverController (HW)read(device, …)。Dataread functionwrite functionDevice ControllerCommand Status DataHardware InterfaceSystem Interface12 3 45Direct I/O with Polling (Read)Interrupt Driven I/O (Read)read(device, …)。DataDevice ControllerCommand Status Dataread driverwrite driverHardware InterfaceSystem InterfaceDevice Status TableDeviceHandlerInterruptHandler12 3458a678b9. . .read(dev_I,“%d”,x)。y = f(x). . .Variable x RegisterData on deviceDevice dev_I Memory CPU. . .startRead(dev_I, “%d”, x)。. . .while(stillReading()) 。y = f(x). . .Overlapping CPU Execution with I/OLogicallyEquivalent? Read Must Wait for Completion? Else, y=f(x)Could Use Old Value of x in Call SPOOLing 技術(shù)Simultaneous Peripheral Operations OnLine? 脫機(jī)輸入輸出是利用外圍機(jī)脫機(jī)進(jìn)行 I/O操作。? SPOOLing是 聯(lián)機(jī)情況的同時(shí)外圍操作 (假脫機(jī)操作 ) 用輸入進(jìn)程 SPI 模擬脫機(jī)輸入時(shí)外圍機(jī)的功能 , 把低速輸入設(shè)備的數(shù)據(jù)送到高速磁盤(pán)上。 用輸出進(jìn)程 SPO模擬脫機(jī)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1