1 מערכות הפעלה הקדמה השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך.

Slides:



Advertisements
Similar presentations
What is an Operating System?
Advertisements

CSC 360- Instructor: K. Wu Overview of Operating Systems.
Processes and threads. תהליכים ותתי תהליכים תהליכים –כל תוכנית שרצה היא תהליך (process) –ניתן להתפצל מתהליך אחד למספר תהליכים, בעזרת הפקודה fork(). הרבה.
מבוא למדעי המחשב לתעשייה וניהול
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,
1 מבוא למדעי המחשב הקצאה דינאמית. 2 הקצאת זיכרון דינאמית  כאשר אנו משתמשים במערכים, אנו מקצים אוטומטית את הזיכרון המקסימלי שנצטרך.  בפועל, אנו משתמשים.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 סיכום הקורס.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
Thursday, June 08, 2006 The number of UNIX installations has grown to 10, with more expected. The UNIX Programmer's Manual, 2nd Edition, June, 1972.
1 מבנה המחשב CPU זיכרון פנימי פלטקלט זיכרון חיצוני.
Inverse kinematics (Craig ch.4) ב"ה. Pieper’s solution נתבונן ברובוט עם 6 מפרקי סיבוב כאשר שלושת הצירים של המפרקים האחרונים נחתכים. נקודת החיתוך נתונה.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 פסיקות  סוגי פסיקות  איך מערכת ההפעלה מטפלת בפסיקות  דוגמא : קלט בעזרת פסיקות.
מכון ויצמן למדע - שמוליק מתוך 8 חישוב מקבילי ומבוזר מה זה יחידה חמישית במדעי המחשב... n ענף מתקדם במדעי המחשב העוסק במערכות ממוחשבות מרובות ישויות.
מערכות הפעלה קורס מס ' מבוא  אדמיניסטרציה.  מהי מערכת הפעלה.  ארגון מערכות הפעלה.
אוקטובר מבנה מערכות הפעלה אוקטובר אסף שוסטר שקפים ע"פ אלן אזגורי/חגית עטיה.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. חלוקת זכרון קבועה מול דפדוף.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 מערכות הפעלה קורס מס '
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
מערכות הפעלה ( אביב 2009) חגית עטיה © 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.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 וירטואליזציה.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה מרץ אלן אזאגורי (מרצה אחראי) ארז חדד.
מנפה שגיאות - DEBUGGER מבוא למדעי המחשב (234114) רועי מלמד
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. ניהול טבלת הדפים. מדיניות החלפת דפים.
תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות.
A. Frank File Organization Various Parameter Issues.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. חלוקת זכרון קבועה מול דפדוף.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
אביב 2004 מערכות הפעלה מערכות הפעלה קורס מס '
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 סיכום הקורס.
תוכנה 1 - תרגול שיעור 10 Pointers (2) שולי לב יהודי
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
A. Frank File Organization Hardware Size Parameters.
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. ניהול טבלת הדפים. מדיניות החלפת דפים.
(C) Yohai Devir January מבנה מחשבים ספרתיים זכרון וירטואלי מבוסס על תרגול של מורן גביש.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 מערכת הקבצים  מבוא : מטרות מערכת קבצים  מנשק המשתמש : פעולות על קבצים, ארגון קבצים, הגנה  תכונות של דיסקים.
Introduction to Basic OS Concepts. Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems.
Kashrut is a mitzvah in the Torah and has been passed on through generations. Kashrut is a chok. this means that we don’t know why we do it but we.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
Yaron Doweck Yael Einziger Supervisor: Mike Sumszyk 1.
שיאון שחוריMilOSS-il מוטיבציה  python זה קל ו C זה מהיר. למה לא לשלב?  יש כבר קוד קיים ב C. אנחנו רוצים להשתמש בו, ולבסס מעליו קוד חדש ב python.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
1 Module 3: Processes Reading: Chapter Next Module: –Inter-process Communication –Process Scheduling –Reading: Chapter 4.5, 6.1 – 6.3.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Introduction to Basic OS Concepts
Object Oriented Programming
Amit Weissenstern JTAG course 2009 Hebrew University Jerusalem Israel
Object Oriented Programming
Formal Specifications for Complex Systems (236368) Tutorial #1
מערכות הפעלה ערן טרומר סמסטר א' תשע"ב
מערכות הפעלה מרצה: ערן טרומר סמסטר א' תשע"ב
מערכות בסיסי נתונים ספרות Database System Concepts/ Korth, Siberschatz
פיתוח אפליקציות אסינכרוניות Windows 10
תהליכים-דייאט: חוטים מוטיבציה חוטי משתמש וחוטי מערכת
Shell Scripts בסביבת UNIX
עקרונות בסיסיים בתכנות Visual Basic
Mid Term review CSC345.
Presentation transcript:

