转:机制与策略
一些特殊語(yǔ)境的理解
摘自《Linux device drivers 3rd》設(shè)備驅(qū)動(dòng)程序的作用
作為一名驅(qū)動(dòng)程序的編寫(xiě)者,你需要在編程所需的時(shí)間以及驅(qū)動(dòng)程序的靈活性之間選擇一個(gè)可接受的折衷方案。雖然用“靈活”這個(gè)詞來(lái)形容驅(qū)動(dòng)程序顯得有些奇怪,但我用這個(gè)詞實(shí)際上是強(qiáng)調(diào)設(shè)備驅(qū)動(dòng)程序的作用在于提供機(jī)制( mechanism ),而不是提供策略( policy ) o區(qū)分機(jī)制和策略是UNIX設(shè)計(jì)背后隱含的最好思想之一。大多數(shù)編程問(wèn)題實(shí)際上都可以分成兩部分:“需要提供什么功能”(機(jī)制)和“如何使用這些功能”(策略)。如果這兩個(gè)間題由程序的不同部分來(lái)處理,或者甚至由不同的程序來(lái)處理,則這個(gè)軟件包更容易開(kāi)發(fā),也更容易根據(jù)需要來(lái)調(diào)整。
?
摘自互聯(lián)網(wǎng)
機(jī)制就是提供的功能,比如在驅(qū)動(dòng)程序的編寫(xiě)中,你要提供怎樣和硬件交流的方式,這就叫機(jī)制。 而策略則是指你怎樣去使用已有的機(jī)制完成你自己的特定的功能,比如在驅(qū)動(dòng)程序的編寫(xiě)中,你該怎樣去利用硬件機(jī)制完成特定的功能。
不僅僅在驅(qū)動(dòng)方面,在很多,如網(wǎng)絡(luò)安全方面都有相應(yīng)的概念。
?
摘自互聯(lián)網(wǎng)
現(xiàn)代的OS很講求機(jī)制與策略的分離,以使操作系統(tǒng)的結(jié)構(gòu)和實(shí)現(xiàn)能夠在一定范圍內(nèi)適應(yīng)不同的應(yīng)用需要。例如,SOlaris的調(diào)度器實(shí)現(xiàn)了進(jìn)程調(diào)度的基本機(jī)制,同時(shí)它允許通過(guò)動(dòng)態(tài)調(diào)度核心參數(shù)實(shí)現(xiàn)不同負(fù)載下的系統(tǒng)平衡,這就是一種機(jī)制與策略的分離,請(qǐng)?jiān)倥e出一個(gè)例子說(shuō)明怎樣根據(jù)調(diào)度將機(jī)制策略分開(kāi),請(qǐng)構(gòu)造一種機(jī)制,允許父進(jìn)程控制子進(jìn)程的調(diào)度策略,謝謝高手指教,給出網(wǎng)址也可以
?
進(jìn)程
進(jìn)程的概念是操作系統(tǒng)的核心,是出了名的(notoriously)難定義。一種粗淺的理解是,進(jìn)程是程序的一次動(dòng)態(tài)執(zhí)行,是程序完成 一次任務(wù)所需的資源的載體。我們可以把進(jìn)程比喻成在戲劇院表演獨(dú)角戲的演員,對(duì)于演員,舞臺(tái)小道具就是他的資源。當(dāng)演員需道具時(shí),他到道具管理處(相當(dāng)操 作系統(tǒng)的資源分配程序)申請(qǐng)。由于資源是對(duì)所有演員共享的,管理處的工作就是當(dāng)多個(gè)演員申請(qǐng)道具時(shí)代為解決資源競(jìng)爭(zhēng)問(wèn)題,滿(mǎn)足兩個(gè)沖突的目標(biāo):
- 讓每個(gè)演員得到他們想要的道具 (機(jī)制WHAT的問(wèn)題)
- 公平分配道具 (策略HOW的問(wèn)題)
KEMIN:由于各種資源(包括包裝過(guò)的高級(jí)資源)的性質(zhì)不一,所以對(duì)它們的[管理]方式都不一樣的,從管理手段的名稱(chēng)就可看出這一 點(diǎn),處理器是[調(diào)度]的,主存是[分配]的。但從完成管理功能的高度看,它們都有實(shí)現(xiàn)管理的部分和如何管理的部分,實(shí)現(xiàn)管理就是機(jī)制問(wèn)題,如何管理就是策 略問(wèn)題。比如,處理器的調(diào)度機(jī)制(必須有timer和進(jìn)程切換指令等體系功能的支持)和調(diào)度策略。
KEMIN的頭腦風(fēng)暴過(guò)程及初步結(jié)論
b.一直奇怪“策略”和“戰(zhàn)略”是什么東東,原來(lái)它們還是方法和工具!今天發(fā)現(xiàn)經(jīng)常與“策略”一起的“機(jī)制”一樣是方法和工具。只是這兩對(duì)方法在描述方法的不同側(cè)面。策略與戰(zhàn)略是整體與局部的關(guān)系,策略與機(jī)制是動(dòng)態(tài)與靜態(tài)的關(guān)系。機(jī)制有機(jī)械的意思,機(jī)械意味著固定和自動(dòng),所謂應(yīng)變機(jī)制指的是應(yīng)對(duì)變化有一套固定被測(cè)定為較好自動(dòng)處理方法。策略是在機(jī)制的基礎(chǔ)上再作具體問(wèn)題具體方法調(diào)整。舉個(gè)例子,計(jì)算機(jī)為了實(shí)現(xiàn)并發(fā)處理引入了中斷機(jī)制;而為了解決速度不同的中斷事件引入了中斷優(yōu)先級(jí)處理策略。 2009-5-11 12:06
b.機(jī)制有機(jī)械機(jī)理的意思。但相對(duì)機(jī)理強(qiáng)調(diào)內(nèi)部結(jié)構(gòu)和組件間序關(guān)系不同,我覺(jué)得人工機(jī)制強(qiáng)調(diào)的是系統(tǒng)面對(duì)外部事件時(shí)應(yīng)變規(guī)則。這個(gè)有點(diǎn)像編程時(shí)的分支流程,也就是先判斷一個(gè)條件事件,然后自動(dòng)選擇一條最有效的處理分支,產(chǎn)生一個(gè)最有價(jià)值的效果。我們?cè)谠O(shè)計(jì)一個(gè)人工機(jī)制時(shí),就是對(duì)這些分支的設(shè)計(jì),包括評(píng)價(jià)各分支的效益。 2009-5-11 20:07
b.其實(shí)機(jī)制和策略算是設(shè)計(jì)理論方面的內(nèi)容。對(duì)于應(yīng)用或驅(qū)動(dòng)開(kāi)發(fā)人員來(lái)說(shuō)還不算合適,因?yàn)樵O(shè)計(jì)任務(wù)一般是統(tǒng)籌工作,屬于系統(tǒng)設(shè)計(jì)人員的職責(zé)。開(kāi)發(fā)人員一般在一個(gè)大框架內(nèi)演繹,可設(shè)計(jì)可編程可演繹的空間很有限的,不是說(shuō)沒(méi)有設(shè)計(jì)。比如,別說(shuō)開(kāi)發(fā)人員,系統(tǒng)設(shè)計(jì)師也不會(huì)設(shè)計(jì)一個(gè)新的并發(fā)機(jī)制現(xiàn)有的中斷機(jī)制,他們對(duì)中斷優(yōu)先級(jí)策略的調(diào)整也是很有限的。而應(yīng)用開(kāi)發(fā)人員更多在做一些更具體更特殊的收尾工作。 2009-5-12 2:51
2009-7-9 18:57:30 b.同是內(nèi)核,卻會(huì)有單內(nèi)核和微內(nèi)核的不同的實(shí)現(xiàn)形式,我們假設(shè)二種形式的內(nèi)核的功能都是相同的,那構(gòu)造方法卻不同,這意味什么呢?相同的功能說(shuō)明機(jī)制一樣,構(gòu)造方法不同是策略不同?
2009-7-9 20:27:58 b.其實(shí)機(jī)制就是一種由能量驅(qū)動(dòng)的刺激與反射活動(dòng)的概括,也就是我常常談的性質(zhì)、屬性、功能或作用。抽出一個(gè)與機(jī)制相對(duì)概念--策略是因?yàn)槲覀儚母脑斓囊暯?#xff0c;想當(dāng)一回上帝,主觀地改造世界的原因。我們?yōu)橐恍┩饨绛h(huán)境約束(人為的或自然的)人工地制造性質(zhì)、功能和作用。策略就是為了滿(mǎn)足不同的約束的一種方法。
2009-7-9 22:27:58 b.前面說(shuō)過(guò),機(jī)制和策略都是一種方法,現(xiàn)在又說(shuō)機(jī)制是一種人造性質(zhì),貌似前后矛盾,因?yàn)榉椒ㄊ菚r(shí)間性的,而性質(zhì)則是空間性的。的確表述上存在不清晰,要談到方法一定會(huì)涉及工作任務(wù)?,因?yàn)榉椒ㄖ甘枪ぷ鞯牟襟E。我們舉一個(gè)例子來(lái)理解。比如我們說(shuō)人是會(huì)跑的,會(huì)跑是上帝賦于人的活動(dòng)機(jī)制,是人的一項(xiàng)性質(zhì);而我們說(shuō)某人能從甲地跑到乙地花時(shí)一天,這是說(shuō)某人利用會(huì)跑的機(jī)制完成一件工作,但是完成這件工作的過(guò)程中會(huì)遇種情況,比如上山下海,比如半路發(fā)現(xiàn)有公路可使用自行車(chē)更快的到達(dá)乙二等諸多的環(huán)境約束,那么策略就是用來(lái)解決過(guò)程所出現(xiàn)的各約束的。
?
加入系統(tǒng)做功的結(jié)論
由上面的頭腦風(fēng)暴,我們大概了解機(jī)制和策略的一些“性質(zhì)”了。但不完全。第一,為什么要引入機(jī)制,為誰(shuí)引入機(jī)制?機(jī)制都是由設(shè)計(jì)師為[系統(tǒng)]設(shè)計(jì)的性質(zhì)和功能。系統(tǒng)本身就是一項(xiàng)產(chǎn)品。
第二,如果策略是基于機(jī)制的如何,那么具體表現(xiàn)是什么?我們知道會(huì)跑與跑完是不同的,前者是機(jī)制,后者機(jī)制做功,策略就存在于做功的過(guò)程中。要理解策略,得先弄清楚系統(tǒng)機(jī)制做功過(guò)程的本質(zhì)。
我們常說(shuō)功能功能,嚴(yán)格上說(shuō),功與能是有密切的關(guān)系,但不是同一個(gè)概念。“能”強(qiáng)調(diào)的是系統(tǒng)靜態(tài)性質(zhì);而“功”則強(qiáng)調(diào)動(dòng)態(tài)的活動(dòng)性,有時(shí)間因素。“功”是系統(tǒng)在一定時(shí)間內(nèi)的活動(dòng)效果,是建立于系統(tǒng)的某一“能”上的活動(dòng),活動(dòng)過(guò)程有能量釋放。到這里,雖然區(qū)分了功與能的差別,但因?yàn)椤肮Α钡倪^(guò)程本質(zhì)沒(méi)有厘清,所以策略也很模糊。
請(qǐng)看看一則關(guān)于“系統(tǒng)做功”引用:
系統(tǒng)首先強(qiáng)調(diào)的是事物間的相互制約的結(jié)構(gòu),其次系統(tǒng)與邊界的交互。因?yàn)橄到y(tǒng)不僅存以于靜態(tài)的空間中,而且還存在于時(shí)間中,被時(shí)間向前推動(dòng),不斷地[做功](無(wú)論是被動(dòng)還是主動(dòng)的)。[做功]是一種條件反射現(xiàn)象,過(guò)程有能量的單方向釋放。有些觀點(diǎn)認(rèn)為,系統(tǒng)與系統(tǒng)邊界有著物質(zhì)、能量和信息的交換。我認(rèn)為,第一,能量是始終存在于動(dòng)態(tài)的時(shí)空中的,它是默認(rèn)的,不必特指;第二,物質(zhì)可泛化為信息的一種(通過(guò)定義[信息]為做功的[輸入])。所以系統(tǒng)與系統(tǒng)邊界協(xié)作[做功]可以簡(jiǎn)化為只通過(guò)交換[信息]完成。
從以上的論述可得到,如果撇開(kāi)主觀性,其實(shí)存在于時(shí)空中的系統(tǒng)都在時(shí)時(shí)刻刻做著功。添加主觀性后,我們有意限制系統(tǒng)做功,為我們做有益的功。功就是功效,一種新的狀態(tài)輸出,所以,功在不同環(huán)境和場(chǎng)合有不同類(lèi)型;不過(guò)做功都要有一定的輸入(信息或物質(zhì))和都在一個(gè)特定的上下文環(huán)境下完成的。俗話(huà)說(shuō):“方法好就事半功陪“,這個(gè)方法、事和功都一般的;事就是做功的上下文,方法就是策略!
轉(zhuǎn)載于:https://www.cnblogs.com/legendary/archive/2012/09/06/2673685.html
總結(jié)
- 上一篇: SQL Server 2012 Expr
- 下一篇: 敏捷结果30天之第四天:放弃一些事情