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

正文內(nèi)容

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

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

下一頁面
  

【正文】 Basic Formalism. Distributed Computing, 1: 7785 (1986) [16] 戴樹貴 .利用 P, V操作實(shí)現(xiàn)進(jìn)程同步與互斥 [J]. 滁州師專學(xué)報(bào) , 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 25 致謝 本次畢業(yè)設(shè)計(jì)以及論文是在汪杭軍老師的精心指導(dǎo)和大力支持下,順利完成的,汪老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和大膽創(chuàng)新的進(jìn)去精神,對(duì)我產(chǎn)生了重要影響。 多生產(chǎn)者 多消費(fèi)者模擬 : 當(dāng)循環(huán)緩沖區(qū)隊(duì)列空時(shí) ,消費(fèi)者線程阻塞 。消費(fèi)者也可以從緩沖區(qū)中已存有數(shù)據(jù)的緩沖 區(qū)塊中取數(shù)消費(fèi)。 1. 單生產(chǎn)者 單消費(fèi)者問題模型 。因此 , 用了 11個(gè)正方形方框代表 11個(gè)緩沖區(qū) 。 } Invalidate()。iSIZE_OF_BUFFER。i++) { (C%d,i)。 } 2. 啟動(dòng)消費(fèi)者按紐的代碼: void CPCDlg::OnStartc() { UpdateData(true)。 for( unsigned i=0。實(shí)現(xiàn)這種功能的基礎(chǔ)是 C++對(duì)繼承的支持,對(duì)虛擬函數(shù)的支持,以及 MFC實(shí)現(xiàn)的消息映射機(jī)制 [13]。又如,為了實(shí)現(xiàn)對(duì) DLL編程的支持和多線程編程的支持, MFC內(nèi)部使用了特別的處理方法,使用模塊狀態(tài)、線程狀態(tài)等來管理一些重要信息。 MFC 編程框架將在適當(dāng)?shù)臅r(shí)候、適當(dāng)?shù)牡胤絹碚{(diào)用程序的代碼。 程序員將結(jié)合自己的實(shí)際,從適當(dāng)?shù)?MFC 類中派生出自己的類,實(shí)現(xiàn)特定的功能,達(dá)到自己的編程目的。這些類中,最重要的類是 CObject 和 CCmdTarget。 ( 2)對(duì)應(yīng)用程序概念的封裝 使用 SDK編寫 Windows 應(yīng)用程序時(shí),總要定義窗口過程,登記 Windows Class,創(chuàng)建窗口,等等。 } MFC 界面的設(shè)計(jì) MFC 的介紹 MFC (Microsoft Foundation Class Library)中的各種類結(jié)合起來構(gòu)成了一個(gè)應(yīng)用程序框架,它的目的就是讓程序員在此基礎(chǔ)上來建立 Windows下的應(yīng)用程序,這是一種相對(duì) SDK來說更為簡(jiǎn)單的方法。 pDlgInvalidateRect(CRect(17+temp*40,17,20+(temp+1)*40,200))。 pDlgInvalidateRect(CRect(17+temp*40,17,20+(temp+1)*40,200))。 } 消費(fèi)者模擬函數(shù)代碼 int CConsumerThread::Run() { // TODO: Add your specialized code here and/or call the base class CPCDlg *pDlg。 pDlgInvalidateRect(CRect(17+temp*40,17,20+(temp+1)*40,200))。 pDlgInvalidateRect(CRect(17+temp*40,17,20+(temp+1)*40,200))。另外三個(gè)輔助函數(shù)被生產(chǎn)者和消費(fèi)者函數(shù)調(diào)用,是上述生產(chǎn)和消費(fèi)函數(shù)中對(duì)緩沖區(qū)訪問功能的一些包裝。把滿緩沖區(qū)中數(shù)據(jù)拷貝到用戶數(shù)據(jù)區(qū) 。 采用 P、 V 原語解決生產(chǎn)者 / 消費(fèi)者問題的算法如下 : (1)信號(hào)量和互斥量的設(shè)置 :設(shè)代表緩沖池中空白緩沖區(qū)和滿緩沖區(qū)的信號(hào)量分別為Empty 和 Full ,Empty 和 Full 的初值分別為 n (緩沖池中緩沖區(qū)數(shù) ) 和 0 。 Visual C++ C++編譯器,而且是一個(gè)基于 Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境( integrated development environment,IDE)。因此 ConsumerI 和 ConsumerJ 之間不存在針對(duì)緩沖區(qū)的互斥關(guān)系。 4. 多緩沖區(qū)的多生產(chǎn)者 多消費(fèi)者問題模型限制條件:整個(gè)系統(tǒng)有 K 個(gè)緩沖區(qū),活動(dòng)進(jìn)程有 n 個(gè)生產(chǎn)者 Producer 和 m 個(gè)消費(fèi)者 Consumer。 ( 3)對(duì)于任意的 i( 1≤ i≤ m), j( 1≤ j≤ m), i≠ j, ConsumerI 從緩沖區(qū)中取出物品的同時(shí), ConsumerJ 是不能從緩沖區(qū)中取出物品的。因此存在 Producer 和 Consumer 之間的互斥關(guān)系。這里既要求同步 , 也需要恰當(dāng)?shù)鼗コ?。?duì)于多個(gè)使用同一資源的進(jìn)程 , 它 們對(duì)于資源的競(jìng)爭(zhēng)導(dǎo)致它們?cè)趫?zhí) 行時(shí)的異步性特征。 進(jìn)程同步的實(shí)現(xiàn) 進(jìn)程同步 是指為了共同完成某項(xiàng)任務(wù) , 具有伙伴關(guān)系的進(jìn)程在執(zhí)行時(shí)間次序上必須遵循確定的規(guī)律 。 P,V 操作的簡(jiǎn)介 P,V操作的介紹 在操作系統(tǒng)中 P, V操 作是一種原語操作 , 是不可分割的操作 , 它要么執(zhí)行完畢 , 要么就不執(zhí)行 , 也就是說 P, V操作一旦執(zhí)行就不允許被中斷 , 直到執(zhí)行完成為止。本文 通過具體實(shí)例 , 給出了利用、操作解決進(jìn)程同步與互斥問題的簡(jiǎn)單方法。操作系統(tǒng)教學(xué)中有 最經(jīng)典的四個(gè)同步、互斥問題為 : 生產(chǎn)者 —— 消費(fèi)者問題、哲學(xué)家進(jìn)餐問題、理發(fā)師在空閑中的睡眠問題、讀者 —— 作者問題 , 深入地分析和理解這些問題 , 對(duì)全面掌握同步、互斥問題大有益處 ,對(duì)學(xué)校操作系統(tǒng)這門課也有很重要的意義。本文 通過 分析 操作系統(tǒng)進(jìn)程同步與互斥的問題 , 然后利用 P, V操作實(shí)現(xiàn)進(jìn)程同步與互斥,并利用該算法設(shè)計(jì)了生產(chǎn)者 消費(fèi)者模擬演示系統(tǒng) 。 其任務(wù)是了解操作系統(tǒng)的基本概念,理解計(jì)算機(jī)系統(tǒng)的資源(軟件資源和硬件資源)如何組織 , OS 如何有效地管理這些系統(tǒng)資源,用戶如何通過 OS與計(jì)算機(jī)系統(tǒng)打交道 。在現(xiàn)代操作系統(tǒng) UNIX、 Windows 多進(jìn)程環(huán)境下 ,我 們將利用 C語言實(shí)現(xiàn)多個(gè)生產(chǎn)者 消費(fèi)者可視化同步運(yùn)行。 “進(jìn)程調(diào)度”涉及到操作系統(tǒng)的內(nèi)核操作,原理性較強(qiáng),也較為抽象,如只是依靠書本的文字和圖形,學(xué)生理解起來會(huì)很吃力。 V 操作相當(dāng)于釋放資源 , 進(jìn)程在使用所申請(qǐng) 的資源后 , 應(yīng)調(diào)用 V操作釋放所占用的資源。通常 , 能夠最先執(zhí)行的進(jìn)程中 , P操作中所使用的信號(hào)量的初值大于 , 而其它進(jìn)程中 , 第一個(gè) P操作所對(duì)應(yīng)的信號(hào)量的初值為零。 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 4 生產(chǎn)者 消費(fèi)者問題的描述 問題的描述 設(shè)有若干個(gè)生產(chǎn)者進(jìn)程 P1, P2, P3,? Pl。 進(jìn)程關(guān)系分析 : 同步關(guān)系: 只有在 Producer 向緩沖區(qū)放入物品后, Consumer 才能夠從緩沖區(qū)中取出物品消費(fèi);因此存在 Consumer 對(duì)于 Producer 的同步依賴。因此存在 ProducerI 和 ConsumerJ之間的互斥關(guān)系。 互斥關(guān)系: ( 1)對(duì)于任意的 i( 1≤ i≤ K), j( 1≤ j≤ K), i≠ j, Producer 向空閑緩沖區(qū) Buffer[Ki]放入物品的同時(shí), Consumer 可以從滿緩沖區(qū) Buffer[Kj]中取出物品;反之亦然。 ( 2)對(duì)于任意的 i( 1≤ i≤ n), j( 1≤ j≤ n), i≠ j, s( 1≤ s≤ K), t( 1≤ t≤ K), s≠ t, ProducerI 向空閑緩沖區(qū) Buffer[Ks]放入物品的同時(shí),ProducerJ 是可以向另一空閑緩沖區(qū) Buffer[Kt]放入物品的。 編程工具 編程工具 : microsoft visual c++。 系統(tǒng)功能模塊劃分 系統(tǒng)已經(jīng)設(shè)定一個(gè)大小固定的緩沖池 (緩沖池大小 11) ,緩沖池可以實(shí)時(shí)的顯示生產(chǎn)者生產(chǎn)情況和消費(fèi)者的消費(fèi)情況,同時(shí) 用戶可以設(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)者模型 ,同時(shí)用戶可以實(shí)時(shí)的停止生產(chǎn)者及消費(fèi)者的動(dòng)作,做到分步展示的效果, 有效率的 起到教學(xué) 的作用。 消費(fèi)者算法 :做好接收準(zhǔn)備 。 入 口 sem=sem1 sem=sem1 S=0 喚醒等待隊(duì)列中的一個(gè)進(jìn)程式 返回或轉(zhuǎn)進(jìn)程調(diào)度 返回 否 是 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 10 3 系統(tǒng)實(shí)現(xiàn) 程序結(jié)構(gòu) 程序分為一個(gè)主函數(shù)、分別用于模擬消費(fèi)和生產(chǎn)者的兩個(gè)函數(shù)以及三個(gè)輔助性的函數(shù)。 while(pDlgm_continue){ DWORD temp=WaitForMultipleObjects(SIZE_OF_BUFFER,pDlgm_hEmptySemaphore,FALSE,INFINITE)。 pDlgm_Array[temp]=1。 Sleep(t*100)。 while(pDlgm_continue){ DWORD temp=WaitForMultipleObjects(SIZE_OF_BUFFER,pDlgm_hFullSemaphore,FALSE,INFINITE)。 pDlgm_Array[temp]=0。 Sleep(t*100)。這些類或者封裝了 Win32 應(yīng)用程序編程接口,或者封裝了應(yīng)用程序的概念,或者封裝了 OLE 特性,或者封裝了 ODBC 和DAO 數(shù)據(jù)訪問的功能,等等,分述如下。 MFC 的 OLE 類封裝了 OLE API 大量的復(fù)雜工作,這些類提供了實(shí)現(xiàn) OLE的更高級(jí)接口。 MFC 中,任何可以處理消息的類都從 CCmdTarget 派生。于是, MFC 建立了消息映射機(jī)制,以一種富有效率、便于使用的手段解決消息處理函數(shù)的動(dòng)態(tài)約束問題。例如, SDI 應(yīng)用程序的模板, MDI 應(yīng)用程序的模板,規(guī)則 DLL應(yīng)用程序的模板,擴(kuò)展 DLL應(yīng)用程序的模板, OLE/ACTIVEX應(yīng)用程序的模板,等等??蚣芑蛘哂善浔旧硖幚硎录?,不依賴程序員的代碼;或者調(diào)用程序員的代碼來處理應(yīng)用程序特定的事件。amp。 VERIFY(thism_PT[i]SetThreadPriority(THREAD_PRIORITY_IDLE))。 CString str。 } } else MessageBox(消費(fèi)者數(shù)目必須在 110之間 ,出錯(cuò)了 )。 m_PArray[i]=0。為方便觀察生產(chǎn)和消費(fèi)進(jìn)展情況 , 設(shè)置了兩個(gè)時(shí)間控制變量控制生產(chǎn)者和消費(fèi)者的生產(chǎn)和消費(fèi)周期 ( 即 : 線程的 run 方法 ) , 它們是用兩個(gè)文本輸入框分別實(shí)現(xiàn)數(shù)據(jù)輸入的。 如果當(dāng)前沒有產(chǎn)品可以消費(fèi) , 則等待生產(chǎn)者放產(chǎn)品并讓出監(jiān)控器 , 當(dāng)生產(chǎn)者放了貨物后喚 醒它 [14]。消費(fèi)者進(jìn)程的活動(dòng)為 :先判斷該單緩沖區(qū)中是否有數(shù)據(jù) (即是否滿 ) ,如果沒有 ,那么它就自我阻塞 。在單緩沖區(qū)中沒有數(shù)據(jù)的情況下 ,如果有消費(fèi)者到達(dá) ,這時(shí)該消費(fèi)者阻塞。 浙江林學(xué)院天目學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 23 5 總結(jié) 本文從 P, V操作實(shí)現(xiàn)進(jìn)程同步與互斥出發(fā),研究了操作系統(tǒng)中經(jīng)典的同步問題生產(chǎn)者 消費(fèi)者問題,提出了解決此問題的模型及解決方案 ,并設(shè)計(jì)了 基于 microsoft visual c++而開發(fā),在 WINDOWS 98/2020/XP上運(yùn)行 的 操作系統(tǒng)進(jìn)程管理演示系統(tǒng)(生產(chǎn)者 消費(fèi)者) 。 in the latter, the carrier does. It is this transparency that allows voice, data, and fax to coexist within the phone system. A final difference between circuit and packet switching is the charging algorithm. With circuit switching, charging has historically been based on distance and time. For mobile phones, distance usually does not play a role, except for international calls, and time plays only a minor role(., a calling plan with 2020 free minutes costs more than one with 1000 free minutes and sometimes night or weekend calls are cheaper than normal).With packet switching, connect time is not an issue, but the volume of traffic sometimes is. For home users, ISPs usually charge a flat monthly rate because it is less work for them and their customer
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1