成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

linux應(yīng)用課程設(shè)計(jì)指導(dǎo)書(shū)

Linux 應(yīng)用課程設(shè)計(jì)指導(dǎo)書(shū)(2013級(jí)網(wǎng)絡(luò)工程)設(shè)計(jì)一 LINUX 下FTP 服務(wù)器配置1 設(shè)計(jì)目的通過(guò)對(duì)Linux 下FTP 服務(wù)器的配置,掌握FTP 的基本概念和VSFTP 服務(wù)器的設(shè)計(jì)架

Linux 應(yīng)用課程設(shè)計(jì)指導(dǎo)書(shū)

(2013級(jí)網(wǎng)絡(luò)工程)

設(shè)計(jì)一 LINUX 下FTP 服務(wù)器配置

1 設(shè)計(jì)目的

通過(guò)對(duì)Linux 下FTP 服務(wù)器的配置,掌握FTP 的基本概念和VSFTP 服務(wù)器的設(shè)計(jì)架設(shè)及訪(fǎng)問(wèn)FTP 服務(wù)器的方法,通過(guò)與同組同學(xué)的合作鍛煉學(xué)生的合作能力。 2 設(shè)計(jì)內(nèi)容

根據(jù)已經(jīng)學(xué)習(xí)的網(wǎng)絡(luò)服務(wù)基礎(chǔ)知識(shí),架設(shè)基于VSFTP 的服務(wù)器,掌握VSFTP 的配置文件的具體內(nèi)容和服務(wù)器的配置方法,配置一個(gè)FTP 服務(wù)器實(shí)例,通過(guò)客戶(hù)機(jī)的訪(fǎng)問(wèn)驗(yàn)證自己的服務(wù)與配置。

3 設(shè)計(jì)要求

1)掌握FTP 工作原理、傳輸模式及在實(shí)際系統(tǒng)中應(yīng)用的方法;

2)掌握常用的FTP 命令;

3)安裝VSFTP 服務(wù)器,掌握其文件目錄結(jié)構(gòu)和作用,搭建一個(gè)測(cè)試用的文件系統(tǒng)結(jié)構(gòu);

4)學(xué)習(xí)掌握vsftpd.conf,vsftpd.ftpusers 文件的配置內(nèi)容和方法,完成一個(gè)具體的FTP 服務(wù)器的配置;要求對(duì)于匿名賬號(hào)和真實(shí)賬號(hào)都能夠有效地支持訪(fǎng)問(wèn);

5)實(shí)現(xiàn)從不同的操作系統(tǒng)平臺(tái)(Windows 和Linux )下訪(fǎng)問(wèn)FTP 服務(wù)器;

6)學(xué)習(xí)了解其他的FTP 服務(wù)器軟件并進(jìn)行比較,如WU-FTP 、proftpd 、pure-ftpd 等。

4 設(shè)計(jì)裝置

無(wú)。

5 設(shè)計(jì)步驟

1) 了解基礎(chǔ)知識(shí);

2) 與同組同學(xué)一起討論出任務(wù)的分配方式;

3) 設(shè)計(jì)服務(wù)的基本方案,安裝配置系統(tǒng);

4) 測(cè)試并對(duì)測(cè)試結(jié)果進(jìn)行分析;

5) 撰寫(xiě)報(bào)告。

6 報(bào)告及要求

1) 設(shè)計(jì)題目;

2) 同組同學(xué)任務(wù)的分配方式;

3) 設(shè)計(jì)基本原理、服務(wù)配置方法、服務(wù)安裝配置過(guò)程、測(cè)試方案及結(jié)果。

4) 體會(huì)。

,

設(shè)計(jì)二 LINUX 下DNS 服務(wù)器配置

1 設(shè)計(jì)目的

通過(guò)對(duì)Linux 下DNS 服務(wù)器BIND 的配置,掌握DNS 的基本概念和BIND 服務(wù)器的設(shè)計(jì)架設(shè)及訪(fǎng)問(wèn)DNS 服務(wù)器的方法,通過(guò)與同組同學(xué)的合作鍛煉學(xué)生的合作能力。 2 設(shè)計(jì)內(nèi)容

