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

正文內(nèi)容

操作系統(tǒng)進(jìn)程管理演示系統(tǒng)開發(fā)(生產(chǎn)者-消費(fèi)者)畢業(yè)論文(專業(yè)版)

2024-10-22 12:14上一頁面

下一頁面
  

【正文】 通過可視化設(shè)計, 使我們 很快地就理解并掌握了操作系統(tǒng)中 生產(chǎn)者 消費(fèi)者 進(jìn)程調(diào)度的原理及算法,并通過設(shè)計驗證了進(jìn)程調(diào)度;同時,在設(shè)計中, 我 的程序設(shè)計能力大大提高了,鞏固 了 數(shù)據(jù) 結(jié)構(gòu)、計算機(jī)算法等知識。反之 ,消費(fèi)者從該緩沖區(qū)塊中取出數(shù)據(jù)消費(fèi) ,然后再判斷阻塞隊列中是否有生產(chǎn)者進(jìn)程需要被喚醒。生產(chǎn)者和消費(fèi)者問題需要的界面效果是 , 生產(chǎn)者在消費(fèi)者前面不停地生產(chǎn) , 而消費(fèi)者則在生產(chǎn)者后面不停的消費(fèi) , 呈現(xiàn)追趕的態(tài)勢。 } 3. 初始狀態(tài)按紐的代碼: void CPCDlg::OnRefresh() { // TODO: Add your control notification handler code here m_continue=false。 thism_PT[i]ResumeThread()。 MFC是 C++類庫,程序員就是通過使用、繼承和擴(kuò)展適當(dāng)?shù)念悂韺崿F(xiàn)特定的目的。這樣,通過虛擬函數(shù)和消息映射, MFC 類提供了豐富的編程接口。 ( 4)對 ODBC 功能的封裝 以少量的能提供與 ODBC 之間更高級接口的 C++類,封裝了 ODBC API的大量的復(fù)雜的工作,提供了一種數(shù)據(jù)庫編程模式。 } thisExitInstance()。 pDlgm_CArray[temp]=1。 pDlgm_PArray[temp]=0。主函數(shù)用于初始化緩沖區(qū)和各個同步對象,并完成線程信息的讀入和記錄,最后根據(jù)該組線程記錄啟動模擬 線程,并等待所有線程的運(yùn)行結(jié)束后退出整個程序。 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 8 系統(tǒng)流程分析 P,V原語 是操作系統(tǒng)中定義的 ,通過對信號量控制從而實現(xiàn)進(jìn)程間同步的最基本操作。因此 ProducerI 和 ProducerJ 之間不存在針對緩沖區(qū)的互斥關(guān)系。 ( 2)對于任意的 i( 1≤ i≤ n), j( 1≤ j≤ n), i≠ j, ProducerI 放入物品的同時, ProducerJ是不能放入物品的。 若干個消費(fèi)者進(jìn)程 C1, C2, C3,… Cm, 它們通過一個由 n 個緩沖區(qū)組成的有界緩 沖 池聯(lián)系起來。當(dāng)釋放資源時 , 進(jìn)程應(yīng)考察是否有進(jìn)程正在等待該類資源 , 若有 , 則釋放資源的進(jìn)程有義務(wù)調(diào)用喚醒原語喚醒等待進(jìn)程。 開發(fā)系統(tǒng)的目的 操作系統(tǒng)是計算機(jī)學(xué)科中的一門重要課程。 本 科 生 畢 業(yè) 設(shè) 計(論文) ( 2020 屆) 工程技術(shù) 系 題 目: 操作系統(tǒng)進(jìn)程管理演示系統(tǒng)開發(fā)(生產(chǎn)者 消費(fèi)者) 學(xué)生姓名: 學(xué) 號: 專業(yè)名稱: 班 級: 指導(dǎo)教師 姓名: 系 (部 ): 信息工程學(xué)院 職稱 : 副教授 2020 年 5 月 16 日 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) II 操作系統(tǒng)進(jìn)程管理演示系統(tǒng)的研究與實現(xiàn) 摘要: 操作系統(tǒng)是計算機(jī)專業(yè)最重要的基礎(chǔ)課程之一 ,其中同步問題是最難的部分 。對于學(xué)習(xí)者來說 , 進(jìn)程的同步與互斥問題是 個浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 2 令人頭痛的問題 , 尤其是進(jìn)程同步與互斥算法的實現(xiàn) , 更讓人往往不知如何下手。 V( S) 的執(zhí)行過程如下 : ① S=S+1; ②若 S0, 則進(jìn)程繼續(xù)執(zhí)行 ; ③若 S≤ 0, 則調(diào)用喚醒原語喚醒等待該資源的 進(jìn)程 , 原進(jìn)程繼續(xù)執(zhí)行 。每個緩沖區(qū)存放一個“產(chǎn)品” , 生產(chǎn)者進(jìn)程不斷地生產(chǎn)產(chǎn)品 , 并把它們放入緩沖池內(nèi) , 消費(fèi)者進(jìn)程不斷地從緩沖池內(nèi)取產(chǎn)品并消費(fèi)之。因此存在 ProducerI 和 ProducerJ 之間的互斥關(guān)系。 ( 3)對于任意的 i( 1≤ i≤ m), j( 1≤ j≤ m), i≠ j, s( 1≤ s≤ K), t( 1≤ t≤ K),s≠ t, ConsumerI 從空閑緩沖區(qū) Buffer[Ks]中取 出物品的同時, ConsumerJ 是可以從另一空閑緩沖區(qū) Buffer[Kt] 中取出物品的。采用 P、 V 原語解決生產(chǎn)者 消費(fèi)者問題的算法 描述 [4]。消費(fèi)者和生產(chǎn)者函數(shù)運(yùn)行于相應(yīng)線程中完成對緩沖區(qū)的讀寫動作,根據(jù)此處生產(chǎn)消費(fèi)模型的特點(diǎn),生產(chǎn)者和消費(fèi)者線程之間通過同步對象的使用實現(xiàn)了生產(chǎn)和消費(fèi)動作的同步與互 斥,是本系統(tǒng) 的核心所在。 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 11 pDlgm_PStr[temp]=。 pDlgm_CStr[temp]=thism_name。 return CWinThread::Run()。 2. 繼承 首先, MFC 抽象出眾多類的共同特性,設(shè) 計出一些基類作為實現(xiàn)其他類的基礎(chǔ)。程序員繼承基類的同時,把自己實現(xiàn)的虛擬函數(shù)和消息處理函數(shù)嵌入 MFC的編程框架。例如,繼承時,應(yīng)用程序特定的事件由程序員的派生類來處理,不感興趣的由基類處理。 } 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 16 } else MessageBox(生產(chǎn)者數(shù)目必須在 110之間 ,出錯了 )。 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 17 for( int i=0。但是不能約定推進(jìn)順序和 速度。 圖 緩沖區(qū) 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 20 當(dāng)消費(fèi)者 C0 消費(fèi)掉第一個緩沖區(qū)后,生產(chǎn)者 P0 產(chǎn)品進(jìn)入第一個緩沖區(qū), 如 圖 圖 生產(chǎn)者產(chǎn)品進(jìn)入緩沖區(qū) 多生產(chǎn)者 多消費(fèi)者模擬 效果 上面分析了較簡單的單緩沖區(qū)的情形 ,但是在實際的問題中 ,更一般的情況是在生產(chǎn)者和消費(fèi)者之間存在多個緩沖區(qū) ,生產(chǎn)者可以將生產(chǎn)出來的數(shù)據(jù)放入緩沖區(qū)的不同緩沖區(qū)塊中 ,只要該緩沖區(qū)塊空閑 。在計算機(jī)專業(yè)教學(xué)中,可視化設(shè)計將會用得越來越多,效果將會越來越明顯,將是計算機(jī)教學(xué)發(fā)展的主要方向之一。 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 23 5 總結(jié) 本文從 P, V操作實現(xiàn)進(jìn)程同步與互斥出發(fā),研究了操作系統(tǒng)中經(jīng)典的同步問題生產(chǎn)者 消費(fèi)者問題,提出了解決此問題的模型及解決方案 ,并設(shè)計了 基于 microsoft visual c++而開發(fā),在 WINDOWS 98/2020/XP上運(yùn)行 的 操作系統(tǒng)進(jìn)程管理演示系統(tǒng)(生產(chǎn)者 消費(fèi)者) 。消費(fèi)者進(jìn)程的活動為 :先判斷該單緩沖區(qū)中是否有數(shù)據(jù) (即是否滿 ) ,如果沒有 ,那么它就自我阻塞 。為方便觀察生產(chǎn)和消費(fèi)進(jìn)展情況 , 設(shè)置了兩個時間控制變量控制生產(chǎn)者和消費(fèi)者的生產(chǎn)和消費(fèi)周期 ( 即 : 線程的 run 方法 ) , 它們是用兩個文本輸入框分別實現(xiàn)數(shù)據(jù)輸入的。 } } else MessageBox(消費(fèi)者數(shù)目必須在 110之間 ,出錯了 )。 VERIFY(thism_PT[i]SetThreadPriority(THREAD_PRIORITY_IDLE))??蚣芑蛘哂善浔旧硖幚硎录灰蕾嚦绦騿T的代碼;或者調(diào)用程序員的代碼來處理應(yīng)用程序特定的事件。于是, MFC 建立了消息映射機(jī)制,以一種富有效率、便于使用的手段解決消息處理函數(shù)的動態(tài)約束問題。 MFC 的 OLE 類封裝了 OLE API 大量的復(fù)雜工作,這些類提供了實現(xiàn) OLE的更高級接口。 Sleep(t*100)。 while(pDlgm_continue){ DWORD temp=WaitForMultipleObjects(SIZE_OF_BUFFER,pDlgm_hFullSemaphore,FALSE,INFINITE)。 pDlgm_Array[temp]=1。 入 口 sem=sem1 sem=sem1 S=0 喚醒等待隊列中的一個進(jìn)程式 返回或轉(zhuǎn)進(jìn)程調(diào)度 返回 否 是 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 10 3 系統(tǒng)實現(xiàn) 程序結(jié)構(gòu) 程序分為一個主函數(shù)、分別用于模擬消費(fèi)和生產(chǎn)者的兩個函數(shù)以及三個輔助性的函數(shù)。 系統(tǒng)功能模塊劃分 系統(tǒng)已經(jīng)設(shè)定一個大小固定的緩沖池 (緩沖池大小 11) ,緩沖池可以實時的顯示生產(chǎn)者生產(chǎn)情況和消費(fèi)者的消費(fèi)情況,同時 用戶可以設(shè)定生產(chǎn)者的數(shù)目來進(jìn)行生產(chǎn) (生產(chǎn)者數(shù)目110);設(shè)定消費(fèi)者的數(shù)目來進(jìn)行消費(fèi)(消費(fèi)者數(shù)目 110) ,由此系統(tǒng)可以模擬上面所描述的四種 生產(chǎn)者 消費(fèi)者模型 ,同時用戶可以實時的停止生產(chǎn)者及消費(fèi)者的動作,做到分步展示的效果, 有效率的 起到教學(xué) 的作用。 ( 2)對于任意的 i( 1≤ i≤ n), j( 1≤ j≤ n), i≠ j, s( 1≤ s≤ K), t( 1≤ t≤ K), s≠ t, ProducerI 向空閑緩沖區(qū) Buffer[Ks]放入物品的同時,ProducerJ 是可以向另一空閑緩沖區(qū) Buffer[Kt]放入物品的。因此存在 ProducerI 和 ConsumerJ之間的互斥關(guān)系。 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 4 生產(chǎn)者 消費(fèi)者問題的描述 問題的描述 設(shè)有若干個生產(chǎn)者進(jìn)程 P1, P2, P3,? Pl。 V 操作相當(dāng)于釋放資源 , 進(jìn)程在使用所申請 的資源后 , 應(yīng)調(diào)用 V操作釋放所占用的資源。在現(xiàn)代操作系統(tǒng) UNIX、 Windows 多進(jìn)程環(huán)境下 ,我 們將利用 C語言實現(xiàn)多個生產(chǎn)者 消費(fèi)者可視化同步運(yùn)行。本文 通過 分析 操作系統(tǒng)進(jìn)程同步與互斥的問題 , 然后利用 P, V操作實現(xiàn)進(jìn)程同步與互斥,并利用該算法設(shè)計了生產(chǎn)者 消費(fèi)者模擬演示系統(tǒng) 。本文 通過具體實例 , 給出了利用、操作解決進(jìn)程同步與互斥問題的簡單方法。 進(jìn)程同步的實現(xiàn) 進(jìn)程同步 是指為了共同完成某項任務(wù) , 具有伙伴關(guān)系的進(jìn)程在執(zhí)行時間次序上必須遵循確定的規(guī)律 。這里既要求同步 , 也需要恰當(dāng)?shù)鼗コ狻? ( 3)對于任意的 i( 1≤ i≤ m), j( 1≤ j≤ m), i≠ j, ConsumerI 從緩沖區(qū)中取出物品的同時, ConsumerJ 是不能從緩沖區(qū)中取出物品的。因此 ConsumerI 和 ConsumerJ 之間不存在針對緩沖區(qū)的互斥關(guān)系。 采用 P、 V 原語解決生產(chǎn)者 / 消費(fèi)者問題的算法如下 : (1)信號量和互斥量的設(shè)置 :設(shè)代表緩沖池中空白緩沖區(qū)和滿緩沖區(qū)的信號量分別為Empty 和 Full ,Empty 和 Full 的初值分別為 n (緩沖池中緩沖區(qū)數(shù) ) 和 0 。另外三個輔助函數(shù)被生產(chǎn)者和消費(fèi)者函數(shù)調(diào)用,是上述生產(chǎn)和消費(fèi)函數(shù)中對緩沖區(qū)訪問功能的一些包裝。 pDlgInvalidateRect(CRect(17+temp*40,17,20+(temp+1)*40,200))。 pDlgInvalidateRect(CRect(17+temp*40,17,20+(temp+1)*40,200))。 } MFC 界面的設(shè)計 MFC 的介紹 MFC (Microsoft Foundation Class Library)中的各種類結(jié)合起來構(gòu)成了一個應(yīng)用程序框架,它的目的就是讓程序員在此基礎(chǔ)上來建立 Windows下的應(yīng)用程序,這是一種相對 SDK來說更為簡單的方法。這些類中,最重要的類是 CObject 和 CCmdTarget。 MFC 編程框架將在適當(dāng)?shù)臅r候、適當(dāng)?shù)牡胤絹碚{(diào)用程序的代碼。實現(xiàn)這種功能的基礎(chǔ)是 C++對繼承的支持,對虛擬函數(shù)的支持,以及 MFC實現(xiàn)的消息映射機(jī)制 [13]。 } 2. 啟動消費(fèi)者按紐的代碼: void CPCDlg::OnStartc() { UpdateData(true)。iSIZE_OF_BUFFER。因此 , 用了 11個正方形方框代表 11個緩沖區(qū) 。消費(fèi)者也可以從緩沖區(qū)中已存有數(shù)據(jù)的緩沖 區(qū)塊中取數(shù)消費(fèi)。 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 24 參考文獻(xiàn) [1] 楊貴和 . 操作系統(tǒng)課中進(jìn)程調(diào)度的可視化設(shè)計 [J]. 中國科教創(chuàng)新導(dǎo)刊 , 2020, 07 [2] 謝印寶 ,田愛奎 ,謝印智 . 關(guān)于操作系統(tǒng)生產(chǎn)者消費(fèi)者問題 [J]. 淄博學(xué)院學(xué)報 (自然科學(xué)與工程版 ), 2020,03 [3] 宋新麗 ,何永強(qiáng) . 用信號量機(jī)制與
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1