אוקטובר 20021 מבנה מערכות הפעלה -236364 אוקטובר 2002 אסף שוסטר שקפים ע"פ אלן אזגורי/חגית עטיה.

Slides:



Advertisements
Similar presentations
Processes and threads. תהליכים ותתי תהליכים תהליכים –כל תוכנית שרצה היא תהליך (process) –ניתן להתפצל מתהליך אחד למספר תהליכים, בעזרת הפקודה fork(). הרבה.
Advertisements

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.
מבוא למדעי המחשב לתעשייה וניהול
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,
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 מערכות קבצים מבוזרות  מבוא : שקיפות ושמירת מצב.  דוגמה : Network File System.
1 מערכות הפעלה הקדמה השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 סיכום הקורס.
דוד שוורץ, עידן זק, נטע צור וחיה כהן. הפונקציונאליות : המשתמש יבחר קובץ שעליו הוא רוצה לבצע את האנליזה, וילחץ עליו עם כפתור ימני בעכבר. יפתח תפריט ובו.
פה מחלקים דיסקים ?. platter surface Reading head tracks sectors cylinder Magnetic Disk rotating מבנה הדיסק הדיסק מחולק לצלחות (platters) לכל צלחת יש ראש.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 פסיקות  סוגי פסיקות  איך מערכת ההפעלה מטפלת בפסיקות  דוגמא : קלט בעזרת פסיקות.
מכון ויצמן למדע - שמוליק מתוך 8 חישוב מקבילי ומבוזר מה זה יחידה חמישית במדעי המחשב... n ענף מתקדם במדעי המחשב העוסק במערכות ממוחשבות מרובות ישויות.
מערכות הפעלה קורס מס ' מבוא  אדמיניסטרציה.  מהי מערכת הפעלה.  ארגון מערכות הפעלה.
מערכות הפעלה תרגול 3 – תהליכים ב-Linux (1). מערכות הפעלה - תרגול 32 (c) ארז חדד 2003 תוכן התרגול מבוא לתהליכים ב-Linux API לעבודה עם תהליכים מבוא לניהול.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 מערכות קבצים מבוזרות  מבוא : שקיפות ושמירת מצב.  דוגמה : Network File System.
מערכות הפעלה תרגול 10 – זיכרון וירטואלי ב- Linux.
שאלות חזרה לבחינה. שאלה דיסקים אופטיים מסוג WORM (write-once-read-many) משמשים חברות לצורך איחסון כמויות גדולות של מידע באופן קבוע ומבלי שניתן לשנותו.
יפעת קוליקנט, מכון ויצמן למדע1 פרק 7, אלגוריתם Ra לפתרון בעית הקטע הקריטי במערכות מבוזרות.
נובמבר ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems.
מה החומר למבחן ? כל החומר שנלמד בהרצאות ובתרגולים. לגבי backtracking: לא תידרשו לממש אלגוריתם, אך כן להבין או להשלים מימוש נתון. אחת משאלות המבחן מבוססת.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 אפליקציות שרת - לקוח  פרדיגמת שרת לקוח  מושג ה socket  מבנה שרת - לקוח  קצת יותר על רשתות.
הגנה במערכות מתוכנתות תרגול 1 – המחשב האישי הערה: שקפים אלה אינם מהווים תחליף לחומר התרגולים המפורסם באתר הקורס, ומשמשים כעזר הוראה בלבד.
מערכות הפעלה תרגול 6 – חוטים ב-Linux.
ינואר 2003אלן אזאגורי ©1 Object Storage אלן אזאגורי.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 מערכות הפעלה קורס מס '
מערכות הפעלה תרגול 3 – תהליכים ב-Linux (1). מערכות הפעלה - תרגול 32 (c) ארז חדד 2003 תוכן התרגול מבוא לתהליכים ב-Linux API לעבודה עם תהליכים מבוא לניהול.
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 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות ושימושים.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 מימוש מערכת הקבצים  תכונות של דיסקים.  מימושים בסיסיים.  קצת על מימושים מתקדמים.  אמינות מערכת הקבצים.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 וירטואליזציה.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 מערכות הפעלה קורס מס '
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 מערכות הפעלה קורס מס '
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
מרץ 2002אלן אזאגורי ©1 זיכרון משותף מבוזר Distributed Shared Memory.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 וירטואליזציה.
מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה מרץ אלן אזאגורי (מרצה אחראי) ארז חדד.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 זימון תהליכים  מדיניות בסיסיות : RR, FCFS, SJF  הערכת זמן ריצה ושימוש בעדיפויות  ריבוי תורים ודוגמאות.
מערכות הפעלה תרגול 6 – חוטים ב-Linux. מערכות הפעלה - תרגול 62 (c) ארז חדד 2003 תוכן התרגול מבוא לחוטים ב-Linux כיצד גרעין Linux תומך בחוטים עבודה עם חוטים.
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. ניהול טבלת הדפים. מדיניות החלפת דפים.
תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות.
מרץ מערכות קבצים File Systems. מרץ עמוד נושאים מבוא –מטרת מערכת קבצים מנשק למערכת קבצים –פעולות על קבצים –סמנטיקה –ארגון קבצים –הגנה מבנה.
מערכות הפעלה תרגול 1 - מבוא. מערכות הפעלה - תרגול 12 (c) ארז חדד 2003 ברוכים הבאים לקורס מערכות הפעלה! אדמיניסטרציה סקירה בסיסית של ארכיטקטורת IA32 (80386+)
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 זימון תהליכים  מדיניות בסיסיות : RR, FCFS, SJF  הערכת זמן ריצה ושימוש בעדיפויות  ריבוי תורים ודוגמאות.
מרץ 2002אלן אזאגורי ©1 חוטים Threads. מרץ 2002 אלן אזאגורי ©2עמוד נושאים הגדרות –חוטים –חוטים לעומת תהליכים תמיכת מערכת ההפעלה בחוטים דוגמאות –Mach –Windows.
אביב 2004 מערכות הפעלה מערכות הפעלה קורס מס '
מערכות הפעלה תרגול 6 – חוטים ב-Linux. מערכות הפעלה - תרגול 62 (c) ארז חדד 2003 תוכן התרגול סינכרוניזציה בגרעין של Linux מבוא לחוטים ב-Linux כיצד גרעין.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 סיכום הקורס.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 סיכום הקורס.
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
מערכות הפעלה תרגול 1 - מבוא. מערכות הפעלה - תרגול 12 (c) ארז חדד 2003 ברוכים הבאים לקורס מערכות הפעלה! אדמיניסטרציה סקירה בסיסית של ארכיטקטורת IA32 (80386+)
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
Virtual PC 2004 = סל פתרונות לעולם התוכנה עמית מרלוב, MCSE, MCT Windows Client & VPC Regional Director
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #3 Internet Control Message Protocol (ICMP)
(C) Yohai Devir January מבנה מחשבים ספרתיים זכרון וירטואלי מבוסס על תרגול של מורן גביש.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 מערכת הקבצים  מבוא : מטרות מערכת קבצים  מנשק המשתמש : פעולות על קבצים, ארגון קבצים, הגנה  תכונות של דיסקים.
שיאון שחוריMilOSS-il מוטיבציה  python זה קל ו C זה מהיר. למה לא לשלב?  יש כבר קוד קיים ב C. אנחנו רוצים להשתמש בו, ולבסס מעליו קוד חדש ב python.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
שיתוף PDT בין חוטים PDT Thread A Process Descriptor File Object 1 File Object 2 File 1 File 2 pthread_create Thread B Process Descriptor ה PDT משותף לכל.
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 1 פרק 5 תרשימי מצבים Statecharts למחלקות תגובתיות Reactive Classes הקדמה ודוגמא.
תקשורת ומחשוב תרגול 1 IP, Classes and Masks.
פרק רביעי – תקשורת בין תהליכים פנימיים
תרגול 12 – ניהול זיכרון ב-Linux: המשך
תהליכים-דייאט: חוטים מוטיבציה חוטי משתמש וחוטי מערכת
מבוא למערכות מידע פרק 1.
פרק 3 - תהליכים.
Presentation transcript:

