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

正文內容

操作系統(tǒng)上機操作實驗題目(存儲版)

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

下一頁面
  

【正文】 圖23 刪除文件的流程圖顯示路徑名為name的文件查找目錄nameN找到該文件?指定的文件不存在,顯示文件內容失敗Y文件打開?YN結束文件打開,顯示文件失敗dnum=該目錄起始盤塊號結束N第dnum塊是該文件一塊?Y結束第dnum塊內容讀入buffer1顯示buffer1中的內容結束或到文件結束符 dnum=FAT第dnum項 圖24 顯示文件的流程圖 實驗中,首先要系統(tǒng)初始化,包括建立文件模擬磁盤、初始化磁盤FAT、初始化根目錄為空目錄項;然后,可以選擇一項功能執(zhí)行。顯示路徑名為name的目錄查找目錄nameN找到該目錄?指定的目錄不存在,顯示目錄內容失敗Y該目錄項起始盤塊號dnum;第dnum塊內容讀入buffer2結束t=0;查buffer2中第t個目錄項t=t+1Y第t項是空目錄項?N顯示該目錄內容 N第t項是該盤塊最后一項?Y結束 圖26 顯示目錄內容的流程圖216。 另外注意,對磁盤文件進行讀操作時,需要磁盤的一個盤塊讀入主存后才能進行處理,對磁盤文件進行寫操作時,要寫滿緩沖后才寫入磁盤。 顯示目錄內容 顯示目錄內容首先要找到該目錄,如果目錄不存在,指令執(zhí)行失??;如果存在,一項一項顯示目錄內容。(7)顯示文件內容 顯示文件內容首先要找到該文件的目錄登記項,如果文件不存在,指令執(zhí)行失?。蝗绻嬖?,查看文件是否打開,打開則不能顯示文件內容;若沒有打開,從目錄中取出文件的起始盤塊號,一塊一塊顯示文件內容,顯示文件內容的流程如圖24所示。實驗中,寫文件操作的主要工作是查找已打開文件表中是否存在該文件,如果不存在,不能寫;如果存在,還要檢查是否以寫方式打開文件;如果不是,寫方式打開文件,不能寫;最后從已打開文件表中讀出寫指針,從這個位置上寫入緩沖中的數據。打開路徑名為pname的文件文件屬性與操作類型相符?找到該文件目錄項?查找該文件的目錄項NY文件不存在,無法打開文件NY操作不合法,無法打開文件在已打開文件表中插入該文件登記項結束 圖19 打開文件的流程圖(3)讀文件 用戶要求讀文件信息時調用文件系統(tǒng)的“讀文件”操作。Y文件沒有打開,刪除失敗查找成功結束結束圖15 在已打開文件表中查找某文件的流程圖 圖16 將某文件從已打開文件表中刪除的流程圖找到該文件登記項i?在已打開文件表中查找路徑名為name的登記項i插入路徑名為name的文件YN文件已經打開N已打開文件表已滿?[length]處填寫該文件的各項內容;=+1Y文件登記表滿,無法打開文件結束圖17 將某文件插入已打開文件表的流程圖(1)建立文件 用戶要把一個新文件放到存儲介質上前,首先調用文件系統(tǒng)的“建立”操作。 //讀文件的位置,文件剛打開時dnum 為文件起始盤pointer write。 //磁盤盤塊號int bnum。如果文件(或目錄)在當前目錄下,使用相對路徑名查找速度比較快。文件和目錄的登記項是混在一起的,登記項的結構應該和文件目錄一樣,每個目錄項占用8個字節(jié),結構如下: 目錄名:3個字節(jié)(實驗中合法文件名僅可使用字母,數字和除“$”、“.”和“/”以外的字符,第一個字節(jié)的值“$”時表示該目錄為空目錄項); 未使用2字節(jié)(在實驗中填寫空格); 目錄屬性:1字節(jié); 起始盤塊號:1個字節(jié); 未使用1字節(jié)(在實驗中填寫“0”)。實驗中為了簡單起見,這部分內容都不采用。開始找到文件分配表第x項,i=xY第i項值是否為0?Ni=i+1分配第i塊N第i項值是否為最后一項?Y磁盤滿,分配失敗結束 圖11 分配一個磁盤塊的流程圖(3)目錄結構 文件目錄是用于檢索文件的,它是文件系統(tǒng)實現按名存取的主要手段。假設實驗中模擬磁盤的第13塊和第49塊已經損壞,不能使用,則在文件分配表的第13項和第49項寫入“254”表示該盤塊損壞不能使用。 文件的建立和刪除就需要對磁盤的空間進行分配和回收,所以要建立一定的數據表格來記錄磁盤的使用情況。某個文件的起始盤塊號為3,在該文件盤塊號依次為113。我們把文件系統(tǒng)設計的這一組功能模塊稱為“文件操作”,實驗就是要模擬實現一些文件操作。開始取指令中的頁號lnumber查頁表第lnumber欄缺頁中斷N第lnumber頁存在標志==1?Y形成物理地址輸出:物理地址N指令會修改頁內容?Y第lnumber頁修改標志改為“1”結束圖9 一條指令執(zhí)行的模擬流程圖因為沒有實際主存,所以在模擬程序中首先手工輸入頁表信息,創(chuàng)建該作業(yè)的頁表;然后循環(huán)執(zhí)行假定的指令,觀察地址轉換情況。實驗中,用一個數組存放頁號的隊列。實驗中,采用第2種方法,分配主存空間時將前幾頁調入主存,假定系統(tǒng)中沒個作業(yè)分得主存塊m(m=4),則將第 0~m1頁裝入主存。則需將該頁信息寫回磁盤,否則不必寫回;(3)找出該頁的磁盤位置,啟動磁盤讀出該頁信息,把磁盤上讀出的信息裝入第2步找到的主存塊,修改頁表中該頁的標志為“1”;(4)由于產生缺頁中斷的那條指令沒有執(zhí)行完。 //頁號 int flag。四、提示與講解頁式虛擬存儲管理中地址轉換過程很簡單,假定主存塊的大小為2為字節(jié),主存大小字節(jié)和邏輯地址位,則進行地址轉換時,首先從邏輯地址中的高位中取得頁號,然后根據頁號查頁表,得到塊號,并將塊號放入物理地址的高位,最后從邏輯地址中取得低位放入物理地址的低位就得到了物理地址,過程如圖6所示。五、作業(yè)題①編程實現頁式存儲管理的主存分配和回收。這時要修改第k欄登記項的內容(起始地址不變); 第k欄長度=第k欄長度+L; 于是第k欄指示的空閑區(qū)是歸還區(qū)和上鄰空閑區(qū)合并后的大空閑區(qū)。作業(yè)J申請xk大小的主存空間i=0;k=1Ni是空閑區(qū)表中一欄(i=m)YY是否找到滿足需求的分區(qū)k?第i欄標志為“未分配”且滿足作業(yè)需求xk?NN第k欄長度作業(yè)需求=minsize?YN主存分配失敗結束切割空閑區(qū):第k欄長度減去xkad=第k欄起始地址第k欄長度分配整個分區(qū):第k欄狀態(tài)為“空”ad=第k欄起始地址;xk=第k欄長度第i欄空閑區(qū)為第一個滿足需求的或第i欄空閑區(qū)長度小于第k欄空閑區(qū)長度?Ni=0k=i第i欄是已分配區(qū)表中一欄且第i欄狀態(tài)不為空?i=i+1i=i+1YNYN第i欄是為已分配表中一欄?第i欄是為已分配表中一欄?YN填寫已分配區(qū)表第j欄起始地址=ad;第j欄長度=xk;第j欄狀態(tài)=作業(yè)名J空閑區(qū)表第k欄長度加xk空閑區(qū)表狀態(tài)未分配已分配區(qū)表長度不足,分配失敗結束 圖4 動態(tài)分區(qū)最優(yōu)分配算法流程圖 最后是動態(tài)分區(qū)方式下的主存回收問題。如果找到的空閑區(qū)大于作業(yè)長度,則把空閑區(qū)的長度,且把空閑區(qū)分成兩部分,一部分用來裝入作業(yè),另外一部分仍為空閑區(qū),這時只要修改原空閑區(qū)的長度,且把新裝入的作業(yè)登記到已分配去表中。 //空閑區(qū)起始地址 float length。因而在多數情況下,無論是“已分配區(qū)表”,還是“空閑區(qū)表”都有空閑欄目。由于分區(qū)長度不同,因此設計的表格應該包括分區(qū)在主存中的起始地址和長度。作業(yè)執(zhí)行完后,它所占的主存分區(qū)被收回成為一個空閑區(qū)。五、作業(yè)題編程實現采用①先進先出;②優(yōu)先數;③最短作業(yè)優(yōu)先調度算法的進程調度。時間片就是規(guī)定進程一次使用處理器的最長時間。掛入就緒隊列:=i。//定義指向空閑進程控制塊隊列的指針以上是如何組織進程,下面考慮如何創(chuàng)建進程。實驗采用時間片輪轉調度算法,這種算法是將進程控制塊按照進入就緒隊列的先后次序排成隊列。為了便于管理,通常把處于相同狀態(tài)的進程的進程控制塊鏈接在一起。 //進程標識符 int status。現場信息就是處理器的相關寄存器內容,包跨通用寄存器、程序計數器和程序狀態(tài)字寄存器等。這個標識符是必不可少的,可以用符號或編號實現,它必須是操作系統(tǒng)分配的。四、提示與講解 這個實驗主要考慮三個問題:如何組織進程、如何創(chuàng)建進程和如何實現處理器調度。2.深入了解系統(tǒng)如何組織進程、創(chuàng)建進程。實驗中,主存采用可移動的動態(tài)分區(qū)管理方法,即只要主存空閑區(qū)總和比作業(yè)大就可以滿足作業(yè)對主存的需求;對打印機和磁帶機這兩種獨占型設備采用靜態(tài)分配法,即作業(yè)執(zhí)行前必須獲得所需資源,并且執(zhí)行完才歸還。 //作業(yè)表int jobcount 。 實驗中,作業(yè)控制塊及隊列的數據結構定義如下:typedef struct jcb {char name[4]。實現這部分功能的程序就是“作業(yè)調度程序”。實驗一 批處理系統(tǒng)的作業(yè)調度一、實驗目的 。四、提示與講解 操作系統(tǒng)根據允許并行工作的道數和一定的算法從系統(tǒng)中選取若干作業(yè)把它們裝入主存儲器,使它們有機會獲得處理器運行,這項工作被稱為“作業(yè)調度”。作業(yè)控制塊中首先應該包括作業(yè)名;其次是作業(yè)所需資源,根據需要,實驗中只包括需要主存的大小(采用可移動的動態(tài)分區(qū)方式管理主存,作業(yè)大小就是需要主存的大小)、需要打印機的數量和需要磁帶機的數量;采用響應比作業(yè)調度算法,為了計算響應比,還需要有作業(yè)的估計執(zhí)行時間、作業(yè)在系統(tǒng)中的等待時間;另外,指向下一個作業(yè)控制塊的指針必不可少。 //指向下一個作業(yè)控制塊的指針}JCB //作業(yè)控制塊類型定義存放作業(yè)控制塊的區(qū)域:define n 10 //假定系統(tǒng)中可容納的作業(yè)數量為nJCB jobtable[10]。就是說,所有的作業(yè)調度都是按照一定的算法,從滿足必要條件的作業(yè)中選擇一部分作業(yè)裝入主存儲器。執(zhí)行后,輸入以下數據:輸入作業(yè)名、作業(yè)大小、磁帶機數、打印機數、等待時間、估計執(zhí)行時間J1 1024 1 1 1 5輸入作業(yè)名、作業(yè)大小、磁帶機數、打印機數、等待時間、估計執(zhí)行時間J2 8000 1 1 4 10輸入作業(yè)名、作業(yè)大小、磁帶機數、打印機數、等待時間、估計執(zhí)行時間J3 2048 1 1 9 15輸入作業(yè)名、作業(yè)大小、磁帶機數、打印機數、等待時間、估計執(zhí)行時間J4 5024 2 1 15 20輸入作業(yè)名、作業(yè)大小、磁帶機數、打印機數、等待時間、估計執(zhí)行時間J5 8088 1 1 20 3輸入作業(yè)名、作業(yè)大小、磁帶機數、打印機數、等待時間、估計執(zhí)行時間0 1 0 0 0 0運行結果:選中作業(yè)的作業(yè)名:J5選中作業(yè)的作業(yè)名:J4 輸入以下數據:輸入作業(yè)名、作業(yè)大小、磁帶機數、打印機數、等待時間、估計執(zhí)行時間J1 12048 1 1 14 26輸入作業(yè)名、作業(yè)大小、磁帶機數、打印機數、等待時間、估計執(zhí)行時間J2 6024 1 1 9 5輸入作業(yè)名、作業(yè)大小、磁帶機數、打印機數、等待時間、估計執(zhí)行時間J3 8000 1 1 34 14輸入作業(yè)名、作業(yè)大小、磁帶機數、打印機數、等待時間、估計執(zhí)行時間J4 7048 1 1 39 31輸入作業(yè)名、作業(yè)大小、磁帶機數、打印機數、等待時間、估計執(zhí)行時間J5 1248 2 1 59 41輸入作業(yè)名、作業(yè)大小、磁帶機數、打印機數、等待時間、估計執(zhí)行時間0 1 0 0 0 0運行結果:選中作業(yè)的作業(yè)名:J3選中作業(yè)的作業(yè)名:J2實驗二 單處理器系統(tǒng)的進程調度一、實驗目的1.加深對進程概念的理解,明確進程和程序的區(qū)別。實驗具體包括:首先確定進程控制塊的內容,進程控制塊的組成方式;然后完成進程創(chuàng)建原語和進程調度原語;最后編寫主函數對所做工作進行測試。 標識信息 每個進程都要有一個惟一的標識符,用來標識進程的存在和區(qū)別于其他進程。當進程由于某種原因讓出處理器,需要將現場信息記錄在進程控制塊中,當進行進程調度時,從選中進程的進程控制塊中讀取現場信息進行現場恢復。因此可將進程控制塊結構定義如下:struct pcb {int name。在單個處理器的情況下,每次只能有一個進程處于運行態(tài),其他的進程處于就緒狀態(tài)或等待狀態(tài)。為了管理空閑進程控制塊,還應該將將空閑控制塊鏈接成一個隊列。 //定義指向就緒隊列的頭指針head和尾指針tailint pfree。pcbarea[].next= 1。時間片
點擊復制文檔內容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1