יום שישי, ספטמבר 30, 2011

ליצור תהליך חדש או ליצור נים חדש

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

אמנם בלימודי מערכות תוכנה /ושפות תוכנה אנו לומדים כי עדיף ליצור מקשה אחת של תהליכים פה יש פתרון אחר.
אנו משתמשים באפליקציות אחרות שמבצעות את העבודה בשבילנו ואנו מתקשרים איתם הסיבות : 
  1. במידה ויש דליפת זיכרון ברכיב חיצוני מערכת ההפעלה תהרוג / תחסל את התהליך הסורר ולא תפגע בשאר המערכת.
  2. קל יותר לעבוד עם נושאים של מקביליות
הסיבה ל 1 : 
אם אנו מבצעים קריאה להרצה של התהליך אנו מעבירים את האחריות של התהליך למערכת ההפעלה (במקום בעבודה על נים). אמנם קיימת בעייה אם התהליך הוא תהליך שרץ הרבה זמן והוא שווה ערך באחריות שלו כלפי המערכת.

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

בנקודה הזו מתעוררת הבעיה עם אנחנו צריכים להפעיל פונקציונאל כלשהוא האם אנו צריכים ליצור תהליך חדש או עדיף ליצור נים חדש שיתפעל את העבודה ?

הכלל אצלי אם מדובר במשהוא שלוקח זמן ובעל קוד מסובך תמיד לתעדף תהליך. 

אין תגובות:

הוסף רשומת תגובה