25
ררררררר2002 1 - רררר רררררר ררררר236364 ררררררר2002 http://webcourse.technion.ac.il/236364 ררר ררררר ררררר ר"ר ררר רררררר/רררר רררר

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

  • View
    248

  • Download
    3

Embed Size (px)

Citation preview

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

2002אוקטובר 1

מבנה מערכות הפעלה -236364

2002אוקטובר http://webcourse.technion.ac.il/236364

אסף שוסטר

שקפים ע"פ אלן אזגורי/חגית עטיה

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

2002אוקטובר עמוד2

אדמיניסטרציה

מתרגליםארז חדד )אחראי(, רן, אלינה, נלה–

שעות קבלה14:30-15:30יום ד' – –

קורס קדםמבוא למערכות הפעלה–

חוברת הקורס – בסיס בלבד, הדפיסושקפים!

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

2002אוקטובר עמוד3

אדמיניסטרציה )המשך(

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

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

2002אוקטובר עמוד4

מבוא – למה עוד קורס במע' הפעלה?

עקרונות מע' הפעלה מהווים בסיסלמספר רב של מערכות

מערכות משובצות מחשב–•TV Set-Top Box... ,מע' אחסון נתונים ,

(soft or hard)מערכות זמן-אמת –מע' אוויוניקה, ...•

סביבות תכנות–•Java Virtual Machine

–Grid Computing

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

2002אוקטובר עמוד5

לעומת הקורס"מבוא למע' הפעלה"

מבט השוואתי / ביקורתיבין מספר מע' הפעלה–

התיחסות למדדי ביצוע(, ניצולת latency(, זמן ביצוע )throughputתפוקה )–

(efficiency)יותר תיאורטי

השוואת אלגוריתמים–נושאים מתקדמים

מע' הפעלה מבוזרות–מע' קבצים מקביליות––. . .

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

2002אוקטובר עמוד6

מדוע מערכות הפעלה?משאבים קיימים

)כח חישוב )מעבדביצוע סידרתי של פקודות, –

מס' משתנה של מעבדיםזיכרון

משאב סופי מוגבל– קלט/פלט, למשל

דיסקים )אחסון נתונים(מערך גדול מאוד של בתים–

רשתתשתיות שונות, עם –

הבטחות שונות של זמן, אמינות וכד'

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

2002אוקטובר עמוד7

מדוע מערכות הפעלה? הפשטת משאבים

כח חישובלכל משתמש ו/או אפליקציה, מעבד "פרטי"–

זיכרוןלכל תהליך זיכרון פרטי )גדול יותר מהמשאב הפיסי(–

)דיסקים )אחסון נתוניםמדריכים, מספר שרירותי של קבצים "אינסופיים" –

רשתערוץ "פרטי" בין שני תהליכים, הבטחת סדר, אמינות –

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

2002אוקטובר עמוד8

הפשטת משאבים )המשך(מחיר:ביצועים, ניצולת

כח חישובזימון תהליכים–

זיכרוןניהול זיכרון וירטואלי–

)דיסקים )אחסון נתוניםניהול מע' קבצים, זמן גישה, ...–

רשת–headers יתירות, המרת פרוטוקולים ,

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

2002אוקטובר עמוד9

