




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、甘肅政法學院本科生實驗報告(六)姓名:賈燚學院:計算機科學學院專業(yè):信息管理與信息系統(tǒng) 班級:2010級信管實驗課程名稱:操作系統(tǒng)試驗實驗日期:2012年 9 月 20 日指導教師及職稱:何珍祥實驗成績:開課時間:2012-2013學年 第一學期甘肅政法學院實驗管理中心印制實驗題目文件系統(tǒng)的API應用小組合作是 否姓名賈 燚班級2010級信管學 號201081020108一、實驗目的(1)理解和掌握文件系統(tǒng)是使用計算機信息系統(tǒng)的重要接口。(2)通過實驗學習文件系統(tǒng)的系統(tǒng)調(diào)用命令,提高對文件系統(tǒng)實現(xiàn)功能的理解和掌握。二實驗環(huán)境Windows XP+Linux虛擬機三、實驗內(nèi)容與步驟1.檢查文件系
2、統(tǒng)的文件類型UNIX系統(tǒng)文件有如下的分類:普通文件、目錄文件、符號鏈接文件、有名管道文件、字符設備和塊設備文件等。文件的分類主要是由其I節(jié)點中的i_mode給出。為了能夠檢查每個文件的類型,Linux系統(tǒng)在sys/stat.h中定義了文件類型structstat,并用宏定義來決定文件的類型,每個宏的參數(shù)就是結構stat中的st_mode的值。Linux系統(tǒng)在sys/stat.h中定義了文件類型structstat,其定義如下;可以利用宏來檢查給定文件的類型。Struct statdev_t st_dev;ino_t st_ino;mode_t st_mode;nlink_t st_nlink;
3、uid_t st_uid;gid_t st_gid;dev_t st_rdev;off_t st_size;blksize_t st_blksize;blkent_t st_blocks;time_t st_atime;time_t st_mtimes;time_t st_ctime;進入VM虛擬機中,右擊屏幕,選擇“新建終端”,打開終端,輸入命令“vi jy171.c”,新建一個名為“jy171.c”的用來檢查給定文件的類型的C語言程序,其程序代碼如下圖1所示:圖1 jy171.c代碼用“Esc+:wq”,退出并保存程序“jy171.c”,在終端輸入“gcc jy171.c o jy171”
4、對程序進行編譯,如果編譯沒有錯誤,繼續(xù)在終端輸入“./jy171 /chcase.c”,可以檢查chcase.c的文件類型,其運行截圖如下圖2所示:圖2 程序運行截圖分析:程序可以檢查給定文件的文件類型,其主要代碼如下:if(S_IFMT & bf.st_mode)=S_IFREG)ptr=regular;else if(S_IFMT & bf.st_mode)=S_IFDIR)ptr=directory;else if(S_IFMT & bf.st_mode)=S_IFCHR)ptr=character special device;else if(S_IFMT & bf.st_mode)=
5、S_IFBLK)ptr=block special device;else if(S_IFMT & bf.st_mode)=S_IFFIFO)ptr=pipe special device;因為程序中給定的文件是chcase.c,屬于基本文件類型,所以程序返回regular。2.Cat命令的簡單實現(xiàn),完成從鍵盤復制到終端顯示器鍵盤和顯示器屬于設備文件類,同樣可以完成基本的復制。從鍵盤鍵入字符串,字符串在顯示器顯示。進入VM虛擬機中,右擊屏幕,選擇“新建終端”,打開終端,輸入命令“vi jy172.c”,新建一個名為“jy172.c”的用設備文件進行簡單的字符串顯示的C語言程序,其程序代碼如下圖
6、3所示:圖3 jy172.c代碼用“Esc+:wq”,退出并保存程序“jy172.c”,在終端輸入“gcc jy172.c o jy172”對程序進行編譯,如果編譯沒有錯誤,繼續(xù)在終端輸入“./jy172”,然后輸入“My name is JY!”,即可看到程序結果,其運行截圖如下圖4所示:圖4 程序運行截圖分析:程序由鍵盤輸入,存儲到鍵盤設備里,然后直接通過顯示器進行顯示。其中0代表標準輸入設備,1代表標準輸出設備。3.open和creat系統(tǒng)調(diào)用的使用,完成文件復制功能通過open和creat等系統(tǒng)調(diào)用,從原文件中讀取字符串,然后再寫入新的文件中。進入VM虛擬機中,右擊屏幕,選擇“新建終端
7、”,打開終端,輸入命令“vi jy173.c”,新建一個名為“jy173.c”的完成文件復制的C語言程序,其程序代碼如下圖5所示:圖5 jy173.c代碼用“Esc+:wq”,退出并保存程序“jy173.c”,在終端輸入“gcc jy173.c o jy173”對程序進行編譯,如果編譯沒有錯誤,繼續(xù)在終端輸入“./jy173 YWJ.c jiayi.c”,完成從YWJ.c到jiayi.c的復制,其運行截圖如下圖6所示:圖6 程序運行截圖分析:先在/root/JY目錄下創(chuàng)建名為“YWJ.c”的原文件,其內(nèi)容是“My name is JY!”。然后運行jy173.c文件復制的程序,通過open和c
8、reat等系統(tǒng)調(diào)用完成從“YWJ.c”到新文件“jiayi.c”的復制,最后用cat命令核查文件是否復制成功。4.利用lseek系統(tǒng)調(diào)用移動文件的讀寫指針NUIX提供文件的順序存取,也提供文件的隨機存取。NUIX把文件看出字符流文件,這類文件只能順序存取,為此,NUIX提供了隨機修改文件的讀寫指針,以滿足用戶對文件的隨機存取。進入VM虛擬機中,右擊屏幕,選擇“新建終端”,打開終端,輸入命令“vi jy174.c”,新建一個名為“jy174.c”的文件讀寫指針的C語言程序,其程序代碼如下圖7所示;用“Esc+:wq”,退出并保存程序“jy174.c”,在終端輸入“gcc jy174.c o jy
9、174”對程序進行編譯,如果編譯沒有錯誤,繼續(xù)在終端輸入“./jy174 ./jy174.c”,即可看到程序運行結果,其運行截圖如下圖8所示:圖7 jy174.c代碼圖8 程序運行截圖分析:該程序是一個利用lseek系統(tǒng)調(diào)用移動文件的讀寫指針,通過文件讀寫指針定位到184的位置,之后進入循環(huán),從文件中讀一個個字符,直到讀到文件結尾,返回一個錯誤嗎為止。四、實驗過程與分析在做實驗的過程中,幾種文件的類型,知道了文件系統(tǒng)對于操作系統(tǒng)的重要性,它是操作系統(tǒng)的重要接口。在編譯調(diào)式程序的過程中,發(fā)現(xiàn)了不少的錯誤。比如:jy171.c中err_ret(“l(fā)stat error”) 應改為printf(“l(fā)stat error”);S_IFFIFO應改為S_IFFIFO;jy172.c中size of buf應改為sizeof(buf);jy174.c中rgcv應改為argv等錯誤。但通過不斷地調(diào)式,程序都正確地運行了,加深了對文
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省成都市青白江區(qū)2024-2025學年三下數(shù)學期末學業(yè)質(zhì)量監(jiān)測試題含解析
- 臺州科技職業(yè)學院《文化產(chǎn)業(yè)經(jīng)營案例分析》2023-2024學年第二學期期末試卷
- 蘇州科技大學《給排水工程結構》2023-2024學年第二學期期末試卷
- 江西省景德鎮(zhèn)市2025屆初三第一次中考適應性性考試數(shù)學試題含解析
- 江蘇省無錫市宜興市丁蜀區(qū)市級名校2025屆初三考前熱身數(shù)學試題試卷含解析
- 濟南市市中區(qū)2025屆六年級下學期小升初數(shù)學試卷含解析
- 2025年中級經(jīng)濟師考試試卷及答案
- 山東科技職業(yè)學院《現(xiàn)代交換技術與網(wǎng)絡》2023-2024學年第二學期期末試卷
- 南寧師范大學師園學院《拓展英語》2023-2024學年第一學期期末試卷
- 萍鄉(xiāng)學院《物理化學Ⅰ(上)》2023-2024學年第二學期期末試卷
- 農(nóng)村安全用電知識宣傳培訓
- 《門診醫(yī)療質(zhì)量管理》課件
- 【地理】俄羅斯第1課時 課件-2024-2025學年七年級地理下冊(湘教版2024)
- 船舶與海洋工程行業(yè)作業(yè)指導書
- 起重機械使用單位安全風險日管控、周排查、月調(diào)度管理制度
- 2025年赤峰新正電工技術服務限公司社會招聘66人(內(nèi)蒙古)高頻重點提升(共500題)附帶答案詳解
- 游泳館托管服務游泳館日常運營方案
- 大學體育與健康知到智慧樹章節(jié)測試課后答案2024年秋齊魯師范學院
- 便利店衛(wèi)生清潔管理規(guī)范
- 脊髓膠質(zhì)瘤診療中國專家共識(2024版)解讀
- 公司手持電動工具安全使用管理制度模版(3篇)
評論
0/150
提交評論