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

正文內(nèi)容

操作系統(tǒng)上機(jī)操作實(shí)驗(yàn)題目-資料下載頁(yè)

2025-01-14 01:10本頁(yè)面
  

【正文】 //已打開(kāi)文件表中登記的文件數(shù)量}openfile。 //已打開(kāi)文件表定義無(wú)論上述哪種額外腦筋操作都會(huì)涉及到已打開(kāi)文件表,對(duì)于已打開(kāi)文件表主要是查找、刪除和插入操作。下面給出這三種操作的流程圖,在已打開(kāi)文件表中查找某文件是否存在的流程如圖15所示,將某文件從已打開(kāi)文件表中刪除的流程如圖16所示,將某個(gè)文件登記在已打開(kāi)文件表的流程圖如圖17所示。刪除路徑名為name的文件查找路徑名為pname的文件在已打開(kāi)文件表中查找路徑名為name的登記項(xiàng)ii=0Ni為已打開(kāi)文件表一欄?N找到該文件登記項(xiàng)i?查找失敗i=i+1YYN文件路徑名相符?刪除第i項(xiàng)[i]=[]=。Y文件沒(méi)有打開(kāi),刪除失敗查找成功結(jié)束結(jié)束圖15 在已打開(kāi)文件表中查找某文件的流程圖 圖16 將某文件從已打開(kāi)文件表中刪除的流程圖找到該文件登記項(xiàng)i?在已打開(kāi)文件表中查找路徑名為name的登記項(xiàng)i插入路徑名為name的文件YN文件已經(jīng)打開(kāi)N已打開(kāi)文件表已滿(mǎn)?[length]處填寫(xiě)該文件的各項(xiàng)內(nèi)容;=+1Y文件登記表滿(mǎn),無(wú)法打開(kāi)文件結(jié)束圖17 將某文件插入已打開(kāi)文件表的流程圖(1)建立文件 用戶(hù)要把一個(gè)新文件放到存儲(chǔ)介質(zhì)上前,首先調(diào)用文件系統(tǒng)的“建立”操作。 “建立文件”的主要工作就是檢查文件目錄,確認(rèn)無(wú)重名文件后,尋找空閑登記項(xiàng)進(jìn)行登記;尋找空閑存儲(chǔ)塊(至少一塊)以備存儲(chǔ)文件信息或存放索引表,最后應(yīng)該填寫(xiě)已打開(kāi)文件表。實(shí)驗(yàn)中需要的參數(shù)比較少,只要有文件名、文件屬性就可以,(文件名,文件屬性)。實(shí)驗(yàn)中,建立文件時(shí)給出文件名和文件屬性,文件屬性如果是只讀文件性質(zhì)則不能建立;文件建立時(shí)根據(jù)給定的文件路徑名進(jìn)行查找,如果父目錄不存在,建立文件失?。蝗绻嬖?,查看有無(wú)重名文件,如果有,則提示該文件已存在,建立文件失?。蝗鐭o(wú)重名文件,則為該文件建立文件目錄,并分配給它一個(gè)磁盤(pán)塊;最后填寫(xiě)目錄和已打開(kāi)文件表。建立文件的流程如圖18所示。路徑名name,屬性attribute是只讀文件?YNY不能建立只讀文件,建立文件失敗已打開(kāi)文件表滿(mǎn)?N將name分離成建立文件的目錄路徑名pathname和文件名dname和文件類(lèi)型名type結(jié)束不能建立文件,建立文件失敗N查找pathname找到該目錄?結(jié)束Yd=該目錄項(xiàng)起始盤(pán)塊號(hào)第d塊內(nèi)容讀入buffer2第t項(xiàng)是文件 且名字是fname、類(lèi)型是tmane?查buffer2中第t個(gè)目錄項(xiàng)第t項(xiàng)是空欄并且b== 1?指定的文件目錄不存在,建立文件失敗b=1;t=0結(jié)束YNY指定的文件已經(jīng)存在,建立文件失敗Nt=t+1Nb=t結(jié)束第t項(xiàng)是該盤(pán)塊最后一項(xiàng)?YY無(wú)空目錄?N無(wú)目錄項(xiàng),建立文件失敗申請(qǐng)一個(gè)磁盤(pán)塊ddYN申請(qǐng)磁盤(pán)塊成功?填目錄和已打開(kāi)文件表磁盤(pán)無(wú)空間,建立文件失敗結(jié)束 圖18 模擬建立文件的流程圖(2)打開(kāi)文件 用戶(hù)要求使用一個(gè)已經(jīng)存在的文件時(shí),首先執(zhí)行“打開(kāi)文件”操作。 實(shí)驗(yàn)中,所需參數(shù)有文件名、操作類(lèi)型(讀或?qū)懀?,(文件名,操作?lèi)型)。實(shí)驗(yàn)中,打開(kāi)文件首先要檢查該文件是否存在,不存在,打開(kāi)失?。蝗绻募嬖?,還要檢查打開(kāi)方式,確保不能以寫(xiě)方式打開(kāi)只讀文件;最后填寫(xiě)已打開(kāi)文件表,若文件已經(jīng)打開(kāi)則不需要填寫(xiě)已打開(kāi)文件表,打開(kāi)文件的流程如圖19所示。打開(kāi)路徑名為pname的文件文件屬性與操作類(lèi)型相符?找到該文件目錄項(xiàng)?查找該文件的目錄項(xiàng)NY文件不存在,無(wú)法打開(kāi)文件NY操作不合法,無(wú)法打開(kāi)文件在已打開(kāi)文件表中插入該文件登記項(xiàng)結(jié)束 圖19 打開(kāi)文件的流程圖(3)讀文件 用戶(hù)要求讀文件信息時(shí)調(diào)用文件系統(tǒng)的“讀文件”操作。實(shí)驗(yàn)中,讀文件的參數(shù)只需要文件名和讀取長(zhǎng)度,(文件名,讀取長(zhǎng)度)。因?yàn)椴捎玫氖橇魇轿募Y(jié)構(gòu),所以讀的長(zhǎng)度用字節(jié)表示。實(shí)驗(yàn)中,讀文件操作的主要工作是查找已打開(kāi)文件表中是否存在該文件;如果不存在,不能讀;然后檢查是否以讀方式打開(kāi)文件,如果是以寫(xiě)方式打開(kāi)文件,則不允許讀;最后從已打開(kāi)文件表中讀出讀指針,從這個(gè)位置上讀出所需要長(zhǎng)度,若所需長(zhǎng)度沒(méi)有讀完已經(jīng)遇到文件結(jié)束符,就終止讀操作。實(shí)驗(yàn)中用“”表示文件結(jié)束,讀文件的流程如圖20所示。(4)寫(xiě)文件 用戶(hù)要求存取文件信息時(shí)調(diào)用系統(tǒng)的“寫(xiě)文件”操作。實(shí)驗(yàn)中,寫(xiě)文件的參數(shù)只需要文件名、存放準(zhǔn)備寫(xiě)入磁盤(pán)信息的緩沖和寫(xiě)的長(zhǎng)度,(文件名,緩沖,寫(xiě)長(zhǎng)度)。因?yàn)椴捎玫氖橇魇轿募Y(jié)構(gòu),所以寫(xiě)長(zhǎng)度用字節(jié)表示。實(shí)驗(yàn)中,寫(xiě)文件操作的主要工作是查找已打開(kāi)文件表中是否存在該文件,如果不存在,不能寫(xiě);如果存在,還要檢查是否以寫(xiě)方式打開(kāi)文件;如果不是,寫(xiě)方式打開(kāi)文件,不能寫(xiě);最后從已打開(kāi)文件表中讀出寫(xiě)指針,從這個(gè)位置上寫(xiě)入緩沖中的數(shù)據(jù)。讀name文件length字節(jié)文件未打開(kāi),無(wú)法讀文件查找已打開(kāi)文件表N文件打開(kāi)?YN文件以讀方式打開(kāi)?Y結(jié)束從已打開(kāi)文件表得到讀指針;將盤(pán)塊dum讀入緩沖buffer1文件不能讀結(jié)束t=0N文件未結(jié)束且t=length?Y讀文件結(jié)束顯示讀出內(nèi)容結(jié)束修改讀指針的bunum;bnum=bnum+1t=t+1N讀完一個(gè)盤(pán)塊?Y修改讀指針:bnum=0dnum=文件分配表第dnum項(xiàng)將盤(pán)塊dnum讀入緩沖buffer1 圖20 讀文件的流程圖寫(xiě)文件有兩種情況,一種情況是建立文件后的寫(xiě)入,這種寫(xiě)比較簡(jiǎn)單,一邊寫(xiě)一邊申請(qǐng)空間即可完成;一種情況是文件打開(kāi)后的寫(xiě)入,這個(gè)比較復(fù)雜,存在著文件中間修改的問(wèn)題,實(shí)驗(yàn)中,第二種情況只完成了從文件末尾向后追加的功能,寫(xiě)文件的流程如圖21所示。將buff內(nèi)容寫(xiě)入name文件length字節(jié)文件未打開(kāi),無(wú)法寫(xiě)文件查找已打開(kāi)文件表N文件打開(kāi)?YN文件以寫(xiě)方式打開(kāi)?Y結(jié)束從已打開(kāi)文件表得到寫(xiě)指針;盤(pán)塊號(hào)dnum,字節(jié)位置bnum文件不能寫(xiě)結(jié)束t=0Nt=length?Y將buff[t]寫(xiě)入文件緩沖buffer1寫(xiě)文件結(jié)束結(jié)束修改寫(xiě)指針的bnum;bnum=bnum+1t=t+1,文件長(zhǎng)度增1N寫(xiě)完一個(gè)盤(pán)塊?Y將buffer1寫(xiě)入磁盤(pán)修改寫(xiě)指針bnum=1dnum=dd申請(qǐng)一個(gè)磁盤(pán)塊ddY申請(qǐng)成功?N磁盤(pán)滿(mǎn),不能繼續(xù)寫(xiě)結(jié)束 圖21 寫(xiě)文件的流程圖(5)關(guān)閉文件 用戶(hù)對(duì)文件讀寫(xiě)完畢后需要調(diào)用文件系統(tǒng)的“關(guān)閉文件”操作。 實(shí)驗(yàn)中,關(guān)閉文件的參數(shù)只需要文件名,(文件名)。實(shí)驗(yàn)中關(guān)閉文件,首先要看該文件是否打開(kāi),如果沒(méi)有打開(kāi),就不用關(guān)閉;如果已經(jīng)大,則檢查打開(kāi)方式,如果是寫(xiě)方式打開(kāi)的,要追加文件結(jié)束符,修改目錄項(xiàng);最后從打開(kāi)文件表中刪除對(duì)應(yīng)項(xiàng),關(guān)閉文件的流程如圖22所示。關(guān)閉路徑名為name的文件文件未打開(kāi),無(wú)法關(guān)閉文件查找已打開(kāi)文件表N文件打開(kāi)?YN操作為“寫(xiě)”?Y結(jié)束追加文件結(jié)束符修改目錄中文件長(zhǎng)度在已打開(kāi)文件表中刪除該文件登記項(xiàng)結(jié)束 圖22 模擬關(guān)閉文件的流程圖(6)刪除文件 用戶(hù)認(rèn)為文件沒(méi)有必要保存時(shí)需要調(diào)用文件系統(tǒng)的“刪除文件”操作。實(shí)驗(yàn)中,刪除文件時(shí)參數(shù)只要文件名,(文件名)。實(shí)驗(yàn)中,刪除文件操作的主要工作是檢查文件是否存在;不存在,操作失敗;如存在,查找該文件 是否打開(kāi),如果打開(kāi)不能刪除;如果沒(méi)有打開(kāi),則刪除文件目錄項(xiàng)并歸還文件所占磁盤(pán)空間,刪除文件的流程如圖23所示。(7)顯示文件內(nèi)容 顯示文件內(nèi)容首先要找到該文件的目錄登記項(xiàng),如果文件不存在,指令執(zhí)行失??;如果存在,查看文件是否打開(kāi),打開(kāi)則不能顯示文件內(nèi)容;若沒(méi)有打開(kāi),從目錄中取出文件的起始盤(pán)塊號(hào),一塊一塊顯示文件內(nèi)容,顯示文件內(nèi)容的流程如圖24所示。(8)改變文件屬性改變文件屬性,首先查找該文件,如果不存在,結(jié)束;如果存在,檢查該文件是否打開(kāi),打開(kāi)不能改變屬性;沒(méi)有打開(kāi),根據(jù)要求改變目錄項(xiàng)中屬性值。刪除路徑名為name的文件查找該文件的目錄項(xiàng)N該文件存在?文件不存在,無(wú)法刪除文件Y查找該已打開(kāi)文件表結(jié)束找到該文件?Y結(jié)束文件正在使用,不能刪除Nt=文件起始盤(pán)塊號(hào)刪除該文件目錄Y刪除完?Nt=下一個(gè)盤(pán)塊結(jié)束 回收盤(pán)塊t 圖23 刪除文件的流程圖顯示路徑名為name的文件查找目錄nameN找到該文件?指定的文件不存在,顯示文件內(nèi)容失敗Y文件打開(kāi)?YN結(jié)束文件打開(kāi),顯示文件失敗dnum=該目錄起始盤(pán)塊號(hào)結(jié)束N第dnum塊是該文件一塊?Y結(jié)束第dnum塊內(nèi)容讀入buffer1顯示buffer1中的內(nèi)容結(jié)束或到文件結(jié)束符 dnum=FAT第dnum項(xiàng) 圖24 顯示文件的流程圖 實(shí)驗(yàn)中,首先要系統(tǒng)初始化,包括建立文件模擬磁盤(pán)、初始化磁盤(pán)FAT、初始化根目錄為空目錄項(xiàng);然后,可以選擇一項(xiàng)功能執(zhí)行。目錄的操作命令:216。 建立目錄 建立目錄首先要找到建立目錄的位置(父目錄),然后查找該目錄是否存在,如果父目錄不存在,不能建立;如果存在,查找是否存在同名目錄,存在,不能建立;不存在,則查找一個(gè)空目錄項(xiàng),為該目錄申請(qǐng)一個(gè)盤(pán)塊,并填寫(xiě)目錄內(nèi)容。建立目錄如圖25所示。路徑名為name將name分離成建立文件的目錄路徑名pathname和目錄名dname查找pathnameN找到該目錄?Y指定目錄不存在,建立目錄失敗目錄項(xiàng)起始盤(pán)塊號(hào)d第d塊內(nèi)容讀入buffer1結(jié)束b=1;t=0查buffer2中第t個(gè)目錄項(xiàng)NY第t項(xiàng)是目錄且名字是dname?Nt=t+1指定目錄已存在,建立目錄失敗第t項(xiàng)是空欄且b==1?Y結(jié)束b=tN第t項(xiàng)是該盤(pán)塊最后一項(xiàng)?Y目錄中有空項(xiàng)b(b!= 1)?NY無(wú)目錄項(xiàng),建立失敗申請(qǐng)一個(gè)磁盤(pán)塊ddN申請(qǐng)磁盤(pán)塊成功?結(jié)束Y無(wú)目錄項(xiàng)建立失敗初始化該塊所有目錄項(xiàng)為空目錄項(xiàng)在第d塊第b項(xiàng)建立該目錄的目錄;目錄名fname、屬性、起始盤(pán)塊號(hào)dd、長(zhǎng)度0;FAT表第dd項(xiàng)結(jié)束標(biāo)志。結(jié)束 圖25 建立目錄的流程圖216。 顯示目錄內(nèi)容 顯示目錄內(nèi)容首先要找到該目錄,如果目錄不存在,指令執(zhí)行失敗;如果存在,一項(xiàng)一項(xiàng)顯示目錄內(nèi)容。顯示目錄內(nèi)容的流程如圖26所示。顯示路徑名為name的目錄查找目錄nameN找到該目錄?指定的目錄不存在,顯示目錄內(nèi)容失敗Y該目錄項(xiàng)起始盤(pán)塊號(hào)dnum;第dnum塊內(nèi)容讀入buffer2結(jié)束t=0;查buffer2中第t個(gè)目錄項(xiàng)t=t+1Y第t項(xiàng)是空目錄項(xiàng)?N顯示該目錄內(nèi)容 N第t項(xiàng)是該盤(pán)塊最后一項(xiàng)?Y結(jié)束 圖26 顯示目錄內(nèi)容的流程圖216。 顯示目錄內(nèi)容 顯示目錄內(nèi)容首先要找到該目錄,如果目錄不存在,指令執(zhí)行失敗;如果存在,一項(xiàng)一項(xiàng)顯示目錄內(nèi)容。顯示目錄內(nèi)容的流程如圖26所示。216。 刪除空目錄 刪除空目錄首先要找到該目錄,如果目錄不存在,指令執(zhí)行失??;如果存在,但是根目錄或非空目錄,顯示不能刪除,操作失敗;若是非空自目錄,則刪除其目錄項(xiàng)并回收對(duì)應(yīng)空間。刪除空目錄的過(guò)程和刪除文件的過(guò)程相似,流程可參考文件的刪除過(guò)程。 另外注意,對(duì)磁盤(pán)文件進(jìn)行讀操作時(shí),需要磁盤(pán)的一個(gè)盤(pán)塊讀入主存后才能進(jìn)行處理,對(duì)磁盤(pán)文件進(jìn)行寫(xiě)操作時(shí),要寫(xiě)滿(mǎn)緩沖后才寫(xiě)入磁盤(pán)。所以模擬文件操作,不能將整個(gè)模擬磁盤(pán)的內(nèi)容同時(shí)讀入主存,應(yīng)該當(dāng)需要模擬磁盤(pán)的某個(gè)盤(pán)塊內(nèi)容時(shí)
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1