הפשטת משאבים )המשך(... אבל זה כדאי ...

סדר, מודולריות ניצולת, ניהול יעיל של

משאביםמהי ניצולת המעבד במחשב –

אישי?הגנה

בין משתמשים, בין תהליכים–הסתרת תקלות

סקטור מקולקל בדיסק, איבוד –מנות תקשורת

הבטחת מידע…

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

2002אוקטובר עמוד10

מערכות הפעלההפשטת משאבים כסל שרותים

זיכרוןזיכרון וירטואלי, הקצאת –

זיכרון, איסוף אשפה

מע' קבציםניהול קבצים, ספריות, –

יחידות אחסון

רשתות תקשורתתקשורת בין קצוות–

ניצול משאבים מרוחקים–

מקביליותתהליכים וחוטים–

תיאום–Semaphoresמנעולים ,

קלט/פלט Deviceהפשטה ע"י –

Drivers

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

2002אוקטובר עמוד11

היסטוריהחומרה יקרה ואיטית, כח-אדם זול

–Batch jobs 24, ניצול החומרהx7: IBM S/360

חומרה יקרה ומהירה, כח-אדם זול–Interactive time-sharing: Unix, TSO

חומרה זולה ואיטית, כח-אדם יקרMS-DOSמחשב אישי לכל משתמש: –

חומרה זולה מאוד, כח חישוב רב ,Windows NT, OS/2ריבוי משימות: –שיתוף משאבים בסיסי: דיסקים, מדפסות, ...–

רשתות מהירותSETI@home, Grid Computingהרשת היא המחשב: –

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

2002אוקטובר 12

תקשורת בין תהליכים

1. ניהול תהליכים )חזרה(Process Management

2. תקשורת בין תהליכים )העברת Interprocess הודעות(

communication )message passing(

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

2002אוקטובר עמוד13

מבוא לניהול תהליכים

מאפשרים הפרדה נקיה בין תהליכים משימות שמתבצעות "בו-זמנית"

של פקודותביצוע סדרתי– משתנה ומשפיע על ביצוע התכניתמצב תהליך–

קוד, רגיסטרים, זיכרון, רגיסטר בקרה, מצב כולל:•מצב קבצים פתוחים )מיקום(, וכו'

תוכנית לעומת תהליךתוכנית היא חלק ממצב התהליך–תוכנית יכולה ליצר מספר תהליכים–

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

2002אוקטובר עמוד14

ביצוע תהליכים – דוגמא“vi myfile.txt”Keyboard Device Driver

”Enter“ את התווים שמתקבלים, עד להקשת bufferאוגר ב-–

Command Line Interpreter(forkמיצר תהליך חדש )קריאה ל-–

File Manager”vi“מזהה גישה לקובץ – לדיסק כדי להביא את הקובץ Disk Device Driverפונה דרך ה-–

לזיכרון

Loaderמאתחל את מצב התהליך, ומעביר לו ארגומנטים )מחרוזת –

“myfile.txt”)

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

2002אוקטובר עמוד15

ביצוע תהליכים – דוגמא“vi myfile.txt”)המשך( Memory Manager

מקצה מקום לקובץ ומעדכן את טבלאות המיפוי של –הזיכרון

Process Manager(Ready)התהליך מסומן כמוכן לביצוע –

Schedulerעם הזמן, התהליך נבחר לביצוע ומקבל את המעבד–

File Manager בשיתוף”myfile.txt“פותח וטוען לזיכרון את תוכן הקובץ –

Memory Managerעם ה-

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

2002אוקטובר עמוד16

מעקב אחר תהליכיםתזמון תהליכים

מתבצע ע"י מערכת ההפעלה –מערכת ההפעלה מבטיחה הוגנות–

טבלת תהליכיםעבור כל תהליך Process Control Blockמכילה –

משגר(Dispatcher) הוא לולאהמקבל שליטה; בוחר תהליך לביצוע; משגר את –

תהליך; מקבל שליטה; ...בהמשך נראה –

איך נבחר תהליך •איך תהליכים מתקשרים זה לזה•

ProcessState

Registers

MemoryLimits

FileDescriptor

Table

Priority

ProgramCounter

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

2002אוקטובר עמוד17

(UNIXאופן פעולה כפול )Dual Mode Operation

תהליך יכול להימצא באחד משני מצבים(Kernel Mode)גרעין –

למשל גישה ישירה לקלט/פלט, (Privileged Mode)עם זכויות יתר •

-non)הקוד והנתונים של הגרעין נמצאים כל הזמן בזיכרון •pageable)

מתבצע בהקשר של תהליך המשתמש•

(User Mode)משתמש –עם זכויות מוגבלות, למשל ללא גישה לכל הזיכרון או התקני •

קלט/פלט

מעבר ממשתמש לגרעין(System Call) נעשה ע"י קריאת מערכת –

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

2002אוקטובר עמוד18

(UNIXאופן פעולה כפול )איזורי זיכרון

