亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: [原創(chuàng)]節(jié)選:對(duì)于主流編程模型的簡(jiǎn)要分析 [打印本頁(yè)]

作者: jpzhu    時(shí)間: 2011-12-11 16:28
標(biāo)題: [原創(chuàng)]節(jié)選:對(duì)于主流編程模型的簡(jiǎn)要分析
稍微解釋一下,這是我個(gè)人對(duì)于現(xiàn)有編程模型的一個(gè)簡(jiǎn)要概括,希望寫出來(lái)給大家看看,并且期待一些意見反饋。

6.2 主流編程模型分析
6.2.1 現(xiàn)有模型

    * 數(shù)據(jù)流驅(qū)動(dòng)
          o 數(shù)據(jù)流驅(qū)動(dòng),基于模塊輸入輸出架構(gòu),每周期定時(shí)調(diào)用所有模塊
          o 簡(jiǎn)單直觀的編程,適合工業(yè)應(yīng)用
          o 對(duì)于復(fù)雜邏輯序列事件編程復(fù)雜而且調(diào)試?yán)щy
          o 應(yīng)用模型通;趩尉程分時(shí),類似偽纖程,算法等價(jià)為為一棵定時(shí)器觸發(fā)跟節(jié)點(diǎn)的執(zhí)行樹
          o 對(duì)于IO使用輪詢,中斷一般有底層驅(qū)動(dòng)或者操作系統(tǒng)服務(wù)處理
          o 作為一般的應(yīng)用情況,數(shù)據(jù)流驅(qū)動(dòng)的程序可以是無(wú)限循環(huán)運(yùn)行的
    * 數(shù)據(jù)加算法
          o 函數(shù)方式編程
          o 實(shí)現(xiàn)代價(jià)換取最高的靈活性
          o 作為馮諾依曼和圖靈機(jī)體系下的工作計(jì)算機(jī)里面,可以實(shí)現(xiàn)任何編程模型
          o 純函數(shù)調(diào)用等價(jià)于一顆調(diào)用樹(除了setrun,setlong run,jump等特殊接口)
          o 大部分情況編譯時(shí)確定執(zhí)行樹,也存在動(dòng)態(tài)節(jié)點(diǎn),可以通過(guò)函數(shù)指針和dll裝載實(shí)現(xiàn)
    * 面向?qū)ο?br />           o 高階編程模型,通常向下兼容函數(shù)式編程
          o 以類和對(duì)象為基礎(chǔ)通過(guò)方法(消息)交互,對(duì)象一般具有封裝,繼承,多態(tài)等特性
          o 面向?qū)ο笸瑫r(shí)暗含了自指,元和衍生對(duì)象概念
          o 衍生的編程概念包括事件處理
          o 面向?qū)ο笫歉鼮楦唠A的設(shè)計(jì)模式的基礎(chǔ),包括用途,契約式設(shè)計(jì),UML等
          o 通常和運(yùn)行環(huán)境和庫(kù)緊密相關(guān)

