click below
click below
Normal Size Small Size show me how
OS lecture 4
Term | Definition |
---|---|
Mutual Exclusion | מניעה הדדית, נועדה למנוע מרוצים. מניעת גישה לאותו משאב משותף בו"ז. |
Race Condition | עבור המתכנת - ה-thread-ים רצים במקביל, למעשה זה לא כך ומכיוון שהמשאבים משותפים יכול להיווצר מצב ש-thread1 התחיל לשנות משאב משותף ובאמצע הביצוע הועבר לthread2 שמנסה גם הוא לשנות משאב משותף. התוצאה- מרוץ מי יתוזמן קודם וישנה את המשאב. |
Busy Wait/Spin-Lock | לולאה כמו ;( while(lock!=0 החוט ממשיך לעבוד בזמן שהוא מחכה. אם מממשים את ה-lock של פתרון 1 ל-mutex באמצעות busy wait אז נוצר spin lock. |
Peterson's Algorithm | אלג' ליצירת מניעה הדדית |
TSL Instruction | פתרון בחומרה למניעה הדדית- TSL זו פקודה אטומית (פקודה יחידה-> אי אפשר לקבל באמצע פסיקה). TSL RX,lock מבצעת 2 דברים: (1) שמה את lock מהזכרון לרגיסטר (2)משנה את התא בזיכרון ל-1 (lock=1). [קוד לlock עם פק' TSL שקף 23] |
Priority Inversion | מצב שקורה גם בפתרון טוב למניעה הדדית: כשיש עדיפות סטטית ב-OS. ננית ש-L הצליח להכנס לקטע קריטי. בגלל העדיפות ה-OS תתזמן דווקא את H וככה L לא יתקדם ולא יצא מהקטע הקריטי (וגם H לא יוכל להכנס)-> שניהם תקועים. |
Producer-Concumer Problem | תור (FIFO) בגודל סופי ושני חוטים - אחד מייצר ושם בתור, שני צורך מהתור. יצרן-צריך לחכות אם התור מלא, צרכן-לחכות אם התור ריק. |
Semaphore | מנגנון של OS לפתרון בעיית יצרן-צרכן. יש פונקציית Up ופונקציית Down |
Binary Semaphore/Mutex | סוג של semaphore שמשמש למניעה הדדית. Semaphore=1 ואז בכניסה לקטע קריטי- down ביצוע קטע ואז up. |
Message Passing | כששני תהליכים רוצים לתקשר כמו יצרן-צרכן. הבעיה- אין להם זכרון משותף. הפתרון- send,recv שני sys calls של העברת הודעות. |
Read-copy-update | שיטה לעדכון מבנה נתונים (למשל עץ) באופן בטוח ללא שימוש ב-locks. |
barrier | ממתין עד שכל התהליכים יגיעו לנקודה מסויימת, ורק אז כולם יכולים להמשיך |
livelock | שני תהליכים מבצעים את אותן פעולות בצורה מחזורית, בלי לבצע שום פעולה "משמעותית". למשל, בפילוסופים הסועדים, רק מרימים ומורידים מזלגות בלי לאכול |
Deadlock | קבוצה של תהליכים נמצאת ב-deadlock אם כל-אחד מהתהליכים בקבוצה מחכה לארוע שרק תהליך אחר בקבוצה יכול לגרום לו. |