1 מערכות הפעלה הקדמה השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך

2 רלבנטיות מ"ה היא חלק מכל מערכת ממוחשבת מעניינת מבחינת תֶכן והנדסת תוכנה חשוב להבנה כמשתמשים משלבת בעיות פרקטיות ותיאורטית 'קלאסיות' במדעי המחשב

3 מה זה מערכת הפעלה ? מערכת ממוחשבת בדר"כ כוללת חומרה ותוכנה חומרה – מערכת אלקטרו-מכאנית תוכנה - תוכניות ללא תוכנה שתחבר בין השניים...

4 מה זה מ"ה מנשק בין החומרה והתוכניות הפשטה (אבסטרקציה) של החומרה עבור כל התהליכים הרצים במערכת. מחביא את הסיבוכיות של החומרה העומדת בבסיס המחשב ונותנת למשתמש נקודת מבט נוחה יותר.

5 מבט על Kernel OS

6 מטרות מערכת ההפעלה נכונות גבולות (boundaries) על שימוש בזיכרון, תור עדיפויות של תהליכים ושימוש במשאבים נוחות 'מגנה' על המשתמש מהצורך להתעסק עם דרכי ההפעלה של רכיבי החומרה, ניהול הזיכרון וכו'.  כל זאת דרך קריאות מערכת (system calls), מספקת אמצעים בסיסיים לתיאום וסנכרון (synchronization primitives), מערכת קבצים, כלים שימושיים שונים.

7 מטרות מערכת ההפעלה יעילות שימוש במשאבים, שיתוף משאבים, ריבוי משימות (multitasking) הוגנות (בשיתוף משאבים) בין: משתמשים, משימות קיים tradeoff בין הוגנות ליעילות. (להחלפה תוך כדי ריצה יש תקורה)

8 מ"ה מקצה משאבים משתמשים רבים רצים 'במקביל' יע"מ (CPU) זיכרון (RAM, swap, working set, virtual,..) שטח אחסון לקבצים התקני קלט/פלט שעון מ"ה מוצלחת נותנת למשתמשים את האשליה שיש להם את כל המשאבים לעצמם... עד גבול מסוים.

9 מ"ה מנהלת אספקטים מסוימים של הזיכרון מנהלת זיכרון מדומה virtual memory – שכבה שממפה זיכרון אליו התוכנית פונה לזיכרון פיזי. כולל שימוש בדיסק, והחלפת 'עמודי' זיכרון בין הזיכרון לדיסק. מספקת הגנה על דפי זיכרון (read-write protection)

