哈嘍,歡迎來到小朱課堂,下面開始你的學習吧!
檔案系統的設計與實現:作業系統課程設計(概念篇)1.通過模擬檔案系統的實現,深入理解作業系統中檔案系統的理論知識, 加深對教材中的重要演算法的理解。同時通過程式設計實現這些演算法,更好地掌握作業系統的原理及實現方法,提高綜合運用各專業課知識的能力。
2.意義:本檔案系統採用多級目錄,其中第一級對應於使用者賬號,第二級對應於使用者賬號下的檔案,第**對應資料夾下的檔案,以此類推。另外,為了簡單本檔案系統未考慮檔案共享、檔案系統安全以及管道檔案與裝置檔案等特殊內容。
① 使用者登入
使用者分為超級管理員、管理員和普通使用者。超級管理員具有建立使用者並設定許可權的許可權;
管理員與超級管理員許可權基本相同。
② 建立檔案
模擬檔案系統進行「建立檔案」的處理。
③ 開啟檔案
約定操作型別與檔案屬性不符合和正處在「建立」狀態的檔案不允許開啟。
④ 關閉檔案
對某個檔案不需要再讀或寫的時候,使用者應關閉該檔案。
⑤ 讀檔案
檔案開啟後可順序讀檔案中的記錄,讀長度表示本次操作需讀的記錄個數。
⑥ 寫檔案
執行寫檔案操作時要區分兩種情況,第一種是在執行create後要求寫,第二種是執行open後要求寫。對第二種情況可認為使用者要對乙個已建立好的檔案進行修改。乙個檔案可以分多次寫,既可按記錄順序寫也可隨機寫乙個記錄,採用順序寫時可省略記錄號。
⑦ 刪除檔案
把請求撤消的檔案從擁護檔案目錄表中除名,收回該檔案站用的儲存區域。
⑧ 檔案列表
將目前本使用者本路徑的檔案列出,並列出相關的屬性。
⑨ 結束
退出程式,返回原有作業系統。
3.1:主要的資料結構
通過分析課程設計要求,具體設計出如下資料結構:
//使用者型別定義
struct user
char name[10];//使用者名稱
int pride;//使用者許可權,1為管理員,0為普通使用者
char pass[10];//使用者密碼
//定義空白區項
struct freeb
int number;
struct freeb * next;
//定義檔案開啟項
struct fileb
int parent;//所在父節點
char name[15];//檔名
int pride;//讀寫許可權,0唯讀,1讀寫
int rex;//讀寫狀態,0為沒有,1讀2寫
struct fileb * next;
//定義檔案索引項
struct findex
char name[15];
int number;
int parent;
char kind;
struct findex * next;
//定義目錄表項
struct dreitem
char name[25];//目錄或者檔名稱
int share; //共享數
int parent;//上層目錄
int pride;//檔案操作許可權,0唯讀,1讀寫
int empty;//是否是空閒塊,0為空閒塊,1為非空
char kind;//型別,檔案為f,資料夾為d
4.1 login登陸:
使用者輸入使用者名稱和密碼,在user檔案中查詢是否有此使用者,核對密碼。正確則登陸成功,當前目錄設定到當前使用者資料夾下。
4.2 createuser()新建使用者:
先根據提示輸入使用者名稱,再判斷此使用者名稱是否已存在,若存在則重新輸入,若沒有,則使用者建立成功。函式結束。
4.3intlist()初始化空閒區鍊錶以及檔案索引鏈:
本函式在程式用執行後,對空閒區進行初始化。
4.4 newdrec()新建目錄:
輸入引數為要建立的型別,f為檔案,d為資料夾。並輸入許可權(0唯讀,1讀寫)。在建立目錄時,並檢測是否有重名的目錄,若有則建立失敗;沒有重名的就在空閒區新增,否則,直接在檔案中新增。
4.5 lsfile()列出當前路徑下的檔案:
查詢當前目錄下的各種檔案並列舉出來。
4.6 back()目錄後退
檢測當前是否處於根目錄下,不是則返回到上一目錄;若當前處於根目錄下,則無法後退。
1:磁碟格式化後進入登入介面
2:先用超級管理員登陸後顯示幫助資訊並建立使用者
3使用者登陸後並列出當前目錄下的內容
4.開啟檔案
5.關閉檔案
6,當前路徑
第一、作業系統這次課程設計讓我學習到了很多計算機方面的知識,在一定程度上對以前的所學知識進一步加深,更讓我有了乙個系統的了解。作業系統是計算機的軟體的系統的基礎,具有一定平台性。掌握好這門課程對我們以後學習計算機知識有乙個很大的幫助。
第二、本次課程設計讓我明白了編寫程式一定要動手去寫**,進行實際操作方可進取得一定性的進步,還要進行與組內人員之間的團結與協作。共同學習,共同克服困難,取得共同進步。
搬磚路上,希望對你有幫助!可以關注一下喲,持續更新喲! 有問題可以私聊博主,快發表一下你的看法吧!
作業系統 檔案系統
5.2開啟檔案 在作業系統中就是確定程序操作哪個檔案。這個確定過程由兩個事件構成 1.將使用者程序task struct中的 filp 20 與核心中的file table 64 進行掛接。2.將使用者程序需要開啟的檔案對應的i節點在file table 64 中進行登記。filp 20 掌控乙個程...
作業系統 檔案系統
通過設計乙個基於索引結構的檔案系統,了解檔案系統設計以及物理塊分配的基本概念。硬體環境 計算機一台,區域網環境 軟體環境 windows 作業系統 visual studio2019 1 設計乙個檔案系統的索引結構,描述邏輯結構與物理索引結構之間的關係 2 檔案建立等基本功能 段 問1 這個標頭檔案...
作業系統 目錄與檔案系統
這個本來是打算寒假在家看的,對作業系統有乙個大概的了解,沒想到受疫情影響,就一直呆在家了,這個系列也算是更新完了 而這花了二個星期的時間把王道的作業系統也看了一遍,主要是看書,做後面的習題,主要是選擇,大題略看了一下,接下來就是再複習繼續寫題了。乙個檔案對應這一堆的磁碟塊 使用者按照這種結構去訪問檔...