何謂 Monolithic Process?

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

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

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

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

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

延伸閱讀:

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

Jollen's Blog 使用 Github issues 與讀者交流討論。請點擊上方的文章專屬 issue,或 open a new issue

您可透過電子郵件 jollen@jollen.org,或是 Linkedin 與我連絡。更歡迎使用微信,請搜尋 WeChat ID:jollentw