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