實驗一 linux使用環境
實驗二 linux下c程式設計環境
1、 設有乙個三位數,將它的百、十、個位上的3個數,各自求立方,然後加起來,正好等於這個3位數,請在linux環境下程式設計找出所有滿足條件的數,並編譯、除錯、執行你的程式。
#include intmain()
return0;
}
實驗三 程序觀察實驗
實驗內容
1、列出當前終端上啟動的所有程序。試觀察螢幕上的顯示結果。
2、顯示系統中的程序狀態。試觀察記錄螢幕上的顯示結果。
3、編寫程式,使用fork( )建立兩個子程序。觀察在程式執行過程中的程序狀態變化,分析原因。
(1)編寫一段程式,使用系統呼叫fork( )建立兩個子程序。當此程式執行時,在系統中有乙個父程序和兩個子程序活動。讓每乙個程序在螢幕上顯示乙個字串,其中,每個程序顯示其pid值,及其父程序的pid值。類似如下顯示:
父程序顯示'"i am parent.pid:...ppid:.... ",
子程序分別顯示'"i am child1.pid:..., ppid:.... "和'"i am child2.pid:..., ppid:...."。
試觀察並分析螢幕上的顯示結果。
(2)改寫以上程式,使得父程序在建立所有子程序之前執行一次system(「ps l」),建立子程序之後,每個程序都執行一次system(「ps l」)通過在多程序執行過程中執行命令「ps l」,顯示當前程序狀態。試觀察並分析螢幕上的顯示結果。
從程序併發執行來看,上面的三個程序沒有同步措施,只要程序就緒就可能執行,因此各種執行順序都有可能,所以三個程序的輸出次序帶有隨機性。並且,每當乙個程序執行了一段時間,其它就緒程序可能搶占處理機,因此,多個程序可能交錯執行。不過,作業系統實現函式printf( )時,保證了程序每次呼叫該函式輸出乙個字串時不會被中斷。
作業系統實驗
一 實驗目的 理解vi的三種執行模式及其切方法。學會使用vi的各種操作命令進行文字檔案的編輯。用vi編寫linux下c程式,會用gcc編譯。二 實驗環境 一台裝有linux的機器 這裡預設是red hat linux 9 系統裡面有gcc編譯器。三 實驗內容 寫出主要的內容 首先用合法使用者登入系統...
作業系統實驗
分析bootloader進入保護模式的過程。在剛進入bootloader的時候,最先執行的操作分別為關閉中斷 清除eflags的df位以及將ax,ds,es,ss暫存器初始化為0 globl start start code16 cli 關中斷 cld 清除方向標誌 xorw ax,ax ax清0 ...
作業系統實驗2
1 訊息的建立,傳送和接受。使用系統呼叫 msgget msgsnd msgrev 及msgctl 編制一長度為1k的訊息傳送和接受的程式。為了便於操作和觀察結果,用乙個程式做為 引子 先後fork 兩個子程序,server 和 client 程序通訊。server 端建立乙個key 為 75 的訊...