根據(jù)已經(jīng)學(xué)習(xí)的網(wǎng)絡(luò)服務(wù)基礎(chǔ)知識(shí),架設(shè)基于BIND 的服務(wù)器,掌握BIND 的配置文件的具體內(nèi)容和服務(wù)器的配置方法,配置一個(gè)DNS 服務(wù)器實(shí)例,在本地和網(wǎng)絡(luò)上驗(yàn)證自己的服務(wù)與配置。

3 設(shè)計(jì)要求

1)掌握DNS 工作原理、三種基本的域名服務(wù)器及在實(shí)際系統(tǒng)中應(yīng)用;

2)安裝BIND 服務(wù)器,規(guī)劃一個(gè)測(cè)試用的域名系統(tǒng);

3)學(xué)習(xí)掌握named.conf,resolv.conf,host.conf 文件的配置內(nèi)容和方法;

4)配置一個(gè)主域名服務(wù)器,編輯配置named.conf 、正向和反向域名解析文件;

5)在本地驗(yàn)證自己的DNS 配置;配置客戶(hù)端,從網(wǎng)絡(luò)上驗(yàn)證DNS 服務(wù);

6)了解DNS 的負(fù)載均衡、直接域名解析和泛域名解析的配置方法。

4 設(shè)計(jì)裝置

無(wú)。

5 設(shè)計(jì)步驟

1) 了解基礎(chǔ)知識(shí);

2) 與同組同學(xué)一起討論出任務(wù)的分配方式;

3) 設(shè)計(jì)服務(wù)的基本方案,安裝配置系統(tǒng);

4) 測(cè)試并對(duì)測(cè)試結(jié)果進(jìn)行分析;

5) 撰寫(xiě)報(bào)告。

6 報(bào)告及要求

1) 設(shè)計(jì)題目;

2) 同組同學(xué)任務(wù)的分配方式;

3) 設(shè)計(jì)基本原理、服務(wù)配置方法、服務(wù)安裝配置過(guò)程、測(cè)試方案及結(jié)果。

4) 體會(huì)

設(shè)計(jì)三 LINUX 下電子郵件服務(wù)器配置

1 設(shè)計(jì)目的

通過(guò)對(duì)Linux 下電子郵件服務(wù)器的配置,掌握電子郵件服務(wù)的基本原理和服務(wù)器的設(shè)計(jì)架設(shè)方法,通過(guò)與同組同學(xué)的合作鍛煉學(xué)生的合作能力。

2 設(shè)計(jì)內(nèi)容

,

根據(jù)已經(jīng)學(xué)習(xí)的網(wǎng)絡(luò)服務(wù)基礎(chǔ)知識(shí),架設(shè)基于Sendmail(或Postfix) 的服務(wù)器,掌握電子郵件系統(tǒng)的配置文件的具體內(nèi)容和服務(wù)器的配置方法,配置一個(gè)郵件服務(wù)器實(shí)例,通過(guò)客戶(hù)機(jī)的訪(fǎng)問(wèn)驗(yàn)證自己的服務(wù)與配置。

3 設(shè)計(jì)要求

1)掌握電子郵件系統(tǒng)的工作原理、主要協(xié)議及在實(shí)際系統(tǒng)中應(yīng)用特點(diǎn);

2)安裝Sendmail 服務(wù)器,掌握特點(diǎn)和作用,學(xué)習(xí)掌握/etc/sendmail.cf,/etc/aliases,/etc/mail/local-host-names,/etc/mail/sendmail.mc,/etc/mail/access 等文件的作用和配置方法。

3)掌握IMAP 和POP3服務(wù)的相關(guān)配置;掌握dovecot 的用法和/etc/dovecot.conf配置;了解Cyrus-IMPAD 的基本用法;

4)掌握電子郵件客戶(hù)端的基本配置,分別在本地和網(wǎng)絡(luò)上實(shí)現(xiàn)郵件的收發(fā),實(shí)現(xiàn)從不同的操作系統(tǒng)平臺(tái)(Windows 和Linux )下收發(fā)郵件;

5)了解Sendmail 郵件服務(wù)的認(rèn)證傳輸方式(ESMTP );

6)學(xué)習(xí)了解其他的郵件服務(wù)器軟件并進(jìn)行比較,如Zmail 、Postfix 等。 4 設(shè)計(jì)裝置

