14.3. 為生產進行強化

一個經過強化的應用程式,會在它看不見的硬體上無人值守地持續運作。本節的各個頁面涵蓋了一種執行階段紀律,它能把一個可運作的應用程式,變成一個能從自身失敗中復原、並留下足夠證據供日後診斷的應用程式。

共四個部分,依序排列,好讓每一個都支撐下一個。記錄排在最前面,因為其他一切都會寫入它。看門狗(watchdog)處理當機,並將它捕捉到的內容記錄到記錄中。檔案系統衛生則在應用程式於現場歷經數月或數年累積記錄的過程中,讓記錄寫入維持快速。安全頁面則以 flash 讀出保護涵蓋了哪些範圍、以及啟用它的實際工作究竟長什麼樣子作結——當應用程式碼的私密性是一項產品需求時,這就很相關。

前三項適用於每一台出貨的相機。缺少看門狗,就是一次沒有人能復原的當機;缺少記錄,就是一次沒有留下任何現場證據的崩潰;缺少檔案系統衛生,就是一個把影格率一起拖垮的扁平記錄檔目錄。

第四項,讀出保護,則視情況而定。許多出貨的相機所處的位置,其實體存取早已受到控管——工廠、固定式安裝、有安全管制的操作站、上鎖的機殼後方——對於這些部署而言,把韌體鎖定起來的工程成本並不划算。本頁涵蓋了當這個成本確實划算時,它會長什麼樣子。