本申請(qǐng)涉及進(jìn)程調(diào)度,特別涉及一種進(jìn)程調(diào)度方法、裝置及計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、電子設(shè)備的系統(tǒng)在運(yùn)行的過(guò)程中通常會(huì)創(chuàng)建大量的進(jìn)程,而這些進(jìn)程的調(diào)度策略一般都使用公平調(diào)度算法(cfs調(diào)度算法),而在cfs調(diào)度算法中,是將進(jìn)程的nice值轉(zhuǎn)換為虛擬時(shí)間進(jìn)行調(diào)度,其中,nice值是一個(gè)影響進(jìn)程優(yōu)先級(jí)的數(shù)值,但是在部分電子設(shè)備的系統(tǒng)中,需要優(yōu)先調(diào)度部分進(jìn)程,該進(jìn)程的nice值決定了其可能不能被優(yōu)先調(diào)度,如此一來(lái),就會(huì)影響系統(tǒng)運(yùn)行的流暢性。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例的目的在于提供一種進(jìn)程調(diào)度方法、裝置及計(jì)算機(jī)程序產(chǎn)品,用以解決公平調(diào)度算法無(wú)法對(duì)部分進(jìn)程進(jìn)行優(yōu)先調(diào)度的問(wèn)題。
2、本申請(qǐng)的實(shí)施例采用如下技術(shù)方案:一種進(jìn)程調(diào)度方法,包括:
3、確定第一進(jìn)程訪問(wèn)目標(biāo)資源,如果所述目標(biāo)資源被第二進(jìn)程占用,確定滿足目標(biāo)條件,調(diào)整所述第二進(jìn)程的第一調(diào)度屬性為第二調(diào)度屬性;
4、基于所述第二調(diào)度屬性調(diào)度所述第二進(jìn)程;
5、其中,基于所述第一調(diào)度屬性調(diào)度執(zhí)行完成所述第二進(jìn)程任務(wù)需要第一時(shí)間長(zhǎng)度,基于所述第二調(diào)度屬性執(zhí)行完成所述第二進(jìn)程任務(wù)需要第二時(shí)間長(zhǎng)度,所述第二時(shí)間長(zhǎng)度小于所述第一時(shí)間長(zhǎng)度。
6、在一些實(shí)施例中,所述目標(biāo)條件包括:所述第一進(jìn)程具有第三調(diào)度屬性或所述第二調(diào)度屬性;
7、所述第三調(diào)度屬性表征的被調(diào)度優(yōu)先程度大于所述第一調(diào)度屬性表征的被調(diào)度優(yōu)先程度;所述第三調(diào)度屬性表征的被調(diào)度優(yōu)先程度大于所述第二調(diào)度屬性表征的被調(diào)度優(yōu)先程度。
8、在一些實(shí)施例中,確定滿足目標(biāo)條件,調(diào)整所述第二進(jìn)程的第一調(diào)度屬性為第二調(diào)度屬性,包括:
9、確定于所述第一進(jìn)程第一目標(biāo)線程訪問(wèn)所述目標(biāo)資源,所述目標(biāo)資源被所述第二進(jìn)程中的第二目標(biāo)線程占用;
10、調(diào)整所述第二進(jìn)程的第二目標(biāo)線程的第一調(diào)度屬性為第二調(diào)度屬性;其中,基于所述第一調(diào)度屬性調(diào)度執(zhí)行完成所述第二目標(biāo)線程任務(wù)需要第三時(shí)間長(zhǎng)度,基于所述第二調(diào)度屬性執(zhí)行完成所述第二目標(biāo)線程任務(wù)需要第四時(shí)間長(zhǎng)度,所述第四時(shí)間長(zhǎng)度小于所第三時(shí)間長(zhǎng)度。
11、在一些實(shí)施例中,所述第一目標(biāo)線程是所述第一進(jìn)程啟動(dòng)建立的第一線程,在所述第一線程具有所述第三調(diào)度屬性或/所述第二調(diào)度屬性被調(diào)度,并處于等待所述第二進(jìn)程的第二目標(biāo)線程對(duì)所述目標(biāo)資源的釋放狀態(tài)時(shí);
12、在所述第一線程等待的過(guò)程中,調(diào)整所述第二目標(biāo)線程的第一調(diào)度屬性為第二調(diào)度屬性。
13、在一些實(shí)施例中,所述方法還包括:
14、在所述第二進(jìn)程完成對(duì)目標(biāo)資源的釋放后;
15、將所述第二進(jìn)程的第二調(diào)度屬性恢復(fù)為所述第一調(diào)度屬性;
16、或者,
17、在所述第二進(jìn)程的目標(biāo)線程完成對(duì)目標(biāo)資源的釋放后,將所述第二進(jìn)程的目標(biāo)線程的第二調(diào)度屬性恢復(fù)為所述第一調(diào)度屬性。
18、在一些實(shí)施例中,所述第二進(jìn)程包括所述第二目標(biāo)線程以及除所述第二目標(biāo)線程外的其它線程,其中,調(diào)整所述第二目標(biāo)線程的第一調(diào)度屬性為第二調(diào)度屬性,并保持所述其它線程的調(diào)度屬性為所述第一調(diào)度屬性。
19、在一些實(shí)施例中,所述目標(biāo)資源為具有互斥屬性的互斥資源。
20、在一些實(shí)施例中,所述方法還包括:
21、所述第一進(jìn)程和所述第二進(jìn)程還被添加至用于維護(hù)進(jìn)程調(diào)度優(yōu)先級(jí)順序的有序樹形數(shù)據(jù)結(jié)構(gòu)中;
22、在完成對(duì)所述第一進(jìn)程的調(diào)度后,基于公平調(diào)度方式調(diào)度有序樹形數(shù)據(jù)結(jié)構(gòu)中的其他進(jìn)程。
23、本申請(qǐng)實(shí)施例還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述實(shí)施例中任一所述的進(jìn)程調(diào)度方法的步驟。
24、本申請(qǐng)實(shí)施例還提供了一種進(jìn)程調(diào)度裝置,包括:
25、進(jìn)程屬性修改模塊,其配置為確定第一進(jìn)程訪問(wèn)目標(biāo)資源,如果所述目標(biāo)資源被第二進(jìn)程占用,確定滿足目標(biāo)條件,調(diào)整所述第二進(jìn)程的第一調(diào)度屬性為第二調(diào)度屬性;
26、調(diào)度模塊,基于所述進(jìn)程屬性調(diào)度所述進(jìn)程;
27、其中,基于所述第一調(diào)度屬性調(diào)度執(zhí)行完成所述第二進(jìn)程任務(wù)需要第一時(shí)間長(zhǎng)度,基于所述第二調(diào)度屬性執(zhí)行完成所述第二進(jìn)程任務(wù)需要第二時(shí)間長(zhǎng)度,所述第二時(shí)間長(zhǎng)度小于所述第一時(shí)間長(zhǎng)度。
28、本申請(qǐng)實(shí)施例的有益效果在于:
29、當(dāng)?shù)谝贿M(jìn)程訪問(wèn)被第二進(jìn)程占用的目標(biāo)資源時(shí),通過(guò)調(diào)整第二進(jìn)程的調(diào)度屬性,使第二進(jìn)程能夠更快速的被執(zhí)行完成,進(jìn)而使得第一進(jìn)程能夠在第二進(jìn)程被執(zhí)行完成后快速的實(shí)現(xiàn)對(duì)目標(biāo)資源的訪問(wèn)。即通過(guò)本申請(qǐng)進(jìn)程調(diào)度方法,使得部分進(jìn)程能夠被優(yōu)先調(diào)度,提高了系統(tǒng)運(yùn)行的流暢性。
1.一種進(jìn)程調(diào)度方法,包括:
2.根據(jù)權(quán)利要求1所述的進(jìn)程調(diào)度方法,所述目標(biāo)條件包括:所述第一進(jìn)程具有第三調(diào)度屬性或所述第二調(diào)度屬性;
3.根據(jù)權(quán)利要求1所述的進(jìn)程調(diào)度方法,確定滿足目標(biāo)條件,調(diào)整所述第二進(jìn)程的第一調(diào)度屬性為第二調(diào)度屬性,包括:
4.根據(jù)權(quán)利要求3所述的進(jìn)程調(diào)度方法,所述第一目標(biāo)線程是所述第一進(jìn)程啟動(dòng)建立的第一線程,在所述第一線程具有所述第三調(diào)度屬性或/所述第二調(diào)度屬性被調(diào)度,并處于等待所述第二進(jìn)程的第二目標(biāo)線程對(duì)所述目標(biāo)資源的釋放狀態(tài)時(shí);
5.根據(jù)權(quán)利要求1或3所述的進(jìn)程調(diào)度方法,所述方法還包括:
6.根據(jù)權(quán)利要求3所述的進(jìn)程調(diào)度方法,所述第二進(jìn)程包括所述第二目標(biāo)線程以及除所述第二目標(biāo)線程外的其它線程,其中,調(diào)整所述第二目標(biāo)線程的第一調(diào)度屬性為第二調(diào)度屬性,并保持所述其它線程的調(diào)度屬性為所述第一調(diào)度屬性。
7.根據(jù)權(quán)利要求1所述的進(jìn)程調(diào)度方法,所述目標(biāo)資源為具有互斥屬性的互斥資源。
8.根據(jù)權(quán)利要求1所述的進(jìn)程調(diào)度方法,所述方法還包括:
9.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至8中任一所述的進(jìn)程調(diào)度方法的步驟。
10.一種進(jìn)程調(diào)度裝置,包括: