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

正文內(nèi)容

操作系統(tǒng)實(shí)驗(yàn)報(bào)告經(jīng)典生產(chǎn)者—消費(fèi)者問(wèn)題范文大全(編輯修改稿)

2025-05-22 04:21 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 驗(yàn)(實(shí)習(xí))報(bào)告 實(shí)驗(yàn)(實(shí)習(xí))名稱生產(chǎn)者 消費(fèi)者問(wèn)題的模擬實(shí)現(xiàn)實(shí)驗(yàn)(實(shí)習(xí))日期 系計(jì)算機(jī) 專業(yè)計(jì)科年級(jí) 12 級(jí) 班次 2 姓名唐薇學(xué)號(hào) 20212308061 一、實(shí)驗(yàn)?zāi)康? 本實(shí)驗(yàn)的目的是通過(guò)編寫和調(diào)試一個(gè)解決生產(chǎn)者 – 消費(fèi)者問(wèn)題的簡(jiǎn)單模擬程序,進(jìn)一步深入理解課堂教學(xué)中講授的進(jìn)程同步問(wèn)題,以及用于解決同步問(wèn)題的信號(hào)量機(jī)制的基本思想,即通過(guò)研究進(jìn)程同步和信號(hào)量機(jī)制實(shí)現(xiàn)生產(chǎn)者消費(fèi)者問(wèn)題的并發(fā)控制,以便階段性地鞏固學(xué)習(xí)成果。 二、實(shí)驗(yàn)內(nèi)容 ( 1)概述 說(shuō)明 :有界緩沖區(qū)內(nèi)設(shè)有 20 個(gè)存儲(chǔ)單元 ,放入 /取出的數(shù)據(jù)項(xiàng)設(shè)定為 120這 20 個(gè)整型數(shù)。 編制程序模擬解決生產(chǎn)者 消費(fèi)者同步問(wèn)題。具體設(shè)計(jì)要求 :(1)每個(gè)生產(chǎn)者和消費(fèi)者對(duì)有界緩沖區(qū)進(jìn)行操作后 ,即時(shí)顯示有界緩沖區(qū)的全部?jī)?nèi)容 ,當(dāng)前指針位置和生產(chǎn)者 /消費(fèi)線程的標(biāo)識(shí)符。 (2)生產(chǎn)者和消費(fèi)者各有兩個(gè)以上。 (3)多個(gè)生產(chǎn)者或多個(gè)消費(fèi)者之間須有共享對(duì)緩沖區(qū)進(jìn)行操作的函數(shù)代碼。( 2)設(shè)計(jì)原理 通過(guò)一個(gè)有界緩沖區(qū)把生產(chǎn)者和消費(fèi)者聯(lián)系起來(lái)。假定生產(chǎn)者和消費(fèi)者的優(yōu)先級(jí)是相同的,只要緩沖區(qū)未滿,生產(chǎn)者就可以生 產(chǎn)產(chǎn)品并將產(chǎn)品送入緩沖區(qū)。類似地,只要緩沖區(qū)未空,消費(fèi)者就可以從緩沖區(qū)中取走產(chǎn)品。應(yīng)該禁止生產(chǎn)者向滿的緩沖區(qū)送入產(chǎn)品,同時(shí)也應(yīng)該禁止消費(fèi)者從空的緩沖區(qū)中取出產(chǎn)品,這一機(jī)制由生產(chǎn)者線程和消費(fèi)者線程之間的互斥關(guān)系來(lái)實(shí)現(xiàn)。與計(jì)算打印兩進(jìn)程同步關(guān)系相同,生產(chǎn)者和消費(fèi)者兩進(jìn)程 Producer 和 Consumer 之間應(yīng)滿足下列兩個(gè)同步條件: ?只有在緩沖池中至少有一個(gè)緩沖區(qū)已存入消息后,消費(fèi)者才能從中提取信息,否則消費(fèi)者必須等待。 ?只有緩沖池中至少有一個(gè)緩沖區(qū)是空時(shí),生產(chǎn)者才能把消息放入緩沖區(qū),否則生產(chǎn) 者必須等待。 為了滿足第一個(gè)同步條件,設(shè)置一個(gè)同步信號(hào)量 full,它代表的資源是緩沖區(qū)滿,它的初始值為 0,它的值為 n 時(shí)整個(gè)緩沖池滿。這個(gè)資源是消費(fèi)者進(jìn)程 Consumer 所有, Consumer進(jìn)程可以申請(qǐng)?jiān)撡Y源,對(duì)它施加 P 操作,而 Consumer 進(jìn)程的合作進(jìn)程生產(chǎn)者進(jìn)程 Producer 對(duì)它施加 V 操作。同樣為了滿足第二個(gè)同步條件,設(shè)置另一個(gè)同步信號(hào)量 empty,它代表的資源是緩沖空區(qū),它的初始值為 n,表示緩沖池中所有緩沖區(qū)空。信號(hào)量 full表示可用緩沖區(qū)數(shù)量,信號(hào)量 empty表示緩沖區(qū)數(shù)量,設(shè)置整型變量 :存入指針 in 和取出指針 out。 為解決生產(chǎn)者 /消費(fèi)者問(wèn)題,應(yīng)該設(shè)置兩個(gè)資源信號(hào)量,其中一個(gè)表示空緩沖區(qū)的數(shù)目,用 g_hFullSemaphore 表示,其初始值為有界緩沖區(qū)的大小 SIZE_OF_BUFFER;另一個(gè)表示緩沖區(qū)中產(chǎn)品的數(shù)目,用g_hEmptySemaphore 表示,其初始值為 0。另外,由于有界緩沖區(qū)是一個(gè)臨界資源,必須互斥使用,所以還需要在設(shè)置一個(gè)互斥信號(hào)量g_hMutex,初始值為 原語(yǔ)的主要?jiǎng)幼魇牵? ?sem(信號(hào)量)減 1; ?若 sem減一后仍大于或等于零,則進(jìn) 程繼續(xù)執(zhí)行; ?若 sem減一后小于零,則該進(jìn)程被阻塞后入與該信號(hào)相對(duì)應(yīng)的隊(duì)列中,然后轉(zhuǎn)進(jìn)程調(diào)度。 V原語(yǔ)的操作主要?jiǎng)幼魇牵? ?sem加 1; ?若相加結(jié)果大于零,進(jìn)程繼續(xù)執(zhí)行; ③若相加結(jié)果小于或等于零,則從該信號(hào)的等待隊(duì)列中喚醒一等待進(jìn)程然后再返回原進(jìn)程繼續(xù)執(zhí)行或轉(zhuǎn)進(jìn)程調(diào)度。 采用的同步方法: 1)利用函數(shù) CreateMutex(NULL,FALSE,NULL)創(chuàng)建互斥信號(hào)量g_hMutex,表示緩沖區(qū)當(dāng)前的狀態(tài),若為 true時(shí),則表示緩沖區(qū)正被別的進(jìn)程使用。三個(gè)參數(shù)表示的意義分別為:指向安全屬性的指針,初始化互斥對(duì)象的所有者 ,指向互斥對(duì)象名的指針。 2 ) 利 用 函 數(shù)CreateSemaphore(NULL,SIZE_OF_BUFFER1,SIZE_OF_BUFFER1,NULL)創(chuàng)建緩沖區(qū)空的信號(hào)量 g_hFullSemaphore,值為 true 時(shí)表示緩沖區(qū)已滿。四個(gè)參數(shù)分別為:表 示是否允許繼承、設(shè)置信號(hào)機(jī)的初始計(jì)數(shù)、設(shè)置信號(hào)機(jī)的最大計(jì)數(shù)、指定信號(hào)機(jī)對(duì)象的名稱( 1 是因?yàn)橛?jì)數(shù)從開(kāi)始)。 3)利用函數(shù) CreateSemaphore(NULL,0,SIZE_OF_BUFFER1,NULL)創(chuàng)建緩沖區(qū)滿的信號(hào)量 g_hEmptySemaphore,該值為 true 時(shí)表示緩沖區(qū)為空。 程序清單 利用信號(hào)量解決生產(chǎn)者消費(fèi)者問(wèn)題 constunsignedshortSIZE_OF_BUFFER=20。// 緩沖區(qū)長(zhǎng)度unsignedshortProductID=0。//產(chǎn)品號(hào) unsignedshortConsumeID=0。//將被消耗的產(chǎn)品號(hào) unsignedshortin=0。// 產(chǎn) 品 進(jìn) 緩 沖 區(qū) 時(shí) 的 緩 沖 區(qū) 下 標(biāo)unsignedshortout=0。// 產(chǎn)品出緩沖區(qū)時(shí)的緩沖區(qū)下標(biāo)intg_buffer[SIZE_OF_BUFFER]。// 緩 沖 區(qū) 是 個(gè) 循 環(huán) 隊(duì) 列boolg_continue=true。//控制程序結(jié)束 HANDLEg_hMutex。//用于線程間的互斥 HANDLEg_hFullSemaphore。//當(dāng)緩沖區(qū)滿時(shí)迫使生產(chǎn) 者等待HANDLEg_hEmptySemaphore。// 當(dāng) 緩 沖 區(qū) 空 時(shí) 迫 使 消 費(fèi) 者 等 待DWORDWINAPIProducer(LPVOID)。// 生 產(chǎn) 者 線 程DWORDWINAPIConsumer(LPVOID)。//消費(fèi)者線程 ( 1)創(chuàng)建各個(gè)互斥信號(hào)以及生產(chǎn)者線程和消費(fèi)者線程的函數(shù)在如下主函數(shù)里面所示: intmain(){//創(chuàng)建各個(gè)互斥信號(hào) g_hMutex=CreateMutex(NULL,FALSE,NULL)。g_hFullSemaphore=CreateSemaphore(NULL,SIZE_OF_BUFFER1,SIZE_OF_BUFFER1,NULL)。g_hEmptySemaphore=CreateSemaphore(NULL,0,SIZE_OF_BUFFER1,NULL)。//調(diào)整下面的數(shù)值,可以發(fā)現(xiàn),當(dāng)生產(chǎn)者個(gè)數(shù)多于消費(fèi)者個(gè)數(shù)時(shí), //生產(chǎn)速度快,生產(chǎn)者經(jīng)常等待消費(fèi)者;反之,消費(fèi)者經(jīng)常等待。constunsignedshortPRODUCERS_COUNT=3。// 生 產(chǎn) 者 的 個(gè) 數(shù)constunsignedshortCONSUMERS_COUNT=1。//消費(fèi)者的個(gè)數(shù) //總的線程數(shù) constunsignedshortTHREADS_COUNT=PRODUCERS_COUNT+CONSUMERS_COUNT。HANDLEhThreads[THREADS_COUNT]。// 各線程的handleDWORDproducerID[PRODUCERS_COUNT]。//生產(chǎn)者線程的標(biāo)識(shí)符DWORDconsumerID[CONSUMERS_COUNT]。//消費(fèi)者線程的標(biāo)識(shí)符 //創(chuàng)建生產(chǎn)者線程 for(inti=0。i第四篇:操作系統(tǒng)課程設(shè)計(jì)生產(chǎn) 者消費(fèi)者 湖北民族學(xué)院信息工程學(xué)院 11 級(jí)計(jì)算機(jī)專業(yè)操作系統(tǒng)課程設(shè)計(jì) (操作系統(tǒng)課程設(shè)計(jì)) 生產(chǎn)者和消費(fèi) 1湖北民族學(xué)院信息工程學(xué)院 11級(jí)計(jì)算機(jī)專業(yè)操作系統(tǒng)課程設(shè)計(jì) 者 學(xué)生姓名:學(xué)生學(xué)號(hào):班級(jí): 031140 0 0 04 班制 二〇一三年十二月 一、課程題目分析 這個(gè)題目是生產(chǎn)者向消費(fèi)者提供商品,消費(fèi)者消耗商品,并且兩組人共用同一緩沖區(qū)。生產(chǎn)者提供了商品之后消費(fèi)者才能去取商品,消費(fèi)者若不取走商 品則當(dāng)緩沖區(qū)用完之后生產(chǎn)者則不能再向緩沖區(qū)中添加新的商品。 思考問(wèn)題: ( 1)對(duì)于生產(chǎn)者進(jìn)程:每產(chǎn)生一個(gè)數(shù)據(jù),則需去訪問(wèn)共用緩沖區(qū)是否有已滿,未滿則可以將該數(shù)據(jù)存入并通知消費(fèi)者進(jìn)程,否則不能。 ( 2)對(duì)于消費(fèi)者進(jìn)程:每當(dāng)想去消費(fèi)(取出數(shù)據(jù))時(shí),則需訪問(wèn)緩沖區(qū)是否為空,為空則不能消費(fèi)(取出數(shù)據(jù)),否則可以取,并通知生產(chǎn)者。 ( 3)緩沖區(qū)是個(gè)臨界資源,所有的進(jìn)程對(duì)于該空間都是共享的,所以,還有互斥問(wèn)題存在。 二、課程設(shè)計(jì)目的 通過(guò)實(shí)驗(yàn)?zāi)M生產(chǎn)者與消費(fèi)者之間的關(guān)系,了解并掌握他們之間的關(guān)系及原理。由此增加對(duì)進(jìn)程同步問(wèn)題的了解: ( 1)掌握基本的同步互斥算法,理解生產(chǎn)者與消費(fèi)者模型 ( 2)了解 windows 中多線程(多進(jìn)程)的并發(fā)執(zhí)行機(jī)制,線程(進(jìn)程)間的同步于互斥 ( 3)學(xué)習(xí)使用 windows中基本的同步對(duì)象,掌握相應(yīng)的 API。 三、課程設(shè)計(jì)內(nèi)容 有 n 個(gè)生產(chǎn)者和 m 個(gè)消費(fèi)者,連接在具有 k 個(gè)單位緩沖區(qū)的有界環(huán)轉(zhuǎn)緩沖上, 2湖北民族學(xué)院信息工程學(xué)院 11級(jí)計(jì)算機(jī)專業(yè)操作系統(tǒng)課程設(shè)計(jì) 故又稱有界緩沖問(wèn)題。其
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1