實驗報告
實驗課程: 作業系統實驗
學生姓名: 劉昌盛
學號: 7101310013
專業班級: 電氣資訊ⅲ類101班
2011 年 12 月 5 日
目錄(二號宋體)
一、 實驗一頁碼
二、 實驗二頁碼
三、 實驗三頁碼
四、 實驗四頁碼
五、 實驗五頁碼
南昌大學實驗報告
1)作業系統安裝及其介面環境
學生姓名: 劉昌盛學號: 7101310013 專業班級: 電氣資訊ⅲ類101班
實驗型別:■ 驗證 □ 綜合 □ 設計 □ 創新實驗日期實驗成績
一、實驗目的
熟悉windows//linux作業系統的安裝過程與安裝方法,並掌握該作業系統所提供的使用者介面環境,並為後續實驗做好程式設計環境準備。
二、實驗內容
1、熟悉windows//linux作業系統的安裝過程與安裝方法,並掌握該作業系統所提供的使用者介面環境,通過系統提供的使用者管理程式、檢視系統中的使用者情況、程序、執行緒、記憶體使用情況等,學會使用它進行監視程序的狀況、系統資源的使用情況及使用者情況。並為後續實驗做好程式設計環境準備。
2、用c語言編寫一小段程式,使其可以通過某個系統呼叫來獲得os提供的某種服務。
三、實驗要求
1. 了解所安裝的作業系統對軟硬體資源的具體要求;
2. 機器最低硬體配置要求;
3. 作業系統所提供的使用者介面環境的熟悉;
4. 了解主要bios cmos引數的含義及其設定方法;
5. 掌握程式編寫中系統呼叫的方法。
四、主要實驗步驟
系統的安裝方法一般來說使用光碟直接安裝,將光碟放入光碟機中(沒有光碟機的電腦可以使用usb光碟機或使用u盤安裝)。注意了:若計算機使用光碟安裝,則安裝之前必須設定計算機的bios使計算機從光碟機啟動;若計算機使用usb光碟機或是u盤引導,則安裝之前必須設定計算機的bios是計算機從usb介面啟動。
若計算機中已經裝有了乙個作業系統,可以通過vmware workstation虛擬機器來模擬並記錄安裝windows和linux的過程;安裝系統主要需要輸入序列號,設定管理員及使用使用者名稱和密碼,我們可以選擇要安裝系統的程式(linux為軟體包),或者也可以在安裝完後,在控制面板的新增/刪除中選擇。
2. 熟悉檢視使用者的介面環境可以使用系統自帶的管理程式,操作如下:
a.「右擊我的電腦」——「管理」——「裝置管理器」,
b.也可以「右擊我的電腦」——「屬性」——「硬體」——「裝置管理器」,
c.還可以「右擊我的電腦」—-「裝置管理」,
進入裝置管理器可以看到計算機的裝置情況,包括計算機的各個介面。
3. 檢視系統中的使用者情況、程序、執行緒、記憶體使用情況,可進行如下操作:
a.「右擊我的電腦」——「管理」——「本地使用者和組」——「使用者」,這樣就可以檢視系統中的使用者情況,並可以對使用者進行新增、刪除等操作。
b.「右擊工作列」——「任務管理器」,或者直接在鍵盤上使用ctrl+alt+delete的快捷鍵開啟任務管理器。在任務管理器中,可以看到系統中的活動使用者、當前程序、執行緒和記憶體的使用情況。
(例如:點選「程序」就可以看見當前計算機在執行的程序及該程序的使用者名稱、cpu佔用率和記憶體使用情況。點選「效能」即可看見計算機當前cpu的使用、cpu使用記錄、pf使用率、頁面檔案使用記錄和執行緒數。
點選「使用者」就可以看見當前計算機活動的使用者了。)
4.呼叫系統服務程式:
可以在microsoft visual c++6.0中,新建乙個c++ sourse file,寫入乙個小程式即可:
#include<>
void main()
五、 實驗資料及處理結果
ubuntu 10.10的安裝:
ubuntu 11.10 的安裝:
以下是計算機windows xp的裝置管理器:
windows xp的使用者情況:
任務管理器:
排程服務的結果:
六、實驗體會或對改進實驗的建議
這個實驗對我來說還是很有難度的,特別是對計算機系統排程服務真的不是很清楚,完成起來就不輕鬆了。
七、參考資料
南昌大學實驗報告
2)程式設計模擬程序間的同步和互斥
學生姓名學號專業班級
實驗型別:□ 驗證 □ 綜合 ■ 設計 □ 創新實驗日期實驗成績
一、實驗目的
通過實驗加強對程序同步和互斥的理解,並掌握程序(執行緒)的建立和呼叫方法。學會使用訊號量解決資源共享問題。學生可以自己選擇在windows或linux系統下編寫。
二、實驗內容
1.以下為linux系統下參考程式,請編譯、執行並觀察程式的輸出,並分析實驗結果,寫出實驗報告。
#include<>
#include<>
#include<>
#include<>
#include
#include
#include
#define num_procs 5
#define sem_id 250
#define file_name "/tmp/sem_aaa"
#define delay 4000000
void update_file(int sem_set_id, char *file_path, int number)
//傳送訊號,把訊號量的數值加1,此處相當於對訊號量進行v操作
sem_
sem_
sem_
semop(sem_set_id,&sem_op,1);
}//子程序寫檔案
void do_child_loop(int sem_set_id,char *file_name)
}int main(int argc,char **ar**)
//把第乙個訊號量的數值設定為1
sem_
rc=semctl(sem_set_id,0,setval,sem_val);
if(rc==-1)
//建立一些子程序,使它們可以同時以競爭的方式訪問訊號量
for(i=0;i child_pid=fork();
switch(child_pid)
}//等待子程序結束
for(i=0;i int child_status;
wait(&child_status);
}printf("main:we're done\n");
fflush(stdout);
return 0;
}2.模擬pv操作同步機構,且用pv操作解決生產者——消費者問題。
模擬pv操作同步機構,且用pv操作解決生產者——消費者問題。
[提示]:
(1) pv操作同步機構,由p操作原語和v操作原語組成,它們的定義如下:
p操作原語p(s):將訊號量s減去1,若結果小於0,則執行原語的程序被置成等待訊號量s的狀態。
v操作原語v(s):將訊號量s加1,若結果不大於0,則釋放乙個等待訊號量s的程序。
這兩條原語是如下的兩個過程:
procedure p (var s: semaphore);
begin s:=s-1;
if s<0 then w(s)
endprocedure v (var s: semaphore);
begin s: =s+1;
作業系統實驗報告
電腦科學與應用系 課程設計報告 作業系統原理 目錄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資料結構和演算法設計...
作業系統實驗報告
2014 2015 學年第 2 學期 系別計算機學院 專業電腦科學與技術 班級 2014級專公升本 姓名蔡圓圓 學號 1410211014 授課老師趙群禮 實驗一 熟悉linux基本命令及程式設計環境 實驗總結 編寫程式 gedit編輯器 編寫程式 c 存放 gcc linux c程式編譯工具 當前...
作業系統實驗報告
實驗名稱 哲學家就餐問題 班級 通訊1202班 學號 u201213584 姓名 趙越 指導老師 許毅平 一 實驗目的 1.熟練使用vc 6.0編譯環境,除錯並正確執行程式,更加熟練地利用c語言解決問題 2.了解哲學家就餐的基本原理,掌握死鎖的必要條件。3.理解源程式中產生和防止的演算法,及相關視窗...