本研究的目的在於使用一種成本效益比(cost─performance ratio) 較低的程式重 建法(program restructuring) 來提高程式執行時的局部性(locality)。程式的 局部性一旦提高之後,將使一個在虛擬記憶體系統中執行的程式更有效率,同時也可 增加系統多元規畫的程度(multiprogramming degree)。 分析主程式及各副程式間 的叫用關係(call─return relation) 是整個程式重建法的重心所在,我們使用程 式的交互參考(cross reference) 作為分析時所用資料的來。因為所有高階語言編 譯程式一定會產生程式的交互參考供鏈接程式使用,所以使用交互參考來分析程式將 不會增加系統額外的負擔,而使程式重建的成本降低。交互參考的取得並不必真正去 執行程式,因此我們的工作是屬於靜態程式重建法(static program restructuring )。除了使成本降低外,透明度(transparency)亦是一項我們要考慮的因素;在靜 態程式重建法的執行過程中,程式設計者完全不必參與亦察覺不出程式重建工作正在 進行。在本論文中,我們提山一個包含五步驟的靜態程式重建法,並且已在VAX/VMS 系統下建構出一個靜態程式重建的實驗系統,在論文中也將分析其效率。
|