System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 永久免费av无码网站韩国毛片,精品无码久久久久久尤物,中文字幕人妻三级中文无码视频
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種嵌入式實(shí)時(shí)操作系統(tǒng)中進(jìn)程的信號(hào)處理方法技術(shù)方案

    技術(shù)編號(hào):43813139 閱讀:11 留言:0更新日期:2024-12-27 13:28
    本發(fā)明專利技術(shù)涉及一種嵌入式實(shí)時(shí)操作系統(tǒng)中進(jìn)程的信號(hào)處理方法,其包括:將信號(hào)處理函數(shù)記錄用戶系統(tǒng)調(diào)用庫中,執(zhí)行用戶系統(tǒng)調(diào)用庫初始化,將用戶態(tài)未決信號(hào)集全局變量地址傳遞到內(nèi)核態(tài),獲得內(nèi)核態(tài)未決信號(hào)集全局變量地址;將觸發(fā)信號(hào)記錄在內(nèi)核態(tài)未決信號(hào)集全局變量地址,調(diào)用進(jìn)程陷入內(nèi)核態(tài)時(shí)將用戶現(xiàn)場數(shù)據(jù)保存在內(nèi)核態(tài)線程棧,和在內(nèi)核態(tài)中對(duì)觸發(fā)信號(hào)進(jìn)行內(nèi)核處理,將得到的未決信號(hào)集記錄在用戶態(tài)未決信號(hào)集全局變量地址;以及,根據(jù)用戶現(xiàn)場數(shù)據(jù)進(jìn)行恢復(fù)以使進(jìn)程返回用戶態(tài),并根據(jù)信號(hào)處理函數(shù)對(duì)未決信號(hào)集執(zhí)行信號(hào)處理。本發(fā)明專利技術(shù)解決了進(jìn)程在執(zhí)行信號(hào)處理過程中時(shí)存在的CPU資源和內(nèi)存消耗高以及信號(hào)處理函數(shù)與內(nèi)核態(tài)的耦合性高的技術(shù)問題。

    【技術(shù)實(shí)現(xiàn)步驟摘要】

    本專利技術(shù)涉及嵌入式實(shí)時(shí)操作系統(tǒng),尤其涉及一種嵌入式實(shí)時(shí)操作系統(tǒng)中進(jìn)程的信號(hào)處理方法


    技術(shù)介紹

    1、進(jìn)程是嵌入式實(shí)時(shí)操作系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單元,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立運(yùn)行的實(shí)體,是應(yīng)用程序運(yùn)行的載體。每個(gè)進(jìn)程都有自己的獨(dú)立地址空間,包括代碼段、數(shù)據(jù)段、堆棧等,以及運(yùn)行時(shí)所需的系統(tǒng)資源(如文件描述符、信號(hào)處理器等)。

    2、在用戶指定了信號(hào)處理函數(shù)后,由于若信號(hào)處理函數(shù)處于內(nèi)核態(tài)時(shí),程序便擁有過高的控制權(quán)限,容易導(dǎo)致系統(tǒng)資源和硬件設(shè)備遭到破壞。因此,進(jìn)程在執(zhí)行信號(hào)處理函數(shù)過程需要從內(nèi)核態(tài)返回用戶空間(用戶態(tài))時(shí)執(zhí)行。

    3、目前,現(xiàn)有技術(shù)中,進(jìn)程信號(hào)處理過程為:第一步,進(jìn)程經(jīng)過內(nèi)核提供的接口第一次進(jìn)入內(nèi)核態(tài),并將用戶現(xiàn)場數(shù)據(jù)保存至內(nèi)核態(tài)線程棧終;第二步,內(nèi)核將當(dāng)前內(nèi)核態(tài)線程棧的數(shù)據(jù)拷貝到用戶棧上,并修改指令寄存器地址使其指向信號(hào)處理函數(shù),用以進(jìn)程在返回用戶態(tài)時(shí)對(duì)選擇的未決信號(hào)執(zhí)行信號(hào)處理函數(shù);第三步,信號(hào)處理函數(shù)執(zhí)行完成后,進(jìn)程第二次進(jìn)入內(nèi)核態(tài),檢查是否還有其他未決信號(hào)未處理;第四步,如果所有信號(hào)都處理完成,則恢復(fù)內(nèi)核棧和恢復(fù)指令寄存器將其指向中斷前的運(yùn)行位置,使進(jìn)程返回用戶態(tài)繼續(xù)執(zhí)行。

    4、基于上述現(xiàn)有技術(shù)中的進(jìn)程信號(hào)處理過程,存在以下技術(shù)缺陷:第一,由于進(jìn)程信號(hào)處理過程涉及至少兩次返回用戶態(tài)和進(jìn)入內(nèi)核態(tài),其頻繁的狀態(tài)切換會(huì)消耗大量的cpu資源。第二,由于進(jìn)程信號(hào)處理過程中需要對(duì)用戶現(xiàn)場數(shù)據(jù)通過頻繁的壓棧和出棧來進(jìn)行保護(hù),導(dǎo)致消耗大量內(nèi)存。第三,由于內(nèi)核態(tài)需要感知信號(hào)處理函數(shù),導(dǎo)致信號(hào)處理函數(shù)與內(nèi)核態(tài)的耦合性較高。


    技術(shù)實(shí)現(xiàn)思路

    1、(一)要解決的技術(shù)問題

    2、鑒于現(xiàn)有技術(shù)的上述缺點(diǎn)、不足,本專利技術(shù)提供一種嵌入式實(shí)時(shí)操作系統(tǒng)中進(jìn)程的信號(hào)處理方法,其解決了進(jìn)程在執(zhí)行信號(hào)處理過程中時(shí)存在的cpu資源和內(nèi)存消耗高以及信號(hào)處理函數(shù)與內(nèi)核態(tài)的耦合性高的技術(shù)問題。

    3、(二)技術(shù)方案

    4、為了達(dá)到上述目的,本專利技術(shù)采用的主要技術(shù)方案包括:

    5、第一方面,本專利技術(shù)實(shí)施例提供一種嵌入式實(shí)時(shí)操作系統(tǒng)中進(jìn)程的信號(hào)處理方法,其包括:

    6、將用戶態(tài)的信號(hào)處理函數(shù)記錄在嵌入式實(shí)時(shí)操作系統(tǒng)的用戶系統(tǒng)調(diào)用庫中,并在啟動(dòng)之前,執(zhí)行用戶系統(tǒng)調(diào)用庫初始化,將用戶態(tài)未決信號(hào)集全局變量地址傳遞到進(jìn)程控制塊結(jié)構(gòu)體中,獲得內(nèi)核態(tài)未決信號(hào)集全局變量地址;

    7、若存在進(jìn)程的觸發(fā)信號(hào),則將觸發(fā)信號(hào)記錄在內(nèi)核態(tài)未決信號(hào)集全局變量地址中,用戶系統(tǒng)調(diào)用庫調(diào)用進(jìn)程陷入內(nèi)核態(tài)時(shí),將用戶現(xiàn)場數(shù)據(jù)保存在內(nèi)核態(tài)線程棧中,和在內(nèi)核態(tài)中對(duì)觸發(fā)信號(hào)進(jìn)行內(nèi)核處理,將得到的未決信號(hào)集記錄在用戶態(tài)未決信號(hào)集全局變量地址;以及,根據(jù)內(nèi)核態(tài)線程棧中的用戶現(xiàn)場數(shù)據(jù)進(jìn)行恢復(fù)以使進(jìn)程返回用戶態(tài),并根據(jù)信號(hào)處理函數(shù)對(duì)未決信號(hào)集依次執(zhí)行信號(hào)處理。

    8、可選地,嵌入式實(shí)時(shí)操作系統(tǒng)中進(jìn)程的信號(hào)處理方法還包括:

    9、在未決信號(hào)集處理完成之后,根據(jù)恢復(fù)內(nèi)核態(tài)線程棧中的用戶現(xiàn)場數(shù)據(jù)所獲得的指令地址,控制進(jìn)程返回該指令地址繼續(xù)執(zhí)行。

    10、可選地,將用戶態(tài)的信號(hào)處理函數(shù)記錄在嵌入式實(shí)時(shí)操作系統(tǒng)的用戶系統(tǒng)調(diào)用庫中,并在啟動(dòng)之前,執(zhí)行用戶系統(tǒng)調(diào)用庫初始化,將用戶態(tài)未決信號(hào)集全局變量地址傳遞到進(jìn)程控制塊結(jié)構(gòu)體中,獲得內(nèi)核態(tài)未決信號(hào)集全局變量地址包括:

    11、基于嵌入式實(shí)時(shí)操作系統(tǒng)中進(jìn)程的信號(hào)類別信息,注冊(cè)該進(jìn)程的信號(hào)處理函數(shù),并將信號(hào)處理函數(shù)記錄在用戶系統(tǒng)調(diào)用庫中;

    12、在嵌入式實(shí)時(shí)操作系統(tǒng)中進(jìn)程用戶main函數(shù)啟動(dòng)前,執(zhí)行用戶系統(tǒng)調(diào)用庫初始化,將用戶態(tài)未決信號(hào)集全局變量地址傳遞到進(jìn)程控制塊結(jié)構(gòu)體中,獲得內(nèi)核態(tài)未決信號(hào)集全局變量地址。

    13、可選地,若存在進(jìn)程的觸發(fā)信號(hào),則將觸發(fā)信號(hào)記錄在內(nèi)核態(tài)未決信號(hào)集全局變量地址中包括:

    14、獲取嵌入式實(shí)時(shí)操作系統(tǒng)接收到外部信號(hào),并判斷外部信號(hào)中是否存在進(jìn)程的觸發(fā)信號(hào);

    15、若外部信號(hào)中存在進(jìn)程的觸發(fā)信號(hào),則將該觸發(fā)信號(hào)記錄在內(nèi)核態(tài)未決信號(hào)集全局變量地址;

    16、若外部信號(hào)中不存在進(jìn)程的觸發(fā)信號(hào),則保持進(jìn)程的執(zhí)行狀態(tài),并實(shí)時(shí)更新保存在嵌入式實(shí)時(shí)操作系統(tǒng)的物理寄存器中的包含指令地址的用戶現(xiàn)場數(shù)據(jù)。

    17、可選地,用戶系統(tǒng)調(diào)用庫調(diào)用進(jìn)程陷入內(nèi)核態(tài)時(shí),將用戶現(xiàn)場數(shù)據(jù)保存在內(nèi)核態(tài)線程棧中,和在內(nèi)核態(tài)中對(duì)觸發(fā)信號(hào)進(jìn)行內(nèi)核處理,將得到的未決信號(hào)集記錄在用戶態(tài)未決信號(hào)集全局變量地址包括:

    18、用戶系統(tǒng)調(diào)用庫調(diào)用進(jìn)程陷入內(nèi)核態(tài)時(shí),將用戶現(xiàn)場數(shù)據(jù)保存在內(nèi)核態(tài)線程棧中;

    19、基于進(jìn)程的信號(hào)屏蔽集,對(duì)觸發(fā)信號(hào)中與信號(hào)屏蔽集對(duì)應(yīng)的子信號(hào)的進(jìn)行屏蔽處理,得到初始未決信號(hào)集;

    20、在進(jìn)程陷入內(nèi)核態(tài)的情況下,對(duì)初始未決信號(hào)集進(jìn)行內(nèi)核處理,并將得到未決信號(hào)集記錄在用戶態(tài)未決信號(hào)集全局變量地址中。

    21、可選地,在進(jìn)程陷入內(nèi)核態(tài)的情況下,對(duì)初始未決信號(hào)集進(jìn)行內(nèi)核處理,并將得到未決信號(hào)集記錄在用戶態(tài)未決信號(hào)集全局變量地址中之后,還包括:

    22、判斷內(nèi)核態(tài)未決信號(hào)集全局變量地址中是否存在初始未決信號(hào)集;

    23、若內(nèi)核態(tài)未決信號(hào)集全局變量地址中存在初始未決信號(hào)集時(shí),則修改內(nèi)核態(tài)線程棧中用戶現(xiàn)場數(shù)據(jù)的指令地址為預(yù)先設(shè)置的信號(hào)分發(fā)函數(shù)的入口地址,并將信號(hào)分發(fā)函數(shù)的返回地址設(shè)置為進(jìn)程陷入內(nèi)核態(tài)前一時(shí)刻的指令地址;

    24、若內(nèi)核態(tài)未決信號(hào)集全局變量地址中不存在初始未決信號(hào)集時(shí),則保持進(jìn)程的返回地址為進(jìn)程陷入內(nèi)核態(tài)時(shí)的指令地址。

    25、可選地,根據(jù)內(nèi)核態(tài)線程棧中的用戶現(xiàn)場數(shù)據(jù)進(jìn)行恢復(fù)以使進(jìn)程返回用戶態(tài),并根據(jù)信號(hào)處理函數(shù)對(duì)未決信號(hào)集依次執(zhí)行信號(hào)處理包括:

    26、將內(nèi)核態(tài)線程棧中的用戶現(xiàn)場數(shù)據(jù)恢復(fù)到物理寄存器中,以使進(jìn)程返回用戶態(tài);

    27、根據(jù)信號(hào)分發(fā)函數(shù),分配對(duì)應(yīng)的信號(hào)處理函數(shù)依次處理未決信號(hào)集中的未決信號(hào),得到經(jīng)信號(hào)處理后的進(jìn)程。

    28、第二方面,本專利技術(shù)實(shí)施例提供一種嵌入式實(shí)時(shí)操作系統(tǒng)中進(jìn)程的信號(hào)處理系統(tǒng),其包括:

    29、嵌入式實(shí)時(shí)操作系統(tǒng)的初始化模塊,用于將用戶態(tài)的信號(hào)處理函數(shù)記錄在嵌入式實(shí)時(shí)操作系統(tǒng)的用戶系統(tǒng)調(diào)用庫中,并在啟動(dòng)之前,執(zhí)行用戶系統(tǒng)調(diào)用庫初始化,將用戶態(tài)未決信號(hào)集全局變量地址傳遞到進(jìn)程控制塊結(jié)構(gòu)體中,獲得內(nèi)核態(tài)未決信號(hào)集全局變量地址;

    30、信號(hào)處理模塊,用于若存在進(jìn)程的觸發(fā)信號(hào),則將觸發(fā)信號(hào)記錄在內(nèi)核態(tài)未決信號(hào)集全局變量地址中,用戶系統(tǒng)調(diào)用庫調(diào)用進(jìn)程陷入內(nèi)核態(tài)時(shí),將用戶現(xiàn)場數(shù)據(jù)保存在內(nèi)核態(tài)線程棧中,和在內(nèi)核態(tài)中對(duì)觸發(fā)信號(hào)進(jìn)行內(nèi)核處理,將得到的未決信號(hào)集記錄在用戶態(tài)未決信號(hào)集全局變量地址;以及,根據(jù)內(nèi)核態(tài)線程棧中的用戶現(xiàn)場數(shù)據(jù)進(jìn)行恢復(fù)以使進(jìn)程返回用戶態(tài),并根據(jù)信號(hào)處理函數(shù)對(duì)未決信號(hào)集依次執(zhí)行信號(hào)處理。

    31、第三方面,本專利技術(shù)實(shí)施例提供一種電子設(shè)備,其包括:

    32、至少一個(gè)數(shù)據(jù)庫;以及<本文檔來自技高網(wǎng)...

    【技術(shù)保護(hù)點(diǎn)】

    1.一種嵌入式實(shí)時(shí)操作系統(tǒng)中進(jìn)程的信號(hào)處理方法,其特征在于,包括:

    2.如權(quán)利要求1所述的方法,其特征在于,還包括:

    3.如權(quán)利要求1所述的方法,其特征在于,將用戶態(tài)的信號(hào)處理函數(shù)記錄在嵌入式實(shí)時(shí)操作系統(tǒng)的用戶系統(tǒng)調(diào)用庫中,并在啟動(dòng)之前,執(zhí)行用戶系統(tǒng)調(diào)用庫初始化,將用戶態(tài)未決信號(hào)集全局變量地址傳遞到進(jìn)程控制塊結(jié)構(gòu)體中,獲得內(nèi)核態(tài)未決信號(hào)集全局變量地址包括:

    4.如權(quán)利要求1所述的方法,其特征在于,若存在進(jìn)程的觸發(fā)信號(hào),則將觸發(fā)信號(hào)記錄在內(nèi)核態(tài)未決信號(hào)集全局變量地址中包括:

    5.如權(quán)利要求4所述的方法,其特征在于,用戶系統(tǒng)調(diào)用庫調(diào)用進(jìn)程陷入內(nèi)核態(tài)時(shí),將用戶現(xiàn)場數(shù)據(jù)保存在內(nèi)核態(tài)線程棧中,和在內(nèi)核態(tài)中對(duì)觸發(fā)信號(hào)進(jìn)行內(nèi)核處理,將得到的未決信號(hào)集記錄在用戶態(tài)未決信號(hào)集全局變量地址包括:

    6.如權(quán)利要求5所述的方法,其特征在于,在進(jìn)程陷入內(nèi)核態(tài)的情況下,對(duì)初始未決信號(hào)集進(jìn)行內(nèi)核處理,并將得到未決信號(hào)集記錄在用戶態(tài)未決信號(hào)集全局變量地址中之后,還包括:

    7.如權(quán)利要求6所述的方法,其特征在于,根據(jù)內(nèi)核態(tài)線程棧中的用戶現(xiàn)場數(shù)據(jù)進(jìn)行恢復(fù)以使進(jìn)程返回用戶態(tài),并根據(jù)信號(hào)處理函數(shù)對(duì)未決信號(hào)集依次執(zhí)行信號(hào)處理包括:

    8.一種嵌入式實(shí)時(shí)操作系統(tǒng)中進(jìn)程的信號(hào)處理系統(tǒng),其特征在于,包括:

    9.一種電子設(shè)備,其特征在于,包括:

    10.一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,其特征在于,所述可執(zhí)行指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-7任一項(xiàng)所述的嵌入式實(shí)時(shí)操作系統(tǒng)中進(jìn)程的信號(hào)處理方法步驟。

    ...

    【技術(shù)特征摘要】

    1.一種嵌入式實(shí)時(shí)操作系統(tǒng)中進(jìn)程的信號(hào)處理方法,其特征在于,包括:

    2.如權(quán)利要求1所述的方法,其特征在于,還包括:

    3.如權(quán)利要求1所述的方法,其特征在于,將用戶態(tài)的信號(hào)處理函數(shù)記錄在嵌入式實(shí)時(shí)操作系統(tǒng)的用戶系統(tǒng)調(diào)用庫中,并在啟動(dòng)之前,執(zhí)行用戶系統(tǒng)調(diào)用庫初始化,將用戶態(tài)未決信號(hào)集全局變量地址傳遞到進(jìn)程控制塊結(jié)構(gòu)體中,獲得內(nèi)核態(tài)未決信號(hào)集全局變量地址包括:

    4.如權(quán)利要求1所述的方法,其特征在于,若存在進(jìn)程的觸發(fā)信號(hào),則將觸發(fā)信號(hào)記錄在內(nèi)核態(tài)未決信號(hào)集全局變量地址中包括:

    5.如權(quán)利要求4所述的方法,其特征在于,用戶系統(tǒng)調(diào)用庫調(diào)用進(jìn)程陷入內(nèi)核態(tài)時(shí),將用戶現(xiàn)場數(shù)據(jù)保存在內(nèi)核態(tài)線程棧中,和在內(nèi)核態(tài)中對(duì)觸發(fā)信號(hào)進(jìn)行內(nèi)核處理,將得到的未決信號(hào)集記錄...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:陳銀桃王森董乾欽章維劉志勇王浩張菊
    申請(qǐng)(專利權(quán))人:中控技術(shù)股份有限公司
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評(píng)論
    • 還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。

    1
    主站蜘蛛池模板: 亚洲AV蜜桃永久无码精品| 曰韩无码二三区中文字幕| 嫩草影院无码av| 亚洲国产精品无码久久一区二区| 国产成人无码aa精品一区| 国产精品一级毛片无码视频| 国产乱人伦中文无无码视频试看| 国产成人精品无码片区在线观看| 一本大道无码人妻精品专区| 熟妇人妻系列av无码一区二区| 精品无人区无码乱码毛片国产| 日韩人妻无码一区二区三区综合部| 久久精品国产亚洲AV无码娇色| 日韩精品成人无码专区免费| 永久免费无码网站在线观看个| 国产做无码视频在线观看浪潮| 免费无码不卡视频在线观看| 亚洲Av无码乱码在线观看性色| 亚洲精品无码不卡在线播HE| 免费无码一区二区三区蜜桃| 久久精品aⅴ无码中文字字幕不卡| 久久国产精品无码HDAV| 男人的天堂无码动漫AV| 曰批全过程免费视频在线观看无码| 亚洲va无码专区国产乱码| 无码夫の前で人妻を犯す中字| 成人免费午夜无码视频| 亚洲AV无码国产一区二区三区| 免费无码看av的网站| 久久99精品久久久久久hb无码| 亚洲AV无码精品无码麻豆| 无码丰满熟妇浪潮一区二区AV| 无码av中文一区二区三区桃花岛| 日韩亚洲AV无码一区二区不卡| 精品国产V无码大片在线看| 国产V亚洲V天堂无码久久久| 永久免费AV无码网站国产| 亚洲爆乳AAA无码专区| 欧洲精品无码一区二区三区在线播放| 无码一区二区三区中文字幕| 中文有无人妻vs无码人妻激烈|