Loading AI tools
以事件為基礎的傳統init常駐程式替代品 来自维基百科,自由的百科全书
Upstart是一個基於事件的init程式 ,用於替代傳統的init(多種類Unix電腦作業系統啟動時用於執行任務的程式)。它是由Canonical公司前僱員Scott James Remnant所寫。
傳統的init行程原本只負責在開機後將電腦帶入正常執行狀態,並且在正常關機前關閉服務。因此,它的設計是嚴格同步的,且會阻塞未來的任務,直到完成當前任務。因為受限於準備或清除函數,它的任務也是事先定義的。這使得它無法簡潔地處理現代桌面電腦上的各種非啟動任務,其中包括:
Upstart的事件驅動模型允許它以非同步方式對生成的事件作出回應。[3]
Upstart是非同步工作的;它在系統執行時監督服務,並且在開關機時啟動和關閉任務和服務。
對sysvinit簡單的過渡和完善的向下相容是明確的設計目標;[4]因此,Upstart能執行未經修改的sysvinit指令碼。因此,與大多數其他的init替代(除了systemd和OpenRC)不同,它們通常假設並要求徹底的過渡,以正常執行,且不支援新舊啟動方法混合的環境。[5]
通過使用initctl輸入自訂的單一事件,或整合更多更複雜事件的事件橋,Upstart允許擴充其事件模型。[6]預設情況下,Upstart包括介面(socket)、dbus、udev、檔案及dconf事件橋;另外,可以有更多種橋(例如Mach埠橋,或devd(FreeBSD系統上)橋)。[7]
使用Upstart作為預設init系統的Linux發行版及其他基於Linux內核的作業系統:
支援或已在一定程度上支援Upstart,但棄用它作為預設init系統的Linux發行版:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.