Upstart

Upstart הוא יישום אלטרנטיבי לDaemon המקורי init ומבוסס תכנות מונחה-אירועים. init וכמותה Upstart, הם תהליכים המהווים שיטה במספר מערכות הפעלה דמויות יוניקס לביצוע משימות בעת עליית מערכת ההפעלה. Upstart נכתבה על ידי סקוס ג'יימס רמננט עובד לשעבר בחברת קנוניקל.  

Upstart קיימת מאובונטו גרסה 6.10 ומעלה, ב-Maemo 5, ב-Chrome OS, ובמערכות הפעלה נוספות.

מטרה
תהליך ה-init המסורתי היה במקור אחראי להבאת מערכת ההפעלה למצב ריצה נורמלי  לאחר הדלקת המחשב, וכן לסיום תהליכים בצורה נאותה על ידי פרוצדורה ידועה מראש התורמת לתקינות המערכת. כתוצאה מכך המבנה הוא מוגבל לביצוע משימות באופן סנכרוני, וחוסם משימות עתידיות כל עוד קודמותיהם לא סוימו. בנוסף המשימות צריכות להיות מוגדרת באופן מתקדם.

דבר זה יוצר מצב בו לא ניתן לטפל באופן ראוי במשימות הקיימות כיום  בשולחנות עבודה מודרניים, אשר אינן שייכות לעליית המערכת וביניהן:

הוספת או הסרת התקנים ניידים בזמן ריצה נורמלי של המערכת.
גילוי וסריקת התקנים ניידים מבלי לנעול את המערכת, בפרט כשהדיסק עדיין לא מחובר לחשמל והוא עדיין לא נסרק.
קריאת קושחה של התקן, שצריכה לקרות אחרי שהיא מזוהה אך לפני שהיא ברת שימוש.

המודל מונחה האירועים של Upstart מאפשר להגיב לכל האירועים באופן סינכרוני מיד כשהם מתחילים.

פעולה
upstart פועל באופן  סינכרוני, ומטפל בהתחלת משימות ושירותים בעת עליית המערכת, מפקח עליהם בעת פעולתה, ומפסיק אותם בעת כיבויה.

מעבר קל, ותאימות לאחור עם sysvinit, צוינו כמטרות בפיתוח Upstart, וככזה הוא יכול להריץ סקריפטים של sysvinit. במובן הזה Upstart שונה מרוב החלופות האחרות ל-init שאינן יכולות לבצע את זה באופן פשוט, ולא תומכות בסביבות משולבות של שיטות ישנות וחדשות, לביצוע משימות בעת הדלקת מערכת ההפעלה.

קישורים חיצוניים

הערות שוליים

אובונטו לינוקס
תוכנות הכתובות ב-C