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

正文內(nèi)容

操作系統(tǒng)上機(jī)操作實(shí)驗(yàn)題目-全文預(yù)覽

2025-02-04 01:10 上一頁面

下一頁面
  

【正文】 將buff內(nèi)容寫入name文件length字節(jié)文件未打開,無法寫文件查找已打開文件表N文件打開?YN文件以寫方式打開?Y結(jié)束從已打開文件表得到寫指針;盤塊號(hào)dnum,字節(jié)位置bnum文件不能寫結(jié)束t=0Nt=length?Y將buff[t]寫入文件緩沖buffer1寫文件結(jié)束結(jié)束修改寫指針的bnum;bnum=bnum+1t=t+1,文件長度增1N寫完一個(gè)盤塊?Y將buffer1寫入磁盤修改寫指針bnum=1dnum=dd申請一個(gè)磁盤塊ddY申請成功?N磁盤滿,不能繼續(xù)寫結(jié)束 圖21 寫文件的流程圖(5)關(guān)閉文件 用戶對文件讀寫完畢后需要調(diào)用文件系統(tǒng)的“關(guān)閉文件”操作。實(shí)驗(yàn)中,寫文件的參數(shù)只需要文件名、存放準(zhǔn)備寫入磁盤信息的緩沖和寫的長度,(文件名,緩沖,寫長度)。因?yàn)椴捎玫氖橇魇轿募Y(jié)構(gòu),所以讀的長度用字節(jié)表示。 實(shí)驗(yàn)中,所需參數(shù)有文件名、操作類型(讀或?qū)懀?,(文件名,操作類型)。?shí)驗(yàn)中需要的參數(shù)比較少,只要有文件名、文件屬性就可以,(文件名,文件屬性)。下面給出這三種操作的流程圖,在已打開文件表中查找某文件是否存在的流程如圖15所示,將某文件從已打開文件表中刪除的流程如圖16所示,將某個(gè)文件登記在已打開文件表的流程圖如圖17所示。 //已打開文件表項(xiàng)類型定義struct {OFILE file[n]。 //文件長度,文件占用的字節(jié)數(shù)int flag。 //已打開文件表中讀寫指針的結(jié)構(gòu)typedef struct {char name[20]。首先要建立一個(gè)“已打開文件表”,用來記錄打開或建立文件的相關(guān)內(nèi)容,結(jié)構(gòu)如圖14所示。實(shí)驗(yàn)中只使用了絕對路徑名。查找絕對路徑名namei=根目錄的起始盤塊號(hào);last=0pna=從name中分離出“/”后下一個(gè)目錄名(或文件名);若是文件,分離出類型名type讀出磁盤第i塊,存在buffer2中若pna為目錄名或文件名最后一部分,last=1Y是絕對路徑的最后一部分且是文件名?j=0Ni=該目錄起始盤塊號(hào)N第j項(xiàng)是該盤塊一項(xiàng)?j=0j=j+1Y第j項(xiàng)是該盤塊一項(xiàng)?N文件名為pna且類型名為type?j=j+1YY第j項(xiàng)是目錄且名字等于pna?查找成功YN查找失敗,該文件或目錄不存在last==1?Y查找成功結(jié)束圖13 使用絕對路徑查找文件(目錄)的流程圖查找文件除了絕對路徑名外,還可以使用相對路徑名。目錄屬性和文件屬性占用同一個(gè)字節(jié),為了區(qū)別目錄和文件,該字節(jié)每一位代表不同的含義(為“1”表示“是”,為“0”表示“否”),如圖12所示,第0位表示文件為只讀文件,第1位表示為系統(tǒng)文件,第2位表示文件為一般可讀、可寫的普通文件,第3位表示該登記項(xiàng)不是文件的登記項(xiàng),而是目錄的登記項(xiàng),其余幾位閑置未用。實(shí)驗(yàn)中,根目錄固定位置、固定大小(可以登記有限個(gè)文件或子目錄項(xiàng)),子目錄像文件一樣,可使用任何一個(gè)空閑盤塊。 有了文件目錄后,當(dāng)用戶要求使用某個(gè)文件時(shí),文件系統(tǒng)可以順序查找目錄項(xiàng),并比較文件名,就可以找到指定文件的目錄項(xiàng),根據(jù)目錄項(xiàng)中有關(guān)內(nèi)容核對使用權(quán)限、并讀出文件供用戶使用。實(shí)驗(yàn)中,僅僅支持流式文件,不支持記錄式文件,所以這部分內(nèi)容僅僅包括文件在存儲(chǔ)介質(zhì)的位置(分給文件第一個(gè)盤塊的塊號(hào),即起始盤塊號(hào))、文件的長度;③有關(guān)文件管理的信息。一般地說,目錄項(xiàng)應(yīng)該包括如下內(nèi)容: ①有關(guān)文件的控制信息。假定系統(tǒng)區(qū)域占用了x個(gè)盤塊,分配一個(gè)磁盤塊的流程如圖11所示。因而磁盤的分配有時(shí)是一塊一塊申請的。 如果磁盤中某些部分損壞,只要不是系統(tǒng)區(qū)(引導(dǎo)扇區(qū)、文件分配表或根目錄等),不分配那些壞的盤塊,磁盤可以繼續(xù)使用。磁盤的第0塊一定會(huì)被系統(tǒng)數(shù)據(jù)占用,所以任何一個(gè)文件的某個(gè)盤塊塊號(hào)都不可能是“0”,因而還可以用“0”表示磁盤盤塊空閑,若這個(gè)盤塊已經(jīng)分配出去,即是某個(gè)文件的一塊,由上面我們知道文件分配表中對應(yīng)項(xiàng)記錄的是文件下一塊的塊號(hào)或結(jié)束標(biāo)志都不是“0”。這樣文件分配表占用了磁盤的0塊和1塊,這兩塊就不能作其他用處。因?yàn)槭菍?shí)驗(yàn),不使用真正的磁盤,所以實(shí)驗(yàn)中用一個(gè)文件模擬一個(gè)小磁盤。磁盤有多少塊,文件分配表就有多少項(xiàng),若某文件的一個(gè)磁盤塊號(hào)i,則這個(gè)文件的下一個(gè)磁盤的塊號(hào)應(yīng)該記錄在文件分配表第i項(xiàng)。因此,這個(gè)實(shí)驗(yàn)雖然是文件操作的模擬實(shí)現(xiàn),但是還必須模擬一部分文件的組織結(jié)構(gòu)、目錄結(jié)構(gòu)和磁盤空間管理的實(shí)現(xiàn)。最后編寫主函數(shù)對所做工作進(jìn)行測試。六、參考程序 。N第j頁修改標(biāo)志==1?Y輸出:頁號(hào)j修改頁表:第j頁存在標(biāo)志改為“0”第lnumber頁存在標(biāo)志改為“1”第lnumber頁修改標(biāo)志改為“0”第lnumber頁主存塊號(hào)為第j頁原主存塊號(hào)輸出:頁號(hào)lnumber結(jié)束圖8 采用先進(jìn)先出頁面置換算法的缺頁中斷流程圖實(shí)驗(yàn)執(zhí)行一條指令時(shí),不模擬指令的執(zhí)行,只是考慮指令執(zhí)行是否修改頁面,若修改頁面,則將該頁的頁表中修改標(biāo)志位置“1”,然后輸出轉(zhuǎn)換后的物理地址,并輸出物理地址來表示一條指令執(zhí)行完成;如果訪問的頁不在主存時(shí),則產(chǎn)生缺頁中斷,然后直接轉(zhuǎn)去缺頁中斷處理,最后模擬中斷返回,就是返回重新進(jìn)行地址轉(zhuǎn)換。因此可以使用一個(gè)指針,只用head即可。先進(jìn)先出算法簡單,易實(shí)現(xiàn)。 主存中無空閑塊時(shí),為裝入一個(gè)頁面,必須按某種算法從已在主存的頁中選擇也頁,將它暫時(shí)調(diào)出主存,讓出 主存空間,用來存放需裝入的頁面,這個(gè)工作稱為“頁面調(diào)度”。 使用局部算法時(shí),存在這樣一個(gè)問題:就是 在分配給作業(yè)主存空間時(shí),裝入哪些頁?有的系統(tǒng)采用裝入任何一頁,當(dāng)執(zhí)行過程中需要時(shí)才將其調(diào)入。當(dāng)重新執(zhí)行該指令時(shí)。中斷裝置通過交換PSW讓操作系統(tǒng)的中斷處理程序占用處理器;(2)操作系統(tǒng)處理缺頁中斷的方法就是查主存分配表,找一個(gè)空閑主存塊;若無空閑塊,查頁表,選擇一個(gè)已在主存的頁面,把它暫時(shí)調(diào)出主存。 //該頁所在主存塊的塊號(hào) int writer。0x3ff查頁表第lnumber行N頁在主存?缺頁中斷從頁表中取得塊號(hào)pnumber合并塊號(hào)和塊內(nèi)地址形成物理地址paddress。在頁式虛擬存儲(chǔ)管理方式中,作業(yè)信息作為副本放在磁盤上,作業(yè)執(zhí)行時(shí)僅把作業(yè)信息的部分頁面裝入主存儲(chǔ)器,作業(yè)執(zhí)行時(shí)若訪問的頁面在主存中,則按上述方式進(jìn)行地址轉(zhuǎn)換,若訪問的頁面不在主存中,則產(chǎn)生一個(gè)“缺頁中斷”,由操作系統(tǒng)把當(dāng)前所需要的頁面裝入主存儲(chǔ)器后,再次執(zhí)行時(shí)才可以按上述方法進(jìn)行地址轉(zhuǎn)換。實(shí)驗(yàn)具體包括:首先對給定的地址進(jìn)行地址轉(zhuǎn)換工作,若發(fā)生缺頁則先進(jìn)行缺頁中斷處理,然后再進(jìn)行地址轉(zhuǎn)換;最后編寫主函數(shù)對所做工作進(jìn)行測試。六、參考程序。 按上述方法歸還主存區(qū)域的流程如圖5所示。此時(shí)對空閑區(qū)表的修改如下: 第k欄長度=第k欄長度+第j欄長度+L;(第k欄起始地址不變) 第j欄狀態(tài)=“空”。這時(shí)只要修改第j欄登記項(xiàng)的內(nèi)容: 起始地址=S; 第j欄長度=第j欄長度+L; 則第j欄指示的空閑區(qū)是歸還區(qū)和下鄰空閑區(qū)合并后的大空閑區(qū)。若有,則應(yīng)合并成一個(gè)空閑區(qū)。這樣查找速度快,但是為使空閑區(qū)按長度以遞增順序登記在空閑區(qū)表中,就必須在分配回收時(shí)進(jìn)行空閑區(qū)表的調(diào)整,空閑區(qū)表調(diào)整時(shí)移動(dòng)表目的代價(jià)要高于查詢整張表的代價(jià),所以實(shí)驗(yàn)中不采用空閑區(qū)有序登記在空閑表中的方法。最優(yōu)適應(yīng)算法是按作業(yè)要求挑選一個(gè)能滿足作業(yè)要求的最小空閑區(qū),這樣保證可以不去分割一個(gè)大的區(qū)域,使裝入大作業(yè)時(shí)比較容易得到滿足,但是最優(yōu)適應(yīng)算法容易出現(xiàn)找到的一個(gè)分區(qū)可能只比作業(yè)所要求的長度略大一點(diǎn)的情況,這時(shí),空閑區(qū)分割后剩下的空閑區(qū)就很小,這種很小的空閑區(qū)往往就無法使用,影響了主存的使用。如果找到的空閑正好等于該作業(yè)的長度,則把該分區(qū)全部分配給作業(yè)。 //空閑區(qū)表登記欄標(biāo)志.0表示空欄目,用1表示未分配} free_table[m]。 //已分配區(qū)表登記欄標(biāo)志.0表示空欄目,實(shí)驗(yàn)中只支持一個(gè)字符的作業(yè)名}used_table[n]。為此,“已分配區(qū)表”和“空閑區(qū)表”在實(shí)驗(yàn)中有如下的結(jié)構(gòu)定義。由于順序表的長度必須提前固定,所以無論是“已分配區(qū)表”還是“空閑區(qū)表”都必須事先確定長度。主存分配時(shí)查找空閑區(qū)進(jìn)行分配,然后填寫已分配區(qū)表,主要操作在空閑區(qū);某個(gè)作業(yè)執(zhí)行完后,將該分區(qū)變成空閑區(qū),并將其與相鄰的空閑區(qū)合并,主要操作也在空閑區(qū)??傊? 實(shí)現(xiàn)動(dòng)態(tài)分區(qū)的分配和回收,主要考慮的問題有三個(gè):第一。四、提示與講解 動(dòng)態(tài)分區(qū)管理方式預(yù)先不將主存劃分成幾個(gè)區(qū)域,而把主存除操作系統(tǒng)占用區(qū)域外的空間看作一個(gè)大的空閑區(qū)。執(zhí)行后,輸入以下數(shù)據(jù):輸入進(jìn)程編號(hào)(避免編號(hào)的沖突,以負(fù)數(shù)輸入結(jié)束,最多可以創(chuàng)建10個(gè)進(jìn)程):12…1運(yùn)行結(jié)果:進(jìn)程標(biāo)識(shí)符 進(jìn)程狀態(tài) 寄存器內(nèi)容:ax bx cx dx pc psw: 1 1 1 1 1 1 1 1實(shí)驗(yàn)三 動(dòng)態(tài)分區(qū)存儲(chǔ)管理方式的主存分配回收一、實(shí)驗(yàn)?zāi)康纳钊肓私鈩?dòng)態(tài)分區(qū)存儲(chǔ)管理方式主存分配回收的實(shí)現(xiàn)。DX=dxPC=pc。采用時(shí)間片輪轉(zhuǎn)調(diào)度算法的進(jìn)程調(diào)度流程圖如圖3所示。實(shí)驗(yàn)中采用時(shí)間片輪轉(zhuǎn)調(diào)度算法。pcbarea[].next= 1。=i。進(jìn)程創(chuàng)建流程圖如圖2所示。}ready。因此為就緒隊(duì)列定義兩個(gè)指針,一個(gè)頭指針,指向就緒隊(duì)列的第一個(gè)進(jìn)程控制塊;一個(gè)尾指針,指向就緒隊(duì)列的最后一個(gè)進(jìn)程控制塊。進(jìn)程控制塊的鏈接方式可以采用單向和雙向鏈表,實(shí)驗(yàn)中,進(jìn)程控制塊隊(duì)列采用單向不循環(huán)靜態(tài)鏈表。因此,單處理器系統(tǒng)中進(jìn)程控制塊分成一個(gè)正在運(yùn)行進(jìn)程的進(jìn)程控制塊、就緒進(jìn)程的進(jìn)程控制塊組織成的就緒隊(duì)列和等待進(jìn)程的進(jìn)程控制塊組成的等待隊(duì)列。多道程序設(shè)計(jì)系統(tǒng)中,往往同時(shí)創(chuàng)建多個(gè)進(jìn)程。 //進(jìn)程現(xiàn)場信息,通用寄存器內(nèi)容 int pc。實(shí)驗(yàn)中,僅包括隊(duì)列指針。用大寫的全局變量AX、BX、CX、DX模擬通用寄存器、大寫的全局變量PC模擬程序計(jì)數(shù)器、大寫的全局變量PSW模擬程序狀態(tài)字寄存器。 現(xiàn)場信息 現(xiàn)場信息記錄各個(gè)寄存器的內(nèi)容。216。一般操作系統(tǒng)中,無論進(jìn)行控制塊中信息量多少,信息都可以大致分為以下四類:216。進(jìn)程控制塊PCB記錄各個(gè)進(jìn)程執(zhí)行時(shí)的情況。三、實(shí)驗(yàn)內(nèi)容編寫程序完成單處理機(jī)系統(tǒng)中的進(jìn)程調(diào)度,要求采用時(shí)間片輪轉(zhuǎn)調(diào)度算法。二、實(shí)驗(yàn)預(yù)備知識(shí) 1.進(jìn)程的概念。六、參考程序。實(shí)驗(yàn)中采用響應(yīng)比高者優(yōu)先算法,響應(yīng)比的定義為: 響應(yīng)比 = 作業(yè)的等待時(shí)間/作業(yè)估計(jì)執(zhí)行時(shí)間 采用響應(yīng)比高者優(yōu)先調(diào)度算法,進(jìn)行調(diào)度時(shí)必須計(jì)算出系統(tǒng)中的所有滿足必要條件作業(yè)的響應(yīng)比;從中選擇響應(yīng)比最高的一個(gè)作業(yè)裝入主存儲(chǔ)器分配資源,由于是實(shí)驗(yàn),所以就用將作業(yè)的作業(yè)控制塊出隊(duì),并輸出作業(yè)的作業(yè)名代替裝入主存儲(chǔ)器,同時(shí)修改系統(tǒng)的資源數(shù)量;用同樣方法選擇第二個(gè)、第三個(gè)……直到不再有滿足必要條件的作業(yè)。盡管不同的計(jì)算機(jī)系統(tǒng)可以采用不同的調(diào)度原則和調(diào)度算法,但是都必須遵循一個(gè)必要條件,即系統(tǒng)現(xiàn)有的尚未分配的資源可以滿足被選作業(yè)的資源要求。 作業(yè)隊(duì)列頭指針定義:int *head。 作業(yè)在系統(tǒng)中的等待時(shí)間int next。 //作業(yè)長度,所需主存大小int printer。 由于實(shí)驗(yàn)中沒有實(shí)際作業(yè),作業(yè)控制塊中的信息內(nèi)容只使用了實(shí)驗(yàn)中需要的數(shù)據(jù)。 為了將系統(tǒng)中的作業(yè)組織起來,需要為每個(gè)進(jìn)入系統(tǒng)的作業(yè)建立檔案以記錄和作業(yè)相關(guān)的信息,例如作業(yè)名、作業(yè)所需資源、作業(yè)執(zhí)行時(shí)間、作業(yè)進(jìn)入系統(tǒng)的時(shí)間、作業(yè)信息存儲(chǔ)器中的位置、指向下一個(gè)作業(yè)控制塊的指針等信息。實(shí)驗(yàn)具體包括:首先確定作業(yè)控制塊的內(nèi)容,作業(yè)控制塊的組成方式;然后完成作業(yè)調(diào)度;最后編寫主函數(shù)對所做工作進(jìn)行測試。二、實(shí)驗(yàn)預(yù)備知識(shí) 。 、管理作業(yè)和調(diào)度作業(yè)。三、實(shí)驗(yàn)內(nèi)容 編寫程序完成批處理系統(tǒng)中的作業(yè)調(diào)度,要求采用響應(yīng)比高者優(yōu)先的作業(yè)調(diào)度算法。作業(yè)調(diào)度的實(shí)現(xiàn)主要有兩個(gè)問題,一個(gè)是如何將系統(tǒng)中的作業(yè)組織起來;另一個(gè)是如何進(jìn)行作業(yè)調(diào)度。當(dāng)進(jìn)行作業(yè)調(diào)度時(shí),從后備隊(duì)列中查找選擇作業(yè)。 //作業(yè)名int length。 //作業(yè)估計(jì)執(zhí)行時(shí)間int waittime。 //系統(tǒng)內(nèi)現(xiàn)有作業(yè)數(shù)量 將作業(yè)控制塊組織成一個(gè)隊(duì)列,實(shí)驗(yàn)中采用靜態(tài)鏈表的方式模擬作業(yè)的后備隊(duì)列,如下圖所示。k=xk圖1 采用響應(yīng)比高者優(yōu)先算法的作業(yè)調(diào)度程序流程圖 確定作業(yè)組織方式之后,就要開始考慮如何進(jìn)行作業(yè)調(diào)度。 常用的作業(yè)調(diào)度算法有先來先服務(wù)算法、計(jì)算時(shí)間短的作業(yè)優(yōu)先算法、響應(yīng)比高者優(yōu)先算法、優(yōu)先數(shù)調(diào)度算法和均衡調(diào)度算法。五、作業(yè)題將上述實(shí)驗(yàn)中的作業(yè)調(diào)度算法改為①先來先服務(wù);②短作業(yè)優(yōu)先調(diào)度算法重新完成上述工作。3.進(jìn)一步認(rèn)識(shí)如何實(shí)現(xiàn)處理器調(diào)度。 4.進(jìn)程的調(diào)度。 考慮如何組織進(jìn)程,首先就要設(shè)定進(jìn)程控制塊的內(nèi)容。這里的實(shí)驗(yàn)只使用了必不可少的信息。在后面給出的參考程序中,采用編號(hào)方式,也就是為每個(gè)進(jìn)程依次分配一個(gè)不相同的正整數(shù)。216。在實(shí)驗(yàn)中,可選取幾個(gè)寄存器作為代表。例如進(jìn)程優(yōu)先數(shù)、進(jìn)程隊(duì)列指針等
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1