freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

操作系統(tǒng)課程設(shè)計:linux系統(tǒng)管理實踐與進(jìn)程通信實現(xiàn)-資料下載頁

2025-06-07 06:21本頁面
  

【正文】 MKEY_FULL1,1, 0777)。 semid_full2 = semget(SEMKEY_FULL2,1, 0777)。 rc1=semctl(semid_empty,0,GETVAL)。 rc2=semctl(semid_mutex,0,GETVAL)。 if(rc1==0) { return 1。 //不能放 則等待 } else if(rc2==0) { return 1。 } P(semid_empty)。/*對私有信號量作 P 操作 */ P(semid_mutex)。 printf(there is %d places to put oranges\n,rc1)。 printf(PUT AN ORANGE!!!\n)。 V(semid_mutex)。 V(semid_full2)。 rc3=semctl(semid_full2,0,GETVAL)。 printf(son can get %d oranges\n,rc3)。 return 0。 } int son() { int semid_empty, semid_full1,semid_full2, semid_mutex。/*信號量集合 id*/ int rc1,rc2。 semid_mutex = semget(SEMKEY_MUTEX,1, 0777)。/*獲取全局信號量 id*/ semid_empty = semget(SEMKEY_EMPTY,1, 0777)。 semid_full1 = semget(SEMKEY_FULL1,1, 0777)。 semid_full2 = semget(SEMKEY_FULL2,1, 0777)。 rc2=semctl(semid_full1,0,GETVAL)。 rc1=semctl(semid_full2,0,GETVAL)。 if(rc1==0) { return 1。 //不能放 則等待 } P(semid_full2)。/*對私有信號量作 P 操作 */ P(semid_mutex)。 printf(SUM:%d apples and %d oranges\n,rc2,rc1)。 printf(there is %d oranges to get \n,rc1)。 printf(GET AN ORANGE !!!\n)。 V(semid_empty)。 V(semid_mutex)。 return 0。 } int daughter() { int semid_empty, semid_full1,semid_full2, semid_mutex。/*信號量集合 id*/ int rc1,rc2,rc3。 semid_mutex = semget(SEMKEY_MUTEX,1, 0777)。/*獲取全局信號量 id*/ semid_empty = semget(SEMKEY_EMPTY,1, 0777)。 semid_full1 = semget(SEMKEY_FULL1,1, 0777)。 semid_full2 = semget(SEMKEY_FULL2,1, 0777)。 rc2=semctl(semid_full1,0,GETVAL)。 rc1=semctl(semid_full2,0,GETVAL)。 if(rc2==0) { return 1。 //不能放 則等待 } P(semid_full1)。 P(semid_mutex)。 printf(SUM:%d apples and %d oranges\n,rc2,rc1)。 printf(there is %d apples to get \n,rc2)。 printf(GET AN APPLE\n)。 V(semid_empty)。 V(semid_mutex)。 return 0。 } int main() { int pid。 int i = 0, x。 begin()。 pid = fork()。 if(fork()==0) { father()。 } if(fork()==0) { mother()。 } if(fork()==0) { daughter()。 } if(fork()==0) { son()。 } return 0。 } 八、調(diào)試與運行 首先,利用 g++ 編譯一次,若有錯誤,則根據(jù)錯誤提示對程序進(jìn)行修改。其次,編譯通過后執(zhí)行 ./,若原先已有共享緩沖區(qū),則刪除原先緩沖區(qū),再創(chuàng)建新的共享緩沖區(qū) .,然后再次執(zhí)行 ./,觀察系統(tǒng)進(jìn)程調(diào)度。 運行結(jié)果如下: 九、設(shè)計總結(jié) 在設(shè)計這個題目之前,由于對進(jìn)程同步的實現(xiàn)方法不是很了解,對于怎樣具體實現(xiàn)進(jìn)程同步有很大的疑問,所以在網(wǎng)上進(jìn)行了查找,但幾經(jīng)搜索都沒有找到合適的材料 。就是在這種雖然有一定基礎(chǔ),但并不能完全依靠的前提下,自己通過查找相關(guān)的書籍,了解本次設(shè)計中涉及到的數(shù)據(jù)結(jié)構(gòu)后,成功實現(xiàn)了進(jìn)程同步的功能。從對進(jìn)程同步只是一個概念上的認(rèn)識,到最終將它的功能實現(xiàn)這一過程,我感到非常滿意與欣慰,因為這些都是通過自己的努力一步一步實現(xiàn)的。 同時,本次課程設(shè)計也存在著不足之處。雖然熟悉和了解了程序中各數(shù)據(jù)結(jié)構(gòu)的定義和創(chuàng)建,但是在一些細(xì)節(jié)問題上還沒有一個很明確的認(rèn)識,只是機(jī)械的合法的使用它。當(dāng)然,在以后的課程設(shè)計中,我會更加追求完善,將不清晰的地方都弄明白。
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1