OS第3次實驗報告 命名管道

2022-06-16 10:48:12 字數 802 閱讀 9416

在伺服器上用vim編寫程式:建立乙個命名管道,建立兩個程序分別對管道進行讀fifo_read.c和寫fifo_write.c。(給出源**)

(1)讀fifo_read.c程式,源**如下:

(2)寫fifo_write.c程式,源**如下:

(1)執行結果:

(2)分析:

開兩個終端,分別同時執行讀和寫程式。迴圈輸入內容,通過讀程式能夠依次讀出內容

mkfifo()函式:

int mkfifo(const char *filename,mode_t mode)
·所需的標頭檔案為:#include #include

·mode:

o_rdonly:讀管道

o_wronly:寫管道

o_rdwr:讀寫管道

o_nonblock:非阻塞

·若函式成功執行,則返回值為0,否則為-1

疑問:關於管道讀寫的阻塞問題

解答:在open()函式中為o_nonblock,表示非阻塞標誌

第2次實驗報告

本次實驗在編寫並設計有關實現複數類complex的功能下,嘗試使用tdd方式,並且運用單元測試 公共類complex 定義雙精度的實部和虛部 實部用real,虛部用unr 建構函式取得實部 建構函式取得虛部 建構函式 兩個複數相加,結果返回 建構函式 兩個複數相減,結果返回 建構函式 兩個複數相乘,...

第3周實驗報告

任務2 課後題目 程式找錯 include using namespace std class time time t int main void void time set time void 函式返回型錯誤,缺少域運算子 void time show time void 與上同 任務3 對類的功...

作業系統第3次實驗 命名管道

include include include include include include include int main 迴圈寫入內容 while 1 close fd return 0 建立程序對管道進行寫fifo read.c,如下 include include include inc...