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

正文內(nèi)容

操作系統(tǒng)實驗報告文件管理(已修改)

2024-11-28 16:43 本頁面
 

【正文】 1 昆明理工大學(xué) 信息工程與自動化學(xué)院 學(xué)生實驗報告 ( 201 — 201 學(xué)年 第 二 學(xué)期 ) 課程名稱: 操作系統(tǒng) 開課實驗室: 年 月 日 年級 、專業(yè)、班 學(xué)號 姓名 成績 實驗項目名稱 文件 管理 指導(dǎo)教師 教師評語 教師簽名: 年 月 日 一、 實驗?zāi)康? 用 C 或 C++語言 編寫和調(diào)試一個簡單的文件系統(tǒng),模擬文件管理的 基本功能 。從而對各種文件操作命令的實質(zhì)內(nèi)容和執(zhí)行過程有比較深入的了解。 二、實驗原理及基本技術(shù)路線圖 (方框原理圖) 用 C 模擬實現(xiàn)文件系統(tǒng)的管理; 要求設(shè)計一個 多級目錄結(jié)構(gòu) 的文件系統(tǒng), 能正確描述文件控制塊,采用合理的外存分配方式,能實現(xiàn)基本的目錄及文件的操作,包括創(chuàng)建、刪除、重命名、復(fù)制、移動等功能,并對文件有一定的存取權(quán)限控制 。 功能設(shè)計 : Help 顯示命令幫助 dir 顯示當(dāng)前目錄下的文件和文件夾 exit 退出系統(tǒng) create [文件名 ] 創(chuàng)建文本文件 cdir [目錄名 ] 創(chuàng)建文件夾 read [文件名 ] 讀取一個文件最多可同時讀取五個 close[文件名 ] 關(guān)閉一個文件 edit [文件名 ] 編輯一個文件 cd [目錄名 ] 進子目錄或者上級目錄 attr [文件名 ] 顯示該文件的屬性 del [文件名 ] 刪除文件 rename [文件名 ] 重命名 2 編輯功能流程圖 3 刪除文件流程圖 創(chuàng)建文件流程圖 核心算法 : bool Format(void)。 //格式化 bool install(void)。 //裝載虛擬硬盤的數(shù)據(jù) void login(void)。 /用戶登陸 4 void showMenu(void)。//顯示功能菜單 bool onAction(void)。//用戶選擇功能并執(zhí)行 void createFile(string str)。//創(chuàng)建文 件 bool read(string str)。//讀取文件 void editFile(string str)。//編輯文件 void Delete(string str)。//刪除一個文件 數(shù)據(jù)結(jié)構(gòu) : /*常變量 */ const unsigned int BLOCK_SIZE=512。 //塊長 const unsigned int DATA_BLOCK_NUM=512。 //數(shù)據(jù)塊數(shù)量 const unsigned int DINODE_START=4*BLOCK_SIZE。 //inode 起始位置 const unsigned int DINODE_SIZE=512。 //inode 大小 const unsigned int DINODE_NUM=32。 //inode 數(shù)量 const unsigned int DATASTART=(2+DINODE_NUM)*BLOCK_SIZE。 //數(shù)據(jù)區(qū)的開始地址 const unsigned int ACCOUNT_NUM=10。 //用戶數(shù)量 /*inode 結(jié)構(gòu)體 */ struct inode{ unsigned short di_tag。 /*inode 標(biāo)識 */ unsigned short di_number。 /*關(guān)聯(lián)文件數(shù),當(dāng)為 0 時表示刪除文件 ,如一個目錄至少 包含兩個文件 :.和 ..*/ unsigned short di_mode。 /*存取模式 :0 為目錄 ,1 為文件 */ unsigned short di_userID。 /*當(dāng)前 inode 所屬用戶 0 為根目錄 ID,一次下去是管理員目 5 錄、用戶目錄 */ unsigned short di_access。 /*訪問權(quán)限 0 為不允許普通用戶訪問 (公共目錄 ),1 為允許 普通用戶訪問 */ unsigned short di_size。 /*文件大小 ,目錄沒有大小 ,值為 0*/ unsigned short di_ctime。 /* 創(chuàng)建時間 */ unsigned short di_mtime。 /* 最后一次修改時間 */ unsigned short di_block[DATA_BLOCK_NUM]。 /* 數(shù)據(jù)塊塊地址編號 */ }。 /**超級塊 ***/ struct super_block{ unsigned short s_inodes_count。 /* 文件系統(tǒng)中 inode 的總數(shù) */ unsigned short s_blocks_count。 /* 數(shù)據(jù)塊總數(shù) */ unsigned short s_r_blocks_count。 /* 保留塊總數(shù) */ unsigned short s_free_blocks_count。 // 空閑塊總數(shù) unsigned short s_free_inodes_count。 /* 空閑的 inode 總數(shù) */ unsigned short s_log_block_size。 /* block 的大小 */ }。 /**賬戶信息 **/ struct user{ unsigned short user_id。 //用戶 ID unsigned short user_access。 //權(quán)限 string username。 //用戶名 string password。 //密碼 }。 /**文件 /目錄結(jié)構(gòu) **/ struct directory{ 6 string name。 /*目錄名 */ unsigned short d_ino。 /*目錄號 */ }。 三、所用儀器、材料(設(shè)備名稱、型號、規(guī)格等)。 計算機一臺 四、實驗方法、步驟 include include include include struct OpenFileTable //打開文件 表數(shù)據(jù)結(jié)構(gòu) { long offset。 // 當(dāng)前文件讀寫指針 char file_name[10]。 // 文件名數(shù)組 long int file_start。 // 文件起始塊號 long int file_length。 // 文件長度(字節(jié)) }。 struct FCB_Block //FCB 數(shù)據(jù)結(jié)構(gòu) { int flag。 // 標(biāo)志, 1 表示未用, 1 表示文件用 7 char file_name[10]。 // 文件名數(shù)組 long int file_date。 // 文件建立日期 long int file_time。 // 文件建立時間 long int file_start。 // 文件起始塊號 long int file_length。 // 文件長度(字節(jié)) }。 struct Super_Block // 超級塊數(shù)據(jù)結(jié)構(gòu) , 文件系統(tǒng)的分區(qū)信息,存放在 0物理塊中 { unsigned long int fs_totalsize。 // 整個分區(qū)的總磁盤物理塊數(shù) unsigned long int fs_freesize。 // 分區(qū)的所有空閑磁盤物理塊數(shù) unsigned int fs_blocksize。 // 文件系統(tǒng)的物理塊大小(字節(jié)) unsigned int fs_fat_start。 // FAT 的起始磁盤物理塊號 unsigned int fs_fat_size。 // FAT 占用的磁盤物理塊數(shù) unsigned int
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1