無(wú)。

5 設(shè)計(jì)步驟

1) 了解基礎(chǔ)知識(shí)(如postfix dovecot mysql這樣的搭配) ;

2) 與同組同學(xué)一起討論出任務(wù)的分配方式;

3) 設(shè)計(jì)服務(wù)的基本方案,安裝配置系統(tǒng);

4) 測(cè)試并對(duì)測(cè)試結(jié)果進(jìn)行分析;

5) 撰寫(xiě)報(bào)告。

6 報(bào)告及要求

1) 設(shè)計(jì)題目;

2) 同組同學(xué)任務(wù)的分配方式;

3) 設(shè)計(jì)基本原理、服務(wù)配置方法、服務(wù)安裝配置過(guò)程、測(cè)試方案及結(jié)果。

4) 體會(huì)。

設(shè)計(jì)四 Samba服務(wù)器配置

1 設(shè)計(jì)目的

通過(guò)對(duì)Linux 下Samba 服務(wù)器的配置,了解SMB 協(xié)議,熟悉Samba 配置文件中配置參數(shù)的設(shè)置,掌握Samba 配置過(guò)程,通過(guò)與同組同學(xué)的合作鍛煉學(xué)生的合作能力。 2 設(shè)計(jì)內(nèi)容

根據(jù)已經(jīng)學(xué)習(xí)的網(wǎng)絡(luò)服務(wù)基礎(chǔ)知識(shí),架設(shè)Samba 服務(wù)器,掌握Samba 的配置文件的具體內(nèi)容和服務(wù)器的配置方法,配置一個(gè)Samba 服務(wù)器實(shí)例,通過(guò)客戶(hù)機(jī)的訪(fǎng)問(wèn)驗(yàn)

,

證自己的服務(wù)與配置。

3 設(shè)計(jì)要求

1)掌握Samba 工作原理、了解SMB 協(xié)議及Samba 在實(shí)際系統(tǒng)中應(yīng)用的方法;

2)安裝Samba 服務(wù)器,搭建一個(gè)測(cè)試環(huán)境滿(mǎn)足:有兩組用戶(hù)(每組至少2人),都可以登錄到Samba 服務(wù)器,各自只能訪(fǎng)問(wèn)自己組的文件,所有的用戶(hù)都不允許使用服務(wù)器上的shell, 只能通過(guò)Samba 訪(fǎng)問(wèn)服務(wù)器;

4)學(xué)習(xí)掌握smb.conf 的配置內(nèi)容和方法,完成一個(gè)實(shí)現(xiàn)上述2)要求的Samba 服務(wù)器的配置;掌握/etc/samba/smbpasswd /etc/samba/smbusers等相關(guān)文件的用法;

5)實(shí)現(xiàn)從不同的操作系統(tǒng)平臺(tái)(Windows 和Linux )下訪(fǎng)問(wèn)Samba 服務(wù)器。 4 設(shè)計(jì)裝置

無(wú)。

5 設(shè)計(jì)步驟

1) 了解基礎(chǔ)知識(shí);

2) 與同組同學(xué)一起討論出任務(wù)的分配方式;

3) 設(shè)計(jì)服務(wù)的基本方案,安裝配置系統(tǒng);

4) 測(cè)試并對(duì)測(cè)試結(jié)果進(jìn)行分析;

5) 撰寫(xiě)報(bào)告。

6 報(bào)告及要求

1) 設(shè)計(jì)題目;

2) 同組同學(xué)任務(wù)的分配方式;

3) 設(shè)計(jì)基本原理、服務(wù)配置方法、服務(wù)安裝配置過(guò)程、測(cè)試方案及結(jié)果。

4) 體會(huì)。

設(shè)計(jì)五 LINUX 的進(jìn)程管理

1 設(shè)計(jì)目的

加深對(duì)進(jìn)程概念的理解,明確進(jìn)程和程序的區(qū)別;進(jìn)一步認(rèn)識(shí)并發(fā)執(zhí)行的實(shí)質(zhì);實(shí)現(xiàn)Linux 中進(jìn)程通信的兩種方式:軟中斷和管道通信。通過(guò)與同組同學(xué)的合作,鍛煉學(xué)生的合作能力。

