亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式實時多分區(qū)操作系統(tǒng)進程同步機制的研究

        2017-07-10 07:11:48衛(wèi)一芃楊弋張東
        科技風(fēng) 2017年2期
        關(guān)鍵詞:信號量事件信號

        衛(wèi)一芃 楊弋 張東

        摘 要: 并發(fā)執(zhí)行的各進程在訪問共享資源時可能造成操作系統(tǒng)的混亂。如何做到進程間相互合作,共享資源?本文詳細介紹了各種進程間同步互斥的方式以及信號機制。這些方式使用靈活、方便,能夠有效地實現(xiàn)進程間的資源共享及相互合作。

        關(guān)鍵詞:進程同步;信號量;事件;互斥量;條件變量;信號

        中圖分類號:TP311 文獻標識碼:A

        嵌入式實時多分區(qū)操作系統(tǒng)是專門為新一代航空電子系統(tǒng)開發(fā)的,它是支持綜合化航空電子系統(tǒng)的嵌入式實時操作系統(tǒng)。進程同步與通信功能的出現(xiàn)為多任務(wù)同時執(zhí)行提供的可能。進程同步機制在嵌入式實時多分區(qū)操作系統(tǒng)中進程交互、數(shù)據(jù)保護及臨界資源保護等方面做出巨大貢獻。

        1 進程間關(guān)系

        為了滿足新一代航空電子系統(tǒng)高度綜合化、模塊化的要求,在高安全實時操作系統(tǒng)中引 入了分區(qū)的概念。分區(qū)在時間和空間上相互隔離。分區(qū)內(nèi)運行一個或多個進程,每個進程作為基本的運行單位隸屬于特定的分區(qū),各進程之間并發(fā)執(zhí)行[ 1 ]。

        一個進程就是一個正在執(zhí)行程序的實例,包括程序計數(shù)器,寄存器和變量的當前值。進程是分區(qū)內(nèi)的可調(diào)度單元。一個分區(qū)內(nèi)的進程共享分區(qū)資源。進程參與資源競爭,處理器資源在進程間分配,進程的狀態(tài)在不斷的變化[ 2 ]。

        進程動態(tài)性、并發(fā)性、獨立性及異步性等特性。進程的異步性就是指每個進程都以其相對獨立不可預(yù)知的速度運行。進程的異步性是導(dǎo)致進程爭奪共享資源的原因。

        多道程序系統(tǒng)中,進程間由于資源共享及合作,各進程可能產(chǎn)生兩種形式的制約關(guān)系—間接制約和直接制約。在僅有一臺打印機的系統(tǒng)中有兩個進程,一個進程占用打印機時另一個進程必須阻塞,等到打印機空閑,阻塞的進程才能被喚醒,轉(zhuǎn)為就緒態(tài),占用打印機。這種情況下兩個進程的關(guān)系稱為間接制約。另一種情況是,進程之間通過緩沖傳遞數(shù)據(jù)。當緩沖為空時接收進程阻塞,此時,如果有發(fā)送進程向緩沖發(fā)送數(shù)據(jù),接收進程才能被喚醒。反之,當緩沖滿時,發(fā)送進程阻塞,接收進程從緩沖接收數(shù)據(jù)后,緩沖不滿,發(fā)送進程才能從阻塞態(tài)轉(zhuǎn)為就緒態(tài),向緩沖發(fā)送消息。

        2 進程同步與互斥

        任何一個時刻,只有一個進程處于運行態(tài),占用處理器。兩個或多個進程讀寫某些共享數(shù)據(jù),而最后的結(jié)果取決于進程運行的精準時序,這種現(xiàn)象稱為競爭條件(race condition)。

        如何避免競爭條件?要避免此類現(xiàn)象的發(fā)生關(guān)鍵是要找出某種途徑以阻止多個進程同時讀寫共享數(shù)據(jù),即以某種手段確保當一個進程在使用共享變量或文件時其他進程不能操作。這種手段即為互斥(mutual exclusion)。我們把對共享內(nèi)存進行訪問的程序片段稱為臨區(qū)域(critical region)或臨界區(qū)(critical section)。如果我們能夠適當?shù)匕才?,使得兩個進程不可能同時處于臨界區(qū)中,就能夠避免競爭條件。

        實現(xiàn)進程間同步與互斥的方式有:信號量,事件,互斥量,條件變量。下面詳細介紹這幾種方式。

        2.1信號量

        信號量用于實現(xiàn)對分區(qū)內(nèi)資源的同步和互斥訪問。進程等待信號量以獲取資源訪問權(quán),訪問結(jié)束時釋放信號量。等待信號量的進程可以按照FIFO(先進先出,F(xiàn)irst in First out)規(guī)則,也可以按照優(yōu)先級規(guī)則在資源的等待隊列中排隊。相同優(yōu)先級的進程按照FIFO規(guī)則排隊。進程在等待隊列的排隊規(guī)則在信號量創(chuàng)建時定義。

        信號量管理提供了資源同步和互斥訪問的機制,分區(qū)中提供了兩種類型的信號量:計數(shù)信號量和互斥信號量。

        計數(shù)信號量用于對多個資源的受控訪問,初始值為共享資源的數(shù)目。互斥信號量用于共享資源的互斥訪問。創(chuàng)建信號量時設(shè)置計數(shù)器的初始值,當信號量被獲取時,其計數(shù)值減1;當信號量被釋放時,其計數(shù)值加1。如果計數(shù)值為0,則嘗試獲取信號量的進程被阻塞。等待信號量的進程可以按照先進先出原則,也可以按照優(yōu)先級次序原則在隊列中排隊。采用優(yōu)先級排隊規(guī)則時,對于同優(yōu)先級進程按先進先出原則排隊。

        2.2 事件

        事件是一種進程間通信機制:它可以把某種情況的發(fā)生告知給等待進程。事件是一個二值狀態(tài)變量(狀態(tài)為“有效態(tài)(UP)”和“無效態(tài)(DOWN)”),通過事件狀態(tài)的改變通知進程事件的發(fā)生。

        2.3互斥量

        一個互斥量在某一時刻只允許一個進程獲取。每個互斥量包含一個優(yōu)先級定義,當某個進程擁有該互斥量時,該進程的優(yōu)先級被提升到該互斥量所定義的優(yōu)先級;當該進程釋放該互斥量時,該進程的優(yōu)先級被恢復(fù)到其擁有該互斥量之前的值;如果進程在獲得互斥量后被其他服務(wù)設(shè)置了優(yōu)先級,那么在該進程釋放互斥量時,它的優(yōu)先級將被恢復(fù)為該服務(wù)設(shè)置的優(yōu)先級。

        一個進程在某一時刻最多只允許獲取一個互斥量,當某進程擁有互斥量時,它不允許被調(diào)用的服務(wù)阻塞。

        等待互斥量的進程可以按照先進先出原則,也可以按照優(yōu)先級次序原則在隊列中排隊。在優(yōu)先級次序條件下,同等優(yōu)先級的進程按照先進先出原則排隊。等待隊列的排隊原則在互斥量創(chuàng)建時定義。

        每個互斥量都有一個鎖定計數(shù),進程釋放互斥量的次數(shù)必須和獲取互斥量的次數(shù)相等,該互斥量才能夠被釋放。此外,進程也可以通過重置互斥量來立即釋放互斥量[ 3 ]。

        2.4 條件變量

        條件變量是另一種同步機制?;コ饬吭谠试S或阻塞對臨界區(qū)的訪問上非常有用,而條件變量允許線程由于一些未達到的條件而阻塞。

        絕大多數(shù)情況下,條件變量與互斥量在一起使用。這種模式用于讓一個線程鎖住一個互斥量,然后當它不能獲得它期待的結(jié)果時等待一個條件變量。最后另一個線程會向它發(fā)信號,使其繼續(xù)執(zhí)行[ 4 ]。

        3 信號

        信號機制是進程之間相互傳遞消息的一種方法,主要用于產(chǎn)生、傳送和處理系統(tǒng)中的各種信號。通過信號可以實現(xiàn)進程間的控制和通信。進程等待某個事件時,該進程仍然可以執(zhí)行其他任務(wù)。當事件發(fā)生,操作系統(tǒng)發(fā)送信號通知該進程。這稱之為信號的異步性。通過信號完成進程間通信和控制,將大幅提高嵌入式實時多分區(qū)操作系統(tǒng)的處理能力,增強實時性。

        4 結(jié)語

        操作系統(tǒng)中引入進程后,改善了資源利用率,但是由于進程的異步性,在其爭奪共享資源時可能會給系統(tǒng)造成混亂,使數(shù)據(jù)處理出錯,導(dǎo)致每次結(jié)果不同。進程同步和互斥的任務(wù)就是使并發(fā)執(zhí)行的各進程之間能有效地共享資源和相互合作,從而使程序的執(zhí)行具有可再現(xiàn)性。

        本文詳細介紹了信號量、事件、互斥量、條件變量等同步機制與信號的基本概念,在復(fù)雜的應(yīng)用中,進程間共享的資源類型不一、大小不一,因此應(yīng)根據(jù)具體情況和需求,采用相應(yīng)的同步機制,以提高軟件設(shè)計的靈活性和信息交換的效率。

        參考文獻:

        [1] 李運喜,時磊,任曉瑞.分區(qū)內(nèi)進程管理的設(shè)計與實現(xiàn)[J].航空計算計算,2005年12月,04期:12-14.

        [2] 馮海欣.系統(tǒng)進程的同步[J].科技資訊,2007年,04期:170.

        [3] Airlines Electronic Engineering Committee. Avionics Application Software Standard Interface Part 1-Required Services[S].16701 MELFORD BLVD.SUITE 120 BOWIE, MARYLAND 20715 USA: ARINC, August 21,2015.

        [4] Andrew S.Tanenbaum著,陳向群,馬紅兵,等譯.現(xiàn)代操作系統(tǒng)[M].第1版.北京:機械工業(yè)出版社,2013年6月.

        航空科學(xué)基金項目資助:

        工信部民用飛機專項科研項目(MJ-S-2012-05)

        作者簡介:

        衛(wèi)一芃(1984-),女,陜西西安人,碩士研究生,研究方向為嵌入式實時操作系統(tǒng)。

        猜你喜歡
        信號量事件信號
        基于STM32的mbedOS信號量調(diào)度機制剖析
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        Nucleus PLUS操作系統(tǒng)信號量機制的研究與測試
        基于FPGA的多功能信號發(fā)生器的設(shè)計
        電子制作(2018年11期)2018-08-04 03:25:42
        保羅·利科的“話語事件”思想
        授之以魚,不如授之以漁
        考試周刊(2016年92期)2016-12-08 00:10:56
        熱點事件中的“輿論搭車”現(xiàn)象探析
        新聞前哨(2016年11期)2016-12-07 11:25:41
        嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實踐及啟示
        計算機教育(2016年7期)2016-11-10 08:31:34
        基于LabVIEW的力加載信號采集與PID控制
        亚洲国产成人久久一区www妖精 | 天堂√在线中文官网在线| 欧美精品偷自拍另类在线观看| 国产乱子伦农村xxxx| 亚洲综合久久中文字幕专区一区| 三级全黄裸体| 国产高清在线精品一区| 亚洲色欲大片AAA无码| 一区二区三区av资源网| 69国产成人精品午夜福中文| 海角国精产品一区一区三区糖心| 免费看欧美日韩一区二区三区| 色小姐在线视频中文字幕| 国产 高潮 抽搐 正在播放| 亚洲av男人的天堂在线观看 | 老熟女的中文字幕欲望| 台湾无码av一区二区三区| 色www亚洲| 亚洲中文字幕乱码在线观看| 少妇裸体性生交| 蜜桃臀无码内射一区二区三区| 久久久久亚洲AV无码专区一区| 91偷拍与自偷拍亚洲精品86 | 在教室伦流澡到高潮hnp视频| 日韩精品免费在线视频| 国产情侣自拍在线视频| 天天燥日日燥| 亚洲偷自拍另类图片二区| 亚洲综合中文日韩字幕| 成年女人vr免费视频| 亚洲免费观看| 中文字幕被公侵犯的丰满人妻| 亚洲精品无码精品mv在线观看| 久久久久久久久888| 99久久精品国产亚洲av天| 亚洲综合第一页中文字幕| 亚洲老妈激情一区二区三区| 国产精品福利片免费看| av网页免费在线观看| gv天堂gv无码男同在线观看| 熟妇无码AV|