操作系統實驗_第1頁
操作系統實驗_第2頁
操作系統實驗_第3頁
操作系統實驗_第4頁
操作系統實驗_第5頁
已閱讀5頁,還剩13頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、操作系統實驗報告(一)Linux基本操作與編程(驗證性 2學時)1、實驗目的:1)熟悉Linux操作系統的環境和使用。2)* 了解LINUX系統的安裝過程。(注:表示可選擇)3)掌握Linux環境下的命令操作。2、實驗內容:(1)完成LINUX系統的登錄,啟動終端。進行下列操作并記錄結果(要求:結果以屏幕截圖表示)。1)運行pwd命令,確定你當前的工作目錄。2)利用以下命令顯示當前工作目錄的內容: ls l3)運行以下命令: ls al4)使用mkdir命令建立一個子目錄subdir。5)使用cd命令,將工作目錄改到根目錄(/)上。6)使用ls-l命令列出/dev的內容。7)使用不帶參數的命令

2、cd改變目錄,然后用pwd命令確定你當前的工作目錄是哪里?8)使用命令cd ./.,你將工作目錄移到什么地方?(2)在LINUX下查看你的文件。1)利用cd命令,將工作目錄改到你的主目錄上。2)將工作目錄改到你的子目錄subdir,然后運行命令: date > file1 將當前日期和時間存放到新建文件file1中。3)使用cat命令查看file1文件的內容。4)利用man命令顯示date命令的用法: man date5)將date命令的用法附加到文件file1的后面:man date >> file16)利用cat命令顯示文件file1的內容。7)利用ls -l file1

3、命令列出文件file1的較詳細的信息。運行ls -l/bin命令顯示目錄的內容。8)利用ls -l/bin|more命令行分屏顯示/bin目錄的內容。9)利用cp file1 fa命令生成文件file1的副本。然后利用ls -l命令查看工作目錄的內容。10)用cd命令返回你的主目錄,輸入命令ls l后,解釋屏幕顯示的第一列內容的含義。(3)編寫能輸出“Hello world!”問候語的C程序,并在終端中編譯、執行。要求記錄所使用的命令及結果。操作步驟:1)在文本編輯器中,編寫C程序a.c如下:#include "stdio.h"main() printf("hel

4、lo"); 2) 在終端中,用gcc命令進行編譯,生成可執行文件a。gcc a.c o a3) 在終端中執行a 的命令如下:./a (4)編寫一個程序:顯示信息“Time for Play!”,并能在后臺運行一段時間(自定義)后,彈出信息提醒用戶。要求記錄所使用的命令及結果。(提示:使用sleep(s)函數) 3、實驗結果分析:(對上述實驗內容中的各題結果,進行分析討論。并回答下列問題)(1) 進程包括哪些特征?間斷性, 失去封閉性, 不可再現性, 動態性, 并發性, 獨立性(2) 在Linux中,如何設置前、后臺命令和程序的執行?命令后直接加 & ,這個

5、命令就在后臺執行; 正在運行的命令,使用 Ctrl+z ,就掛起; jobs命令,可以現實后臺,包括掛起的命令; 使用 bg  %作業號   就可以把掛起的命令在后臺執行; 使用 fg  %作業號   就可以把后臺命令調到前臺(3) 你所使用的Linux系統的內核版本是多少?用什么命令查看內核版本?目前你所了解的各發行版本的情況如何? Linux version 2.6.32-358.e

6、l6.i686 (mockbuildx86-) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Tue Jan 29 11:48:01 EST 2013 (4) 你對Linux系統有什么認識?linux是一款開放性的操作系統,也可以說成是開放的源代碼系統,這些代碼可以完全自由的修改可以再任何的計算機上去運行它,也就是“可移植性”,其次

7、大家都知道,linux是由UNIX的概念所開發出來的,所以它也繼承了UNIX的穩定和效率的特點!4、總結:你對本次實驗有什么體會或看法。操作系統實驗報告(二) 文件訪問權限設置與輸入輸出重定向(2學時)一、 實驗目的1、 掌握linux的文件訪問權限設置。2、 熟悉輸入輸出重定向和管道操作。二、 實驗內容1、啟動進入紅帽linux系統2、設置文件權限:l         在用戶主目錄下創建目錄test,進入test目錄,用vi創建文件file1,并輸入任意的文字內容。l 用ls -l顯示文件信息,注意文件的權限和所

8、屬用戶和組。 l 對文件file1設置權限,使其他用戶可以對此文件進行寫操作:#chmod o+w file1。 l 用ls -l查看設置結果。 l 取消同組用戶對此文件的讀取權限:#chmod g-r file1。查看設置結果。 l         用數字形式來為文件file1設置權限,所有者可讀、可寫、可執行;其他用戶和所屬組用戶只有讀和執行的權限:#chmod 755 file1。設置完成后查看設置結果。 3、輸入、輸出重定向和管道(1)      

9、    輸出重定向l         用ls命令顯示當前目錄中的文件列表:ls l。 l         使用輸出重定向,把ls命令在終端上顯示的當前目錄中的文件列表重定向到文件list中:ls l > list。 l         查看文件list中的內容,注意在列表中會多出一個文件list,其長度為0。 這說明she

