強實時環(huán)境中可以完全實現(xiàn)多道程序設(shè)計嗎
(2011/10/19 9:24:00)
昨天一道關(guān)于局部變量的題,大家爭得不亦樂乎,褒貶皆有之,實為論壇好現(xiàn)象。
今天再來一道,出題之前先聲明,與昨天一樣,本題并不尋求標準答案,但求各抒己見。
出題了:
談?wù)剰妼崟r系統(tǒng)和多道程序設(shè)計的關(guān)系,兩者是否矛盾,可否統(tǒng)一?
在強實時環(huán)境中可以完全實現(xiàn)多道程序設(shè)計嗎?
如果不能,有什么限制?
網(wǎng)友評論:如果我的系統(tǒng)限制只有3個任務(wù),你能說它不是多任務(wù)系統(tǒng)嗎?
不錯,諸多的“不知道”造成了諸多不確定,但如果加上某些限制條件變“不知道”為“知道”,變“不確定”為“確定”,不就可以魚與熊掌兼得了嗎?
不要把自己逼到死胡同嘛。
網(wǎng)友評論:每個任務(wù)分配的時間片固定為100us,假設(shè)分成10個時間片,那么整個輪訓(xùn)周期就是1ms。
我們完全可以準確的
計算出該任務(wù)可以在多少時間內(nèi)完成。任何一個任務(wù)都會知道,它
被打斷的時間少于等于900us,能夠執(zhí)行的時間為100us。有這些條件,難道還不能準確
的知道任務(wù)是否能夠完成嗎?雖然任務(wù)不知道其它任務(wù)是否存在,但是它卻有一個基本
保障,在這個基本保障之內(nèi)能夠完成就行了。這個基本保障和能夠處理的任務(wù)數(shù),就決定
了所需要的CPU處理速度。
把問題簡化一點,假設(shè)一個100M的處理器,我就給每個任務(wù)使用1/10的時間,那么你的任務(wù)
看上去就是在單獨使用一個10M的處理器。
網(wǎng)友評論:要知道任何資源都是有限的,包括CPU的資源,認為的設(shè)置某種限制是必需的。