אוקטובר מבנה מערכות הפעלה אוקטובר אסף שוסטר שקפים ע"פ אלן אזגורי/חגית עטיה

אוקטובר עמוד אדמיניסטרציה מתרגלים –ארז חדד (אחראי), רן, אלינה, נלה שעות קבלה –יום ד' – 14:30-15:30 קורס קדם –מבוא למערכות הפעלה חוברת הקורס – בסיס בלבד, הדפיסו שקפים!

אוקטובר עמוד אדמיניסטרציה (המשך) מבנה ציון –תרגילים יבשים 3x4% –תרגילים רטובים 2x6% –בחינה סופית 76% –נדרש ציון עובר (55>) בכל תרגיל –ציוני התרגילים משמשים כמגן בלבד –יש לעיין בתקנות הגשת תרגילים באתר הקורס

אוקטובר עמוד מבוא – למה עוד קורס במע' הפעלה? עקרונות מע' הפעלה מהווים בסיס למספר רב של מערכות –מערכות משובצות מחשב TV Set-Top Box, מע' אחסון נתונים,... –מערכות זמן-אמת (soft or hard) מע' אוויוניקה,... –סביבות תכנות Java Virtual Machine –Grid Computing

אוקטובר עמוד לעומת הקורס "מבוא למע' הפעלה" מבט השוואתי / ביקורתי –בין מספר מע' הפעלה התיחסות למדדי ביצוע –תפוקה ( throughput ), זמן ביצוע ( latency ), ניצולת ( efficiency ) יותר תיאורטי –השוואת אלגוריתמים נושאים מתקדמים –מע' הפעלה מבוזרות –מע' קבצים מקביליות –...