6.2.2 動(dòng)態(tài)對(duì)象復(fù)雜應(yīng)用分析

    * 操作系統(tǒng)管理進(jìn)程
          o 主要對(duì)象:操作系統(tǒng)和進(jìn)程
          o 操作系統(tǒng)負(fù)責(zé)創(chuàng)建銷毀進(jìn)程,調(diào)度進(jìn)程,改變進(jìn)程狀態(tài),內(nèi)部維護(hù)有進(jìn)程列表,指定/替換進(jìn)程執(zhí)行內(nèi)容,但是不關(guān)心進(jìn)程具體實(shí)現(xiàn)
          o 進(jìn)程通過(guò)系統(tǒng)調(diào)用和操作系統(tǒng)通信
          o 進(jìn)程通過(guò)父子關(guān)系,間接操作系統(tǒng)核心對(duì)象(管道,socket等等)和其他進(jìn)程建立刪除連接,并交換信息
    * 網(wǎng)絡(luò)服務(wù)守護(hù)任務(wù)
          o 主要對(duì)象:守護(hù)進(jìn)程和任務(wù)進(jìn)程
          o 守護(hù)進(jìn)程接受客戶請(qǐng)求,管理任務(wù)進(jìn)程,包括創(chuàng)建,銷毀,改變?nèi)蝿?wù)進(jìn)程狀態(tài)
          o 任務(wù)進(jìn)程通過(guò)特定接口對(duì)象和客戶通信
          o 任務(wù)間進(jìn)程通常彼此獨(dú)立
    * 多窗口GUI應(yīng)用
          o 主要對(duì)象:窗口對(duì)象和消息循環(huán)
          o 程序靜態(tài)或者動(dòng)態(tài)創(chuàng)建窗口對(duì)象,由操作系統(tǒng)負(fù)責(zé)加入消息循環(huán)來(lái)響應(yīng)外部事件
          o 窗口通過(guò)暴露接口變量和回調(diào)函數(shù)和后臺(tái)應(yīng)用邏輯通信
          o 窗口可以動(dòng)態(tài)建立和銷毀,窗口控件之間不直接耦合,但是可以通過(guò)后臺(tái)應(yīng)用邏輯聯(lián)合顯示信息
    * 插件鏈條管理
          o 一個(gè)典型的插件鏈條是媒體播放,包括demux,stream decoding, stream playback構(gòu)成
          o 根據(jù)用戶配置和媒體文件不同,每播放一個(gè)文件,這個(gè)鏈條重置并重新建立
          o 主程序根據(jù)不同的輸入配置載入合適的動(dòng)態(tài)庫(kù),并在過(guò)程中連接這些動(dòng)態(tài)庫(kù)的輸入輸出構(gòu)成鏈條
          o 當(dāng)播放停止時(shí),鏈條被解構(gòu)

6.2.3 程序模型升級(jí)更新分析

    * 一般IT升級(jí)
          o 部分升級(jí)和全部升級(jí)
                + 程序的動(dòng)態(tài)加載庫(kù)升級(jí)
                + 程序包的完全升級(jí)
          o 在線升級(jí)和線下升級(jí)
                + 程序運(yùn)行時(shí)部分或者全部部分升級(jí),可能對(duì)正在運(yùn)行的軟件構(gòu)成影響,一般工業(yè)產(chǎn)品軟件環(huán)境簡(jiǎn)單可以使用
                + 通常的做法是后臺(tái)下載整個(gè)程序包,被動(dòng)等待或者主動(dòng)進(jìn)行重啟,下次重新啟動(dòng)前進(jìn)行升級(jí)
    * 工業(yè)軟件升級(jí)
          o 升級(jí)過(guò)程從屬于產(chǎn)品操作流程的一部分
          o 一般過(guò)程是關(guān)閉機(jī)器,確認(rèn)處于安全狀態(tài)下,升級(jí)軟件,重啟工業(yè)控制器,軟件運(yùn)行正常后重新啟動(dòng)機(jī)器

6.2.4 模型比較
        數(shù)據(jù)流        數(shù)據(jù)加算法        面向?qū)ο?br /> 執(zhí)行樹唯一        是        否        否
動(dòng)態(tài)結(jié)構(gòu)對(duì)象管理        否        是        是
程序無(wú)限循環(huán)        是        否        否
程序入口        第一個(gè)順序執(zhí)行的模塊        指定函數(shù)名(main)        指定函數(shù)名(main)
6.3 現(xiàn)有編程開發(fā)過(guò)程
6.3.1 文本編程

    * 開發(fā)更新過(guò)程
          o 加入新的原代碼文件,更新項(xiàng)目組織文件
          o 編譯運(yùn)行調(diào)試
          o 發(fā)布最終版本
    * 版本系統(tǒng)協(xié)作
          o 利用現(xiàn)有版本系統(tǒng)跟蹤文本文件改變,進(jìn)行比較合并
          o 利用版本系統(tǒng)進(jìn)行自動(dòng)編譯

