1樓:匿名使用者
給思路來
,**自己寫,不想源寫的話,網上開源的程序管理器很多了1. 程序的建立 = createprocess 呼叫該函式就可以了2、程序的執行,沒聽過應該是執行乙個exe檔案把,可以使用方法1或者使用shellexcutexx函式
3.喚出某個程序,說真的第一次聽說
4.結束某個指定的程序,只要呼叫openprocess傳入程序的id,然後呼叫terminateprocess結束就可以了(當然結束的方法很多比如記憶體清零,掛起結束等)
5.程序間的同學,用管道,共享記憶體,或者直接sendmessage(這個不好用)
用c語言編寫的程序管理程式?
2樓:匿名使用者
#include
#include
#include
#include
#include
struct pcb_type
{ char pid[100]; //程序
用c++建立程序
3樓:琦豬闖紅燈
#include
#include
#include
dword winapi fun1proc(lpvoid ipparameter);
dword winapi fun2proc(lpvoid ipparameter);
void main()
dword winapi fun1proc(lpvoid ipparameter)
dword winapi fun2proc(lpvoid ipparameter)
4樓:電視與沙發
你這個是執行緒不是程序!
求**~作業系統 程序管理實驗 語言c++ 要求如下:
5樓:匿名使用者
四、實驗思路和設計
1、程序管理
(1)程式流程圖
由學生自行完成。
(2)主要程式**
//pcb結構體
struct pcb *hready=null,*hblock=null,*p; //hready,hblock分別為指向就緒和阻塞佇列
typedef struct pcb pcb;
int m,n,r,a,b,c,h=0,i=1,time1inteval; //m為要模擬的程序個數,n為初始化程序個數
//r為可隨機產生的程序數(r=m-n)
//a,b,c分別為a,b,c三類資源的總量
//i為進城計數,i=1...n
//h為執行的時間片次數,time1inteval為時間片大小(毫秒)
//建立乙個pcb結構體型的空鍊錶
pcb *increat(void)
//從鍊錶起始位址開始輸出該鍊錶的內容
void disp(pcb *head)
while(p1!=null); //不斷輸出程序的資訊,直到鏈尾!
} //if
else
form1->memo1->lines->add(str2);
}//將程序插入到鏈尾(包括就緒佇列和阻塞佇列)
pcb *insert(pcb *head,pcb*pcb) //帶兩個指標形參:佇列指標和當前程序pcb
else
p1->next=pi;
pi->next=null;
}return(head);
}//對程序進行初始化,建立就緒隊阻塞佇列。
void input()
//if
else //如果資源不符合所需要求,則寫入阻塞佇列隊尾
//if
str1+=" 當前程序狀態:";
str1+=(p->state);
str1+="\r\n";
str1+="\r\n";
}//for
form1->memo1->lines->add(str1);
}//輸出就緒佇列和阻塞佇列的資訊
void outputall()
//執行就緒佇列的頭程序,執行乙個時間片(fcfs),輪轉乙個時間片
pcb *running(pcb *head)
p1->state='r'; //程序狀態由就緒轉向執行
(p1->rtime)++; //已執行時間片數增加1
h++;
str4+="~~~~~~~~~~~~~~~~ 當前正在執行的程序id是: ";
str4+=inttostr(p1->id);
str4+=" ~~~~~~~~~~~~~~~~~~\r\n";
str4+="程序id 程序狀態 a資源數 b資源數 c資源數 需要時間片 已執行時間片\r\n";
str4+=" ";
str4+=inttostr(p1->id);str4+=" ";
str4+=(p1->state);str4+=" ";
str4+=inttostr(p1->ra);str4+=" ";
str4+=inttostr(p1->rb);str4+=" ";
str4+=inttostr(p1->rc);str4+=" ";
str4+=inttostr(p1->ntime);str4+=" ";
str4+=inttostr(p1->rtime);str4+=" ";
form1->memo1->lines->add(str4);
if(p1->ntime==p1->rtime) //如果已經執行的時間片到達所需次數,該程序結束
else //如果已經執行的時間片未到達所需次數,該程序執行乙個時間片後進入就緒佇列尾
return(head);
}//檢測當前資源數目是否滿足阻塞佇列裡程序的需求
void testblock()
//if(p1==hblock)
else
//else
} //大if
else
//else
form1->memo1->lines->add(str5);
} //whlie
}//檢測是否有新的程序產生,隨機產生新程序
void testnew()
//if
else //程序不滿足要求,進入阻塞佇列
//else
}//if (t<=7)
form1->memo1->lines->add(str6);
}//if(r>0)
r--;
}//系統三類資源變化情況的顯示
void rescore()
if(a<0)
if(a>=0&&aedit7->text=inttostr(a);}
if(b>b1)
if(b<0)
if(b>=0&&b<=b1)
if(c>c1)
if(c<0)
if(c>=0&&c<=c1)
}void __fastcall tform1::timer1timer(tobject *sender)
//先來先服務(fcfs)排程演算法
void runfcfs()
else
}//將結果儲存成txt檔案
void __fastcall tform1::n8click(tobject *sender)
for(int i=0;imemo1->lines->count;i++)
fclose(fp);}}
//開始模擬按鈕單擊執行函式
void __fastcall tform1::button1click(tobject *sender)
//清除螢幕按鈕單擊執行函式
void __fastcall tform1::button2click(tobject *sender)
//執行的主函式
void runmain()
6樓:匿名使用者
li hua often plays football
使用c語言程式設計實現:父程序建立二個子程序,三個程序各自列印出其程序 10
7樓:匿名使用者
這個在linux和在windows下的實現方法是完全不一樣的。因為兩個系統建立程序的函式不同。其中windows環境下的實現非常複雜。
給你兩個例子供你參考吧。
linux環境下的實現:
#include
int main(int argc, char *argv)/**/*fork()返回值為0,則建立子程序成功且當前程序為子程序*/if ( ( pid1=fork() ) == 0 )/**/*建立子程序2
***/
if ( ( pid2=fork() ) < 0 ) /*fork()返回值為負數,則建立程序失敗*/
/**/*fork()返回值為0,則建立子程序成功且當前程序為子程序*/if ( ( pid2=fork() ) == 0 )/*fork()返回值大於0,則當前程序為父程序*/else
return 0;
} windows環境下的實現沒有寫。大概需要使用包含在windows.h中的標頭檔案中的createprocess()函式實現建立程序。
8樓:匿名使用者
#include
#include
#include
int main()
}return 0;}
windows下用c++建立程序,再建立兩個執行緒
9樓:匿名使用者
我寫的**,沒編譯,你試試行不行
dword winapi sumthread(lpvoid lp)//求和執行緒
return 0;//執行緒返回
}dword winapi multhread(lpvoid lp)//求階乘執行緒
return 0;
}dword winapi printthread(lpvoid lp)//列印執行緒
void main()
怎樣用c建立簡單程序怎樣用c建立乙個簡單程序
include int main 用createprocess 用法見msdn 以下迴圈開啟記事本 startupinfo startupinfo startupinfo.cb sizeof startupinfo process information process info for int i...
如何刪除金山程序管理器,怎麼關閉金山程序管理器
不要用二樓的辦法,可能把你的系統弄垮。一個軟體,特別是安全類軟體,各個程序間是相互配合一起發揮作用的,也就是一個整體。其實它那個程序管理器也不妨礙什麼呀,幹嘛想著要停止它呢? 絕戀三塊石 在金山毒霸的設定裡面,有關於 金山毒霸程序管理器 這個選項,你給去掉就行了。具體在哪個欄目裡我記不住了,你找找,...
父程序用fork建立子程序之後,父子程序之間有什麼關係
fork操作之後,父程序和子程序到底發生了什麼?子程序從拷貝了哪些資訊?從 開始執行?這些答案在 unix系統程式設計 第24章程序的建立 有很好的回答。fork之後父子程序同時從fork點開始執行 父子程序共享 段,資料段都是完全拷貝,相互之間的更改不會影響。但是值得注意的是socket是共享的 ...