2 設(shè)計(jì)內(nèi)容

根據(jù)本設(shè)計(jì)書(shū)所提供的基礎(chǔ)知識(shí),完成下列要求,寫(xiě)出相關(guān)代碼和設(shè)計(jì)報(bào)告。

1) 進(jìn)程的創(chuàng)建和控制

編寫(xiě)一段程序,使用系統(tǒng)調(diào)用fork()創(chuàng)建兩個(gè)子進(jìn)程。當(dāng)此程序運(yùn)行時(shí),在系統(tǒng)中有一個(gè)父進(jìn)程和兩個(gè)子進(jìn)程活動(dòng)。每個(gè)進(jìn)程在屏幕上顯示一個(gè)字符,記錄屏幕上的顯示結(jié)果,并分析原因。修改已編寫(xiě)的程序,將每個(gè)進(jìn)程輸出一個(gè)字符改為每個(gè)進(jìn)程輸出一句話(huà)。

,

2) 進(jìn)程的軟中斷通信

使用系統(tǒng)調(diào)用fork()創(chuàng)建兩個(gè)子進(jìn)程,使用系統(tǒng)調(diào)用

signal ()讓父進(jìn)程捕捉用alarm 函數(shù)設(shè)置時(shí)鐘的時(shí)間段終止時(shí)產(chǎn)生的信號(hào),當(dāng)捕捉到該信號(hào)后,父進(jìn)程使用系統(tǒng)調(diào)用Kill()向兩個(gè)子進(jìn)程發(fā)出信號(hào),子進(jìn)程捕捉到信號(hào)后分別輸出子進(jìn)程被殺死信息后終止,父進(jìn)程等待兩個(gè)子進(jìn)程終止后,輸出父進(jìn)程被殺死信息后終止程序。記錄屏幕上的顯示結(jié)果,并分析原因。

3) 進(jìn)程的管道通信

使用系統(tǒng)調(diào)用pipe()建立一個(gè)管道;兩個(gè)子進(jìn)程分別向管道寫(xiě)信息,父進(jìn)程則從管道讀出來(lái)自子進(jìn)程的信息,顯示在屏幕上。

3 設(shè)計(jì)要求

認(rèn)真編寫(xiě)代碼,與同組同學(xué)合作,通過(guò)充分的討論得到相關(guān)的結(jié)論。

4 設(shè)計(jì)裝置

無(wú)

5 設(shè)計(jì)步驟

1) 了解基礎(chǔ)知識(shí)。

2) 與同組同學(xué)一起討論出任務(wù)的分配方式。

3) 對(duì)自己的任務(wù)部分的代碼認(rèn)真分析調(diào)試,得到相應(yīng)的框圖。

4) 與同組同學(xué)討論得到的代碼及實(shí)驗(yàn)結(jié)果。

5) 撰寫(xiě)報(bào)告。

6 報(bào)告及要求

1) 設(shè)計(jì)題目

2) 同組同學(xué)任務(wù)的分配方式

3) 代碼分析結(jié)果

4) 體會(huì)

7. 相關(guān)基礎(chǔ)知識(shí)

系統(tǒng)調(diào)用函數(shù)說(shuō)明、參數(shù)值及定義

1) Fork()

創(chuàng)建一個(gè)新進(jìn)程進(jìn)程

int fork()

其中返回int 取值意義如下:

正確返回:在父進(jìn)程中返回子進(jìn)程的進(jìn)程號(hào),在子進(jìn)程中返回0

錯(cuò)誤返回:-1

2)Lockf(int files,int function,long size)

用作鎖定文件的某些段或者整個(gè)文件。

file :文件描述符;function :鎖定和解鎖,1表示鎖定,0表示解鎖;size :是鎖定或解鎖的字節(jié)數(shù),若用0,表示從文件的當(dāng)前位置到文件尾。

,

3)Signal(int sig, (*func) function)

進(jìn)程控制軟中斷信號(hào)的處理。signal()會(huì)依照參數(shù)sig 指定的信號(hào)編號(hào)來(lái)設(shè)置該信號(hào)的處理函數(shù)。

sig : SIGALRM: alarm()函數(shù)設(shè)置的時(shí)鐘的時(shí)間段終止時(shí)產(chǎn)生的信號(hào)。