אוקטובר עמוד מדוע מערכות הפעלה? משאבים קיימים כח חישוב (מעבד) –ביצוע סידרתי של פקודות, מס' משתנה של מעבדים זיכרון –משאב סופי מוגבל קלט/פלט, למשל דיסקים (אחסון נתונים) –מערך גדול מאוד של בתים רשת –תשתיות שונות, עם הבטחות שונות של זמן, אמינות וכד'

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

אוקטובר עמוד הפשטת משאבים (המשך) מחיר:ביצועים, ניצולת כח חישוב –זימון תהליכים זיכרון –ניהול זיכרון וירטואלי דיסקים (אחסון נתונים) –ניהול מע' קבצים, זמן גישה,... רשת –headers, יתירות, המרת פרוטוקולים

אוקטובר עמוד הפשטת משאבים (המשך)... אבל זה כדאי... סדר, מודולריות ניצולת, ניהול יעיל של משאבים –מהי ניצולת המעבד במחשב אישי? הגנה –בין משתמשים, בין תהליכים הסתרת תקלות –סקטור מקולקל בדיסק, איבוד מנות תקשורת הבטחת מידע …

אוקטובר עמוד מערכות הפעלה הפשטת משאבים כסל שרותים זיכרון –זיכרון וירטואלי, הקצאת זיכרון, איסוף אשפה מע' קבצים –ניהול קבצים, ספריות, יחידות אחסון רשתות תקשורת –תקשורת בין קצוות –ניצול משאבים מרוחקים מקביליות –תהליכים וחוטים תיאום –Semaphores, מנעולים קלט/פלט –הפשטה ע"י Device Drivers

אוקטובר עמוד היסטוריה חומרה יקרה ואיטית, כח-אדם זול –Batch jobs, ניצול החומרה 24x7: IBM S/360 חומרה יקרה ומהירה, כח-אדם זול –Interactive time-sharing: Unix, TSO חומרה זולה ואיטית, כח-אדם יקר –מחשב אישי לכל משתמש: MS-DOS חומרה זולה מאוד, כח חישוב רב –ריבוי משימות: Windows NT, OS/2, –שיתוף משאבים בסיסי: דיסקים, מדפסות,... רשתות מהירות –הרשת היא המחשב: Grid Computing

אוקטובר תקשורת בין תהליכים 1. ניהול תהליכים (חזרה) Process Management 2. תקשורת בין תהליכים (העברת הודעות) Interprocess communication (message passing)

אוקטובר עמוד מבוא לניהול תהליכים תהליכים מאפשרים הפרדה נקיה בין משימות שמתבצעות "בו-זמנית" –ביצוע סדרתי של פקודות –מצב תהליך משתנה ומשפיע על ביצוע התכנית מצב כולל: קוד, רגיסטרים, זיכרון, רגיסטר בקרה, מצב קבצים פתוחים (מיקום), וכו' תהליך לעומת תוכנית –תוכנית היא חלק ממצב התהליך –תוכנית יכולה ליצר מספר תהליכים

אוקטובר עמוד ביצוע תהליכים – דוגמא “vi myfile.txt” Keyboard Device Driver –אוגר ב-buffer את התווים שמתקבלים, עד להקשת “Enter” Command Line Interpreter –מיצר תהליך חדש (קריאה ל-fork) File Manager –מזהה גישה לקובץ “vi” –פונה דרך ה-Disk Device Driver לדיסק כדי להביא את הקובץ לזיכרון Loader –מאתחל את מצב התהליך, ומעביר לו ארגומנטים (מחרוזת “myfile.txt ”)

אוקטובר עמוד ביצוע תהליכים – דוגמא “vi myfile.txt” (המשך) Memory Manager –מקצה מקום לקובץ ומעדכן את טבלאות המיפוי של הזיכרון Process Manager –התהליך מסומן כמוכן לביצוע (Ready) Scheduler –עם הזמן, התהליך נבחר לביצוע ומקבל את המעבד File Manager –פותח וטוען לזיכרון את תוכן הקובץ “myfile.txt” בשיתוף עם ה-Memory Manager

אוקטובר עמוד מעקב אחר תהליכים תזמון תהליכים –מתבצע ע"י מערכת ההפעלה –מערכת ההפעלה מבטיחה הוגנות טבלת תהליכים –מכילה Process Control Block עבור כל תהליך משגר (Dispatcher) הוא לולאה –מקבל שליטה; בוחר תהליך לביצוע; משגר את תהליך; מקבל שליטה;... –בהמשך נראה איך נבחר תהליך איך תהליכים מתקשרים זה לזה Process State Registers Memory Limits File Descriptor Table Priority Program Counter

