作業系統實驗報告

2021-04-21 04:59:38 字數 2247 閱讀 6222

2014/2015 學年第 2 學期

系別計算機學院

專業電腦科學與技術

班級 2014級專公升本

姓名蔡圓圓

學號 1410211014

授課老師趙群禮

實驗一:熟悉linux基本命令及程式設計環境

實驗總結:

編寫程式: gedit編輯器;

編寫程式 .c 存放;

//gcc:linux c程式編譯工具

當前資料夾:ls

編譯:gcc 源檔名 –o 目標檔名

執行: ./ 目標檔名

實驗二: 程序管理

一、實驗目的

(1)理解程序的概念,掌握父、子程序建立的方法。

(2)認識和了解併發執行的實質,掌握程序的併發及同步操作。

二、實驗環境

微型計算機,ubuntu linux10.04 ,gedit,gcc

三、實驗內容

1.編寫一c語言程式,實現在程式執行時通過系統呼叫fork( )建立兩個子程序,使父、子三程序併發執行,父親程序執行時螢幕顯示「i am father」,兒子程序執行時螢幕顯示「i am son」,女兒程序執行時螢幕顯示「i am daughter」。

2.多次連續反覆執行這個程式,觀察螢幕顯示結果的順序,直至出現不一樣的情況為止。記下這種情況,試簡單分析其原因。

3.修改程式,在父、子程序中分別使用wait()、exit()等系統呼叫「實現」其同步推進,並獲取子程序的id號及結束狀態值。多次反覆執行改進後的程式,觀察並記錄執行結果。

四、實驗結果

(1)(2) 第1次:

第2次:

第3次:

第4次:

(3)第1次

第2次:

第3次:

第4次:

五、源**

(1)///fork.c

#include

#include

#include

#include

int main()

else if (pid == 0)

else

else if (pid == 0)

}for (;n>0;n--)

exit(0);

}(2)

//nice.c

#include

#include

#include

#include

int main()

else if (pid == 0)

else

else if (pid == 0)

}for (;n>0;n--)

exit(0);

}(3)

//wait.c

#include

#include

#include

#include

#include

int main()

else if (pid == 0)

else

else if (pid == 0)

}for (;n>0;n--)

if(pid !=0)

exit(exit_code);

}實驗三: 程序排程

一、實驗目的

(1)理解程序控制塊和程序組織方式;

(2)掌握時間片輪轉排程演算法實現處理機排程。

二、實驗環境

微型計算機,ubuntu linux10.04 ,gedit,gcc

三、實驗內容

1.建立合理的pcb資料結構,建立含有8個程序結點的就緒佇列,每個程序的要求執行時間隨機產生,要求每個程序的要求執行時間不大於15。

2 .設定時間片大小(3~6),使用時間片輪轉排程演算法實現處理機排程。

四、實驗結果

五、源**

#include

#include

#include

#include

#define num 8

#define len sizeof(pcb)

typedef struct pcb

pcb;

void main ()

{ int timeslice=6,i;

pcb *runqueue;//執行佇列指標 1個

pcb *top,*tail,*temp;//就緒佇列指標 3個

srand((int)time(0));

for(i=0;i {

temp=(pcb*)malloc(len);

作業系統實驗報告

電腦科學與應用系 課程設計報告 作業系統原理 目錄1 題目簡述 2 2 需求分析 2 2.1設計思想 2 2.2要求 2 2.3任務 3 2.4執行環境 3 2.5開發工具 3 3 概要設計與詳細設計 3 3.1系統流程圖 3 3.2演算法流程圖 5 4 編碼與實現 10 4.1資料結構和演算法設計...

作業系統實驗報告

實驗名稱 哲學家就餐問題 班級 通訊1202班 學號 u201213584 姓名 趙越 指導老師 許毅平 一 實驗目的 1.熟練使用vc 6.0編譯環境,除錯並正確執行程式,更加熟練地利用c語言解決問題 2.了解哲學家就餐的基本原理,掌握死鎖的必要條件。3.理解源程式中產生和防止的演算法,及相關視窗...

作業系統實驗報告

實驗報告 一 實驗名稱 程序排程的設計與實現 二 實驗目的 1 綜合應用下列知識點設計並實現作業系統的程序排程 鄰接表,布林數 組,非阻塞輸入,圖形使用者介面 gui,程序控制塊,程序狀態轉換,多 級反饋佇列程序排程演算法。2 加深理解作業系統程序排程的過程。3 加深理解多級反饋佇列程序排程演算法。...