其它信號(hào)略。

function :信號(hào)處理的一個(gè)函數(shù)地址。

4) kill(int pid,int sig)

向一個(gè)進(jìn)程或一個(gè)進(jìn)程組發(fā)信號(hào),可以用來(lái)送參數(shù)sig 指定的信號(hào)給參數(shù)pid 指定的進(jìn)程。

pid: pid>0 將信號(hào)傳給進(jìn)程號(hào)為pid 的進(jìn)程。

其它略。

signumber: 送給進(jìn)程號(hào)為pid 進(jìn)程指定信號(hào)量

5) alarm(unsigned int seconds)

設(shè)置一個(gè)指定時(shí)間的計(jì)時(shí)器

seconds: 設(shè)置時(shí)間秒數(shù)

6) int pipe(int filedes[2])

filedes 為整數(shù)數(shù)組名,在調(diào)用這個(gè)函數(shù)后,系統(tǒng)為通道分配的兩個(gè)文件描述符將通過(guò)這個(gè)數(shù)組返回到用戶(hù)進(jìn)程中。 filedes[1]是文件輸出描述符, filedes[0]是文件輸入描述符。

7) int wait(int *status)

暫停目前進(jìn)程的執(zhí)行,直到有信號(hào)到來(lái)或子進(jìn)程的結(jié)束。子進(jìn)程的結(jié)束狀態(tài)指會(huì)由參數(shù)status 返回,如果不在意結(jié)束狀態(tài)時(shí),則參數(shù)status 可以設(shè)置成NULL

設(shè)計(jì)六 UNIX SHELL的設(shè)計(jì)

1 設(shè)計(jì)目的

Unix shell是unix 的命令解釋程序,用于讓用戶(hù)以一種友好的方式運(yùn)行程序和執(zhí)行命令。本課程設(shè)計(jì)要求學(xué)生在linux 下寫(xiě)一個(gè)命令解釋程序,從而加深對(duì)Linux shell 工作機(jī)制的認(rèn)識(shí),提高系統(tǒng)應(yīng)用程序設(shè)計(jì)的能力。

2 設(shè)計(jì)內(nèi)容

根據(jù)本設(shè)計(jì)書(shū)所提供的基礎(chǔ)知識(shí),完成在linux 下編寫(xiě)一個(gè)命令解釋程序,實(shí)現(xiàn)Ksh 最基本的功能。即:允許用戶(hù)打入一個(gè)可執(zhí)行的程序的名字以及其命令行參數(shù),執(zhí)行這個(gè)程序。同時(shí)實(shí)現(xiàn)一部分內(nèi)部命令(比如cd ,詳見(jiàn)要實(shí)現(xiàn)的命令),以及輸入輸出重定向等功能。寫(xiě)出相關(guān)代碼和設(shè)計(jì)報(bào)告,具體要求為:

,

1)利用C 語(yǔ)言在Linux 上設(shè)計(jì)一個(gè)簡(jiǎn)單的命令解釋程序,完成如下功能: dir 列目錄

cd <>改變當(dāng)前目錄

pwd 顯示當(dāng)前目錄名

md 創(chuàng)建一個(gè)目錄

copy 復(fù)制文件和目錄

find 在指定的目錄及其子目錄中查找特定的文件

more 一頁(yè)一頁(yè)地顯示文件

date 顯示當(dāng)前日期

time 顯示當(dāng)前時(shí)間

ren 重命名一個(gè)文件或目錄

del 刪除一個(gè)文件和目錄

exit 退出命令解釋程序。

執(zhí)行一個(gè)程序

2)命令解釋程序的提示符為:@

3)命令解釋程序把命令行解釋為內(nèi)部命令或外部命令(要執(zhí)行的程序)。內(nèi)部命令直接在命令解釋程序中處理,外部命令的執(zhí)行則由命令解釋程序通過(guò)fork()創(chuàng)建一個(gè)子進(jìn)程,然后在子進(jìn)程中調(diào)用exec 執(zhí)行一個(gè)程序。

4)命令解釋程序應(yīng)能夠支持輸入輸出重定向。

5)選作內(nèi)容:

命令解釋程序支持后臺(tái)運(yùn)行程序。

命令解釋程序支持管道。

