שאלת מבחן במערכות הפעלה - האוניברסיטה הפתוחה 2025 - תהליכונים

איזו אחת מהבעיות הבאות קיימת כאשר משתמשים ב- user threads (תהליכונים הממומשים במרחב המשתמש)?
א. חסימת תהליכון אחד תגרום לחסימת כל התהליך.

ב. החלפה בין תהליכונים (context switch) דורשת מעבר לגרעין המערכת.

ג. לא קיימת אפשרות יצירת משתנים לוקאליים לתהליכון.

ד. לא קיימת אפשרות לשלוט על כמות הזמן שכל תהליכון מקבל.
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
האוניברסיטה הפתוחהמועד 922025סמסטר א
תהליכוניםליבהקריאות מערכת
חשבו מה הליבה (kernel) 'רואה' כאשר היא מנהלת תהליכים. האם היא מודעת לקיומם של תהליכונים שרצים במרחב המשתמש?
התשובה הנכונה היא א'.

תהליכוני משתמש (user threads) מנוהלים לחלוטין במרחב המשתמש על ידי ספריית תהליכונים, ללא ידיעת הליבה (kernel). מבחינת הליבה, כל התהליכונים של תהליך מסוים הם חלק מיחידת ריצה אחת (תהליך, או תהליכון ליבה בודד).

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

שאר האפשרויות אינן נכונות:
  • ב': היתרון המרכזי של תהליכוני משתמש הוא שהחלפת הקשר ביניהם מהירה מאוד ומתבצעת במרחב המשתמש, ללא צורך במעבר יקר לליבה.
  • ג': לכל תהליכון, כולל תהליכון משתמש, יש מחסנית משלו, המאפשרת יצירת משתנים לוקאליים נפרדים.
  • ד': ספריית התהליכונים במרחב המשתמש כוללת מתזמן משלה שיכול ליישם אלגוריתמי תזמון שונים (כמו Round Robin) כדי לחלק את זמן ה-CPU (שהוקצה לתהליך כולו) בין התהליכונים.
שאלת מבחן במערכות הפעלה - האוניברסיטה הפתוחה 2025 | prepd