מרחב הכתובות של תהליךמחולק ל-

–User Spaceניתן לגישה כל הזמן•

–Kernel Spaceניתן לגישה רק כאשר התהליך נמצא •

Kernel Modeב-

טבלאות ניהול הזיכרון לא חייבות Memory)להימצא בזיכרון כל הזמן

Resident)

Virtual Address

Page table Address

0x0

0x1000

0x2000

0x3000

Process Page Tables

Kernel Page Tables

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

2002אוקטובר עמוד19

(UNIXאופן פעולה כפול )(System Calls)קריאות מערכת

מוגדרות כספריה קריאות מערכת”C“של פונקציות

כאשר יש קריאת מערכת מתבצעOperating System Trap

Kernel Space פרמטרים ל- העתקת–שמירת מצב התהליך–Kernel Modeמעבר ל-–

קריאה לפונקציה המתאימה בספריה–

Open)(

Read)(

Write)(

Close)(

Fork)(

Wait)(

Malloc)(

Free)(

Lock)(

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

2002אוקטובר עמוד20

תקשורת בין תהליכיםמטרה

העברת מידע–תיאום–

כיצד )תיסקר signals ו-pipesבאמצעות –

בתרגול( shared)באמצעות זיכרון משותף –

memory)

העברת הודעות באמצעות–(message passing)

תקשורת ישירה ע"י זיהוי מפורש של –התהליכים

•Send / Receive

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

2002אוקטובר עמוד21

בעית היצרן / צרכןProducer/Consumer

תהליך היצרן מכין מידע הנצרך ע"י הצרכןתקשורת סימטרית–

שני התהליכים מזהים•זה את זה

תקשורת אסימטרית–שליחת הודעה לתהליך ספציפי•קבלת הודעה מתהליך כלשהו•

repeatnextp = new item;send)consumer, nextp(;

until false;

repeatreceive) producer, nextp(;consume nextp;

until false;

producer:

consumer:

P1: send)Q, id, msg(; P2: send)Q, id, msg(;

Q: receive)id, msg(;

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

2002אוקטובר עמוד22

תיבות דוארMailboxes

עקיפהמאפשרות תקשורתזוג תהליכים יכול להתקשר דרך כמה תיבות-דואר–

כמה תהליכים יכולים לגשת לאותה תיבה–

מי זוכה?אם כמה תהליכים מתחרים, –

send)mb, msg(

receive)mb, msg(

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

2002אוקטובר עמוד23

תיבות דוארMailboxes

תיבת-דואר בבעלות תהליךרק התהליך יכול לגשת לתיבה–כאשר התהליך מסתיים, התיבה נעלמת–

תיבת-דואר בבעלות המערכת יש פקודות ליצור/להשמיד אותה, ולשלוח/לקבל הודעות–התהליך היוצר מקבל בעלות והרשאת קריאה–ניתן להעביר בעלות, להעניק זכויות קריאה/כתיבה–

למשל בעזרת קריאות מערכת ו/או יצירת תהליך בן•

במימושים מסוימים, כאשר מסתיימים כל התהליכים –המשתמשים, מערכת ההפעלה משמידה אותה )למשל

(use-count=0כאשר

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

2002אוקטובר עמוד24

חוצציםBuffers

הגבלה על מספר ההודעותקיבולת אפס–

Rendez-vous חוסמת עם סינכרוניתתקשורת •

Remote Procedure Callלמשל •

חסומה קיבולת–השולח נחסם כאשר החוצץ מלא•

קיבולת אינסופית–השולח לא נחסם•

בתקשורת אסינכרונית, מתי ההודעה מגיעה למקבל?– – לפעמים כולל זיהוי המקבל (ack)אפשרויות: שליחת אישור •

אסינכרוניתתקשורת {

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

2002אוקטובר עמוד25

טיפול בחריגים

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

הודעות אבודותלמשל בגלל שחוצץ התמלא–המערכת או השולח יכולים לשלוח אותן מחדש–

time-outלמשל, זיהוי ע"י •

הודעות משובשותלמשל בגלל רעש בקו–(checksum, message digest)זיהוי ע"י קודים –