6.3.2 圖形編程

    * 系統(tǒng)架構(gòu)
          o 純圖形編程
          o 圖形編程作為程序跨架,可以與模塊共同工作
          o 文本編程語(yǔ)言環(huán)境作為框架,圖形模塊編譯嵌入框架
    * 開發(fā)更新過(guò)程
          o 加入新的模塊,和現(xiàn)有系統(tǒng)模塊連接
          o 編譯運(yùn)行調(diào)試
          o 發(fā)布最終版本,包括源代碼和編譯版本
    * 版本系統(tǒng)協(xié)作
          o 大系統(tǒng)分拆為組件,以組件文件級(jí)別進(jìn)行更新
          o 其修改無(wú)法直接比較,通過(guò)更改日志和文檔進(jìn)行說(shuō)明,可控性由個(gè)人負(fù)責(zé)
作者: dreamice    時(shí)間: 2011-12-13 17:44
沒(méi)看出你這篇帖子想說(shuō)啥。
作者: jpzhu    時(shí)間: 2011-12-13 22:49
簡(jiǎn)述編程模型和編程平臺(tái)的底層機(jī)制,所利用到的概念沒(méi)有超過(guò)計(jì)算機(jī)體系結(jié)構(gòu)里面的基本常識(shí)。
其中的數(shù)據(jù)+算法可以認(rèn)為概括了C,pascal類似的編程語(yǔ)言,面向?qū)ο笫菍?duì)obj-c,c++,perl等等的一個(gè)簡(jiǎn)單概括。純數(shù)據(jù)流驅(qū)動(dòng)的模型一般用于工業(yè)開發(fā)當(dāng)中。
如果有那些點(diǎn)看不明白我可以再補(bǔ)充一些。
這篇文章的主要對(duì)象針對(duì)的是編程語(yǔ)言和編程平臺(tái)的設(shè)計(jì),和具體的java或者.net關(guān)系不是很大。
作者: jpzhu    時(shí)間: 2011-12-29 20:23
本帖最后由 jpzhu 于 2011-12-29 20:25 編輯

從主流編程語(yǔ)言和編程平臺(tái)的根本機(jī)制來(lái)看,現(xiàn)行各家之間的共同點(diǎn)遠(yuǎn)遠(yuǎn)大于不同的地方。
值得關(guān)注的是學(xué)術(shù)化的lisp/scheme,由于其嵌套棧和解釋器的運(yùn)行方式,更多的運(yùn)用于學(xué)術(shù)環(huán)境,以及相對(duì)極其有限的實(shí)際應(yīng)用環(huán)境,一般用戶能接觸到的成熟化的軟件只有emacs, autocad等。但是由于其語(yǔ)言的特性完全等價(jià)于圖靈機(jī),所以理論上可以實(shí)現(xiàn)現(xiàn)有的任何一種編程語(yǔ)言。
希望能聯(lián)系熟悉lisp/scheme的同學(xué),以整理一下這種軟件的架構(gòu)模式。

作者: sudayly    時(shí)間: 2012-01-12 12:07
回復(fù) 1# jpzhu


    樓主是牛人
作者: jpzhu    時(shí)間: 2012-02-01 19:52
這是我目前工作文檔的一部分。因?yàn)椴煌暾o各位帶來(lái)理解上的困難,先道個(gè)歉。因?yàn)楣ぷ餍再|(zhì),目前還不是完整放出的機(jī)會(huì)。
從軟件角度看,編程語(yǔ)言和編程平臺(tái)是緊密聯(lián)系的,編程語(yǔ)言的特性決定了編程平臺(tái)提供了怎么樣的功能。目標(biāo)執(zhí)行平臺(tái)則制約的編程平臺(tái)的整個(gè)編譯開發(fā)鏈條的工作特性,以及調(diào)試診斷特性。目前這些東西存在不少割裂之處,比如源代碼和執(zhí)行程序的分離,程序串行并行的不統(tǒng)一,開發(fā)和產(chǎn)品應(yīng)用的分離,工業(yè)領(lǐng)域和IT領(lǐng)域編程的分離等等。
在未來(lái)4-5年之間,隨著市場(chǎng)和應(yīng)用得的要求,個(gè)人感覺(jué)也許會(huì)有一些比較大的變化。





歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2