הפונקציה kill

פונקציה זו מקבלת מציין תהליך והורגת את התהליך.

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

בסיום הפונקציה מסמנת את התא של התהליך ב-proctab כתא פנוי.

במידה ואין תהליכים נוספים במערכת ההפעלה, הפונקציה kill מסיימת את פעולתה של מערכת ההפעלה XINU.

נשים לב כי ב-kill מופיעה קריאה ל-resched, במקרה שהתהליך שאנו הורגים הוא התהליך הנוכחי. לכאורה אסור לנו להשתמש ב-resched, כי היא ניגשת אל המחסנית של התהליך שהרגנו, וכבר שחררנו את המחסנית, אולם, kill עטופה ב-disable/restore, כלומר מנענו פסיקות, ולכן ידוע בוודאות כי הזיכרון הראשי נותר ללא שינוי מאז ששחררנו את המחסנית, ולכן מותר לקרוא ל-resched.

תגיות המסמך:

מאת: באסל

תודה

הסברתם את זה, כמו שאר הנושאים, באופן הכי ברור שיש.
שיתוף:
| עוד