軟件維護一致性
當操作系統發現修改的數據可能是代碼時,可以采取下面的步驟維護一致性。
1.將需要修改的指令數據加載到dCache中。
2.修改成新指令,寫回dCache。
3.clean dCache中修改的指令對應的cacheline,保證dCache中新指令寫回主存。
4.invalid iCache中修改的指令對應的cacheline,保證從主存中讀取新指令。
操作系統如何知道修改的數據可能是指令呢?程序經過編譯后,指令應該存儲在代碼段,而代碼段所在的頁在操作系統中具有可執行權限的。不可信執行的數據一般只有讀寫權限。因此,我們可以根據這個信息知道可能修改了指令,進而采取以上措施保證一致性。
軟件維護是一個軟件工程嗎?
軟件維護(Software maintenance)是一個軟件工程名詞,是指在軟件產品發布后,因修正錯誤、提升性能或其他屬性而進行的軟件修改。
軟件維護主要是指根據需求變化或硬件環境的變化對應用程序進行部分或全部的修改,修改時應充分利用源程序2。修改后要填寫《程序修改登記表》,并在《程序變更通知書》上寫明新舊程序的不同之處。