国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于petri網(wǎng)的計(jì)算機(jī)軟件系統(tǒng)建模

2017-12-11 13:37圖雅青松
電腦知識與技術(shù) 2017年31期
關(guān)鍵詞:建模

圖雅 青松

摘要: 現(xiàn)實(shí)中的許多系統(tǒng),尤其是計(jì)算機(jī)軟件系統(tǒng)可以使用Petri網(wǎng)來為它們建立模型。在該文中對計(jì)算機(jī)軟件系統(tǒng)中幾個典型問題:生產(chǎn)者—消費(fèi)者問題、哲學(xué)家進(jìn)餐問題、讀者—寫者問題、PV 操作等的petri網(wǎng)建模進(jìn)行了分析。

關(guān)鍵詞:petri網(wǎng);建模;計(jì)算機(jī)軟件系統(tǒng)

中圖分類號:TP302 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)31-0222-02

1 概述

Petri網(wǎng)作為一個新型的建模工具,已在計(jì)算機(jī)科學(xué)的各個領(lǐng)域得到了應(yīng)用。除了計(jì)算機(jī)硬件之外,計(jì)算機(jī)軟件也可以由petri網(wǎng)來建模。這可能是petri網(wǎng)最普遍的用處, 并且有巨大的潛力,產(chǎn)生有用的結(jié)果。對于計(jì)算機(jī)硬件的描述和建,許多系統(tǒng)已經(jīng)開發(fā)了數(shù)年,但是應(yīng)用petri網(wǎng)對計(jì)算機(jī)軟件建模研究的較晚。 本文主要對生產(chǎn)者—消費(fèi)者問題、哲學(xué)家進(jìn)餐問題、讀者—寫者問題、PV 操作等操作系統(tǒng)中的著名問題的petri網(wǎng)建模進(jìn)行分析。

2 生產(chǎn)者—消費(fèi)者問題

2.1 基本的生產(chǎn)者—消費(fèi)者問題

生產(chǎn)—消費(fèi)問題中包括共享數(shù)據(jù)對象,但這個例子中共享對象是一個緩沖區(qū)。生產(chǎn)者進(jìn)程(producer process)生產(chǎn)一個對象,將它放入緩沖區(qū)中;消費(fèi)者進(jìn)程(consumer process)等待生產(chǎn)者將這個對象放入緩沖區(qū)之后,將它取走并消費(fèi)、生產(chǎn)者—消費(fèi)者問題可以用圖1所示建模。位置B表示緩沖區(qū),每個token表示一個已經(jīng)產(chǎn)生但沒有被消費(fèi)的項(xiàng)(item)。

2.2 多生產(chǎn)者—多消費(fèi)者問題

基本的生產(chǎn)者—消費(fèi)者問題的一種變化形式是多生產(chǎn)者—多消費(fèi)者問題。在這種變化形式中,多個生產(chǎn)者生產(chǎn)多個項(xiàng),這些項(xiàng)放入公共緩沖區(qū)中,以便多個消費(fèi)者消費(fèi)在圖2中用Petri網(wǎng)描述這個問題。與圖2不同的是描述了s個生產(chǎn)者,t個消費(fèi)者。系統(tǒng)起始于從有s個token的生產(chǎn)者進(jìn)程的初始位置和有t個token的消費(fèi)者進(jìn)程的初始位置。這表示有s個生產(chǎn)者和t個消費(fèi)者執(zhí)行可重入程序,共享代碼。有一種可能的方法是為生產(chǎn)者和消費(fèi)者進(jìn)程復(fù)制代碼,但這會導(dǎo)致具有相同行為的比較大的Petri網(wǎng)的產(chǎn)生。

2.3 采用約速性緩沖區(qū)的生產(chǎn)者—消費(fèi)者問題

生產(chǎn)者—消費(fèi)者問題的另一種變化形式是采用約束緩沖區(qū)(bounded buffer)的生產(chǎn)者—消費(fèi)者問題。這種形式中,認(rèn)為生產(chǎn)者與消費(fèi)者之間的緩沖區(qū)有限制,也就是說,僅有n個格來放置項(xiàng)。這樣生產(chǎn)者不能一直以期望的速度生產(chǎn),它需要在消費(fèi)者消費(fèi)慢且緩沖區(qū)滿的時候等待。圖3是這個問題的Petri網(wǎng)模型,受約束的緩沖區(qū)用兩個位置來表示:B表示已被生產(chǎn)但未被消費(fèi)的項(xiàng)的數(shù)目(既滿格的數(shù)目),B表示緩沖區(qū)中空格的數(shù)目。初始時B有n個token,B為空。如果緩沖區(qū)滿了, B為空,B有n個token.這時,生產(chǎn)者如果試圖將另外一個項(xiàng)放入緩沖區(qū),這個操作將會被中止,因?yàn)锽中沒有token可讓變遷點(diǎn)火。

3 哲學(xué)家進(jìn)餐問題

哲學(xué)家進(jìn)餐問題是Dijkstra在1968年提出的。問題中描述了五位哲學(xué)家,他們或者思考或者進(jìn)餐,坐在一個擺滿中餐的圓桌前。每兩個哲學(xué)家之間放著一只筷子。然而,一個人必須有兩只筷子才能吃中餐;因此每個哲學(xué)家必須同時拿起他左右側(cè)的兩只筷子,才能進(jìn)餐。這里存在一個問題就是如果所有哲學(xué)家都拿起左邊的筷子,等待右邊的筷子,那么將陷入無限等待狀態(tài),既死鎖狀態(tài)。