אוקטובר עמוד אופן פעולה כפול (UNIX) Dual Mode Operation תהליך יכול להימצא באחד משני מצבים –גרעין (Kernel Mode) עם זכויות יתר (Privileged Mode), למשל גישה ישירה לקלט/פלט הקוד והנתונים של הגרעין נמצאים כל הזמן בזיכרון (non-pageable) מתבצע בהקשר של תהליך המשתמש –משתמש (User Mode) עם זכויות מוגבלות, למשל ללא גישה לכל הזיכרון או התקני קלט/פלט מעבר ממשתמש לגרעין – נעשה ע"י קריאת מערכת (System Call)

אוקטובר עמוד אופן פעולה כפול (UNIX) איזורי זיכרון מרחב הכתובות של תהליך מחולק ל- –User Space ניתן לגישה כל הזמן –Kernel Space ניתן לגישה רק כאשר התהליך נמצא ב- Kernel Mode טבלאות ניהול הזיכרון לא חייבות להימצא בזיכרון כל הזמן (Memory Resident) Virtual Address Page table Address 0x0 0x1000 0x2000 0x3000 Process Page Tables Kernel Page Tables

אוקטובר עמוד אופן פעולה כפול (UNIX) קריאות מערכת (System Calls) קריאות מערכת מוגדרות כספריה של פונקציות “C” כאשר יש קריאת מערכת מתבצע Operating System Trap –העתקת פרמטרים ל- Kernel Space –שמירת מצב התהליך –מעבר ל- Kernel Mode –קריאה לפונקציה המתאימה בספריה Open() Read() Write() Close() Fork() Wait() Malloc() Free() Lock() …

אוקטובר עמוד תקשורת בין תהליכים מטרה –העברת מידע –תיאום כיצד –באמצעות pipes ו- signals (תיסקר בתרגול) –באמצעות זיכרון משותף (shared memory) –באמצעות העברת הודעות (message passing) –תקשורת ישירה ע"י זיהוי מפורש של התהליכים Send / Receive

אוקטובר עמוד בעית היצרן / צרכן Producer/Consumer תהליך היצרן מכין מידע הנצרך ע"י הצרכן –תקשורת סימטרית שני התהליכים מזהים זה את זה –תקשורת אסימטרית שליחת הודעה לתהליך ספציפי קבלת הודעה מתהליך כלשהו repeat nextp = new item; send(consumer, nextp); until false; repeat receive( producer, nextp); consume nextp; until false; producer: consumer: P1: send(Q, id, msg);P2: send(Q, id, msg); Q: receive(id, msg);

אוקטובר עמוד תיבות דואר Mailboxes מאפשרות תקשורת עקיפה –זוג תהליכים יכול להתקשר דרך כמה תיבות-דואר –כמה תהליכים יכולים לגשת לאותה תיבה –אם כמה תהליכים מתחרים, מי זוכה? send(mb, msg) receive(mb, msg)

אוקטובר עמוד תיבות דואר Mailboxes תיבת-דואר בבעלות תהליך –רק התהליך יכול לגשת לתיבה –כאשר התהליך מסתיים, התיבה נעלמת תיבת-דואר בבעלות המערכת –יש פקודות ליצור/להשמיד אותה, ולשלוח/לקבל הודעות –התהליך היוצר מקבל בעלות והרשאת קריאה –ניתן להעביר בעלות, להעניק זכויות קריאה/כתיבה למשל בעזרת קריאות מערכת ו/או יצירת תהליך בן –במימושים מסוימים, כאשר מסתיימים כל התהליכים המשתמשים, מערכת ההפעלה משמידה אותה (למשל כאשר use-count=0)

אוקטובר עמוד חוצצים Buffers הגבלה על מספר ההודעות –קיבולת אפס תקשורת סינכרונית חוסמת עם Rendez-vous למשל Remote Procedure Call –קיבולת חסומה השולח נחסם כאשר החוצץ מלא –קיבולת אינסופית השולח לא נחסם –בתקשורת אסינכרונית, מתי ההודעה מגיעה למקבל? אפשרויות: שליחת אישור (ack) – לפעמים כולל זיהוי המקבל } תקשורת אסינכרונית

אוקטובר עמוד טיפול בחריגים כאשר תהליך מסתיים, יתכן... –שתהליך אחר מחכה (או יחכה) להודעה ממנו –שישנן הודעות שנשלחו אליו שלא נקראו הודעות אבודות –למשל בגלל שחוצץ התמלא –המערכת או השולח יכולים לשלוח אותן מחדש למשל, זיהוי ע"י time-out הודעות משובשות –למשל בגלל רעש בקו –זיהוי ע"י קודים (checksum, message digest)