動態裝載

動態裝載(英語:Dynamic Loading)是一種程式運行機制,能讓計算機程式在運行時(而不是編譯時)裝載(或者其他二進制對象)到記憶體中,然後檢索庫中函式變數的地址,並運行這些函式或訪問這些變數,且能在不需要時將庫從記憶體中卸載。

基本介紹

  • 中文名:動態裝載
  • 外文名:Dynamic Loading
  • 性質:程式運行機制
  • 領域:計算機
簡介,歷史沿革,用法,事務處理,

簡介

動態裝載、靜態連結動態連結(注意區分動態裝載與動態連結的微妙差別)是復用其他軟體代碼的三種機制,不同於靜態連結和動態連結,這種機制允許電腦程式在沒有某些庫的情況下啟動,然後在運行的過程中發現可用的庫從而獲得額外的功能。

歷史沿革

動態裝載早在1960年代的IBM/360作業系統中就已經廣泛使用,尤其是在輸入/輸出子模組,以及COBOLPL/I運行時庫中。裝載的過程對於應用程式開發者是透明的,主要由作業系統或者輸入輸出子系統自動處理。這樣做的好處有:
  • 修復子系統漏洞時只需要打一次補丁即可,而不需要重新連結
  • 程式庫可以免於被胡亂修改而造成嚴重影響
IBM於1970年代開發的戰略性事務處理作業系統CICS中,不僅在普通應用程式級別上使用了動態載入,甚至在核心級別都廣泛採取這種機制,這使得用戶可以在不用重啟CICS作業系統的前提下,就可以對應用程式做任何級別的漏洞修復。

用法

並非所有作業系統都支持動態裝載。類UNIX作業系統通過C程式語言實現而成的dl庫提供該類功能。在微軟視窗作業系統採用Windows應用程式接口

事務處理

在計算機科學中,事務是無法被分割的操作,事務處理就是被分割為個體的信息處理。事務必須作為一個完整的單元成功或失敗,不可能存在部分完成的事務。
例如,當你在網上書店購買了一本書,你用錢換了一本書(以信貸的方式)。如果你的信用是好的,一系列相關的操作會確保你拿到書並且書店會收到你的錢。然而,在交易時如果在那一系列操作中的單個操作執行失敗,整個交易就會失敗。你拿不到書,書店也不會收到你的錢。負責交易的平衡和可預測的技術就叫做事務處理。事務確保在事務型的單元中的所有操作成功完成之前,面向數據的資源不會被永久更新。通過將那些成功完成或是完成失敗的一組相關操作集中到一個單元中,能夠簡化錯誤恢復並使套用變得更加可靠。
事務處理系統包括託管面向事務的套用的計算機硬體和軟體,其執行進行業務所必需的例行事務。例如,管理銷售訂單條目,航班預訂,工資單,雇員記錄,製造業和船舶的系統。
由於大多數,儘管未必是全部,當今的事務處理是互動的,因此經常被當作是線上事務處理的同義詞。

相關詞條

熱門詞條

聯絡我們