圖4是這個問題的Petri網(wǎng)模型。位置C1、C2、C3、C4、C5表示筷子,因?yàn)樽畛趺恐豢曜佣伎臻e,所以每個位置有一個token.對于每個哲學(xué)家用兩個位置Mi和Ei代表其思考和進(jìn)餐狀態(tài)。對每個哲學(xué)家來說,當(dāng)從思考狀態(tài)轉(zhuǎn)變到進(jìn)餐狀態(tài)時,他兩邊的筷子,只能由他一個人使用,別人就不能再用了。這個問題很容易用Petri網(wǎng)來描述。

4 讀者—寫者問題

讀者—寫者問題有幾種變化形式,但基本結(jié)構(gòu)相同。有兩種進(jìn)程:讀者進(jìn)程和寫者進(jìn)程。所有進(jìn)程共享一個公共文件、變量或數(shù)據(jù)對象。讀者進(jìn)程不能修改共享對象,而寫者進(jìn)程可以進(jìn)行修改。所以寫進(jìn)程對所有其他讀進(jìn)程和寫進(jìn)程互斥,但多個讀進(jìn)程能夠同時訪問共享數(shù)據(jù)。在這個問題的關(guān)鍵在于定義一個控制結(jié)構(gòu),使得不產(chǎn)生死鎖或者說不違背互斥原則。圖4描述了當(dāng)讀者進(jìn)程的數(shù)目限定為n的Petri網(wǎng)模型。

5 P V 操作

多數(shù)同步問題不能直接用Petri網(wǎng)解決,而更適合用已有的同步機(jī)制來解決?;谛盘柫康腜、V操作是一種典型的同步機(jī)制,由Dijkstra提出。信號量是一個取非負(fù)整數(shù)的數(shù)據(jù)項(xiàng)。V操作對信號量加1,P操作對信號量減1,P操作只能在信號量非負(fù)的時候進(jìn)行;如果信號量為零,不能進(jìn)行P操作,只有等其他進(jìn)程執(zhí)行V操作后,才能進(jìn)行P操作。P、V操作用原語實(shí)現(xiàn);沒有其他的操作能夠同時修改信號量的值。

這些操作很容易用來模型化,圖6是PV操作的Petri網(wǎng)模型。每個信號量用一個位置表示,位置中Token的個數(shù)表示信號量的值。一個P操作將信號量位置作為輸入;一個V操作將信號量位置作為輸出。這種能夠?qū)V操作模型化的能力優(yōu)勢使得很多系統(tǒng)用PV操作來實(shí)現(xiàn)或設(shè)計(jì)。例如,Venus操作系統(tǒng)將PV操作作為基本的內(nèi)部進(jìn)程通訊機(jī)制。這些系統(tǒng)可以用Petri網(wǎng)來建模。

6 結(jié)論

Petri網(wǎng)作為一種建模工具,已在計(jì)算機(jī)科學(xué)的各個領(lǐng)域得到了應(yīng)用。操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中最重要的系統(tǒng)軟件,而操作系統(tǒng)又是最復(fù)雜的大型系統(tǒng)軟件,如何解決操作系統(tǒng)中的經(jīng)典問題,減小操作系統(tǒng)的規(guī)模,對于開放操作系統(tǒng)乃至大型軟件系統(tǒng)十分必要。本文中對計(jì)算機(jī)軟件系統(tǒng)中幾個典型問題的petri網(wǎng)建模進(jìn)行了分析。通過使用petri網(wǎng)建模,可以對操作系統(tǒng)中資源共享及引起的競爭、可能產(chǎn)生的死鎖一目了然,為描述其他類似的問題開辟了一條新路。

參考文獻(xiàn):

[1] 舒遠(yuǎn)仲,劉炎培,彭曉紅,等.面向?qū)ο驪etri網(wǎng)建模技術(shù)綜述[J].計(jì)算機(jī)工程與設(shè)計(jì),2010(15).

[2] 湯小丹.計(jì)算機(jī)操作系統(tǒng)[M].4版.西安:西安電子科技大學(xué)出版社,2014.

[3] 秦江濤. 基于Petri網(wǎng)的生產(chǎn)系統(tǒng)建模與分析研究[J].上海理工大學(xué)學(xué)報(bào),2017(4).

猜你喜歡
建模
UUV水下搜索問題建模與仿真
聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃鲋凶鰣A周運(yùn)動”為例
基于PSS/E的風(fēng)電場建模與動態(tài)分析
不對稱半橋變換器的建模與仿真
液晶自適應(yīng)光學(xué)系統(tǒng)中傾斜鏡的建模與控制
基于Simulink的光伏電池建模與仿真
緊急疏散下的人員行為及建模仿真
IDEF3和DSM在拆裝過程建模中的應(yīng)用
車內(nèi)噪聲傳遞率建模及計(jì)算
閱讀思維建模構(gòu)想
长葛市| 榆中县| 临猗县| 莲花县| 垣曲县| 温宿县| 林芝县| 淮安市| 牟定县| 图片| 滁州市| 炉霍县| 新宾| 呼和浩特市| 新竹县| 建宁县| 滨州市| 湖州市| 渑池县| 樟树市| 定襄县| 普兰县| 蒙自县| 增城市| 东源县| 浦北县| 乌拉特后旗| 万荣县| 广河县| 秭归县| 长乐市| 大石桥市| 新平| 双鸭山市| 青海省| 正镶白旗| 临沂市| 柳江县| 阳山县| 重庆市| 临泽县|