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

正文內(nèi)容

linux信號(hào)量機(jī)制編程設(shè)計(jì)說(shuō)明書-文庫(kù)吧

2025-03-28 00:25 本頁(yè)面


【正文】 以獲得一個(gè)新的,唯一的信號(hào)量。如果這個(gè)信號(hào)量已經(jīng)存在,則會(huì)返回一個(gè)錯(cuò)誤。如果成功,semget函數(shù)會(huì)返回一個(gè)正數(shù);這是用于其他信號(hào)量函數(shù)的標(biāo)識(shí)符。如果失敗,則會(huì)返回1。()函數(shù)semop用來(lái)改變信號(hào)量的值:調(diào)用原型:int semop(int sem_id,struct sembuf*semops, size_tnum_sem_ops)。第一個(gè)參數(shù),sem_id,是由semget函數(shù)所返回的信號(hào)量標(biāo)識(shí)符。第二個(gè)參數(shù),sem_ops,是一個(gè)指向結(jié)構(gòu)數(shù)組的指針,其中的每一個(gè)結(jié)構(gòu)至少包含下列成員:structsembuf{shortsem_num。shortsem_op。shortsem_flg。}第一個(gè)成員,sem_num,是信號(hào)量數(shù)目,通常為0,除非我們正在使用一個(gè)信號(hào)量數(shù)組。sem_op成員是信號(hào)量的變化量值。(我們可以以任何量改變信號(hào)量值,而不只是1)通常情況下中使用兩個(gè)值,1是我們的P操作,用來(lái)等待一個(gè)信號(hào)量變得可用,而+1是我們的V操作,用來(lái)通知一個(gè)信號(hào)量可用。最后一個(gè)成員,sem_flg,通常設(shè)置為SEM_UNDO。這會(huì)使得操作系統(tǒng)跟蹤當(dāng)前進(jìn)程對(duì)信號(hào)量所做的改變,而且如果進(jìn)程終止而沒有釋放這個(gè)信號(hào)量,如果信號(hào)量為這個(gè)進(jìn)程所占有,這個(gè)標(biāo)記可以使得操作系統(tǒng)自動(dòng)釋放這個(gè)信號(hào)量。將sem_flg設(shè)置為SEM_UNDO是一個(gè)好習(xí)慣,除非我們需要不同的行為。如果我們確實(shí)變我們需要一個(gè)不同的值而不是SEM_UNDO,一致性是十分重要的,否則我們就會(huì)變得十分迷惑,當(dāng)我們的進(jìn)程退出時(shí),內(nèi)核是否會(huì)嘗試清理我們的信號(hào)量。semop的所用動(dòng)作會(huì)同時(shí)作用,從而避免多個(gè)信號(hào)量的使用所引起的競(jìng)爭(zhēng)條件。()semctl函數(shù)允許信號(hào)量信息的直接控制調(diào)用原型:int semctl(int sem_id,int sem_num,int mand,...)。第一個(gè)參數(shù),sem_id,是由semget所獲得的信號(hào)量標(biāo)識(shí)符。sem_num參數(shù)是信號(hào)量數(shù)目。當(dāng)我們使用信號(hào)量數(shù)組時(shí)會(huì)用到這個(gè)參數(shù)。通常,如果這是第一個(gè)且是唯一的一個(gè)信號(hào)量,這個(gè)值為0。mand參數(shù)是要執(zhí)行的動(dòng)作,而如果提供了額外的參數(shù),則是unionsemun,根據(jù)X/OPEN規(guī)范,這個(gè)參數(shù)至少包括下列參數(shù):unionsemun{intval。structsemid_ds*buf。unsignedshort*array。}許多版本的Linux在頭文件()中定義了semun聯(lián)合,盡管X/Open確認(rèn)說(shuō)我們必須定義我們自己的聯(lián)合。有多個(gè)不同的mand值可以用于semctl。在這里我們描述兩個(gè)會(huì)經(jīng)常用到的值。這兩個(gè)通常的mand值為:SETVAL:用于初始化信號(hào)量為一個(gè)已知的值。所需要的值作為聯(lián)合semun的val成員來(lái)傳遞。在信號(hào)量第一次使用之前需要設(shè)置信號(hào)量。IPC_RMID:當(dāng)信號(hào)量不再需要時(shí)用于刪除一個(gè)信號(hào)量標(biāo)識(shí)。semctl函數(shù)依據(jù)mand參數(shù)會(huì)返回不同的值。對(duì)于SETVAL與IPC_RMID,如果成功則會(huì)返回0,否則會(huì)返回1。 3需求分析某寺廟中有小和尚、老和尚若干人。廟內(nèi)有一水缸,由小和尚提水入缸,供老和尚飲用。水缸可容納 30 桶水,每次入水、取水僅為 1 桶,不可同時(shí)進(jìn)行。水取自同一水井,水井路窄,每次只能容納一個(gè)水桶取水,設(shè)水桶個(gè)數(shù)為 5 個(gè)。和尚挑水問(wèn)題就是使用某種機(jī)制,能夠使得若干名老和尚可以順利地喝到水,若干名小和尚之間能夠有條不紊地往水缸中入水。先創(chuàng)建一個(gè)程序,創(chuàng)建三個(gè)子進(jìn)程A、B、C模擬三個(gè)老和尚,隔一段時(shí)間久從水缸中取水飲用;創(chuàng)建另外一個(gè)程序,創(chuàng)建三個(gè)子進(jìn)程a、b、c模擬三個(gè)小和尚,隔一段時(shí)間獲得一個(gè)水桶并從水井中取水注入水缸中。如果水缸中沒有水,老和尚就停止從水缸中取水,并等待小和尚加水;而當(dāng)水缸中容量少于30桶,那么小和尚就向水缸中加水,直到水缸注滿為止。如此循環(huán)不止。實(shí)現(xiàn)功能如下:(1)創(chuàng)建進(jìn)程:手動(dòng)創(chuàng)建A、B、C、a、b、c六個(gè)進(jìn)程,都在界面上完成;要求包括進(jìn)程的名稱(不能重復(fù))、執(zhí)行時(shí)間和申請(qǐng)資源的等待時(shí)間等。在同一時(shí)刻可能有多個(gè)進(jìn)行在內(nèi)存申請(qǐng)資源,即可以輸入多個(gè)進(jìn)程的資源申請(qǐng)。(2)臨界資源的管理,包括申請(qǐng)以及分配等,通過(guò)信號(hào)量和信號(hào)量集實(shí)現(xiàn)。(3)生產(chǎn)者消費(fèi)者算法,判斷是否可以進(jìn)行資源的分配。任務(wù)目標(biāo)通過(guò)信號(hào)量實(shí)現(xiàn)多進(jìn)程之間對(duì)共享資源的互斥和同步。4整體設(shè)計(jì)系統(tǒng)2個(gè)模塊:輸入輸出,進(jìn)程對(duì)資源的隨機(jī)申請(qǐng)及分配,通過(guò)信號(hào)量和信號(hào)量集機(jī)制及生產(chǎn)者消費(fèi)者算法實(shí)現(xiàn)臨界資源管理,避免死鎖。輸入輸出:包括系統(tǒng)運(yùn)行所需要的進(jìn)程的名稱,執(zhí)行時(shí)間,申請(qǐng)資源的等待時(shí)間,進(jìn)程對(duì)資源的需要
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1