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

正文內(nèi)容

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

2024-09-28 12:14 上一頁面

下一頁面
 

【正文】 ................................ 10 程序結(jié)構(gòu) ......................................................................................................... 10 生產(chǎn)者模擬函數(shù)代碼 .............................................................................. 10 消費者模擬函數(shù)代碼 ...............................................................................11 MFC界面的設(shè)計 ............................................................................................. 12 MFC的介紹 .......................................................................................... 12 MFC界面效果 ....................................................................................... 14 系統(tǒng)功能的實現(xiàn) .............................................................................................. 17 4 系統(tǒng)演示 ................................................................................................................. 19 系統(tǒng)演示的準(zhǔn)備 .............................................................................................. 19 系統(tǒng)演示的效果 .............................................................................................. 19 單生產(chǎn)者 單消費者模擬效果 .................................................................. 19 多生產(chǎn)者 多消費者模擬效果 .................................................................. 20 系統(tǒng)演示結(jié)論 .................................................................................................. 22 5 總結(jié) ......................................................................................................................... 23 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 1 1 引言 選題的意義 操作系統(tǒng)(簡稱 OSoperating system) 是高等教育計算機(jī)應(yīng)用專業(yè)教學(xué)計劃中一門重要的專業(yè)基礎(chǔ)課程 。通過學(xué)習(xí) OS可以進(jìn)一步理解在計算機(jī)系統(tǒng)上運行的其他各類 OS并懂得在 OS支持下建立自己的應(yīng)用系 統(tǒng),因此 OS是計算機(jī)應(yīng)用的基礎(chǔ) [2]。進(jìn)程同步與互斥的實現(xiàn)是操作系統(tǒng)中的重點內(nèi)容 ,也是學(xué)習(xí)的難點部分。 開發(fā)系統(tǒng)的目的 操作系統(tǒng)是計算機(jī)學(xué)科中的一門重要課程。 所以本文對生產(chǎn)者和消費者問題算法進(jìn)行描述 ,利用操作系統(tǒng)進(jìn)程管理演示系統(tǒng)(生產(chǎn)者 消費者)進(jìn)行模擬演示。在操作系統(tǒng)課教學(xué)中,就引入了可視化設(shè)計幫助學(xué)生理解 。 信號量是和特定資源相對應(yīng)的數(shù)據(jù)結(jié)構(gòu) , 由整型數(shù)值和指針兩部分所組成 , 其中整型數(shù)值表示資源情況 , 只能由 P, V操作來改變 , 它有三種值 : S0 表示當(dāng)前可用資源的數(shù)量 ; S0 其絕對值表示當(dāng)前等待該類資源的進(jìn)程數(shù)量 ; =0 表示 當(dāng) 前沒有可用資源也沒進(jìn)程等待該類資源 。當(dāng)釋放資源時 , 進(jìn)程應(yīng)考察是否有進(jìn)程正在等待該類資源 , 若有 , 則釋放資源的進(jìn)程有義務(wù)調(diào)用喚醒原語喚醒等待進(jìn)程。這和進(jìn)程互斥明顯不同。這樣 , 在執(zhí)行時 ,第一個進(jìn)程先執(zhí)行 , 執(zhí)行完 V操作后 , 使另一個進(jìn)程可以執(zhí)行 , 依次傳遞下去 , 就可以實現(xiàn)各個進(jìn)程按照一定的順序執(zhí)行了。進(jìn)程中用以訪問這種被競爭的獨占資源( 臨界資源 ) 的程序段叫做臨界區(qū)。 若干個消費者進(jìn)程 C1, C2, C3,… Cm, 它們通過一個由 n 個緩沖區(qū)組成的有界緩 沖 池聯(lián)系起來。 當(dāng)緩沖池已空 ( 供不應(yīng)求 ) , 消費者應(yīng)等待。( 2)只有在 Consumer 從緩沖區(qū)取出物品后, Producer 才能夠繼續(xù)向緩沖區(qū)中放入新生產(chǎn)的物品;因此存在 Producer 對于 Consumer 的同步依賴。 進(jìn)程關(guān)系分析 同步關(guān)系: ( 1)對于任意的 i( 1≤ i≤ n), j( 1≤ j≤ m) ,只有在 ProducerI 向緩沖區(qū)放入物品后,ConsumerJ才能夠從緩沖區(qū)中取出物品消費;因此存在 ConsumerJ 對于 ProducerI的同步依賴。 ( 2)對于任意的 i( 1≤ i≤ n), j( 1≤ j≤ n), i≠ j, ProducerI 放入物品的同時, ProducerJ是不能放入物品的。 3. 多緩沖區(qū)的單生產(chǎn)者 單消費者問題模型限制條件:整個系統(tǒng)有 K 個緩沖區(qū),活動進(jìn)程僅有一個生產(chǎn)者 Producer 和一個消費者 Consumer。因此Producer 和 Consumer 之間不存在針對緩沖區(qū)的互斥關(guān)系。 ( 2)對于任意的 i( 1≤ i≤ n), j( 1≤ j≤ m),只有在 ConsumerJ 從緩沖區(qū)取出物品后,浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 6 ProducerI 才能夠繼續(xù)向緩沖區(qū)中放入新生產(chǎn)的物品;因此存在 ProducerI 對于 ConsumerJ 的同步依賴。因此 ProducerI 和 ProducerJ 之間不存在針對緩沖區(qū)的互斥關(guān)系。 以上這四種情形是逐個包含關(guān)系,所以我們只要設(shè)計出能完成第四種條件下的生產(chǎn)者 消費者模擬系統(tǒng)。 Visual C++是一個功能強(qiáng)大的可視化軟件開發(fā)工具。 這些組件通過一個名為 Developer Studio的組件集成為和諧的開發(fā)環(huán)境。 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 8 系統(tǒng)流程分析 P,V原語 是操作系統(tǒng)中定義的 ,通過對信號量控制從而實現(xiàn)進(jìn)程間同步的最基本操作。 (2) 生產(chǎn)者算法 :采集生成 數(shù) 據(jù) 。P( Full)申請一個滿緩沖 ; P(MuxCustomer)申請對滿緩沖資源獨占使用 。 圖 P操作流程圖 入 口 sem=sem1 sem=sem1 S=0 喚醒等待隊列中的一個進(jìn)程式 返回或轉(zhuǎn)進(jìn)程調(diào)度 返回 否 是 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 9 圖 V操作流程圖 WINDOWS 系統(tǒng)中的具體實現(xiàn)方法 在 WINDOWS 系統(tǒng)中 ,實現(xiàn)內(nèi)存共享的辦法可以采用共享變量 [5] 和共享內(nèi)存文件 [6] 等方 法。主函數(shù)用于初始化緩沖區(qū)和各個同步對象,并完成線程信息的讀入和記錄,最后根據(jù)該組線程記錄啟動模擬 線程,并等待所有線程的運行結(jié)束后退出整個程序。 pDlg=(CPCDlg*)thism_Parent。 pDlgm_PArray[temp]=1。 t=rand()%5。 pDlgm_PArray[temp]=0。 t=rand()%10。 } thisExitInstance()。 int temp=0。 pDlgm_CArray[temp]=1。 t=rand()%5。 pDlgm_CArray[temp]=0。 t=rand()%10。 } thisExitInstance()。 Microsoft Visual C++提供了相應(yīng)的工具來完成這個工作: AppWizard可以 用來生成初步的框架文件(代碼和資源等);資源編輯器用于幫助直觀地設(shè)計用戶接口; ClassWizard用來協(xié)助添加代碼到框架文件;最后,編譯,則通過類庫實現(xiàn)了應(yīng)用程序特定的邏輯。 ( 1)對 Win32 應(yīng)用程序編程接口的封裝 用一個 C++ Object來包裝一個 Windows Object。另外, MFC 提出了以文檔 視圖為中心的編程模式, MFC 類庫封裝了對它的支 持。 ( 4)對 ODBC 功能的封裝 以少量的能提供與 ODBC 之間更高級接口的 C++類,封裝了 ODBC API的大量的復(fù)雜的工作,提供了一種數(shù)據(jù)庫編程模式。 CObject 實現(xiàn)了一些重要的特性,包括動態(tài)類信息、動態(tài)創(chuàng)建、對象序列化、對程序調(diào)試的支持,等等。針對每種不同的對象, MFC都設(shè)計 了一組類對這些對象進(jìn)行封裝,每一組類都有一個基類,從基類派生出眾多更具體的類。但是作為一個編程框架,有一個問題必須解決:如果僅僅通過虛擬函數(shù)來支持動態(tài)約束,必然導(dǎo)致虛擬函數(shù)表過于臃腫,消耗內(nèi)存,效率低下 。這樣,通過虛擬函數(shù)和消息映射, MFC 類提供了豐富的編程接口。 4. MFC 的宏觀框架體系 如前所述, MFC實現(xiàn)了對應(yīng)用程序概念的封裝,把類、類的繼承、動態(tài)約束、類的關(guān)系和相互作用等封裝起來。 為了支持對應(yīng)用程序概念的封裝, MFC內(nèi)部必須作大量的工作。 總之, MFC 封裝了 Win32 API, OLE API, ODBC API 等底層函數(shù)的功能,并提供更高一層的接口,簡化了 Windows編程。 MFC是 C++類庫,程序員就是通過使用、繼承和擴(kuò)展適當(dāng)?shù)念悂韺崿F(xiàn)特定的目的。 thism_continue=true。thism_np11) { (false)。i++) { (P%d,i)。 thism_PT[i]ResumeThread()。 if( thism_nc0amp。 for( unsigned i=0。 thism_CT[i]CreateThread(CREATE_SUSPENDED)。 } 3. 初始狀態(tài)按紐的代碼: void CPCDlg::OnRefresh() { // TODO: Add your control notification handler code here m_continue=false。 m_hEmptySemaphore[i]=CreateSemaphore(NULL,1,1,NULL)。 m_CStr[i]=。 (true)。生產(chǎn)者和消費者問題需要的界面效果是 , 生產(chǎn)者在消費者前面不停地生產(chǎn) , 而消費者則在生產(chǎn)者后面不停的消費 , 呈現(xiàn)追趕的態(tài)勢。 如果當(dāng)前沒有空緩沖區(qū)位置可以放貨 , 就進(jìn)入等待狀態(tài) , 等待消費者消費并讓出監(jiān)控器。 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(論文) 19 4 系統(tǒng)演示 系統(tǒng) 演示的準(zhǔn)備 為了驗證上述生產(chǎn)者 消費者問題實現(xiàn)方案的正確性, 系統(tǒng)將演示模擬效果。 系統(tǒng) 演示的效果 單生產(chǎn)者 單消費者模擬 效果 首先設(shè)定緩沖區(qū)全紅,既緩沖區(qū)為滿的情況 。反之 ,消費者從該緩沖區(qū)塊中取出數(shù)據(jù)消費 ,然后再判斷阻塞隊列中是否有生產(chǎn)者進(jìn)程需要被喚醒。這就是基于多緩沖區(qū)的生產(chǎn)者與消費者問題 。只有當(dāng)生產(chǎn)者將數(shù)據(jù)放入單緩沖區(qū)后 ,才可以喚醒 1個消費者取數(shù)消費。當(dāng)有 1 個生產(chǎn)者線程往循環(huán)緩沖區(qū)中放了數(shù)據(jù)后 ,它會查看阻塞隊列中是否有消費者線程需要被喚醒 。通過可視化設(shè)計, 使我們 很快地就理解并掌握了操作系統(tǒng)中 生產(chǎn)者 消費者 進(jìn)程調(diào)度的原理及算法,并通過設(shè)計驗證了進(jìn)程調(diào)度;同時,在設(shè)計中, 我 的程序設(shè)計能力大大提高了,鞏固 了 數(shù)據(jù) 結(jié)構(gòu)、計算機(jī)算法等知識。 另外我還要感謝在大學(xué)期間所有傳授我知識的老師,是你們悉心指導(dǎo)使我有了良好的專業(yè)課知識,這也是論文得以完成的基礎(chǔ)
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1