何謂 Monolithic Process?

jollen 發表於 July 29, 2007 1:59 PM

今天討論到 IPC 的程式設計議題時,順帶提及「monolithic process」的觀念,簡單紀錄如下。

傳統的應用程式架構方式,是把不同的「功能」以結構化程式設計觀念,寫成不同的函數。每當我需要使用某個功能時,便以「函數呼叫」的方使來叫用,當該函數結束工作並返回(return)後,主程式才能繼續「polling」下一個所要執行的功能。

這種架構應用程式的程式寫法,會讓整個應用程式是以「單一執行緒」的方式存在,此種「整合應用程式」的做法,便稱為「monolithic process」。例如,Linux kernel 本身也是屬於這種架構。

但是,在應用程式越來越複雜與多元化的今天,我們無法再使用這種方便來整合「不同的應用程式套件」,因為可能會變動到相當大量的程式碼。因此,便導入「應用程式框架」(application framework)的觀念來解決此一問題。

延伸閱讀:

* 開放原碼架構設計:D-BUS 觀念小談

讀者留言 (0)

留言功能維護中。將於近日重新開放。

連絡作者

Jollen Chen,Moko365(仕橙3G教室)講師,熱愛研究 Linux 與 Android 技術。曾為 Motorola、HTC、Foxconn、LG、OPPO、騰迅、廣達電腦、緯創、仁寶等超過 50 家企業講授課程。目前在 MokoVersity 擔任軟體工程師,撰寫 Node.js 程式,也在幾家科技廠兼任 Android Framework 研發顧問。您可透過電子郵件 <jollen (at) jollen (dot) org> 或這裡與我連絡。