软件维护一致性
当操作系统发现修改的数据可能是代码时,可以采取下面的步骤维护一致性。
1.将需要修改的指令数据加载到dCache中。
2.修改成新指令,写回dCache。
3.clean dCache中修改的指令对应的cacheline,保证dCache中新指令写回主存。
4.invalid iCache中修改的指令对应的cacheline,保证从主存中读取新指令。
操作系统如何知道修改的数据可能是指令呢?程序经过编译后,指令应该存储在代码段,而代码段所在的页在操作系统中具有可执行权限的。不可信执行的数据一般只有读写权限。因此,我们可以根据这个信息知道可能修改了指令,进而采取以上措施保证一致性。
软件维护是一个软件工程吗?
软件维护(Software maintenance)是一个软件工程名词,是指在软件产品发布后,因修正错误、提升性能或其他属性而进行的软件修改。
软件维护主要是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,修改时应充分利用源程序2。修改后要填写《程序修改登记表》,并在《程序变更通知书》上写明新旧程序的不同之处。