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

正文內(nèi)容

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

2025-01-17 01:10本頁面
  

【正文】 另外注意,對磁盤文件進行讀操作時,需要磁盤的一個盤塊讀入主存后才能進行處理,對磁盤文件進行寫操作時,要寫滿緩沖后才寫入磁盤。 刪除空目錄 刪除空目錄首先要找到該目錄,如果目錄不存在,指令執(zhí)行失??;如果存在,但是根目錄或非空目錄,顯示不能刪除,操作失敗;若是非空自目錄,則刪除其目錄項并回收對應空間。顯示目錄內(nèi)容的流程如圖26所示。顯示路徑名為name的目錄查找目錄nameN找到該目錄?指定的目錄不存在,顯示目錄內(nèi)容失敗Y該目錄項起始盤塊號dnum;第dnum塊內(nèi)容讀入buffer2結(jié)束t=0;查buffer2中第t個目錄項t=t+1Y第t項是空目錄項?N顯示該目錄內(nèi)容 N第t項是該盤塊最后一項?Y結(jié)束 圖26 顯示目錄內(nèi)容的流程圖216。 顯示目錄內(nèi)容 顯示目錄內(nèi)容首先要找到該目錄,如果目錄不存在,指令執(zhí)行失??;如果存在,一項一項顯示目錄內(nèi)容。路徑名為name將name分離成建立文件的目錄路徑名pathname和目錄名dname查找pathnameN找到該目錄?Y指定目錄不存在,建立目錄失敗目錄項起始盤塊號d第d塊內(nèi)容讀入buffer1結(jié)束b=1;t=0查buffer2中第t個目錄項NY第t項是目錄且名字是dname?Nt=t+1指定目錄已存在,建立目錄失敗第t項是空欄且b==1?Y結(jié)束b=tN第t項是該盤塊最后一項?Y目錄中有空項b(b!= 1)?NY無目錄項,建立失敗申請一個磁盤塊ddN申請磁盤塊成功?結(jié)束Y無目錄項建立失敗初始化該塊所有目錄項為空目錄項在第d塊第b項建立該目錄的目錄;目錄名fname、屬性、起始盤塊號dd、長度0;FAT表第dd項結(jié)束標志。 建立目錄 建立目錄首先要找到建立目錄的位置(父目錄),然后查找該目錄是否存在,如果父目錄不存在,不能建立;如果存在,查找是否存在同名目錄,存在,不能建立;不存在,則查找一個空目錄項,為該目錄申請一個盤塊,并填寫目錄內(nèi)容。刪除路徑名為name的文件查找該文件的目錄項N該文件存在?文件不存在,無法刪除文件Y查找該已打開文件表結(jié)束找到該文件?Y結(jié)束文件正在使用,不能刪除Nt=文件起始盤塊號刪除該文件目錄Y刪除完?Nt=下一個盤塊結(jié)束 回收盤塊t 圖23 刪除文件的流程圖顯示路徑名為name的文件查找目錄nameN找到該文件?指定的文件不存在,顯示文件內(nèi)容失敗Y文件打開?YN結(jié)束文件打開,顯示文件失敗dnum=該目錄起始盤塊號結(jié)束N第dnum塊是該文件一塊?Y結(jié)束第dnum塊內(nèi)容讀入buffer1顯示buffer1中的內(nèi)容結(jié)束或到文件結(jié)束符 dnum=FAT第dnum項 圖24 顯示文件的流程圖 實驗中,首先要系統(tǒng)初始化,包括建立文件模擬磁盤、初始化磁盤FAT、初始化根目錄為空目錄項;然后,可以選擇一項功能執(zhí)行。(7)顯示文件內(nèi)容 顯示文件內(nèi)容首先要找到該文件的目錄登記項,如果文件不存在,指令執(zhí)行失??;如果存在,查看文件是否打開,打開則不能顯示文件內(nèi)容;若沒有打開,從目錄中取出文件的起始盤塊號,一塊一塊顯示文件內(nèi)容,顯示文件內(nèi)容的流程如圖24所示。實驗中,刪除文件時參數(shù)只要文件名,(文件名)。實驗中關閉文件,首先要看該文件是否打開,如果沒有打開,就不用關閉;如果已經(jīng)大,則檢查打開方式,如果是寫方式打開的,要追加文件結(jié)束符,修改目錄項;最后從打開文件表中刪除對應項,關閉文件的流程如圖22所示。將buff內(nèi)容寫入name文件length字節(jié)文件未打開,無法寫文件查找已打開文件表N文件打開?YN文件以寫方式打開?Y結(jié)束從已打開文件表得到寫指針;盤塊號dnum,字節(jié)位置bnum文件不能寫結(jié)束t=0Nt=length?Y將buff[t]寫入文件緩沖buffer1寫文件結(jié)束結(jié)束修改寫指針的bnum;bnum=bnum+1t=t+1,文件長度增1N寫完一個盤塊?Y將buffer1寫入磁盤修改寫指針bnum=1dnum=dd申請一個磁盤塊ddY申請成功?N磁盤滿,不能繼續(xù)寫結(jié)束 圖21 寫文件的流程圖(5)關閉文件 用戶對文件讀寫完畢后需要調(diào)用文件系統(tǒng)的“關閉文件”操作。實驗中,寫文件操作的主要工作是查找已打開文件表中是否存在該文件,如果不存在,不能寫;如果存在,還要檢查是否以寫方式打開文件;如果不是,寫方式打開文件,不能寫;最后從已打開文件表中讀出寫指針,從這個位置上寫入緩沖中的數(shù)據(jù)。實驗中,寫文件的參數(shù)只需要文件名、存放準備寫入磁盤信息的緩沖和寫的長度,(文件名,緩沖,寫長度)。實驗中用“”表示文件結(jié)束,讀文件的流程如圖20所示。因為采用的是流式文件結(jié)構(gòu),所以讀的長度用字節(jié)表示。打開路徑名為pname的文件文件屬性與操作類型相符?找到該文件目錄項?查找該文件的目錄項NY文件不存在,無法打開文件NY操作不合法,無法打開文件在已打開文件表中插入該文件登記項結(jié)束 圖19 打開文件的流程圖(3)讀文件 用戶要求讀文件信息時調(diào)用文件系統(tǒng)的“讀文件”操作。 實驗中,所需參數(shù)有文件名、操作類型(讀或?qū)懀ㄎ募?,操作類型)。建立文件的流程如圖18所示。實驗中需要的參數(shù)比較少,只要有文件名、文件屬性就可以,(文件名,文件屬性)。Y文件沒有打開,刪除失敗查找成功結(jié)束結(jié)束圖15 在已打開文件表中查找某文件的流程圖 圖16 將某文件從已打開文件表中刪除的流程圖找到該文件登記項i?在已打開文件表中查找路徑名為name的登記項i插入路徑名為name的文件YN文件已經(jīng)打開N已打開文件表已滿?[length]處填寫該文件的各項內(nèi)容;=+1Y文件登記表滿,無法打開文件結(jié)束圖17 將某文件插入已打開文件表的流程圖(1)建立文件 用戶要把一個新文件放到存儲介質(zhì)上前,首先調(diào)用文件系統(tǒng)的“建立”操作。下面給出這三種操作的流程圖,在已打開文件表中查找某文件是否存在的流程如圖15所示,將某文件從已打開文件表中刪除的流程如圖16所示,將某個文件登記在已打開文件表的流程圖如圖17所示。 //已打開文件表中登記的文件數(shù)量}openfile。 //已打開文件表項類型定義struct {OFILE file[n]。 //讀文件的位置,文件剛打開時dnum 為文件起始盤pointer write。 //文件長度,文件占用的字節(jié)數(shù)int flag。 //文件的屬性,用1個字節(jié)表示,char類型int number。 //已打開文件表中讀寫指針的結(jié)構(gòu)typedef struct {char name[20]。 //磁盤盤塊號int bnum。首先要建立一個“已打開文件表”,用來記錄打開或建立文件的相關內(nèi)容,結(jié)構(gòu)如圖14所示。實驗中文件包括建立文件、打開文件、關閉文件、讀文件、寫文件、刪除文件、顯示文件內(nèi)容和改變文件屬性,目錄命令包括建立目錄、顯示目錄內(nèi)容和刪除空目錄。實驗中只使用了絕對路徑名。如果文件(或目錄)在當前目錄下,使用相對路徑名查找速度比較快。查找絕對路徑名namei=根目錄的起始盤塊號;last=0pna=從name中分離出“/”后下一個目錄名(或文件名);若是文件,分離出類型名type讀出磁盤第i塊,存在buffer2中若pna為目錄名或文件名最后一部分,last=1Y是絕對路徑的最后一部分且是文件名?j=0Ni=該目錄起始盤塊號N第j項是該盤塊一項?j=0j=j+1Y第j項是該盤塊一項?N文件名為pna且類型名為type?j=j+1YY第j項是目錄且名字等于pna?查找成功YN查找失敗,該文件或目錄不存在last==1?Y查找成功結(jié)束圖13 使用絕對路徑查找文件(目錄)的流程圖查找文件除了絕對路徑名外,還可以使用相對路徑名。第7位 第6位 第5位 第4位 第3位 第2位 第1位 第0位未使用未使用未使用未使用目錄屬性普通文件系統(tǒng)文件只讀文件圖12 屬性字節(jié)各位作用示意圖 目錄檢索的方法常用的是順序檢索,根據(jù)絕對路徑名查找文件的方法一般如下:先找到根目錄的起始盤塊,一般根目錄位置是固定的,實驗中就是模擬磁盤的第2塊,將該盤塊讀出;取出路徑名中根目錄名或文件名,和根目錄中目錄項依次比較,比較完一塊,再根據(jù)文件分配表找到下一塊,再讀入比較,直到找到名字一致的目錄項或根目錄登記項均已查完位置;若沒有找到,則查找失敗,結(jié)束;若查找的是文件,結(jié)束;若查找的是目錄,從找到的目錄項中,取出目錄的起始盤塊號,讀入此盤塊,然后用上述相同的查找方法繼續(xù)查找,直到找到該文件(或目錄)或查找失敗結(jié)束。目錄屬性和文件屬性占用同一個字節(jié),為了區(qū)別目錄和文件,該字節(jié)每一位代表不同的含義(為“1”表示“是”,為“0”表示“否”),如圖12所示,第0位表示文件為只讀文件,第1位表示為系統(tǒng)文件,第2位表示文件為一般可讀、可寫的普通文件,第3位表示該登記項不是文件的登記項,而是目錄的登記項,其余幾位閑置未用。文件和目錄的登記項是混在一起的,登記項的結(jié)構(gòu)應該和文件目錄一樣,每個目錄項占用8個字節(jié),結(jié)構(gòu)如下: 目錄名:3個字節(jié)(實驗中合法文件名僅可使用字母,數(shù)字和除“$”、“.”和“/”以外的字符,第一個字節(jié)的值“$”時表示該目錄為空目錄項); 未使用2字節(jié)(在實驗中填寫空格); 目錄屬性:1字節(jié); 起始盤塊號:1個字節(jié); 未使用1字節(jié)(在實驗中填寫“0”)。實驗中,根目錄固定位置、固定大?。梢缘怯浻邢迋€文件或子目錄項),子目錄像文件一樣,可使用任何一個空閑盤塊。 在操作系統(tǒng)中目錄就有根目錄和子目錄兩種目錄。 有了文件目錄后,當用戶要求使用某個文件時,文件系統(tǒng)可以順序查找目錄項,并比較文件名,就可以找到指定文件的目錄項,根據(jù)目錄項中有關內(nèi)容核對使用權(quán)限、并讀出文件供用戶使用。實驗中為了簡單起見,這部分內(nèi)容都不采用。實驗中,僅僅支持流式文件,不支持記錄式文件,所以這部分內(nèi)容僅僅包括文件在存儲介質(zhì)的位置(分給文件第一個盤塊的塊號,即起始盤塊號)、文件的長度;③有關文件管理的信息。實驗模擬個人計算機上的文件操作,這部分內(nèi)容僅包括文件名、文件類型和屬性;②有關文件結(jié)構(gòu)的信息。一般地說,目錄項應該包括如下內(nèi)容: ①有關文件的控制信息。開始找到文件分配表第x項,i=xY第i項值是否為0?Ni=i+1分配第i塊N第i項值是否為最后一項?Y磁盤滿,分配失敗結(jié)束 圖11 分配一個磁盤塊的流程圖(3)目錄結(jié)構(gòu) 文件目錄是用于檢索文件的,它是文件系統(tǒng)實現(xiàn)按名存取的主要手段。假定系統(tǒng)區(qū)域占用了x個盤塊,分配一個磁盤塊的流程如圖11所示。這里給出申請一塊磁盤空間的流程圖,若分配多塊時,循環(huán)多次即可。因而磁盤的分配有時是一塊一塊申請的。假設實驗中模擬磁盤的第13塊和第49塊已經(jīng)損壞,不能使用,則在文件分配表的第13項和第49項寫入“254”表示該盤塊損壞不能使用。 如果磁盤中某些部分損壞,只要不是系統(tǒng)區(qū)(引導扇區(qū)、文件分配表或根目錄等),不分配那些壞的盤塊,磁盤可以繼續(xù)使用。像前面圖10那張文件分配表中,塊號為14和15的盤塊是空閑的,其余是已分配的。磁盤的第0塊一定會被系統(tǒng)數(shù)據(jù)占用,所以任何一個文件的某個盤塊塊號都不可能是“0”,因而還可以用“0”表示磁盤盤塊空閑,若這個盤塊已經(jīng)分配出去,即是某個文件的一塊,由上面我們知道文件分配表中對應項記錄的是文件下一塊的塊號或結(jié)束標志都不是“0”。 文件的建立和刪除就需要對磁盤的空間進行分配和回收,所以要建立一定的數(shù)據(jù)表格來記錄磁盤的使用情況。這樣文件分配表占用了磁盤的0塊和1塊,這兩塊就不能作其他用處
點擊復制文檔內(nèi)容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1