10、ll是首先創建了一個空文件,然后再運行ls命令:cat list。 l         再次使用輸出重定向,把ls命令在終端上顯示的當前目錄中的文件列表重定向到文件list中。這次使用追加符號>>進行重定向:ls l >> list。 l         查看文件list的內容,可以看到用>>進行重定向是把新的輸出內容附加在文件的末尾,注意其中兩行list文件的信息中文件大小的區別:cat list。

11、 l         重復命令ls l > list。 l         再次查看文件list中的內容,和前兩次的結果相比較,注意list文件大小和創建時間的區別。 (2)                  管道l     

12、;    who |grep root命令的結果是? l        命令ls l |wc l結果是? 4、退出linux系統操作步驟:在主菜單上選擇“注銷” ->關閉計算機。三、 實驗結果與討論(根據實驗結果回答下列問題)1.  文件backup.tar的權限如下:-rw-rr- 1 root root 19274 Jul 14 11:00 backup.tar 回答:-rw-rr- 的含義是什么?答:是LINUX/FTP的簡易權限表示法: 對應于本用戶-

13、所在組-其他人的權限,每一個用執行(x)-讀取(r)-寫入(w) 如本題若是說自己可以讀取寫入不可以執行,所在組和其他人只能讀取.2、 文件backup.tar的所有者添加執行權限的命令是? 答:chmod u+x backup.tar.gz3、賦予所有用戶讀和寫backup.tar文件權限的命令是? 答:chmod a+w,a+r backup.tar.gz四、 個人體會(你對本次實驗有什么體會或看法?)操作系統實驗報告(三)文件和目錄管理一、實驗目的1) 掌握在Linux系統下的文件和文件系統的概念及命令;2) 掌握Linux系統下的目錄操作。二、實驗內容 1.  &#

14、160;     進入linux終端后,用命令的操作結果回答下列問題:1)vi的三種工作模式是?其中不能進行直接轉換的是什么模式到什么模式? 命令模式、文本輸入模式、末行模式 命令模式不能直接到末行模式2)在vi中退出時,保存并退出的操作步驟是? Ese:wq3)用vi 創建myfile1文件,并在其中輸入任意文字一行,創建myfile2文件,任意輸入文字3行。請問執行命令:cat <myfile1 >myfile2 后,myfile2中還有幾行內容?該命令的作用是?用命令操作驗證你的回答。myfile2中還有1行內容 該命令的作用

15、是 替換myfile的內容4)請用至少兩種不同的命令創建一個文本文件(Myext.txt),在其中寫入“我是2014級學生,我正在使用Linux系統。”,記錄命令及執行結果。 1、Vi創建 2、5)用_pwd_命令可查看所創建文件Myext.txt的絕對路徑,寫出它的絕對路徑_/root_;用_ls -l_命令查看該文件的類型及訪問權限,其訪問權限(數字和字母)分別是多少_-rw- r- - r- - 6 4 4_。6)若將該文件的訪問權限修改為:所有者有讀寫權限;其他用戶只讀;同組用戶可讀寫,請寫出命令,并記錄結果。7)查找my開頭的所有文件,可_find my*_命令,寫出命令并記錄結果8

16、)在/home下創建子目錄user,并在其中創建2個文件,名為file1和file2,file1的內容是/root目錄的詳細信息;file2的內容任意,最后將這兩個文件合并為file3文件,請先寫出命令序列,并在終端中驗證,記錄結果。2.         文件及目錄操作,寫出操作所使用的命令,并記錄結果。l 在終端中完成下列命令操作,并記錄結果l 在root用戶主目錄下創建一個mydir子目錄和一個myfile文件,再在mydir下建立d1和d2兩個子目錄。l 查看mydir和myfile的默認權限l 查看當前my

17、file和mydir的權限值是多少?l 將myfile文件分別復制到root 和dd1的主目錄中l 將root主目錄中的myfile改為yourfilel 通過從鍵盤產生一個新文件text.txt并輸入I am a studentl 查找text.txt文件是否包含student字符串 三、實驗結果與分析,回答下列問題:1、能夠創建文件的命令有哪些? vi 和 cat>name2、能夠查看當前目錄的絕對路徑的命令是? pwd3、Linux中按用戶屬性將用戶分成哪些類型?根據文件的訪問權限,用戶又被分成哪些類型?能夠查看文件訪問權限的命令是? 用戶 同組其他 可讀可寫可執行 cat f1四

18、、小結(本次實驗的體會或小結)操作系統實驗報告(四)作業調度算法模擬(驗證性2學時)1、實驗目的:1) 掌握作業調度的主要功能及算法。2) 通過模擬作業調度算法的設計加深對作業管理基本原理的理解。3) 熟悉Linux環境下應用程序的編程方法。2、實驗內容:(1)作業調度算法(FCFS)編程模擬:編制一段程序,對所輸入的若干作業,輸入、輸出數據樣例如下表所示。按FCFS算法模擬調度,觀察、記錄并分析調度的輸出結果情況?!据斎胼敵鰳永?:FCFS算法】輸入輸出A 0 4B 1 3C 2 5D 3 2E 4 4A 0 0 4 4B 1 4 7 6C 2 7 12 10D 3 12 14 11E 4

