版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、2024/3/10,1,實驗三、LINUX系統(tǒng)用戶界面實驗四、進(線)程同步與通信,一、實驗?zāi)康?1、掌握Linux系統(tǒng)中,圖形界面和鍵盤命令的使用。 2、學(xué)會一種Linux下的編程環(huán)境。 3、掌握Linux下進程、線程的概念。 4、了解Linux進程同步、通信的主要機制, 并通過信號燈操作實現(xiàn)進程間的同步,2024/3/10,2,二、預(yù)備知識 1、Linux下的信號燈及其P、V操作 在Linux中信號
2、燈是一個數(shù)據(jù)集合,用戶可使用該集合的每個元素作為一個信號燈。,信號量表,,,信號量數(shù)組,012n,2024/3/10,3,(1)創(chuàng)建一個指定索引的 信號燈 id=semget( key, count, flag ) key:信號量表的一個索引序號,指定了一個數(shù)組 count:信號量數(shù)組的大小 flag:規(guī)定內(nèi)核在特定情況下的執(zhí)行動作 id:返回的描述符(類似于op
3、en文件的描述符),(2)對信號燈數(shù)組操作的一般形式(Unix) semop( id, oplist, cont ) oplist :信號量數(shù)組中,某個元素的下標(biāo) count:操作數(shù)。為正表示V操作;為負表示P操作,2024/3/10,4,(3)對信號燈數(shù)組控制操作的一般形式(Unix) semctl(id, number, cmd, arg ) number:信號量
4、數(shù)組中,某個元素的下標(biāo) cmd :是一個控制操作命令 arg :是一個聯(lián)合結(jié)構(gòu) 內(nèi)核根據(jù)cmd的值解釋arg 如:用于給信號燈賦初值,2024/3/10,5,2、線程的操作(1)線程創(chuàng)建 pthread_create( pthread_t *thread, pthread_attr_t *attr
5、, void *(*start_routine)(void *) , void *arg ); pthread_t *thread:指定的線程標(biāo)識 void *(*start_routine)(void *):線程的執(zhí)行函數(shù) void *arg:函數(shù)的參數(shù),2024/3/10,6,(2)線程掛起 pthread_join(
6、 pthread_t th, void **thread_return ); 功能: 掛起當(dāng)前線程 直到由參數(shù)th指定的線程終止,才被喚醒 (用于控制線程的執(zhí)行次序),2024/3/10,7,3、共享內(nèi)存 使用共享內(nèi)存,是運行在同一計算機上的多個進程,進行進程間通信的最快的方法。,012n,,,,,,共 享存儲區(qū)表,區(qū) 表,進程表——
7、本進程區(qū)表,,2024/3/10,8,(1)創(chuàng)建、或打開共享存儲存區(qū) shmid=shmget (key, size, flag) key:指定的共享存儲區(qū)表索引 size :存儲區(qū)中的字節(jié)數(shù) flag:規(guī)定內(nèi)核在特定情況下的執(zhí)行動作 shmid:返回的描述符,(2)將共享存儲區(qū)域附接到進程的地址空間 virtaddr=shmat(shmid, addr, f
8、lags) addr :用戶想要的共享存儲區(qū)附接的虛地址 flags: 規(guī)定內(nèi)核在特定情況下的執(zhí)行動作 virtaddr:系統(tǒng)返回的共享存儲區(qū)附接的虛地址,2024/3/10,9,4、進程的創(chuàng)建及重新執(zhí)行一個程序 fork execv 5、編輯、編譯 vi cc –o test -g test.c –lpthread cc –o sub
9、1 sub1.c,2024/3/10,10,三、實驗內(nèi)容 線程、子進程的創(chuàng)建 1、模擬二個線程共享一個緩沖區(qū)的同步 (test)2、模擬二個進程共享一個緩沖區(qū)的同步 (main、sub1、sub2) 要解決的問題:在屏幕上怎么才能看到進程等待?,3、程序的擴充及改進 (1)用某種方式在屏幕上顯示: 送數(shù)據(jù)到緩沖區(qū)、及從緩沖區(qū)取數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 嵌入式linux系統(tǒng)的圖形用戶界面
- 操作系統(tǒng)實驗linux進程與線程通訊
- 操作系統(tǒng)課程設(shè)計--- 多線程管理與線程通信
- linux多線程編程
- 基于Linux多線程溯源系統(tǒng)的設(shè)計與實現(xiàn).pdf
- linux 加入windows域同步用戶名
- 嵌入式Linux圖形用戶界面的研究與開發(fā).pdf
- linux下查看進程線程
- 嵌入式Linux可定制用戶界面的研究與實現(xiàn).pdf
- linux基礎(chǔ)及應(yīng)用-x-window圖形用戶界面
- 基于Linux的嵌入式圖形用戶界面研究與開發(fā).pdf
- 基于嵌入式Linux的圖形用戶界面的設(shè)計與實現(xiàn).pdf
- 嵌入式Linux操作系統(tǒng)和圖形用戶界面GUI的研究.pdf
- 基于Linux的嵌入式圖形用戶界面支持系統(tǒng)研究.pdf
- 基于嵌入式Linux的圖形用戶界面的研究與設(shè)計.pdf
- 面向嵌入式Linux的圖形用戶界面的研究與實現(xiàn).pdf
- 基于LINUX的嵌入式圖形用戶界面的研究與開發(fā).pdf
- linux用戶與用戶組的管理
- linux操作系統(tǒng)下的多線程編程詳細解析
- 超寬帶通信系統(tǒng)同步捕獲與多用戶檢測技術(shù)研究.pdf
評論
0/150
提交評論