第一篇:21世紀(jì)末的萬(wàn)能處理機(jī)
21世紀(jì)末的萬(wàn)能處理機(jī)
現(xiàn)在世界上的垃圾廢品越來(lái)越多,到處都是烏煙瘴氣的,我真希望我們的城市能像月球一樣干凈,像白雪一樣純潔,人們穿著鞋子沾不上一點(diǎn)灰塵,晚上不脫鞋也可以上床睡覺(jué)。作為一個(gè)喜歡幻想、熱愛(ài)生活的我當(dāng)然要挺身而出,搞出一個(gè)造福于人類(lèi)的發(fā)明創(chuàng)造來(lái)。目前,我正在構(gòu)想一個(gè)奇妙的萬(wàn)能處理機(jī)。你可別小瞧我的萬(wàn)能處理機(jī),它作用可大啦!它可以把污水輸進(jìn)去按一個(gè)純凈水字樣的按鈕,污水就會(huì)變成一瓶瓶清洌的純凈水;把廢紙輸進(jìn)去按一個(gè)圣誕卡字樣的按鈕,廢紙就會(huì)變成一個(gè)個(gè)精致的圣誕卡;把廢塑料輸進(jìn)去按一個(gè)綠色雨衣字樣的按鈕,廢塑料就會(huì)變成一件件嶄新的綠色雨衣我的萬(wàn)能處理機(jī)真神奇,作用不小吧!
下面我給你介紹一下它的造型:它的樣子像一座城堡,兩邊有一排排運(yùn)輸?shù)墓茏?,上面有一個(gè)尖尖的塔蓋子,下面有6個(gè)輪子可以移動(dòng),它可以變大變小,里面是用鐵做的,鐵表面有最新的保護(hù)膜,你不用擔(dān)心會(huì)生銹,哈哈,還可以吧!
正巧碰上2100年奧運(yùn)會(huì)在我國(guó)舉辦,我便把它帶上去介紹給各位來(lái)賓和運(yùn)動(dòng)員,也許最先老外們還不相信,那我就給他們一一做示范。他們聽(tīng)了、看了后,肯定會(huì)贊不絕口,好多老外都要極力搶購(gòu)我的萬(wàn)能處理機(jī)呢。
過(guò)了一會(huì)兒,連聰明的動(dòng)物也來(lái)?yè)屬?gòu)我的萬(wàn)能處理機(jī),我的大發(fā)明轟動(dòng)了北京和全世界。好多人來(lái)采訪(fǎng)我,我上了電視、報(bào)紙、雜志,聯(lián)合國(guó)知道后還給我發(fā)了最佳專(zhuān)利獎(jiǎng)和杰出人才獎(jiǎng)呢!
第二篇:處理機(jī)調(diào)度與死鎖小結(jié)
第三章 處理機(jī)調(diào)度與死鎖
重點(diǎn)與難點(diǎn)小結(jié)
1.高優(yōu)先權(quán)調(diào)度和基于時(shí)間片的輪轉(zhuǎn)調(diào)度算法
1)高優(yōu)先權(quán)優(yōu)先調(diào)度
2)高響應(yīng)比優(yōu)先調(diào)度
3)時(shí)間片輪轉(zhuǎn)調(diào)度
4)多級(jí)反饋隊(duì)列調(diào)度
2.常用的幾種實(shí)時(shí)調(diào)度算法
1)最早截止時(shí)間優(yōu)先(EDF)算法
2)最低松弛度優(yōu)先(LLF)算法
3.多處理機(jī)環(huán)境下的進(jìn)程(線(xiàn)程)調(diào)度方式
1)自調(diào)度方式
2)成組調(diào)度方式
3)專(zhuān)用處理器分配方式
4.死鎖的基本概念
1)產(chǎn)生死鎖的原因
2)產(chǎn)生死鎖的必要條件
5.預(yù)防死鎖的方法
1)摒棄互斥條件
2)摒棄請(qǐng)求保持條件
3)摒棄不剝奪條件
4)摒棄環(huán)路等待條件
5)各種方式的比較
6.死鎖的避免
熟練掌握銀行家算法和安全性檢測(cè)算法,并能利用這兩個(gè)算法求解具體問(wèn)題
第三篇:情書(shū),來(lái)自世紀(jì)末的呼喚!??!
這是本站(004km.cn)精心收集的情書(shū),相信你的愛(ài)情在這些深情的情書(shū)中飛舞!永恒!
千里迢迢踏征途,只為網(wǎng)上真戀情??!
我已深思熟慮達(dá)2個(gè)多月之久。終于有一天,在我們之間感情的驅(qū)使下,也就是在2000年本世紀(jì)末的最后一個(gè)冬天里。那天,12月20日凌晨2點(diǎn) 30分,我登上了鄭州開(kāi)往唐山的2088次列車(chē).
我們還為接觸過(guò),照片上的她,是那么的活潑、那么的善良,笑的是那么的甜、那么的開(kāi)心。在這漆黑、寒冷的夜里,她是不是也在想著我們明天見(jiàn)到后,后果是什么樣子,是我們彼此向往的那樣,還會(huì)是像別人所說(shuō)的哈爾濱的那對(duì)網(wǎng)上戀人一樣,見(jiàn)面后不歡而散。我在沉思、我在保持沉默......,時(shí)間越來(lái)越接近了,10點(diǎn)、10.30分、11.15分......此刻的我,心情非常激動(dòng)。我仰慕已久的“她”是我夢(mèng)想中的那種女孩嗎?由于本次列車(chē)晚點(diǎn)12點(diǎn)才能到達(dá)唐山,可是現(xiàn)在已經(jīng)11.55了,我的心跳速度加快了,此時(shí)的我不知該怎么鼓勵(lì)自己去勇敢的面對(duì)現(xiàn)實(shí)。說(shuō)實(shí)話(huà),我很怕,可我還是在期望見(jiàn)到她的情況下深深的吸了口氣,拿著我的行李包慎重的走出出站口。面對(duì)著前方人,“她”是不是也在擁擠的人群中等待著我的到來(lái)呢!我還沒(méi)有看到她,于是走到旁邊公用電話(huà)前,拿起那沉重的電話(huà)撥起了她的號(hào)碼138......,電話(huà)通了,“你在那里呀?我到了”,我說(shuō)話(huà)的聲音在顫抖。她說(shuō)話(huà)的聲音還是那么的甜,我看到你了,我在你的背后。哦,同時(shí)我也看到了她,個(gè)子大概有1米65左右,穿著黑色的休閑襖、褲子。我看到了她那微笑的面頰,我發(fā)現(xiàn)我好象真的喜歡上她了,奇怪的是,我們出次見(jiàn)面居然沒(méi)有感到一點(diǎn)陌生,好象我們是離別很長(zhǎng)時(shí)間的戀人,又再度重逢。“你累了吧!做車(chē)?yán)鋯幔俊彼龑?duì)我微笑的說(shuō),“你餓了吧!我們?nèi)コ燥埡脝帷??出門(mén)再外,人生地不熟,只能靠她按派了,我沒(méi)有說(shuō)什么。可是到了那家“麥當(dāng)勞”我真的沒(méi)有胃口,我目不轉(zhuǎn)睛的看著她。她是那么的善良、還那么的賢惠。我決定我真的愛(ài)她一輩子。最后,沒(méi)有辦法我們只能參謀去那里住了,“金龍大酒店吧”!她對(duì)我說(shuō)。我沒(méi)有反對(duì),和她走進(jìn)那家賓館。我們住在517房間,我的心情簡(jiǎn)直難以形容。我實(shí)在不能控制我自己的情緒,緊緊的,我握住她的手,對(duì)她說(shuō)道:“你真的讓我想了你好久,你知道我是真的付出了我的感情嗎?”......那天夜里我們兩個(gè)談到深夜,直到凌晨2點(diǎn)才睡著。我反復(fù)的追問(wèn)她:“為什么,我連一個(gè)本地的網(wǎng)友也沒(méi)有見(jiàn)過(guò),又為什么我會(huì)走這么遠(yuǎn)的地方,目的只是為了見(jiàn)你一個(gè)。” 我真的不能相信我自己,是什么力量使我值得付出這么大的代價(jià)。
朋友,你有沒(méi)有聽(tīng)到,“網(wǎng)上無(wú)美女,美女她不上網(wǎng)”這句話(huà)??晌也皇菫榱恕懊琅倍菫榱俗非笳嬲木W(wǎng)上戀情。我活了23年。最早,朋友見(jiàn)網(wǎng)友的時(shí)候,我總是那種嬉笑的語(yǔ)氣在刺激他們:“見(jiàn)網(wǎng)友,你在發(fā)神經(jīng)呀!可能嗎”?我真的不敢相信他們,是和我一樣,為了追求真正的愛(ài)情,還是年輕為了追求那種精神上的快感??墒侨缃裎乙驳搅诉@種地步,說(shuō)實(shí)在話(huà):“真的,我為了她我寧可拋棄我的一切,什么金錢(qián)、權(quán)利。我什么都不想要,只因?yàn)槲覑?ài)她!到現(xiàn)在她的媽媽還沒(méi)有表態(tài),我不知道她母親是不是同意我們?cè)谝黄?、還是渴望她在本地找一個(gè)真正的男朋友??傊覑?ài)她,是天地可以證明的,我可以向毛主席保證,只要讓我擁有她,我愿意拋棄我的一切?!?/p>
我初次準(zhǔn)備在那里住兩天??墒牵笥?,你們有沒(méi)有感到在這段時(shí)間里,僅僅幾十個(gè)小時(shí)在我們的眼里是多么的短散、多么的寶貴。我真的不想失去她,我也不想悲傷的離開(kāi)她。我太愛(ài)她了。你們又有誰(shuí)可知道我的心......
第一頁(yè)上一頁(yè)12下一頁(yè)尾頁(yè)第四篇:操作系統(tǒng)-課程設(shè)計(jì)報(bào)告-處理機(jī)調(diào)度程序
操作系統(tǒng)
課程設(shè)計(jì)報(bào)告
學(xué)校:廣州大學(xué)
學(xué)院:計(jì)算機(jī)科學(xué)與教育軟件學(xué)院 班級(jí):計(jì)算機(jī)127班 課題:處理機(jī)調(diào)度程序
任課老師:陶文正、陳文彬
姓名:黃俊鵬
學(xué)號(hào):1200002111 班內(nèi)序號(hào):27 成績(jī):
日期:2015年1月6日
一、設(shè)計(jì)目的
在多道程序和多任務(wù)系統(tǒng)中,系統(tǒng)內(nèi)同時(shí)處于就緒狀態(tài)的進(jìn)程可能有若干個(gè)。也就是說(shuō)能運(yùn)行的進(jìn)程數(shù)大于處理機(jī)個(gè)數(shù)。為了使系統(tǒng)中的進(jìn)程能有條不紊地工作,必須選用某種調(diào)度策略,選擇一進(jìn)程占用處理機(jī)。要求學(xué)生設(shè)計(jì)一個(gè)模擬處理機(jī)調(diào)度算法,以鞏固和加深處理機(jī)調(diào)度的概念。
二、設(shè)計(jì)要求
1)進(jìn)程調(diào)度算法包括:時(shí)間片輪轉(zhuǎn)法,短作業(yè)優(yōu)先算法,動(dòng)態(tài)優(yōu)先級(jí)算法。2)可選擇進(jìn)程數(shù)量
3)本程序包括三種算法,用C語(yǔ)言實(shí)現(xiàn),執(zhí)行時(shí)在主界面選擇算法(可用函數(shù)實(shí)現(xiàn))(進(jìn)程數(shù),運(yùn)行時(shí)間,優(yōu)先數(shù)由隨機(jī)函數(shù)產(chǎn)生)執(zhí)行,顯示結(jié)果。
三、設(shè)計(jì)思路及算法思想
1.界面菜單選項(xiàng)
一級(jí)菜單提供2個(gè)選項(xiàng): ① 自動(dòng)生成進(jìn)程數(shù)量 ② 手動(dòng)輸入所需進(jìn)程數(shù)量
一級(jí)菜單選擇完畢后進(jìn)入二級(jí)菜單: ① 重新生成進(jìn)程 ② 時(shí)間片輪轉(zhuǎn)法 ③ 短作業(yè)優(yōu)先算法 ④ 動(dòng)態(tài)優(yōu)先級(jí)算法 ⑤ 退出程序
2.調(diào)度算法
程序所用PCB結(jié)構(gòu)體
需要用到的進(jìn)程結(jié)構(gòu)體如上圖所示
1)時(shí)間片輪轉(zhuǎn)法
主要是設(shè)置一個(gè)當(dāng)前時(shí)間變量,curTime和時(shí)間片roundTime。
遍歷進(jìn)程組的時(shí)候,每運(yùn)行一個(gè)進(jìn)程,就把curTime += roundTime。進(jìn)程已運(yùn)行時(shí)間加roundTime
2)短作業(yè)優(yōu)先算法
遍歷進(jìn)程組,找到未運(yùn)行完成并且運(yùn)行時(shí)間最短的進(jìn)程,讓它一次運(yùn)行完成,如此往復(fù),直到所有進(jìn)程都運(yùn)行完成為止。
3)動(dòng)態(tài)優(yōu)先級(jí)算法
做法跟短作業(yè)優(yōu)先算法類(lèi)似,此處主要是比較進(jìn)程的優(yōu)先數(shù),優(yōu)先級(jí)高者,先執(zhí)行。直到全部執(zhí)行完畢。當(dāng)一個(gè)進(jìn)程運(yùn)行完畢后,適當(dāng)增減其余進(jìn)程的優(yōu)先數(shù),以達(dá)到動(dòng)態(tài)調(diào)成優(yōu)先級(jí)的效果。
3.程序流程圖
四、運(yùn)行截圖
1)啟動(dòng)后輸入5,生成5個(gè)進(jìn)程
2)輸入1,選擇時(shí)間片輪轉(zhuǎn)法。
自動(dòng)輸出結(jié)果,分別是時(shí)間片為1和4的結(jié)果
3)輸入2,選擇短作業(yè)優(yōu)先算法
4)輸入3,選擇動(dòng)態(tài)優(yōu)先級(jí)算法
5)輸入0,重新生成進(jìn)程,再輸入3,生成3個(gè)進(jìn)程,選擇2.短作業(yè)優(yōu)先算法
6)輸入q,退出
五、心得體會(huì)
通過(guò)這次實(shí)驗(yàn),讓我對(duì)操作系統(tǒng)的進(jìn)程調(diào)度有了更進(jìn)一步的了解。這個(gè)實(shí)驗(yàn)的模擬程度跟真實(shí)系統(tǒng)相比只是冰山一角,由此可見(jiàn)操作系統(tǒng)是何其復(fù)雜的軟件產(chǎn)品,僅進(jìn)程調(diào)度就有那么豐富和內(nèi)涵的知識(shí)需要掌握。
但是再?gòu)?fù)雜的系統(tǒng),都是由小部件構(gòu)成的。古語(yǔ)云:不積跬步,無(wú)以至千里。不積小流,無(wú)以成江海。掌握這些基礎(chǔ)的知識(shí),可以為以后打下扎實(shí)的基礎(chǔ)。
六、附錄(源代碼)
//
// main.c
// ProcessDispatch //
// Created by Jeans on 1/5/15.// Copyright(c)2015 Jeans.All rights reserved.//
#include
//最小進(jìn)程數(shù)
#define MIN_PROCESS //最大進(jìn)程數(shù)
#define MAX_PROCESS
//最小優(yōu)先數(shù)
#define MIN_PRIORITY
0 //最大優(yōu)先數(shù)
#define MAX_PRIORITY
//最小運(yùn)行時(shí)間
#define MIN_RUNNING_TIME
//最大運(yùn)行時(shí)間
#define MAX_RUNNING_TIME
typedef struct PCB{
char name;
//進(jìn)程名
int priority;
//優(yōu)先數(shù)
int runningTime;
//運(yùn)行時(shí)間
int arriveTime;
//到達(dá)時(shí)間
int beginTime;
//開(kāi)始時(shí)間
int finishTime;
//完成時(shí)間
int cyclingTime;
//周轉(zhuǎn)時(shí)間
double weigthCyclingTime;//帶權(quán)周轉(zhuǎn)時(shí)間
int hadRunTime;
//已經(jīng)運(yùn)行時(shí)間
int finish;
//是否完成 }PCB;//獲取隨機(jī)數(shù)
int GetRandomNumber(int min,int max){
return arc4random()%(max-min)+ min;}
//初始化PCB組
void InitPCBGroup(PCB p[],int num){
char name = 'A';
for(int i = 0;i < num;i++){
p[i].name = name;
p[i].priority = GetRandomNumber(MIN_PRIORITY, MAX_PRIORITY);
p[i].runningTime = GetRandomNumber(MIN_RUNNING_TIME,MAX_RUNNING_TIME);
name++;
} }
void PrintResult(PCB p[],int num){
double avgCycTime = 0,avgWeiCycTime = 0;
printf(“|進(jìn)程名
到達(dá)時(shí)間
運(yùn)行時(shí)間
開(kāi)始時(shí)間
完成時(shí)間
周轉(zhuǎn)時(shí)間
帶權(quán)周轉(zhuǎn)時(shí)間
優(yōu)先數(shù)
|n”);
for(int i = 0;i < num;i++){
printf(“|%3c
%-4d
%-4d
%-4d
%-4d
%-4d
%-6.2f
%-4d|n”,p[i].name,p[i].arriveTime,p[i].runningTime,p[i].beginTime,p[i].finishTime,p[i].cyclingTime,p[i].weigthCyclingTime,p[i].priority);
avgCycTime += p[i].cyclingTime;
avgWeiCycTime += p[i].weigthCyclingTime;
//還原
p[i].arriveTime = 0;
p[i].beginTime = 0;
p[i].finishTime = 0;
p[i].cyclingTime = 0;
p[i].weigthCyclingTime = 0;
p[i].hadRunTime = 0;
p[i].finish = 0;
}
avgWeiCycTime /= num;
avgCycTime /= num;
printf(“平均周轉(zhuǎn)時(shí)間:%.2f
平均帶權(quán)周轉(zhuǎn)時(shí)間:%.2fn”,avgCycTime,avgWeiCycTime);} //時(shí)間片輪轉(zhuǎn)法
void RealRoundRobin(PCB p[],int num,int roundTime){
printf(“nn-----------------------------時(shí)間片:%d------n”,roundTime);
int finishNum = 0;
int curTime = 0;
while(finishNum!= num){
for(int i = 0;i < num;i++){
if(p[i].finish)continue;
//開(kāi)始時(shí)間
if(p[i].beginTime == 0 && i!= 0){
p[i].beginTime = curTime;
}
//已經(jīng)完成
if(p[i].hadRunTime + roundTime >= p[i].runningTime){
p[i].finishTime = curTime + p[i].runningTimep[i].arriveTime;
p[i].weigthCyclingTime = p[i].cyclingTime/(double)p[i].runningTime;
p[i].finish = 1;
finishNum ++;
curTime += p[i].runningTimep[min].arriveTime;
p[min].weigthCyclingTime = p[min].cyclingTime/(double)p[min].runningTime;
p[min].finish = 1;
finishNum++;
curTime = p[min].finishTime;
}
PrintResult(p, num);}
//動(dòng)態(tài)優(yōu)先級(jí)算法
void DynamicPriorityFirst(PCB p[],int num){
printf(“nn-----------------------------動(dòng)態(tài)優(yōu)先級(jí)算法--n”);
int finishNum = 0;
int curTime = 0;
while(finishNum!= num){
int min = 0;
//查找優(yōu)先級(jí)最高下標(biāo)
for(int i = 1;i < num;i++){
if(p[i].finish == 0 && p[min].priority >= p[i].priority)
min = i;
else if(p[i].finish == 0 && p[min].finish == 1)
min = i;
}
p[min].beginTime = curTime;
p[min].hadRunTime = p[min].runningTime;
p[min].finishTime = p[min].beginTime + p[min].runningTime;
p[min].cyclingTime = p[min].finishTime-p[min].arriveTime;
p[min].weigthCyclingTime = p[min].cyclingTime/(double)p[min].runningTime;
p[min].finish = 1;
finishNum++;
curTime = p[min].finishTime;
}
PrintResult(p, num);}
int main(int argc, const char * argv[]){
PCB pcbGroup[30];
//pcb數(shù)組
int processNum = 0;//進(jìn)程數(shù)
while(1){
//選擇進(jìn)程數(shù)量
while(1){
if(processNum!= 0)
break;
printf(“n----------n”);
printf(“當(dāng)前默認(rèn)進(jìn)程數(shù)范圍%d--%dn”,MIN_PROCESS,MAX_PROCESS);
printf(“1)輸入0可隨機(jī)生成進(jìn)程數(shù)目n2)輸入%d-%d范圍內(nèi)數(shù)字,回車(chē),可生成指定數(shù)目進(jìn)程n>>>>>>”,MIN_PROCESS,MAX_PROCESS);
int num = 0;
scanf(“%d”,&num);
if(num == 0){
processNum = GetRandomNumber(MIN_PROCESS, MAX_PROCESS);
break;
}else{
if((num >= MIN_PROCESS)&&(num <= MAX_PROCESS)){
processNum = num;
InitPCBGroup(pcbGroup,processNum);
break;
}else
printf(“n輸入有誤,請(qǐng)重新輸入.n”);
}
}
//選擇算法
printf(“n-----------------------------請(qǐng)輸入對(duì)應(yīng)選項(xiàng)序號(hào)-----------------------------n”);
printf(“0.重新生成進(jìn)程 | 1.時(shí)間片輪轉(zhuǎn)法 | 2.短作業(yè)優(yōu)先算法 | 3.動(dòng)態(tài)優(yōu)先級(jí)算法 | q.退出n>>>>>>”);
char ch;
while((ch = getchar())== 'n');
switch(ch){
case '0'://0 重新生成進(jìn)程
processNum = 0;break;
case '1'://1 時(shí)間片輪轉(zhuǎn)法
RoundRobin(pcbGroup, processNum);break;
case '2'://2 短作業(yè)優(yōu)先算法
ShortestJobFirst(pcbGroup, processNum);break;
case '3'://3 動(dòng)態(tài)優(yōu)先級(jí)算法
DynamicPriorityFirst(pcbGroup,processNum);break;
case 'q'://q 退出
exit(0);
default:
break;
}
}
return 0;}
第五篇:第三章 處理機(jī)調(diào)度與死鎖小結(jié)
第三章 處理機(jī)調(diào)度與死鎖
重點(diǎn)與難點(diǎn)小結(jié)
1.高優(yōu)先權(quán)調(diào)度和基于時(shí)間片的輪轉(zhuǎn)調(diào)度算法
1)
2)
3)時(shí)間片輪轉(zhuǎn)調(diào)度
4)多級(jí)反饋隊(duì)列調(diào)度
2.常用的幾種實(shí)時(shí)調(diào)度算法
1)最早截止時(shí)間優(yōu)先(EDF)算法
2)最低松弛度優(yōu)先(LLF)算法
3.死鎖的基本概念
1)2)4.預(yù)防死鎖的方法
1)摒棄互斥條件
2)摒棄請(qǐng)求保持條件
3)摒棄不剝奪條件
4)摒棄環(huán)路等待條件
5)各種方式的比較
5.死鎖的避免 熟練掌握銀行家算法和安全性檢測(cè)算法,并能利用這兩個(gè)算法求解具體問(wèn)題
6.死鎖定理