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

正文內(nèi)容

操作系統(tǒng)課程設(shè)計報告—多進程同步橘子蘋果問題-其他專業(yè)-展示頁

2025-01-31 11:45本頁面
  

【正文】 同步方法演示“桔子 蘋果”問題 ____ 起迄日期 : _ ____ 設(shè)計地點 : 現(xiàn)代教育中心 指 導(dǎo) 教 師 : 熊曉蕓 2021— 2021 年度 第 2 學(xué)期 完成日期 : 2021 年 7 月 13 日 1 一、 課程設(shè)計目的 本次實驗 進行操作系統(tǒng)課程設(shè)計 的主要任務(wù)是模擬生產(chǎn)者和消費者的一個衍生,即實現(xiàn)“橘子 蘋果問題”。這個問題中有兩個生產(chǎn)者,分別生產(chǎn)蘋果核橘子,有兩個消費者,分別消費橘子和蘋果。本次實驗的目的就是 加深各個進程正確有效的對資源的訪問 ,即同步和互斥。掌握生產(chǎn)者和消費者問題的流程 和實現(xiàn)方法。 二、 課程設(shè)計內(nèi)容與要求 通過研究 Linux的進程同步機制和信號量,實現(xiàn)特殊的生產(chǎn)者與消費者問題的并發(fā)控制。 設(shè)計要求: 1) 二類生產(chǎn)者與二類消費者數(shù)目均為 20,即 20 個 生產(chǎn)者負(fù)責(zé)生產(chǎn)桔子, 20 個生產(chǎn)者負(fù)責(zé)生產(chǎn)蘋果; 20 個消費者負(fù)責(zé)消費桔子, 20 個消費者負(fù)責(zé)消費蘋果 2) 二類生產(chǎn)者的生產(chǎn)速度與二類消費者的消費速度均可獨立在程序界面調(diào)節(jié),在運行中,該值調(diào)整后立即生效 3) 多個生產(chǎn)者或多個消費者之間必須有共享對緩沖區(qū)進行操作的函數(shù)代碼,同時需要考慮算法的效率性 4) 每個生產(chǎn)者和消費者對有界緩沖區(qū)進行操作后,即時顯示有界緩沖區(qū)的全部內(nèi)容、當(dāng)前生產(chǎn)者與消費者的指針位置,以及生產(chǎn)者和消費者線程標(biāo)識符 5) 采用可視化界面, 可在運行過程中隨時暫停,查看當(dāng)前生產(chǎn)者、消費者以及有界緩沖區(qū)的狀態(tài) 三、 系統(tǒng) 分析與設(shè) 計 系統(tǒng)分析 ,所需要處理的信息是生產(chǎn)者和消費者的個數(shù),生產(chǎn)蘋果、橘子和消費蘋果、橘子的速度控制,緩沖區(qū)中橘子和蘋果的個數(shù)和當(dāng)前 生產(chǎn)、消費指針的位置。為了實現(xiàn)界面的友好性,應(yīng)該對用戶標(biāo)明清楚各個模塊的作用。演示程序中用圖形顯示的方法描述緩沖區(qū)的使用情況 ,即當(dāng)前緩沖區(qū)有多少個蘋果和橘子,還有生產(chǎn)和消費者的指針。 在蘋果生產(chǎn)者、橘子生產(chǎn)者、蘋果消費者、橘子消費者中實現(xiàn)對個數(shù)按鈕的按下即可動態(tài)實時的調(diào)節(jié)生產(chǎn)者和消費者的個數(shù)的調(diào)節(jié)。停止按鈕實現(xiàn)此次程序的演示結(jié)束。 ,實現(xiàn)對緩沖區(qū)的實際操作 、算法流程圖: 主界面模塊 繪圖 模塊 動態(tài)進度條 生產(chǎn)者數(shù)目調(diào)節(jié) 消費者數(shù)目調(diào)節(jié) 生產(chǎn)者速度調(diào)節(jié) 消費者速度調(diào)節(jié) 緩沖區(qū) 蘋果指針 橘子指針 緩沖區(qū) MyStorage 生產(chǎn)蘋 果 increaseapple() 生產(chǎn)橘子 increaseorange() 消費蘋果 decreaseapple() 消費橘子 decreaseorange() 緩沖區(qū)狀態(tài)isFull 互斥信號量 mutex 同步信號量 empty full 蘋果指針 pointapple 橘子指針 pointorange 4 申請空緩沖區(qū) full=full+1 信號量 full 大于 0 pointapple = pointapple1 isFull[applepoint] = false Pool[pointapple] = 0 打印緩沖區(qū)狀態(tài) apple=apple1empty=empty+1 釋放緩沖區(qū) 線程阻塞 Y N 申請 空緩沖區(qū) 信號量 empty大于 0 pointapple = pointapple+1 isFull[applepoint] = true Pool[pointapple] = 1 打印 緩沖區(qū)狀態(tài) apple=apple+1 full=full+1 釋放緩沖區(qū) 線程阻塞 N Y 5 者 人工智能算法 (生產(chǎn)橘子人工智能相似) (生產(chǎn)橘子算法類似) i = i+1 i 20? pool[i]=0 pool[i]=1 填充紅色 填充黃色 畫矩形 畫指針 i =1 進入緩沖區(qū) 緩沖區(qū)產(chǎn)品數(shù) 16 蘋果 =16 增加蘋果消費者 , 減少蘋果生產(chǎn)者 , 增加橘子生產(chǎn)者 生產(chǎn)蘋果 蘋果 =12 拒絕生產(chǎn)請求 增加蘋果消費者 退出緩沖區(qū) N Y N Y N 6 四 、 系統(tǒng)測試與調(diào)試分析 系統(tǒng)測試 ( 1) 因為當(dāng)蘋果生產(chǎn)者在緩沖區(qū)滿了以后自動阻塞,需要 蘋果消費者喚醒,所以需要測試喚醒的實現(xiàn)是否正常。 測試說測試名稱 用多進程同步方法演示“桔子 蘋果”問題 測試目的 驗證多個蘋果橘子生產(chǎn)者和蘋果、橘子消費者互斥操作緩沖區(qū) 測試技術(shù) 單元測試 進入緩沖區(qū) 緩沖區(qū)產(chǎn)品數(shù) =4 蘋果個數(shù) 2 消費蘋果 增加蘋果生產(chǎn)者 減少蘋果消費者 增加橘子
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1