操作系統(tǒng)上機(jī)報(bào)告 (2)_第1頁(yè)
操作系統(tǒng)上機(jī)報(bào)告 (2)_第2頁(yè)
操作系統(tǒng)上機(jī)報(bào)告 (2)_第3頁(yè)
操作系統(tǒng)上機(jī)報(bào)告 (2)_第4頁(yè)
操作系統(tǒng)上機(jī)報(bào)告 (2)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、.西安電子科技大學(xué)計(jì)算機(jī)學(xué)院操作系統(tǒng)實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告姓 名: 學(xué) 號(hào): 班 級(jí): 一、題目實(shí)驗(yàn)1:LINUX/UNIX Shell部分 (一)系統(tǒng)基本命令1登陸系統(tǒng),輸入 whoami 和 pwd ,確定自己的登錄名和當(dāng)前目錄; 登錄名 admixx , 當(dāng)前目錄 /root 2顯示自己的注冊(cè)目錄?命令在哪里? a鍵入 echo $HOME,確認(rèn)自己的主目錄;主目錄為 /root b鍵入 echo $PATH,記下自己看到的目錄表; /usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/ bin:/usr/local/sbin:/usr/loca

2、l/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin c鍵入 which abcd,看看得到的錯(cuò)誤信息; /usr/bin/which: no abcd in (/usr/lib/ qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/ bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin 再鍵入 which ls 和 which vi,對(duì)比剛剛得到的結(jié)果的目錄是否在a

3、、b 兩題看到的目錄表中; alias ls=lscolor=tty/bin/ls /bin/vi 3ls 和 cd 的使用:a鍵入 ls, ls -l , ls -a , ls -al 四條命令,觀察輸出,說(shuō)明四種不同使用方式的區(qū)別。 ls : 列出目錄內(nèi)容 ls l : 以長(zhǎng)格式詳細(xì)顯示文件信息 ls a : 列出所有文件,包括以 . 文件 ls al : 以長(zhǎng)格式顯示當(dāng)前目錄下的所有文件b利用 cd 轉(zhuǎn)到 /bin, /sbin , /etc , /dev,再利用 ls 列出各個(gè)目錄的內(nèi)容, 如果迷路,可以利用 pwd 確定位置,或鍵入cd , cd 觀察效果.cd , cd 的區(qū)別:

4、cd : 回到上層目錄 cd : 可進(jìn)入用戶的HOME目錄(二)基本操作1用 cp 將 /usr/share 目錄下的 exercise 子目錄連同目錄下的文件拷貝到自己的主目錄下,然后進(jìn)入自己的 exercise 目錄2輸入/輸出重定向和 cat,more 等顯示命令的配合使用:a輸入 cat 命令列出目錄下 longtext 文件中的內(nèi)容;b輸入 cat 命令列出目錄下 longtext 文件中的內(nèi)容,是否發(fā)現(xiàn)一屏顯示不完? 是 c使用 more 命令列出 longtext 的內(nèi)容;d輸入 cat hello.txt hello2.txt,再輸入 cat hello.txthello2.t

5、xt,再檢查hello2.txt的內(nèi)容有何變化;說(shuō)明與的區(qū)別。 是把hello.txt的內(nèi)容覆蓋在hello2.txt內(nèi)是把hello.txt的內(nèi)容續(xù)寫(xiě)在hello2.txt內(nèi) e對(duì)比兩條命令: more longtext 和 cat longtext | more ,兩者有何不同點(diǎn)? more longtext 顯示出已經(jīng)顯示出來(lái)的內(nèi)容的百分比 cat longtext | more不顯示 f執(zhí)行命令 echo hello.txt 文檔就會(huì)被清空 g輸入命令 cat 符號(hào) 并可以輸入文檔 h設(shè)計(jì)一條命令,使該命令可以從標(biāo)準(zhǔn)輸出中讀入; cat hello3.txt cat hello3.tx

6、t 就可以看到 ( 參考答案:cat hello3.txt )3特殊字符:輸入 cat also a text.txt,看看能否打開(kāi)目錄下的also a text.txt文件,若不能,該怎么辦? 輸入cat “also a text.txt” (參考答案:cat also a text.txt)4文件鏈接:a用 ln 命令為目錄下的longtext文件建立一個(gè)硬鏈接,鏈接名為longtext2, 然后把longtext復(fù)制一個(gè)新文件longtext3,用 cat 命令將 hellotxt 的內(nèi)容追加到longtext 的末尾,再用 diff 命令比較longtext,longtext2和lon

7、gtext3,看看有什么結(jié)果,特別是比較一下longtext和longtext2是否相同; longtext和longtext2一直是相同的 在longtext后續(xù)寫(xiě)hello.txt之后,longtext和longtext2均與longtext3不同了 b用 ln 命令給longtext3建立一個(gè)符號(hào)鏈接longtext4,用 cat 命令看看longtext4;然后刪去longtext3,再用 cat 命令看看longtext4,是否有什么不同? 沒(méi)有不同 c刪去longtext2,看看能否用 cat 命令看到longtext? 能 d試著執(zhí)行 ln -s ./abcde ./nullli

8、nk,看看是否能建立文件鏈接. 不能 5查找命令 find:用 find 命令查找當(dāng)前目錄下所有以del開(kāi)頭或以del結(jié)尾的文件,并將其刪除,要求刪除前征求用戶許可find ./ -name del*rm i del*find ./ (-name del/* -o -name *del ) -exec rm -i ;find ./ (-name del/* -o -name *del ) -exec -ok rm ;6文件的屬性:a用 ls -l 列出 exercise 目錄下所有的文件和目錄,觀察其權(quán)限位;b將hello2.txt 的讀權(quán)限去掉,看看還能否用 cat 打開(kāi)該文件; 不能 c將

9、 program 目錄的讀權(quán)限去掉,看看是否能用 ls 命令看到其中內(nèi)容? 不能 (三)Shell程序設(shè)計(jì)編寫(xiě)一個(gè)Shell過(guò)程完成如下功能:1合并兩個(gè)$1、$2文件為$3,并顯示。2如果缺少$3,那么先報(bào)告缺少$3,將合并后的內(nèi)容輸出到CHENG.TXT,顯示。3如果缺少$2、$3那么先報(bào)告缺少$2、$3,只顯示$1的內(nèi)容。if test -f $3then cat $1 $2$3 cat $3else if test -f $2then echo $3 is not a not in this directorycat $1 $2CHENG.TXTcat CHENG.TXTelse ech

10、o Neither $2 or $3 is a in this directorycat $1fi fi實(shí)驗(yàn)2:實(shí)驗(yàn)題目進(jìn)程的建立實(shí)驗(yàn)?zāi)康膭?chuàng)建進(jìn)程及子進(jìn)程在父子進(jìn)程間實(shí)現(xiàn)進(jìn)程通信實(shí)驗(yàn)軟硬件環(huán)境Linux 、Windows98、Windows2000實(shí)驗(yàn)內(nèi)容創(chuàng)建進(jìn)程并顯示標(biāo)識(shí)等進(jìn)程控制塊的屬性信息;顯示父子進(jìn)程的通信信息和相應(yīng)的應(yīng)答信息。(進(jìn)程間通信機(jī)制任選)實(shí)驗(yàn)步驟創(chuàng)建進(jìn)程;顯示進(jìn)程狀態(tài)信息;實(shí)現(xiàn)父子進(jìn)程通信;考核指標(biāo)顯示創(chuàng)建的進(jìn)程及控制塊參數(shù);顯示進(jìn)程間關(guān)系參數(shù)源程序: #include #include #include #include #include # define BUFFERS

11、IZE 32 int main() pid_t pid; int status; int fd2; char bufBUFFERSIZE=This is a pipen; if(pipe(fd)0) printf(pipe errorn); exit(1); pid=fork(); if(pid0) printf(fork errotn);exit(1); if(pid=0)printf(child process:n); /child processprintf(pid=%dn,getpid();printf(ppid=%dn,getppid();printf(gid=%dn,getgid(

12、);printf(write:%sn,buf);close(fd0); /close writewrite(fd1,buf,sizeof(buf);/writeexit(1); else /parenr process if(pid!=wait(&status) printf(wait errorn); printf(parent process:n); printf(pid=%dn,getpid();printf(ppid=%dn,getppid(); printf(gid=%dn,getgid();實(shí)驗(yàn)3:實(shí)驗(yàn)題目進(jìn)程間的同步實(shí)驗(yàn)?zāi)康睦斫膺M(jìn)程同步和互斥模型及其應(yīng)用實(shí)驗(yàn)軟硬件環(huán)境Linux

13、、Windows98、Windows2000實(shí)驗(yàn)內(nèi)容利用通信API實(shí)現(xiàn)進(jìn)程之間的同步:建立司機(jī)和售票員進(jìn)程;并實(shí)現(xiàn)他們間的同步運(yùn)行。實(shí)驗(yàn)步驟創(chuàng)建進(jìn)程;實(shí)現(xiàn)同步操作或函數(shù);實(shí)現(xiàn)公共汽車司機(jī)和售票員開(kāi)關(guān)車門及行車運(yùn)行過(guò)程的同步模型;顯示同步運(yùn)行的結(jié)果。考核指標(biāo)顯示司機(jī)和售票員進(jìn)程的同步運(yùn)行軌跡。司機(jī)進(jìn)程代碼:#include #include #include #include #include #include #include #include #include #include char SEM_NAME1= s1;char SEM_NAME2= s2;int main() int i; s

14、em_t *s1; sem_t *s2; s1 = sem_open(SEM_NAME1, O_CREAT, 0644, 0); if(s1 = SEM_FAILED) perror(unable to create semaphore); sem_unlink(s1); exit(-1); s2 = sem_open(SEM_NAME2, O_CREAT, 0644, 0); if(s2 = SEM_FAILED) perror(unable to create semaphore); sem_unlink(s2); exit(-1); for (i=0; i=2; i+) printf(d

15、river reach station, stop carn); sem_post(s2); printf(driver waiting closing doorn); sem_wait(s1); printf(driver leaving stationn); printf(car is runningn); sleep(2); sem_close(s1); sem_close(s2); sem_unlink(SEM_NAME1); sem_unlink(SEM_NAME2); _exit(0);售票員進(jìn)程代碼:#include #include #include #include #inc

16、lude #include #include #include #include #include char SEM_NAME1= s1;char SEM_NAME2= s2;int main() int i; sem_t *s1; sem_t *s2; /create & initialize semaphore s1 = sem_open(SEM_NAME1, 0, 0644, 0); if(s1 = SEM_FAILED) perror(unable to create semaphore); sem_close(s1); exit(-1); s2 = sem_open(SEM_NAME

17、2, 0, 0644, 0); if(s2 = SEM_FAILED) perror(unable to create semaphore); sem_close(s2); exit(-1); for (i=0; i=2; i+) sem_wait(s2); printf(conductor open door, passenger, close doorn); sem_post(s1); printf(conductor waiting reaching stationn); sem_close(s1); sem_close(s2); _exit(0);運(yùn)行結(jié)果:結(jié)果分析:利用PV操作實(shí)現(xiàn)司

18、機(jī)進(jìn)程和售票員進(jìn)程之間的同步。設(shè)司機(jī)進(jìn)程的信號(hào)量為S1,售票員進(jìn)程信號(hào)量為S2。當(dāng)車到站時(shí),停車,進(jìn)行操作V(S2),P(S1)。此時(shí)司機(jī)進(jìn)程被掛起,售票員進(jìn)程開(kāi)始進(jìn)行。售票員進(jìn)程先進(jìn)行P(S2)操作,若之前未進(jìn)行V(S2)則被掛起,否則進(jìn)程繼續(xù)執(zhí)行,打開(kāi)車門。待人上完后關(guān)車門,進(jìn)行V(S1)操作,喚醒被掛起的司機(jī)進(jìn)程。汽車再次離站開(kāi)出。實(shí)驗(yàn)4:實(shí)驗(yàn)題目Linux文件系統(tǒng)實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)熟悉使用相關(guān)命令、使用系統(tǒng)調(diào)用來(lái)讀寫(xiě)文件熟悉Linux文件系統(tǒng),并閱讀Linux文件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的相關(guān)資料,加深理解。實(shí)驗(yàn)軟硬件環(huán)境Linux 實(shí)驗(yàn)內(nèi)容文件命令文件操作的系統(tǒng)調(diào)用Linux文件系統(tǒng)理解實(shí)驗(yàn)步驟

19、熟悉文件系統(tǒng)常用命令(ls,mv,rm,ln,cp,compress,uncompress,gzip,gunzip,rar,rpm,tar,df,mount,umount,chmod,chown,);建立相關(guān)用戶和組,并熟悉文件系統(tǒng)的權(quán)限管理;利用文件操作相關(guān)的系統(tǒng)調(diào)用實(shí)現(xiàn)一個(gè)文件拷貝命令(參數(shù)為源文件、目標(biāo)文件,提示源文件不存在,提示目標(biāo)文件存在是否覆蓋);閱讀Linux文件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的相關(guān)資料;考核指標(biāo)演示實(shí)驗(yàn)結(jié)果。#include #include #include #include #include #include #define BUFF_SIZE 1024 int main(int argc, char *argv) int src_; int real_read_len; unsigned char buffBUFF_SIZE; char cover; /argc is not correct if(argc!=3) printf(Error use copy!n); printf(Example:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論