10 קריאות למ"ה System Calls (syscall) התהליכים של המשתמשים מקבלים את שרותי מ"ה דרך system calls אלה הן פונקציות שניתן לקרוא להן במהלך התוכנית. למשתמש (ולתוכניותיו...) אין גישה ויכולת שינוי של מידע פנימי למערכת ההפעלה, אלא רק דרך קריאה לפונקציות אלה (הגנה על מ"ה) בניגוד לפונקציות אחרות של מ"ה, פונקציות אלה בודקות את תקינותם של הפרמטרים שנשלחים אליהם.

11 דוגמאות ל syscalls ב UNIX Process control – fork(), exec(), wait(), abort() File manipulation – chmod(), link(), stat(), creat() Device manipulation – open(), close(), ioctl(), select() Information maintenance – time(), acct(), gettimeofday() Communications – socket(), accept(), send(), recv()

12 we use syscalls all the time… #include main() { : printf(…) : } printf(…) { system(write()) // system call } kernel mode user mode

13 הגנה (syscalls)

14 המבנה של MSDOS DOSI/O Basic I/O System (BIOS) Application program ROM RAM Command DOSI/ODOS device drivers Basic I/O System (BIOS) Application program ROM RAM Commandoper. system

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

16 המבנה של UNIX

17 רעיון שלא כל כך הצליח (מסיבות היסטוריות/מסחריות): microkernel רק רכיבים קריטיים מוגדרים כ kernel מבחינת ה kernel mode. כל שאר הרכיבים זהים במעמדם לתוכניות משתמש. יותר קל להרחיב, להגן וכו'. בפועל: ה kernel של windows, unix, linux מכיל מיליוני שורות. עדיין, יש מיליוני שורות גם מחוץ ל kernel.

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

19 סירוג תהליכים (interleaving) ציר הזמן C B A D תהליכים עוקביםתהליכים מקבילים

20 multiprogramming – כשתוכנית א' מחכה לקלט, הרץ תוכנית ב', וכו' multitasking – החלף בין התוכניות מספיק מהר כך שזה ייראה כאילו כולן רצות במקביל... Multiprogramming/ Multitasking

21 Multiprogramming/ Multitasking כיצד יכולים מספר תהליכים לחלוק יע"מ אחד? מ"ה מאפשרות זאת על ידי: זִמְנוּן תהליכים (process scheduling) הוגן – לכל תהליך ב jobpool יש הזדמנות לרוץ יע"מ (CPU scheduling) הוגן – הקצאת זמן יע"מ לכל תהליך בזיכרון הגנה: אף תהליך אינו רשאי לשנות את המצב של התהליכים האחרים. לשם כך: ניהול זיכרון, הגנה, זמנון יע"מ, ניהול זכרון, בקרת בו-זמניות (concurrency)

22 Multiprogramming CPU I/O Job A Job B time uniprogramming CPU is idle 47% I/O is idle 53% Jobs A and B end at time 36. uniprogramming CPU is idle 47% I/O is idle 53% Jobs A and B end at time 36. Jobs A and B end at time 25. “pure’’ multiprogramming CPU is idle 20% I/O is idle 36% “pure’’ multiprogramming CPU is idle 20% I/O is idle 36% AB Job A JobB Job B CPU I/O time CPU Idle I/O Idle

23 מה בעצם מ"ה עושה? loop forever { run the process for a while. stop process and save its state. load state of another process. }

24 רציפות מדומה (Virtual continuity) תהליך יכול להיות switched-inאו switched out. מ"ה צריכה לתת את האשליה שהתהליך רץ באופן רציף. החלפת הקשר (Context Switching)

25 החלפת הקשר: כשאירוע מתרחש, מ"ה שומרת את המצב של התהליך הפעיל כרגע, ומשחזרת את המצב של התהליך החדש. איזה מידע צריך להישמר ? כל מה שהתהליך הבא עלול לשנות, לדוגמה: Program counter (PC) CPU registers File access pointer(s) Memory (perhaps?)... החלפת הקשר Context switching

26 תהליך יכול לעזוב את היע"מ על ידי ביצוע פעולת קלט/פלט (למשל (getchar() כניסה למצב המתנהwait (למשל על ידי סֵמפור) כניסה למצב השעיה (suspend state), למשל ע"י sleep. עזיבת היע"מ = עזיבה של התהליך הקיים וכניסה של תהליך אחר. זמנון והחלפת הקשר

27 רב מערכות ההפעלה המודרניות (win-NT, Unix...) מאלצות תהליכים לוותר על היע"מ אם הם נשארים שם זמן רב מדי. מערכות כאלה מממשות זִמְנוּן מֻסדר (preemptive scheduling). לפני win95 גרסאות חלונות לא היו מֻסדרות. כיצד זה עובד ? קוצב קבוע (fixed timer) – כלx יח' זמן מחליפים תהליך קוצב משתנה (variable timer) - מ"ה קובעת אחרי כמה זמן מחליפים תהליך זִמְנוּן מֻסְדָר (preemptive scheduling)

28 רב מערכות ההפעלה מספקות מנגנון לקביעת עדיפויות לכל תהליך יש עדיפות בעזרת מנגנון זה, מ"ה יכולה להגיע להוגנות לאילו תהליכים למשל, יש לתת עדיפות גבוהה או נמוכה במיוחד ? עדיפויות

29 מחשבי PC סלולאריים / palm מערכות מבוזרות מערכות 'מוטבעות' (embedded) מערכות הפעלה בכל מקום...