פרק רביעי – תקשורת בין תהליכים פנימיים

Slides:



Advertisements
Similar presentations
While,B:=,0,true while,B:=,1,true N:=,B:=,0,true P1 N:=,B:=,1,true P1 while,end,0,false end,end,0,false P1 N:=,end,0,false P2 while,end,1,false end,end,1,false.
Advertisements

מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 תיאום בין תהליכים : שיטות מתקדמות  שימוש בחומרה למימוש מנעולים  מנגנוני מערכת הפעלה לתיאום : סמפורים, משתני תנאי.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תיאום בין תהליכים : יסודות  דוגמאות לבעיות תיאום  הגדרות : קטע קריטי, מנעולים  אלגוריתם קופת - חולים.
תיאום בין תהליכים: שיטות מתקדמות
פעולות מילון Insert, Delete, Search Binary Search Tree, AVL, 2-3 Tree, Skip List O(log n) האם יש מבנה עם סבוכיות (1)O? לא למפתח כלשהו.
תמחיר תהליך. מערכת תמחיר תהליך מערכת זו נועדה לספק מידע, כמו מערכת תמחיר הזמנה, על עלות המוצרים שיוצרו בתקופה ועל עלות המוצרים שבתהליך הייצור בסוף התקופה.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
1 2 קצת מידע על הבעייה נהגתה ונפתרה על ידי דייקסטרה חומרים בעברית – דוד הראל, אלגוריתמיקה.
מערכות הפעלה תרגול 10 – זיכרון וירטואלי ב- Linux.
יפעת קוליקנט, מכון ויצמן למדע1 פרק 7, אלגוריתם Ra לפתרון בעית הקטע הקריטי במערכות מבוזרות.
המעבדה לבקרה ורובוטיקה 1 חקירה אמפירית של ניתוב תחרותי ברשתות תקשורת מגישים : דרור עמר & איתי ג ' ורג ' י מנחה : ישי מנשה סמסטר : חורף תשס "
אוקטובר מבנה מערכות הפעלה אוקטובר אסף שוסטר שקפים ע"פ אלן אזגורי/חגית עטיה.
הגנה במערכות מתוכנתות תרגול 1 – המחשב האישי הערה: שקפים אלה אינם מהווים תחליף לחומר התרגולים המפורסם באתר הקורס, ומשמשים כעזר הוראה בלבד.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות ושימושים.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
מרץ 2002אלן אזאגורי ©1 זיכרון משותף מבוזר Distributed Shared Memory.
ממשק המשתמש שימושיות או בעצם תכליפאניות?. ISO9241 Web usability is the extent to which a web site enables users, in a given context of use, to achieve.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה מרץ אלן אזאגורי (מרצה אחראי) ארז חדד.
טיפול בקיפאון בעיית הקיפאון הימנעות מקיפאון
מרץ 2002אלן אזאגורי ©1 זימון תהליכים Process Scheduling.
מנפה שגיאות - DEBUGGER מבוא למדעי המחשב (234114) רועי מלמד
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 זימון תהליכים  מדיניות בסיסיות : RR, FCFS, SJF  הערכת זמן ריצה ושימוש בעדיפויות  ריבוי תורים ודוגמאות.
תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 טיפול בקיפאון  בעיית הקיפאון  הימנעות מקיפאון  זיהוי קיפאון באמצעות מציאת מעגלים  אלגוריתם להתחמקות מקיפאון.
כוחות משיכה בין מולקולריים כוחות חלשים כוחות וון דר וולס (Van der Vaals) בנוסף לכוחות החזקים שקיימים בקשרים הכימיים המחזיקים אטומים ביחד קיימים גם כוחות.
מערכות הפעלה חזרה. מערכות הפעלה - שאלות חזרה2 (c) רסקין לאוניד 2005 שאלה 1 int X = 1, p1 = 0, p2 = 0; int ProcessA() { printf("process A\n"); while(X);
טיב פני שטח (טפ"ש) טיב פני שטח- רמת החלקות של המשטח.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
עקרון ההכלה וההדחה.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 סיכום הקורס.
תיאום בין תהליכים : יסודות  דוגמאות לבעיות תיאום  הגדרות : קטע קריטי, מנעולים  אלגוריתם קופת - חולים.
אוקטובר זימון תהליכים Process Scheduling. אקטובר עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית זימון התהליכים –מדדים לאיכות זימון תהליכים.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
מתמטיקה בדידה תרגול 2.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 1 פרק 5 תרשימי מצבים Statecharts למחלקות תגובתיות Reactive Classes הקדמה ודוגמא.
מצגת סוף סמסטר מנחה: ד"ר גבי נקבלי מגיש: ויקטור מרגוליס
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
FAA FAA (int s, int val) { temp = s; s = s + val; return temp; }
מבוא למדעי המחשב סיבוכיות.
בקרה ספרתית CNC.
תקשורת ומחשוב תרגול 1 IP, Classes and Masks.
מבוא לטכנולוגיית מידע בארגון
עבודה עם נתונים באמצעות ADO.NET
מבוא למדעי המחשב הרצאה 1: מבוא כללי מי אני, שעות הקבלה:
אוגרים ומונים – Registers & Counters
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
תרגול 4 – ניהול תהליכים, מבני נתונים למימוש תהליכים
Position determination requirements for Cooperative ITS
Asynchronous programming
Marina Kogan Sadetsky –
הנעה חשמלית.
תקשורת ומחשוב תרגול סוקטים.
Synchronization, Part 2 Semaphores
תהליכים-דייאט: חוטים מוטיבציה חוטי משתמש וחוטי מערכת
Shell Scripts בסביבת UNIX
פרק תשיעי – מדיניות ניהול זיכרון וירטואלי
Computer Architecture and Assembly Language
פרק 3 - תהליכים.
Presentation transcript:

פרק רביעי – תקשורת בין תהליכים פנימיים מבוא למערכות הפעלה תהליכים תזמון תהליכים תקשורת בין תהליכים פנימיים נעילה (תקיעה) תהליכים קלי משקל ניהול זיכרון זיכרון וירטואלי מדיניות ניהול זיכרון וירטואלי מערכת הפעלה עם קוד פתוח Operating Systems - 2010 Shayke Bilu

בעיית יצרן - צרכן/ שרת - לקוח Producer - Consumer Problem Producer Process תהליך יצרני Consumer Process תהליך צרכני Produce Put in buffer Consume Get from buffer BUFFER ה- buffer הוא משתנה משותף לצרכן וליצרן Operating Systems - 2010 Shayke Bilu

התקדמות לאורך זמן ... Producer Consumer 1 2 c2 p1 p4 p3 p2 4 3 t Buffer 3 instead of 2! c1 שני התהליכים מתחילים יחד באותה נקודת זמן והצרכן משתמש בערך התחלתי ישן Operating Systems - 2010 Shayke Bilu

מצב התחלתי מכוון את התזמון וקובע מי מהתהליכים יתחיל ראשון, מי שני וכך הלאה… תמיד גדול הסיכוי שהרצת תהליכים שונים יביאו אותם לנקודת הסיום עם תוצאות שונות Operating Systems - 2010 Shayke Bilu

המקטעים הקריטיים המקטע הקריטי החלק מהקוד שבו התהליך משתנה וקיימת נגישות למשתנים משותפים (shared variables) מניעה הדדית (Mutual Exclusion) שיטה של מניעה אשר מבטיחה שאחד, או מספר תהליכים נמצא/ים במצב קריטי Operating Systems - 2010 Shayke Bilu

מדוע צריכים תהליכים לתקשר? כדי לקיים סנכרון בין ביצועי תהליכים במעבד להחלפת מידע ונתונים ביניהם למניעת ביצוע כפול של פרוצדורות פנימיות לניצול יעיל יותר של משאבי מחשב, עיבוד משימות ושימוש בציוד היקפי Operating Systems - 2010 Shayke Bilu

התנאים לביצוע מקטעים קריטיים 1. לא יכנסו שני תהליכים באותו זמן למקטע קריטי 2. אין לבצע הנחה לגבי מהירות התהליך או לגבי מספר יחידות העיבוד המרכזיות הנדרשות עבורו 3. תהליך מחוץ למקטע הקריטי לא יגרום נעילה לתהליכים שכנים אחרים 4. תהליך לא ימתין עד אין סוף עד לכניסה למקטע הקריטי Operating Systems - 2010 Shayke Bilu

בעיית מניעה הדדית - הרעבה Starvation ידועה גם כבעיה לא מוגדרת של דחייה הגדרה: דחייה לא מוגדרת של לוח הזמנים של תהליך תוך כדי העדפת תהליך אחר על פניו סיבה: בדרך כלל נטייה של מדיניות התזמון של מערכת ההפעלה ( בעיה של אלגוריתם תזמון שגוי) פתרון: יישום צורה מסוימת של הארכת הזמן (“הזדקנות מהירה”) Operating Systems - 2010 Shayke Bilu

בעיה נוספת: נעילה (תקיעה) שני תהליכים (או יותר) נעולים וממתינים לאירוע שלעולם לא יתרחש באופן כללי, A ממתין ל- B לבצע דבר מה ובאותה עת B ממתין ל- A שניהם A ו- B אינם עושים דבר אזי שני האירועים שלהם לא יתרחשו לעולם Operating Systems - 2010 Shayke Bilu

יישום מניעה הדדית Mutual Exclusion שלוש אפשרויות יישום: מתכנת בונה שיטה אשר נטמעת בתוכנית חומרה: ציוד חומרה ייחודי מוקצה ליישום המניעה ההדדית מערכת הפעלה: מקצה שירותים אשר ניתנים לשימוש ע”י המתכנת כל השיטות מבוססות על קוד מסוים עבור: כניסה למקטעים קריטיים יציאה ממקטעים קריטיים הפונקציות סוגרות על המקטעים הקריטיים Operating Systems - 2010 Shayke Bilu

יישום מניעה הדדית Mutual Exclusion יישומים של מניעה הדדית הם: מתוכננים ומבוצעים ע”י המתכנת קשים לביצוע נכון, ישים וללא שגיאות ידועים בחוסר היעילות שבהם כל אלה מבוססים על כך שהמעבד בד”כ תפוס תהליך בודק את מצב המעבד, הוא ממשיך בלולאה עד שהתהליך שהוגדר כתפוס משנה מצבו Operating Systems - 2010 Shayke Bilu

סמפורים (Semaphores) התקדמות נכבדת כלולה במערכות הפעלה מודרניות כגון: Unix, WinME,Win2000, Os/2 סמפור הוא: שלם שאינו שלילי יש לו שתי פעולות בעלות משמעות שאינן ניתנות לחלוקה Operating Systems - 2010 Shayke Bilu

עוד על סמפורים קיימים שני סוגי סמפורים נפוצים: סמפור בינארי שיכול לקבל מצבים של 0 או 1 סמפור מונה שיכול לקבל כל משתנה שלם לא שלילי סמפורים הם יישומי שירותים הניתנים ע”י מערכת ההפעלה המשתמשים בשיטות שהוצגו זה מכבר בדרך כלל ע”י פסילת ומניעת מצבי פסיקות לפרקי זמן קצרים וקצובים מראש Operating Systems - 2010 Shayke Bilu

בעיית יצרן - צרכן פתרון ע”י סמפורים Produce Wait (mutex) Put in buffer Signal (mutex) Wait (mutex) Get from buffer Signal (mutex) Consume CS בתחילה ערכו של סמפור ה - mutex = 1 Operating Systems - 2010 Shayke Bilu

העברת הודעות מאפשרת העברת מידע, נתונים והודעות באופן מסונכרן הפעלת הודעות: שלח (Send) - מחייב יעד/כתובת ותוכן הודעה קבל (Receive) - מחייב מקור/כתובת ותוכן הודעה Operating Systems - 2010 Shayke Bilu