אוקטובר 20021 מבנה מערכות הפעלה -236364 אוקטובר 2002 אסף שוסטר...
Post on 20-Dec-2015
248 views
TRANSCRIPT
2002אוקטובר 1
מבנה מערכות הפעלה -236364
2002אוקטובר http://webcourse.technion.ac.il/236364
אסף שוסטר
שקפים ע"פ אלן אזגורי/חגית עטיה
2002אוקטובר עמוד2
אדמיניסטרציה
מתרגליםארז חדד )אחראי(, רן, אלינה, נלה–
שעות קבלה14:30-15:30יום ד' – –
קורס קדםמבוא למערכות הפעלה–
חוברת הקורס – בסיס בלבד, הדפיסושקפים!
2002אוקטובר עמוד3
אדמיניסטרציה )המשך(
מבנה ציון 3x4%תרגילים יבשים –2x6%תרגילים רטובים –76% בחינה סופית–( בכל תרגיל<55נדרש ציון עובר )–ציוני התרגילים משמשים כמגן בלבד–יש לעיין בתקנות הגשת תרגילים באתר הקורס–
2002אוקטובר עמוד4
מבוא – למה עוד קורס במע' הפעלה?
עקרונות מע' הפעלה מהווים בסיסלמספר רב של מערכות
מערכות משובצות מחשב–•TV Set-Top Box... ,מע' אחסון נתונים ,
(soft or hard)מערכות זמן-אמת –מע' אוויוניקה, ...•
סביבות תכנות–•Java Virtual Machine
–Grid Computing
2002אוקטובר עמוד5
לעומת הקורס"מבוא למע' הפעלה"
מבט השוואתי / ביקורתיבין מספר מע' הפעלה–
התיחסות למדדי ביצוע(, ניצולת latency(, זמן ביצוע )throughputתפוקה )–
(efficiency)יותר תיאורטי
השוואת אלגוריתמים–נושאים מתקדמים
מע' הפעלה מבוזרות–מע' קבצים מקביליות––. . .
2002אוקטובר עמוד6
מדוע מערכות הפעלה?משאבים קיימים
)כח חישוב )מעבדביצוע סידרתי של פקודות, –
מס' משתנה של מעבדיםזיכרון
משאב סופי מוגבל– קלט/פלט, למשל
דיסקים )אחסון נתונים(מערך גדול מאוד של בתים–
רשתתשתיות שונות, עם –
הבטחות שונות של זמן, אמינות וכד'
2002אוקטובר עמוד7
מדוע מערכות הפעלה? הפשטת משאבים
כח חישובלכל משתמש ו/או אפליקציה, מעבד "פרטי"–
זיכרוןלכל תהליך זיכרון פרטי )גדול יותר מהמשאב הפיסי(–
)דיסקים )אחסון נתוניםמדריכים, מספר שרירותי של קבצים "אינסופיים" –
רשתערוץ "פרטי" בין שני תהליכים, הבטחת סדר, אמינות –
2002אוקטובר עמוד8
הפשטת משאבים )המשך(מחיר:ביצועים, ניצולת
כח חישובזימון תהליכים–
זיכרוןניהול זיכרון וירטואלי–
)דיסקים )אחסון נתוניםניהול מע' קבצים, זמן גישה, ...–
רשת–headers יתירות, המרת פרוטוקולים ,
2002אוקטובר עמוד9
הפשטת משאבים )המשך(... אבל זה כדאי ...
סדר, מודולריות ניצולת, ניהול יעיל של
משאביםמהי ניצולת המעבד במחשב –
אישי?הגנה
בין משתמשים, בין תהליכים–הסתרת תקלות
סקטור מקולקל בדיסק, איבוד –מנות תקשורת
הבטחת מידע…
2002אוקטובר עמוד10
מערכות הפעלההפשטת משאבים כסל שרותים
זיכרוןזיכרון וירטואלי, הקצאת –
זיכרון, איסוף אשפה
מע' קבציםניהול קבצים, ספריות, –
יחידות אחסון
רשתות תקשורתתקשורת בין קצוות–
ניצול משאבים מרוחקים–
מקביליותתהליכים וחוטים–
תיאום–Semaphoresמנעולים ,
קלט/פלט Deviceהפשטה ע"י –
Drivers
2002אוקטובר עמוד11
היסטוריהחומרה יקרה ואיטית, כח-אדם זול
–Batch jobs 24, ניצול החומרהx7: IBM S/360
חומרה יקרה ומהירה, כח-אדם זול–Interactive time-sharing: Unix, TSO
חומרה זולה ואיטית, כח-אדם יקרMS-DOSמחשב אישי לכל משתמש: –
חומרה זולה מאוד, כח חישוב רב ,Windows NT, OS/2ריבוי משימות: –שיתוף משאבים בסיסי: דיסקים, מדפסות, ...–
רשתות מהירותSETI@home, Grid Computingהרשת היא המחשב: –
2002אוקטובר 12
תקשורת בין תהליכים
1. ניהול תהליכים )חזרה(Process Management
2. תקשורת בין תהליכים )העברת Interprocess הודעות(
communication )message passing(
2002אוקטובר עמוד13
מבוא לניהול תהליכים
מאפשרים הפרדה נקיה בין תהליכים משימות שמתבצעות "בו-זמנית"
של פקודותביצוע סדרתי– משתנה ומשפיע על ביצוע התכניתמצב תהליך–
קוד, רגיסטרים, זיכרון, רגיסטר בקרה, מצב כולל:•מצב קבצים פתוחים )מיקום(, וכו'
תוכנית לעומת תהליךתוכנית היא חלק ממצב התהליך–תוכנית יכולה ליצר מספר תהליכים–
2002אוקטובר עמוד14
ביצוע תהליכים – דוגמא“vi myfile.txt”Keyboard Device Driver
”Enter“ את התווים שמתקבלים, עד להקשת bufferאוגר ב-–
Command Line Interpreter(forkמיצר תהליך חדש )קריאה ל-–
File Manager”vi“מזהה גישה לקובץ – לדיסק כדי להביא את הקובץ Disk Device Driverפונה דרך ה-–
לזיכרון
Loaderמאתחל את מצב התהליך, ומעביר לו ארגומנטים )מחרוזת –
“myfile.txt”)
2002אוקטובר עמוד15
ביצוע תהליכים – דוגמא“vi myfile.txt”)המשך( Memory Manager
מקצה מקום לקובץ ומעדכן את טבלאות המיפוי של –הזיכרון
Process Manager(Ready)התהליך מסומן כמוכן לביצוע –
Schedulerעם הזמן, התהליך נבחר לביצוע ומקבל את המעבד–
File Manager בשיתוף”myfile.txt“פותח וטוען לזיכרון את תוכן הקובץ –
Memory Managerעם ה-
2002אוקטובר עמוד16
מעקב אחר תהליכיםתזמון תהליכים
מתבצע ע"י מערכת ההפעלה –מערכת ההפעלה מבטיחה הוגנות–
טבלת תהליכיםעבור כל תהליך Process Control Blockמכילה –
משגר(Dispatcher) הוא לולאהמקבל שליטה; בוחר תהליך לביצוע; משגר את –
תהליך; מקבל שליטה; ...בהמשך נראה –
איך נבחר תהליך •איך תהליכים מתקשרים זה לזה•
ProcessState
Registers
MemoryLimits
FileDescriptor
Table
Priority
ProgramCounter
2002אוקטובר עמוד17
(UNIXאופן פעולה כפול )Dual Mode Operation
תהליך יכול להימצא באחד משני מצבים(Kernel Mode)גרעין –
למשל גישה ישירה לקלט/פלט, (Privileged Mode)עם זכויות יתר •
-non)הקוד והנתונים של הגרעין נמצאים כל הזמן בזיכרון •pageable)
מתבצע בהקשר של תהליך המשתמש•
(User Mode)משתמש –עם זכויות מוגבלות, למשל ללא גישה לכל הזיכרון או התקני •
קלט/פלט
מעבר ממשתמש לגרעין(System Call) נעשה ע"י קריאת מערכת –
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
2002אוקטובר עמוד19
(UNIXאופן פעולה כפול )(System Calls)קריאות מערכת
מוגדרות כספריה קריאות מערכת”C“של פונקציות
כאשר יש קריאת מערכת מתבצעOperating System Trap
Kernel Space פרמטרים ל- העתקת–שמירת מצב התהליך–Kernel Modeמעבר ל-–
קריאה לפונקציה המתאימה בספריה–
Open)(
Read)(
Write)(
Close)(
Fork)(
Wait)(
Malloc)(
Free)(
Lock)(
…
2002אוקטובר עמוד20
תקשורת בין תהליכיםמטרה
העברת מידע–תיאום–
כיצד )תיסקר signals ו-pipesבאמצעות –
בתרגול( shared)באמצעות זיכרון משותף –
memory)
העברת הודעות באמצעות–(message passing)
תקשורת ישירה ע"י זיהוי מפורש של –התהליכים
•Send / Receive
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(;
2002אוקטובר עמוד22
תיבות דוארMailboxes
עקיפהמאפשרות תקשורתזוג תהליכים יכול להתקשר דרך כמה תיבות-דואר–
כמה תהליכים יכולים לגשת לאותה תיבה–
מי זוכה?אם כמה תהליכים מתחרים, –
send)mb, msg(
receive)mb, msg(
2002אוקטובר עמוד23
תיבות דוארMailboxes
תיבת-דואר בבעלות תהליךרק התהליך יכול לגשת לתיבה–כאשר התהליך מסתיים, התיבה נעלמת–
תיבת-דואר בבעלות המערכת יש פקודות ליצור/להשמיד אותה, ולשלוח/לקבל הודעות–התהליך היוצר מקבל בעלות והרשאת קריאה–ניתן להעביר בעלות, להעניק זכויות קריאה/כתיבה–
למשל בעזרת קריאות מערכת ו/או יצירת תהליך בן•
במימושים מסוימים, כאשר מסתיימים כל התהליכים –המשתמשים, מערכת ההפעלה משמידה אותה )למשל
(use-count=0כאשר
2002אוקטובר עמוד24
חוצציםBuffers
הגבלה על מספר ההודעותקיבולת אפס–
Rendez-vous חוסמת עם סינכרוניתתקשורת •
Remote Procedure Callלמשל •
חסומה קיבולת–השולח נחסם כאשר החוצץ מלא•
קיבולת אינסופית–השולח לא נחסם•
בתקשורת אסינכרונית, מתי ההודעה מגיעה למקבל?– – לפעמים כולל זיהוי המקבל (ack)אפשרויות: שליחת אישור •
אסינכרוניתתקשורת {
2002אוקטובר עמוד25
טיפול בחריגים
... כאשר תהליך מסתיים, יתכןשתהליך אחר מחכה )או יחכה( להודעה ממנו–שישנן הודעות שנשלחו אליו שלא נקראו–
הודעות אבודותלמשל בגלל שחוצץ התמלא–המערכת או השולח יכולים לשלוח אותן מחדש–
time-outלמשל, זיהוי ע"י •
הודעות משובשותלמשל בגלל רעש בקו–(checksum, message digest)זיהוי ע"י קודים –