1 訊息的建立,傳送和接受。
使用系統呼叫 msgget( ), msgsnd(), msgrev() 及msgctl() 編制一長度為1k的訊息傳送和接受的程式。
! 為了便於操作和觀察結果,用乙個程式做為「引子」, 先後fork ()兩個子程序, server 和 client , 程序通訊。
!! server 端建立乙個key 為 75 的訊息佇列 ,等待其他程序發來的訊息,當遇到型別為1的訊息,則作為結束訊息, 取消該佇列,並推出server. server每接收到乙個訊息後顯示乙個(server) received.
!!!client 端使用key 為75的訊息佇列,先後傳送型別從10到1的訊息,然後退出。最後的乙個訊息,既是server端的結束訊息,client每傳送乙個訊息後顯示一句(client)sent.
#include
#include
#include
#include
#define msgkey 175
struct msgform
msg;
int msgqid , i;
void client()
exit(0);
}void server()
while(msg.mtype!=1);
msgctl(msgqid,ipc_rmid,0);
exit(0);
}int main()
changtiger的電郵 [email protected]
作業系統實驗2
2 當生產者 消費者分別由位於不同計算機上的若干程序充當時,如何設計實驗?給出設計方案和linux c語言實現 重要語句加上注釋 include include include include include include include include include include inclu...
Linux作業系統實驗(2)
核心模組的結構 標頭檔案宣告。標頭檔案module.h和init.h是必不可少的。module.h是載入模組所需要的函式和符號定義 init.h中包含初始化和清楚函式的定義。如果載入是允許用 戶傳遞引數,模組還應包括moduleparam.h。模組許可宣告。用module license巨集宣告此模...
作業系統實驗
一 實驗目的 理解vi的三種執行模式及其切方法。學會使用vi的各種操作命令進行文字檔案的編輯。用vi編寫linux下c程式,會用gcc編譯。二 實驗環境 一台裝有linux的機器 這裡預設是red hat linux 9 系統裡面有gcc編譯器。三 實驗內容 寫出主要的內容 首先用合法使用者登入系統...