מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364...

25
ץץץ2002 © ץץץ ץץץץץץץ1 ץץץץ ץץץץץץ ץץץץץ- 236364 ץץץ2002 http://www.cs.technion.ac.il/~cs236364 )ץץץץ ץץץץץ( ץץץ ץץץץץץץ ץץץ ץץץ

Post on 20-Dec-2015

237 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © 1

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

2002מרץ http://www.cs.technion.ac.il/~cs236364

אלן אזאגורי )מרצה אחראי(

ארז חדד

Page 2: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד2

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

מרציםאלן אזאגורי )מרצה אחראי(–ארז חדד–

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

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

חוברת הקורס – בסיס בלבד

Page 3: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד3

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

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

Page 4: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד4

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

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

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

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

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

–Grid Computing

Page 5: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד5

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

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

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

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

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

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

Page 6: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד6

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

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

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

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

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

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

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

Page 7: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד7

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

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

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

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

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

Page 8: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד8

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

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

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

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

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

Page 9: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד9

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

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

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

אישי?הגנה

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

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

הבטחת מידע…

Page 10: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד10

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

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

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

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

יחידות אחסון

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

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

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

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

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

Drivers

Page 11: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

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: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © 12

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

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

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

communication )message passing(

Page 13: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד13

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

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

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

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

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

Page 14: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

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: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד15

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

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

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

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

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

Memory Managerעם ה-

Page 16: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד16

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

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

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

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

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

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

ProcessState

Registers

MemoryLimits

FileDescriptor

Table

Priority

ProgramCounter

Page 17: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד17

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

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

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

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

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

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

קלט/פלט

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

Page 18: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

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: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד19

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

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

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

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

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

Open)(

Read)(

Write)(

Close)(

Fork)(

Wait)(

Malloc)(

Free)(

Lock)(

Page 20: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד20

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

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

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

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

memory)

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

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

•Send / Receive

Page 21: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

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: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד22

תיבות דוארMailboxes

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

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

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

send)mb, msg(

receive)mb, msg(

Page 23: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד23

תיבות דוארMailboxes

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

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

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

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

(use-count=0כאשר

Page 24: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד24

חוצציםBuffers

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

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

Remote Procedure Callלמשל •

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

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

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

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

Page 25: מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה -236364 מרץ 2002 cs236364 אלן אזאגורי (מרצה אחראי) ארז חדד

2002מרץ אלן אזאגורי © עמוד25

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

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

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

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

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