-
大小: 10KB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2023-05-21
- 語言: 其他
- 標(biāo)簽:
資源簡介
3.4 獨(dú)立實(shí)驗(yàn)
設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 設(shè)有兩個(gè)并發(fā)執(zhí)行的父子進(jìn)程,不斷循環(huán)輸出各自號(hào)、優(yōu)先數(shù)和調(diào)度策略。 進(jìn)程初始調(diào)度策略均為系統(tǒng)默認(rèn)和優(yōu)先級(jí)。當(dāng) 進(jìn)程初始調(diào)度策略均為系統(tǒng)默認(rèn)和優(yōu)先級(jí)。當(dāng) 進(jìn)程初始調(diào)度策略均為系統(tǒng)默認(rèn)和優(yōu)先級(jí)。當(dāng) 進(jìn)程初始調(diào)度策略均為系統(tǒng)默認(rèn)和優(yōu)先級(jí)。當(dāng) 進(jìn)程初始調(diào)度策略均為系統(tǒng)默認(rèn)和優(yōu)先級(jí)。當(dāng) 進(jìn)程初始調(diào)度策略均為系統(tǒng)默認(rèn)和優(yōu)先級(jí)。當(dāng) 進(jìn)程初始調(diào)度策略均為系統(tǒng)默認(rèn)和優(yōu)先級(jí)。當(dāng) 進(jìn)程初始調(diào)度策略均為系統(tǒng)默認(rèn)和優(yōu)先級(jí)。當(dāng) 進(jìn)程初始調(diào)度策略均為系統(tǒng)默認(rèn)和優(yōu)先級(jí)。當(dāng) 進(jìn)程初始調(diào)度策略均為系統(tǒng)默認(rèn)和優(yōu)先級(jí)。當(dāng) 進(jìn)程初始調(diào)度策略均為系統(tǒng)默認(rèn)和優(yōu)先級(jí)。當(dāng) 進(jìn)程初始調(diào)度策略均為系統(tǒng)默認(rèn)和優(yōu)先級(jí)。當(dāng) 父進(jìn)程收到 進(jìn)程收到 由鍵盤 由鍵盤 Ctrl+CCtrl+C Ctrl+C 發(fā) 出的 SIGINT SIGINTSIGINTSIGINTSIGINT信號(hào)時(shí)會(huì)自動(dòng)將其優(yōu)先數(shù)加 信號(hào)時(shí)會(huì)自動(dòng)將其優(yōu)先數(shù)加 信號(hào)時(shí)會(huì)自動(dòng)將其優(yōu)先數(shù)加 信號(hào)時(shí)會(huì)自動(dòng)將其優(yōu)先數(shù)加 信號(hào)時(shí)會(huì)自動(dòng)將其優(yōu)先數(shù)加 信號(hào)時(shí)會(huì)自動(dòng)將其優(yōu)先數(shù)加 信號(hào)時(shí)會(huì)自動(dòng)將其優(yōu)先數(shù)加 1,子進(jìn)程 子進(jìn)程 收到 由鍵盤 由鍵盤 Ctrl+ZCtrl+Z Ctrl+Z發(fā)出的 SIG SIGTSTP STP信號(hào)時(shí)會(huì)自動(dòng)將其優(yōu)先數(shù)減 信號(hào)時(shí)會(huì)自動(dòng)將其優(yōu)先數(shù)減 信號(hào)時(shí)會(huì)自動(dòng)將其優(yōu)先數(shù)減 信號(hào)時(shí)會(huì)自動(dòng)將其優(yōu)先數(shù)減 信號(hào)時(shí)會(huì)自動(dòng)將其優(yōu)先數(shù)減 信號(hào)時(shí)會(huì)自動(dòng)將其優(yōu)先數(shù)減 信號(hào)時(shí)會(huì)自動(dòng)將其優(yōu)先數(shù)減 1。 請(qǐng)編程實(shí)現(xiàn)以上功能。 請(qǐng)編程實(shí)現(xiàn)以上功能。 請(qǐng)編程實(shí)現(xiàn)以上功能。 請(qǐng)編程實(shí)現(xiàn)以上功能。 請(qǐng)編程實(shí)現(xiàn)以上功能。

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
typedef?void?(*sighandler_t)(int);
void?sigcat(){
//+1
??setpriority(PRIO_PROCESS?getpid()?getpriority(PRIO_PROCESS?0)?+?1);
}
void?sigzat(){
//-1
??setpriority(PRIO_PROCESS?getpid()?getpriority(PRIO_PROCESS?0)?-?1);
}
void?nothing()?{}
int?main(int?argc?char?*argv[])
{
int?pid;?//存放進(jìn)程號(hào)
struct?sched_param?p[2];?//設(shè)置調(diào)度策略時(shí)使用的數(shù)據(jù)結(jié)構(gòu)
int?i;
for(?i=0;?i<2;i++){
//取進(jìn)程優(yōu)先數(shù)放在調(diào)度策略數(shù)據(jù)結(jié)構(gòu)中
p[i].sched_priority?=?10;
}
pid?=?fork();
if(pid?0){
????printf(“failed!“);
}
else?if(pid?>?0){
????signal(SIGINT?(sighandler_t)sigcat);??//-1
????signal(SIGTSTP?(sighandler_t)nothing);
????sched_setscheduler(getpid()?SCHED_OTHER?&p[0]);
????setpriority(PRIO_PROCESS?getpid()?10);
????sleep(2);
????//循環(huán)報(bào)告其優(yōu)先數(shù)和調(diào)度策略
????while(1){
???????printf(“parent?PID?=?%d?priority?=?%d?scheduler?=?%d\n“?getpid()getpriority(PRIO_PROCESS?0)?sched_getscheduler(getpid()));
????sleep(4);
???}
}
else{
????signal(SIGTSTP?(sighandler_t)sigzat);
????signal(SIGINT?(sighandler_t)nothing);
????sched_setscheduler(getpid()?SCHED_OTHER?&p[1]);
????setpriority(PRIO_PROCESS?getpid()?10);
????sleep(2);
????///循環(huán)報(bào)告其優(yōu)先數(shù)和調(diào)度策略
????while(1){
????printf(“Child?PID?=?%d?priority=?%d?scheduler?=?%d\n“getpid()getpriority(PRIO_PROCESS0)?sched_getscheduler(getpid()));
????
????sleep(4);
}
exit(?EXIT_SUCCESS);
}
return?EXIT_SUCCESS;
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-05-03?19:43??test3\
?????文件?????????189??2013-04-26?14:43??test3\#Makefile#~
?????文件????????7586??2013-04-26?17:14??test3\.goutputstream-CBM1VW
?????文件????????7773??2013-05-03?19:42??test3\a.out
?????文件?????????154??2013-04-26?15:08??test3\Makefile
?????文件?????????189??2013-04-26?14:47??test3\Makefile~
?????文件????????1637??2013-05-03?19:43??test3\psched.c
?????文件????????1705??2013-04-26?14:57??test3\psched.c?~
?????文件????????1637??2013-05-03?19:43??test3\psched.c~
?????文件???????????0??2013-04-26?15:08??test3\無標(biāo)題文檔~
評(píng)論
共有 條評(píng)論