命令解釋程序不能被ctrl c打斷。

3 設(shè)計(jì)要求

1) 命令解釋程序的實(shí)現(xiàn)環(huán)境是linux ,編程語(yǔ)言使用C 語(yǔ)言。

2) 整個(gè)程序必須嚴(yán)格經(jīng)過(guò)測(cè)試,完成所有基本功能。源程序應(yīng)有較詳盡的注釋。

3) 程序編寫(xiě)應(yīng)有良好的風(fēng)格。

4) 程序編制中不得使用system()系統(tǒng)調(diào)用。

5) 整個(gè)系統(tǒng)的源代碼應(yīng)由多個(gè)文件組成,所有源程序文件及其makefile 用tar 命令打成一個(gè)包,放在指定的目錄下。

4 設(shè)計(jì)裝置

無(wú)

5 設(shè)計(jì)步驟

1) 了解基礎(chǔ)知識(shí)。

2) 與同組同學(xué)一起討論出任務(wù)的分配方式。

,

3) 對(duì)自己的任務(wù)部分的代碼認(rèn)真分析調(diào)試,得到相應(yīng)的框圖。

4) 與同組同學(xué)討論得到的代碼及實(shí)驗(yàn)結(jié)果。

5) 撰寫(xiě)報(bào)告。

6 報(bào)告及要求

1) 設(shè)計(jì)題目

2) 同組同學(xué)任務(wù)的分配方式

3) 設(shè)計(jì)報(bào)告應(yīng)包含如下內(nèi)容:a )系統(tǒng)的總體設(shè)計(jì)和詳細(xì)設(shè)計(jì) b) 你的命令解釋程序詳細(xì)使用手冊(cè) c) 所有源程序清單 d) makefile

4) 體會(huì)

7. 主要參考書(shū)目:UNIX 環(huán)境高級(jí)編程

可能用到的系統(tǒng)調(diào)用:

open(),close(),read(),write(),creat()

dup()

fork()

execl(),execv(),execle(),execve(),execlp(),execvp()

wait(),waitpid()

chdir()

opendir(),readdir(),rewinddir(),closedir()

rmdir(),mkdir()

設(shè)計(jì)七 模擬UNIX 文件系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)

1 設(shè)計(jì)目的

模擬UNIX 文件系統(tǒng)來(lái)設(shè)計(jì)一個(gè)多用戶(hù)多目錄的文件系統(tǒng)。

2 設(shè)計(jì)內(nèi)容

完成在linux 下編寫(xiě)一個(gè)模擬UNIX 文件系統(tǒng),寫(xiě)出相關(guān)代碼和設(shè)計(jì)報(bào)告,文件系統(tǒng)應(yīng)具有的基本功能要求為:

(1)多用戶(hù) :usr1,usr2,usr3, ……,usr8 (1-8個(gè)用戶(hù))

(2)多級(jí)目錄:可有多級(jí)子目錄;

(3)具有l(wèi)ogin (用戶(hù)登錄)

(4)系統(tǒng)初始化(建文件卷、提供登錄模塊)

(5)文件的創(chuàng)建: create

(6)文件的打開(kāi):open

(7)文件的讀:read

(8)文件的寫(xiě):write

(9)文件關(guān)閉:close

,

(10)刪除文件:delete

(11)創(chuàng)建目錄(建立子目錄):mkdir

(12)改變當(dāng)前目錄:cd

(13)列出文件目錄:dir

(14)退出:logout

3 設(shè)計(jì)要求

1)課程設(shè)計(jì)所利用的空間為1M 的內(nèi)存。這1M 內(nèi)存分成512塊,每塊為512個(gè)字節(jié),這512塊就是文件系統(tǒng)的可用塊數(shù),文件系統(tǒng)的分配就是以塊為單位來(lái)分配的,空閑塊的管理利用位示圖的方法來(lái)管理。申請(qǐng)1M 的內(nèi)存的方法可以利用malloc()或calloc().

2)磁盤(pán)I 節(jié)點(diǎn)可以利用在內(nèi)存中生成鏈表或者數(shù)組的方法來(lái)生成, 并且限制磁盤(pán)節(jié)點(diǎn)數(shù)的最大值。同樣內(nèi)存I 節(jié)點(diǎn)也可以利用鏈表的方法在內(nèi)存中生成。

