משהו לא ברור לי:
"בכל Clock של ה Task-Manager הוא עובר על ה List, מקטין את ה Counter של כל האיברים ב List ב-1.
כל איבר שערכו 0 נסגר ומוסר מהרשימה."
אם למערכת אין שעון, למה הכוונה בClock של ה Task-Manager?
ע"י: 1_אורח_כללי
מן הסתם רשימת ה-Task-ים צריכה להיות ממוינת (מיון הכנסה) ואז צריך לבדוק עד ה-Task הראשון שאינו אפס
ע"י: 1_אורח_כללי
יש לך פתרון אחר?
ד"א אם הרשימה מאוד ארוכה אז ונגיד כל ה Tasks ברשימה צריכים להיות מופעלים אז גם אז יהיו טאסקים שצריכים להתעורר (כי סביר להניח שהפעלת טאסק לוקחת יותר זמן מלעבור על אינדקס יחיד ברשימה).
ע"י: 1_אורח_כללי
זה לא יעיל..אם הרשימה מאד ארוכה..עד שתסיים לעבור עליה תפספס טאסקים שרוצים להתעורר....
ע"י: 1_אורח_כללי
יש לי רעיון לפתרון.
קיים List שמכיל את כל ה Tasks שפועלים כרגע, ולכל אחד מהם יש מונה שמייצג את מספר השניות שנותרו ל Task לפעול.
בכל Clock של ה Task-Manager הוא עובר על ה List, מקטין את ה Counter של כל האיברים ב List ב-1.
כל איבר שערכו 0 נסגר ומוסר מהרשימה.
בסיום התהליך ה Task-Manager (המתזמן) בודק אילו Tasks צריך להריץ, מריץ אותם ומוסיף אותם ל List בצירוף זמן הפעולה שלהם.
ככה נמנעים משימוש בשעון.
האם הפתרון שלי נכון?
ע"י: 1_אורח_כללי
מישהו היה בלייבפרסון בראיון שני? כדי לדעת על מה לחזור או מה שואלים (ראיון של מנהלת משאבי אנוש + מנהל פיתוח )
ע"י: 1_אורח_כללי
אהלן
הייתי שם בראיון אתמול
הם שואלים שאלה ענקית אחת
איך תממש מערכת הפעלה שצריכה להפעיל TASKIM כך שכל TASK מגיע למערכת עם זמן מסויים שהוא אמור לרוץ
לדוגמא מגיע ה TASK הראשון שצריך לרוץ עוד 15 שניות, אחרי 2 שניות מגיע TASK נוסף שצריך לרוץ עוד 30 שניות, אחרי 7 שניות מגיע
TASK שצריך לרוץ עוד 2 שניות וכו'...
כאשר יש מתזמן שרץ כל שניה ובודק איזה TASKIM יש להריץ ובמידה ויש מריץ אותם,
הבעיה שאין שעון למערכת, צריך למצוא פיתרון ללא שימוש בשעון...
ע"י: 1_אורח_כללי
לכל TASK יש מספר שמדרג את המקום שלו בתור באופן יחסי לTASK הקיימים וכשהוא מתבצע הוא עף מהמסך
צריך גם להקפיץ כל פעם את ה 10 TASK הראשונים קדימה כדי לדעת מה נישאר ומה עוד הולך להתבצע...