19、14 18 14fcfs.c#include <stdio.h>#include <stdlib.h>#define SIZE 5struct Job_type char no2; /作業名 int tb; /作業到達時間(分) int tr; /運行時間(分)x,job5;void load() int i; printf("nEnter the Jobs' datas:n"); for(i=0;i<SIZE;i+) scanf("%s%d%d",&jobi.no,&jobi.tb,&job

20、i.tr); printf("輸入作業順序:n"); for(i=0;i<SIZE;i+) printf("t%st%dt%dn",jobi.no,jobi.tb,jobi.tr);void fcfs() int i,j,t=0,tw=0,tt=0; for(i=0;i<SIZE-1;i+) for(j=i+1;j<SIZE;j+) if(jobi.tb>jobj.tb) x=jobi; jobi=jobj; jobj=x; printf("FCFS調度結果:n"); printf("開始時間 作業號

21、 到達時間 運行時間 完成時間 等待時間 周轉時間n");for(i=0;i<SIZE;i+) printf(" %d",t); t=t+jobi.tr; tw=t-jobi.tb-jobi.tr; /作業等待時間 tt=t-jobi.tb; /周轉時間printf("t%st%dt%dt%dt%dt%dn",jobi.no,jobi.tb,jobi.tr,t,tw,tt); void main() load(); fcfs(); (2)作業調度算法(SJF)編程模擬:編程實現由短作業優先算法,分別用下面兩組輸入、輸出數據樣例進行模擬,觀

22、察分析運行結果?!据斎胼敵鰳永?:SJF算法】輸入輸出A 0 4B 0 3C 0 5D 0 2E 0 1A 0 6 10 10B 0 3 6 6C 0 10 15 15D 0 1 3 3E 0 0 1 1#include <stdio.h>#include <stdlib.h>#define SIZE 5struct Job_type char no2; /作業名 int tb; /作業開始時間(分) int tr; /運行時間(分)x,job5;void load() int i; printf("nEnter the Jobs' datas:n&q

23、uot;); for(i=0;i<SIZE;i+) scanf("%s%d%d",&jobi.no,&jobi.tb,&jobi.tr); printf("輸入作業順序:n"); for(i=0;i<SIZE;i+) printf("t%st%dt%dn",jobi.no,jobi.tb,jobi.tr);void sjf() /短作業調度函數 void main() load(); sjf(); 3、實驗結果分析:(對上述實驗各題所使用的原始數據、調試數據與狀態(包括出錯)及最終結果進行記錄并分析

24、。)在進程調度中采用FCFS算法時,則每次調度是從就緒隊列中選擇一個最先進入該隊列的進程,為之分配處理機,使之投入運行。該進程一直運行到完成或發生某事件而阻塞后才放棄處理機。FCFS算法比較有利于長作業(進程),而不利于短作業(進程)。短作業優先(SJF)的調度算法是從后備隊列中選擇一個或若干個估計運行時間最短的作業,將它們調入內存運行。該算法對長作業不利,完全未考慮作業的緊迫程度。4、總結:你對本次實驗有什么體會或看法。操作系統實驗報告(五)內存管理算法模擬(驗證性 2學時)一、實驗目的:4) 掌握內存管理的主要技術與功能。2) 模擬內存管理算法的實現方法。二、實驗內容:設計一個能模擬內存管

25、理行為的系統程序,該系統至少應包括FIFO和LRU算法(Least Recently Used)(當需要置換一頁時,選擇最長時間未被使用的那一頁淘汰掉。)的實現。閱讀下列的參考程序,寫出main()函數,輸入下面的各組測試數據,運行并記錄結果。數據1:7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1 數據2:0,1,7,2,3,2,17,1,0,3,0,3,0,3,0,10數據3:24 15 18 23 24 17 18 24 18 17 17 15 24 17 24 18數據4:4 3 2 1 4 3 5 4 3 2 1 5 7 2 3 4 8 1 4 3 5

26、2 3 1參考程序 page.c#include <stdio.h>#include <stdlib.h>#define ERR -1#define page_len 16 /頁序列總長#define total_vp 18 /作業的總頁數+1,即序列中出現的最大頁號+1,為了開pltotal_vp數組所用typedef struct int pn,pfn,counter,time; pl_type;pl_type pltotal_vp;struct pfc_struct int pn,pfn; struct pfc_struct *next;typedef struc

27、t pfc_struct pfc_type;pfc_type pfctotal_vp,*freepf_head,*busypf_head,*busypf_tail;int diseffect; int pagepage_len;void initialize(int total) int i; diseffect=0; for(i=0; i<total_vp;i+) pli.pn=i; pli.pfn=ERR; for(i=1;i<total;i+) pfci-1.next=&pfci; pfci-1.pfn=i-1; pfctotal-1.next=NULL; pfctotal-1.pfn=total-1; freepf_head=&pfc0; void FIFO(i

溫馨提示

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

評論

0/150

提交評論