作業系統實驗

2022-12-09 02:36:05 字數 2249 閱讀 3050

1. 共享記憶體的通訊方式 1

2. 訊息佇列的通訊方式 3

/*迴圈從訊息佇列中接收訊息,讀入end結束接收*/ 43. 管道通訊 6

4. 訊號機制 7

5. 兩個執行緒的同步。posix的無名訊號量機制 96.

system r訊號量機制實現同步 117. 使用訊號量保證語句沒有交叉 16(1)**如下:

/*共享記憶體的傳送程式先執行傳送程式,再執行接收程式*/#include <>

#include <>

#include <>

#include<>

#include

#include

main()

shmdt(viraddr斷開鏈結*/

exit(0);

}/*共享記憶體的接收程序程式

#include <>

#include <>

#include <>

#include <>

#include

#include

main()

(2)編譯兩個程式。

(3)執行檢視執行結果。

(1)編譯兩個程式。(傳送程序,接收程序)/*傳送訊息程序

#include <>

#include <>

#include <>

#include <>

#include

#include

#define maxmsg 512 /*定義訊息長度*//*定義訊息緩衝區佇列中的資料結構*/

struct my_msg

msg;

main()

exit(0);

}/*訊息佇列機制的接收程式

#include <>

#include <>

#include <>

#include <>

#include

#include

#define maxmsg 512

struct my_msg

msg;

main()

msgctl(msgid, ipc_rmid, 0);

exit(0);

}(2)編譯兩個程式。

(3)檢視執行結果。

開啟兩個終端先執行再執行

傳送端傳送訊息,接收端接收訊息。

(1)程式

/*管道檔案

#include <>

#include <>

main()

else父程序中讀*/

}(2) 編譯

(3) 執行檢視結果

(1)程式

第乙個程式有訊號處理機制

#include <>

#include <>

#include <>

void int_func(int sig);

int k定義迴圈變數*/

void int_func(int sig)main()

printf("ok!\n");

exit(0);

}無訊號處理機制

#include <>

#include <>

#include <>

void int_func(int sig);

int k定義迴圈變數*/

void int_func(int sig)main()

printf("ok!\n");

exit(0);

}(2)執行結果

有訊號處理機制

無訊號處理機制

(1)源程式

/* 兩個執行緒的同步thread synchronization

編譯 gcc -o -pthread

或 gcc -o -lpthread*/#include <>

#include <>

#include <>

#define upbound 100

sem_t sem1;

sem_t sem2;

void *threadfunc1(void *pvoid) }void *threadfunc2(void *pvoid)return (null);

} int main()

{ pthread_t tid1, tid2;

int i = sem_init(&sem1, 0, 5);

printf("%d\n", i);

Linux作業系統實驗

計算機與資訊工程系實驗報告 課程名稱 linux作業系統任課教師 李小芳2014 2015學年第1學期班級實驗名稱實驗地點 學號程序管理 二 文理樓a507 姓名實驗日期成績評定ab c實驗內容 一 程序與作業的前後臺操作 1 利用vi手工啟動兩個程序在後台執行 2 用vi編輯乙個檔案,並轉入到後台...

作業系統實驗報告

電腦科學與應用系 課程設計報告 作業系統原理 目錄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資料結構和演算法設計...

作業系統實驗個人總結

作業系統實驗報告 班級 姓名 學號 實驗一程序控制與描述 一 實驗目的 通過對windows 2000程式設計,進一步熟悉作業系統的基本概念,較好地理解windows 2000的結構。通過建立程序 觀察正在執行的程序和終止程序的程式設計和除錯操作,進一步熟悉作業系統的程序概念,理解windows 2...