3)在往文件中寫(xiě)或者讀的時(shí)候我們都是對(duì)內(nèi)存中內(nèi)容進(jìn)行讀寫(xiě)。例如你在文件中寫(xiě)的時(shí)候,其實(shí)是對(duì)分配的文件塊中對(duì)應(yīng)的內(nèi)存賦值。當(dāng)程序運(yùn)行結(jié)束的時(shí)候,文件的內(nèi)容都會(huì)丟失。我們這個(gè)文件系統(tǒng)只是一個(gè)模擬文件系統(tǒng)功能的虛擬文件系統(tǒng)。

4 設(shè)計(jì)裝置

無(wú)

5 設(shè)計(jì)步驟

1) 了解基礎(chǔ)知識(shí)。

2) 與同組同學(xué)一起討論出任務(wù)的分配方式。

3) 對(duì)自己的任務(wù)部分的代碼認(rèn)真分析調(diào)試,得到相應(yīng)的框圖。

4) 與同組同學(xué)討論得到的代碼及實(shí)驗(yàn)結(jié)果。

5) 撰寫(xiě)報(bào)告。

6 報(bào)告及要求

1) 設(shè)計(jì)題目

2) 同組同學(xué)任務(wù)的分配方式

3) 設(shè)計(jì)報(bào)告應(yīng)包含如下內(nèi)容:a )系統(tǒng)的總體設(shè)計(jì)和詳細(xì)設(shè)計(jì) b) 你的文件管理系統(tǒng)工作過(guò)程分析 c) 所有源程序清單

4) 體會(huì)

7. 參考思路:

1)系統(tǒng)結(jié)構(gòu)

(1)塊管理層:

分塊分配、塊回收、塊讀、塊寫(xiě)等

(2)文件控制塊層(FCB )

目錄查找namei (),iget (),iput ()

,

(3)文件管理層

具有打開(kāi)文件 open( ),close ( )等;

(4)命令解釋層

2) 數(shù)據(jù)結(jié)構(gòu)

(1)目錄結(jié)構(gòu)

(2)FCB 結(jié)構(gòu)

(3)打開(kāi)文件結(jié)構(gòu)

(4)用戶(hù)結(jié)構(gòu)

設(shè)計(jì)八 文件行編工具的制作

1 設(shè)計(jì)目的

掌握文件系統(tǒng)的底層函數(shù)調(diào)用,并進(jìn)行實(shí)例開(kāi)發(fā)。

2 設(shè)計(jì)內(nèi)容

實(shí)現(xiàn)能夠生成一個(gè)文本文件,并能行編該文件的內(nèi)容和顯示該文件的內(nèi)容。 3 設(shè)計(jì)要求

1)通過(guò)文件系統(tǒng)的底層C 函數(shù)調(diào)用,創(chuàng)建文件,向文件中寫(xiě)入數(shù)據(jù),顯示文件的內(nèi)容;

2)假設(shè)文件行編工具叫myedit ,則功能具有:

A )帶參數(shù)(不存在的文件名):創(chuàng)建并編輯;

B )帶參數(shù)(已存在的文件名):顯示并提示編輯;

C )不帶參數(shù):創(chuàng)建,編輯,并提示保存;

4 設(shè)計(jì)裝置

無(wú)

5 設(shè)計(jì)步驟

1) 了解基礎(chǔ)知識(shí)。

2) 與同組同學(xué)一起討論出任務(wù)的分配方式。

3) 對(duì)自己的任務(wù)部分的代碼認(rèn)真分析調(diào)試。

4) 與同組同學(xué)討論得到的代碼及實(shí)驗(yàn)結(jié)果。

5) 撰寫(xiě)報(bào)告。

6 報(bào)告及要求

1) 設(shè)計(jì)題目

2) 同組同學(xué)任務(wù)的分配方式

3) 設(shè)計(jì)報(bào)告應(yīng)包含如下內(nèi)容:a )系統(tǒng)的總體設(shè)計(jì)和詳細(xì)設(shè)計(jì) b) 你的編輯系統(tǒng)工作過(guò)程分析 c) 所有源程序清單。

4) 體會(huì)。

標(biāo)簽: