国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

模擬Linux文件系統(tǒng)的設(shè)計與實現(xiàn)

2015-07-24 15:53:54周建濤等
電腦知識與技術(shù) 2015年14期
關(guān)鍵詞:C語言

周建濤等

摘要:C語言作為計算機設(shè)計的高級語言,擁有很廣泛的用途,該文講述了使用C語言如何去實現(xiàn)模擬一個簡單的Linux文件系統(tǒng),對于我們學(xué)習(xí)操作系統(tǒng)知識有很好的借鑒作用。

關(guān)鍵詞:C語言;Linux;文件系統(tǒng)

中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2015)14-0058-03

Linux作為全球目前最大的一個自由免費軟件,是一個能夠與windows操作系統(tǒng)所能所相媲美的操作系統(tǒng)linux系統(tǒng)的發(fā)展是充滿傳奇色彩的;在1991年,以為來自芬蘭的名叫Linus的學(xué)生參照Minix,自己重新開發(fā)的一個操作系統(tǒng),他用自己的名字與UNIX相結(jié)合起來用來命名他所開發(fā)的這個系統(tǒng)Linux。當(dāng)時他把0.02版的Linux系統(tǒng)放在Minix的新聞組上并呼吁所有與他一樣有興趣的人員一同來發(fā)展這個系統(tǒng)[1]。這樣,在1994年,Linux1.0版本推出。作為開源式的的操作系統(tǒng),Linux具有下面這些特點:

1) 它是一款自由的軟件,開放源代碼,我們可以不用花費任何費用就可以得到它以及它的源代碼,并且可以根據(jù)自己的需要來對他進行改寫;不受任何約束的對其進行傳播。

2) 是所有操作系統(tǒng)中運行平臺最多的。

3) 能夠與UNIX系統(tǒng)兼容,擁有一個非常好的用戶群體。

文件系統(tǒng)作為操作系統(tǒng)中最為重要的組成部分之一,它的主要功能就是對文件進行管理。文件系統(tǒng)位于操作系統(tǒng)的頂層[1]。我們?nèi)粘I钪性谑褂糜嬎銠C的時候與文件系統(tǒng)打的交道是做多的,比如我們查找文件,新建文件,清除文件等等。在操作系通的接口中文件系統(tǒng)扮演著十分重要的地位,他把我們使用計算機操作的抽象數(shù)據(jù)轉(zhuǎn)換為能夠在計算機物理設(shè)備上存放的具體數(shù)據(jù),并且給我們提供訪問和諧數(shù)據(jù)的結(jié)構(gòu)和方法。而在Linux系統(tǒng)中,我們可以通過虛擬文件系統(tǒng)來支持各種各樣的文件系統(tǒng),其中ext2文件系統(tǒng)是使用的最廣泛的[1]。而本文就是論述如何使用C語言來實現(xiàn)一個簡單的模擬Linux文件系統(tǒng),文章里面介紹了對于這次設(shè)計的設(shè)計思想,怎樣進行文件系統(tǒng)的實現(xiàn),以及對這個簡單的模擬Linux文件系統(tǒng)的功能描述。

1 設(shè)計思想

我們的設(shè)計任務(wù)是在任一OS下,建立一個大文件,把它假象成一張盤,在其中實現(xiàn)一個簡單的模擬Linux文件系統(tǒng) 。我們?yōu)槠湓O(shè)計了作為一個文件系統(tǒng)所具有的基本功能;首先,在設(shè)計中我們設(shè)計了兩個用戶,一個是普通用戶,他可以在系統(tǒng)中進行文件的讀寫操作,同樣也可以讀文件進行刪除和編輯,但是有權(quán)限限制;另一個就是管理員用戶,他同樣可以對文件進行讀寫操作,與普通用戶不同的是他的權(quán)限級別更高,他可以對普通用戶所建立的文件進行刪除和讀寫,但是普通用戶對他所建立的文件只能讀,而不能進行刪除;除此之外,對于系統(tǒng)的其他功能設(shè)計描述如下,這個簡單的模擬linux文件系統(tǒng)主要功能有以下幾點,能夠顯示當(dāng)前系統(tǒng)中的文件目錄,然后能夠進入這些目錄中去查看目錄下的文件,并對這些文件進行操作,比如讀文件內(nèi)容,查看文件屬性,對文件重命名,刪除文件,當(dāng)然在進行文件或者目錄刪除時是有權(quán)限限制的,如果該文件屬于用戶建立那么管理員個用戶都可以對其進行操作,如果屬于管理員所建立的,那么有些操作用戶是不能進行操作的,該權(quán)限只屬于管理員所擁有;同時系統(tǒng)中我們還可以對文件進行重命名。對于這一切簡單功能的實現(xiàn)我們都是基于c語言來實現(xiàn)的,同時對于文件的存儲我們使用的數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)。

2 文件系統(tǒng)的實現(xiàn)

系統(tǒng)通過調(diào)用函數(shù)實現(xiàn)了用戶的登錄、創(chuàng)建目錄、更改目錄、創(chuàng)建文件、修改文件以及用戶權(quán)限管理等功能。系統(tǒng)主要的數(shù)據(jù)結(jié)構(gòu)設(shè)計有一下幾部分,目錄結(jié)構(gòu),超級塊結(jié)構(gòu),讀取文件的物理塊;對于系統(tǒng)的功能實現(xiàn)我們是通過系統(tǒng)調(diào)用相關(guān)函數(shù)來實現(xiàn)的,對于這個簡單的文件系統(tǒng),我們在其中主要的函數(shù)有:文件的創(chuàng)建函數(shù),權(quán)限的判斷函數(shù),文件刪除函數(shù)等等。

1)數(shù)據(jù)結(jié)構(gòu)設(shè)計:

3 結(jié)束語

在操作系統(tǒng)的學(xué)習(xí)中,項目設(shè)計是該門學(xué)科重要的實踐教學(xué)環(huán)節(jié),通過項目設(shè)計我們可以更加具體的去理解操作系統(tǒng)的相關(guān)知識和理論。這次項目設(shè)計的目的有兩個方面,一方面是使我們能夠更好的理解操作系統(tǒng)中文件系統(tǒng)的基本概念和工作原理,使之更為具體化讓我們更能容易理解;另一方面,通過項目的設(shè)計來提升我們的動手實踐能力,培養(yǎng)我們獨立分析問題、解決問題、應(yīng)用知識的能力和創(chuàng)新精神。在項目設(shè)計的過程中,遇到各種各樣的困難是在所難免的,同時在項目設(shè)計的過程中我們都發(fā)現(xiàn)了自己的不足之處,對以前老師所教授的知識理解的不夠深刻,掌握的不夠透徹;不過最終在老師的辛勤指導(dǎo)下我們終于將項目設(shè)計完成。同時,這次項目設(shè)計中,我們在老師的身上學(xué)到很多實用的知識,再次表示感謝!同時,對給過我們小組幫助的所有同學(xué)和各位老師再次表示衷心的感謝!

參考文獻:

[1] 任愛華,侯雷.操作系統(tǒng)實用教程[M].3版.清華大學(xué)出版社,2010.

[2] 李春葆.數(shù)據(jù)結(jié)構(gòu)教程[M]. 4版.清華大學(xué)出版社,2013.

[3] 張莉莉,王衛(wèi)華.Linux文件系統(tǒng)的模擬實現(xiàn)[J].軟件導(dǎo)刊,2010(11).

[4] 博韋,西斯特. 深入理解LINUX內(nèi)核[M]. 陳莉君,瓊聲,張宏偉,譯.3版.中國電力出版社,2007.

[5] 王浩亮.模擬Unix文件系統(tǒng)的設(shè)計與實現(xiàn)[J].多媒體技術(shù)及其應(yīng)用,2006(08).

猜你喜歡
C語言
基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
計算機教育(2020年5期)2020-07-24 08:52:56
基于C語言的計算機軟件編程
電子制作(2018年16期)2018-09-26 03:27:08
C語言程序設(shè)計課程教學(xué)與學(xué)科專業(yè)相結(jié)合的探索
高職高專院校C語言程序設(shè)計教學(xué)改革探索
論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用
非計算機專業(yè)C語言教學(xué)探討
河南科技(2014年23期)2014-02-27 14:19:16
县级市| 莲花县| 张北县| 桐庐县| 梧州市| 佳木斯市| 黄陵县| 金乡县| 湾仔区| 长顺县| 昌图县| 巴青县| 浙江省| 镇康县| 承德县| 华安县| 竹山县| 滨海县| 五河县| 砀山县| 安福县| 东阿县| 阜新市| 巴楚县| 牟定县| 金乡县| 板桥市| 盐边县| 济源市| 秀山| 毕节市| 尤溪县| 曲水县| 灯塔市| 龙南县| 资阳市| 龙胜| 乌兰浩特市| 舞钢市| 沂水县| 逊克县|