Daemon

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

במערכות הפעלה יוניקס ודמויות-יוניקס, ובמערכות הפעלה אחרות התומכות בריבוי משימות, daemon (דימון) היא תוכנית מחשב שרצה כתהליך רקע, להבדיל מתוכניות הנמצאות תחת שליטתו הישירה של משתמש אינטראקטיבי. בדרך כלל מערכות מפעילות דימונים בזמן האתחול, ולרוב הם משרתים פונקציות כגון תגובה לבקשות רשת, לפעילות חומרה, או לתוכניות אחרות על ידי ביצוע של משימה כלשהי. דימונים יכולים גם להגדיר תצורה של חומרה (כמו udevd בחלק ממערכות GNU/Linux), להריץ משימות מתוזמנות (כמו cron), ולבצע מגוון משימות אחרות.

בסביבות יוניקס, תהליך האב של daemon הוא לעתים קרובות, אבל לא תמיד, התהליך init. בדרך כלל תהליכים הופכים לדימונים על ידי יצירת תהליך בן באמצעות קריאת המערכת fork, ואז מיידית סגירה של תהליך האב ובכך גורמים לתהליך init לאמץ את התהליך הבן. בנוסף לכך, ה-daemon או מערכת ההפעלה בדרך כלל חייבים לבצע פעולות נוספות כגון ניתוק התהליך מכל מסוף (tty) ששולט בו. לעתים קרובות פרוצדורות כאלה ממומשות ברוטינות נוחוּת שונות, כגון (daemon(3 ביוניקס.

לרוב, השמות של דימונים מסתיימים באות d: לדוגמה, syslogd הוא daemon המממש את שירות הרישום (logging) של המערכת, ו-sshd הוא תהליך המטפל בבקשות התחברות נכנסות ב-SSH.

אטימולוגיה[עריכת קוד מקור | עריכה]

הקמע של BSD - השדון Beastie, כפי שצויר על ידי ג'ון לסטר בשנת 1988.

המילה daemon היא איות אלטרנטיבי למילה האנגלית demon (שֵד).
המושג daemon הוטבע בידי מתכנתים מהפרויקט MAC ב-MIT. הם אימצו את השם מהשד של מקסוול (Maxwell's demon), יצור דמיוני מניסוי מחשבתי מפורסם, הפועל תמיד ברקע וממיין מולקולות. מערכות יוניקס ירשו את הטרמינולוגיה הזאת. דימונים הם גם דמויות במיתולוגיה היוונית, שחלקם טיפלו במשימות שאסור היה להטריח בהן את האלים. מערכת ההפעלה BSD וכמה מנגזרותיה אימצו את ה-daemon כקמע שלהן, אם כי הקמיע הזה הוא וריאציה של השדים המופיעים בעבודות אומנות נוצריות.

מימוש ב-MS-DOS ו-Microsoft Windows[עריכת קוד מקור | עריכה]

במערכת ההפעלה Microsoft DOS, תוכניות דמויות-דימונים מומשו כתוכניות TSR. במשפחת מערכות ההפעלה Windows NT של Microsoft, תוכניות מסוג Windows service מבצעות את הפונקציות של דימונים. הן רצות כתהליכים שבדרך כלל לא יוצרים אינטראקציה עם המסך, המקלדת והעכבר, וניתנים להפעלה על ידי מערכת ההפעלה בזמן האתחול. ב-Windows 2000 ובגרסאות מאוחרות יותר, services (שירותים) ניתנים להגדרה, להפעלה ולעצירה ידנית דרך לוח הבקרה (Control Panel), או דרך שורות הפקודה net start ו-net stop.

עם זאת, כל יישום Windows יכול לתפקד כ-daemon, לא רק services, וחלק מהדימונים ל-Windows יכולים לרוץ כתהליכים רגילים.