גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון...

97
םםםם ם"םnisim761 J תתתתתת תתתתת תתתתתתתתת( 89-288 – תתתתת) ת' תת"ת/ )תתתתתת( תתתתת תתתת םםםם םםםםם: םםםםם60% , םםםםםםםם40% םםםם( 3-4 םםםםםם םםםםם םםםםC , םםםםםם) םםםםםם םםםםםםםם:www.cs.biu.ac.il/~ariel/os.html םםם םםםםםםם( םםםםםם:) םםםםםםwww.cs.biu.ac.il/~ariel/download/os288 םםם םםםםם םם םםםםםם םםםםםם םםםםםםם2-4 םםםםםם( 'םםםםם:)' םםםםםhttp://u.cs.biu.ac.il/~ariel/download/fo287 / ם םםםם םםםםםםםםםםםםם( ) םםםםםם םםםםםם םםםםםם- םhigh-learn םםםםםם:http://hl2.biu.ac.il / תתתתת תת'1 - 19.10.09 םםםם[ os1-1 int ] םםםם םםםםםם םםםםםם םםםםםםםםםםםם םםםםם.םםם[ םםםםםםם םםםםםם םםםםםם םםםםםם םםםםםםpdf , םםםםם םם]. םםםםםםםם םםםםם םםםם- ם40 םםםםםם םםםםםם םםםםםםם םםםםםםם- , םmain frame . םםםםםםם םםםםםםם םםםםםם םםםםםםם םםםםם םםםם- ם80 . םםםם םםםםם םםםםםםם( םםםםם) םםםם םם"םםםםםם( םםםםם םם) םםםםםםcpu )central processing unit( , םםםםםם םםםםםםםם םםםםםם ם. םם םםםםםם ם"ם םםםםם םםםםםם: םםםםםם םםםםםםםםםםםםם- םםםםםם: םםםםםםםם( םםםםםם םם, םםםםםםםםםם,) םםםם םםםםםםם, םםםםםםםם.. םםםםםם םםםםםם םם םםםםםםם: םםםם םםםםםם ם , םםםםם םםםםם.. םם םםםםםםם םם םםםםםם םםםםם? םםםםם םםםםםםם םםםםםםם םםםםםםםםםםם, םםםםםםםםםםם, םםםם םםםםםם.. םםםם םםםםם םםםםםם םםםםם םם םם םםם, םםם םםםםם םםםםםם[ םםםם םםםםםם םםםם, םם םםםםםם םםםם..] םםםםם םםם םםםםםם םםםםםםם. םםםםם םםםםםם םםםםם םםםםם םםםםםםםם םםםםםם םם ם םםםם םם םםםםם םםםםם םםםםם םםםם. םםםםםם םםםםם םםםםם םםםםם: םםם םםםםם םםם םםם םםםם- םsystem bus 'םם( םםםםם)' םםםםםם םםם םם םםםםםם( םםםםם ם) , םםםם, םםםםם םםםםםם םםםםם: םםםםם םםםםם ם , םםםם, םםםםםם םםםםםםםם. םםםםם םםםםם. םםםםםםםםםם( word .)..

Upload: others

Post on 20-Jan-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

)הרצאות( / א' תש"ע ( – סמסטר 89-288 ) לביולוגים הפעלה מערכות פרנק אריאל

לינוקס( , בסביבתC בשפת תכנות תרגילי3-4 )יהיו40% , התרגילים60% הציון: המבחן הרכבwww.cs.biu.ac.il/~ariel/os.htmlהסילאבוס:

www.cs.biu.ac.il/~ariel/download/os288המצגות(: נמצאות )בו הקורס אתר קבצים'(: 'ארגון )מהקורס2-4 להרצאות המצגות נמצאות בו הקורס אתר

http://u.cs.biu.ac.il/~ariel/download/fo287//http://hl2.biu.ac.ilבכתובת: high-learn ה- במערכת נמצאותמהמרצה( )ועדכונים ישנות צגותמ

19.10.09 - 1מס' הרצאה[os1-1 int ]מצגת , לטובתpdf בפורמט מטורנט להוריד הצלחתי מהספרים ]חלק מומלץ. הביבליוגרפיה ברשימת הראשון הספר

שמעוניין.[ מי לראשונה הופיעו האישיים . המחשביםmain frame, ה- הגדולים המחשבים להופיע התחילו40ה- שנות באמצע.80ה- שנות באמצע ,cpu (central processing unit) מרכזית( או עיבוד )יחידת יע"מ יותר( הנקרא )או ממעבד מורכב מחשב

. ןוזיכרו חיצוניים התקנים

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

? הפעלה מערכות של החשיבות מהנתונים.. לארכיטקטורה, אלגוריתמיקה, מבני הקשורים מרכיבים מכילה

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

של יעיל ניצול לצורך השונות הדרישות בין התנגשויות , פותרתןזיכרו אותו על זמן באותו הרצות לתוכניותהמשאבים.

90 מתוך 1 עמוד

מנשק מהווה אלו, היא כל את מנהלת ההפעלה מערכת בין המקשר[ממשק.. אומרים לומר, לא הנכונה הדרך ]זו

להיות צריכה ההפעלה והמשתמש. מערכת החומרה באופן המחשב משאבי את תנצלש כך למשתמש ידידותית

בין הפרדה = מרכז(. יש )הליבה הבסיס זה יעיל. החומרה של לחלק התוכנה בתוך נוספת והפרדה לתוכנה חומרה

ה- בעצם הוא בין המחבר המחשב: הקו מערכת ארגוןsystem busהחלקים כל בין המערכת'( המקשר )'פס

בין הנתונים להעברת משמשו, מעבד, בקרים( ןזיכרו)

המחשב: מרכיבימעבד, התקניםןזיכרו – חומרה ,

חיצוניים.הפעלה. מערכתלמשל תוכנות( word.)..המשתמש J

Page 2: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

את משרתת אנושי, המערכת היבט – היישומים להרצת סביבה המשתמש, מספקת של הפקודות מבצעת .CLI = command language interfaceוהמכונה. המשתמש בין מנשק המשתמש, מהווה

וירטואלית הפעלה מערכת – יותר רביעי, מודרני היבט (virtual machineאוסף ,) תוכנה הרחבות של במגע. איתה בא שהמשתמש זו היא ביותר הגבוהה שהרמה

[eve – לו ענתה וחווהmadam i'm adam – לחווה אמר פלינדרומית: אדם ]בדיחהmemory = למשל ןזיכרו( RAM .)storageדיסקטים, דיסקים(. זמזומילה כגון חיצוניים )התקנים = החסן =

buzzword. רגע בכל שרץ ההפעלה מערכת של המינימלי אוניברסלית. החלק מקובלת הגדרה הפעלה: אין למערכת הגדרה

. kernel – נתון

הפעלה מערכות של אבולוציה [os1-2 int ]מצגת תמיכה חדשים, לספק חומרה וסוגי חומרה שדרוגי עם להתמודד מסוגלת להיות צריכה הפעלה מערכת

לאינטרנט(. חיבור )כגון חדשים בשירותים

שהוא לארוחה אותנו יזמין הוא מרוצה, למחרת והוא ערב לארוחת חבר מזמינים גסטרונומית: כאשר ]בדיחה[J בחזרה אותנו מאכיל כביכול , הואfeed-back נקרא בעצמו. הדבר בישל

לקוח שנכנס – ברגעopen shop) נתון רגע בכל יחיד משתמש עם רק להתמודד ידעו המוקדמות המערכות מאד היו הראשונות מנוקבים. המערכות םכרטיסי היו למערכת בו(. הקלטים רק וטיפלה נסגרה החנות

) הקסה-דצימלי לבסיס ( ובהמשך8) אוקטלי לבסיס התקדמו מכן בינאריים. לאחר קלטים פרימיטיביות, קיבלו כרטיס, מידע למערכת: קריאת הנחוץ המידע כל את הכילו התוכניות כל בסיביות. בתחילה לחסוך ( כדי16

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

(.malware) נוזקות ושאר וירוסים היו באבטחה; לא היה היתרון

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

)קיבוץ אחרת בשפה לרוץ צריכות שהיו התוכניות כל את מכן מסוימת, לאחר בשפה לרוץ צריכות שהיו התוכניות )'משלח'(.dispatcher אחראי היה הזה הקיבוץ לסוגן(. על בהתאם תוכניות

90 מתוך 2 עמוד

Page 3: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

התקן על עבודות מספר ממקם המחשב שתרוץ( שלו, מפעיל רוצה שהוא )התוכנית העבודה את מוסר המתכנת . היתרוןbatchב- עבודה כל של הביצוע את 'מוניטור' מנהלת בשם תמיוחד מחשב המחשב, תוכנית של הקלט

דומים. מסוגים עבודות קיבוץ ( ע"יsetup) האתחול זמן בחסכון הוא

resident monitorהקלט, הטענת כרטיסי ותרגום הזנה של מרכיבים ההפעלה, כלל מערכת של – הניצן את תשבש מסוימת שעבודה זמן. אסור באותו הרצה לעבודה הדרושים ההתקנים והפעלת הרצויות התוכניות

לרוץ, בעצם לעבודה מאפשרmonitorשה- היא אפשרית . בעיהmonitorה- של הקוד יושב עליו ןבזיכרו החלק השליטה את החזירה ולא אינסופית ללולאה נכנסה התוכנה ואילו המחשב משאבי על השליטה את לידיה מעביר

למחשב לאפשר / פלט, כדי בקלט ( שטיפלוoffline operation) לווין מחשבי הוסיפו . בהמשךmonitorל-העבודות. של לריצה יותר זמין להיות המרכזי

זמן, כדי באותו המרכזי ןהזיכרו על שמורות עבודות ( – מספרbatch multi-programming) מרובה תכנות להיות המעבד ניצולתל מאפשר . זההדרושות ההכנות את תבצע הבאה אחת, התוכנית עבודה של ריצה שבזמן באופן התוכניות בין האלו המעברים את לבצע כדי יותר חכם להיות תושב' צריך שה'פקח יותר. כמובן גבוההלרוץ. שצריכות התוכניות רשימת לו יש כך לצורך.ויעיל מהיר

[os1-3 int ]מצגתtime-sharingבין מעברים מבצע הבודד. המעבד מהמשתמש יותר מהיר יעילה. ההיגיון: המחשב זמן – חלוקת

משניה(. פחות )של מהיר תגובה זמן מהיר. דרוש באופן העבודות

[J. שייטען. לסרט כשמחכים מתבאסים , כיworld wide wait פירושוWWW – אינטרנטית ]בדיחה

real-time systemsלעבוד שצריכות – מערכות ( 'ב'ספי-זמןdead-linesסביבת .) hard RTעמידה דורשת סרט לטעינת שמחכים )כמו להתעכב יכולה ברשת מולטימדיה כגוןsoft RT סביבת ואילו הזמנים בלוח תעיקשאינטרנט(. באתר

, שיגורdoom במשחק כדי תוך ישחק קרב בספינת ההגנה טילי ירי מנגנון על האחראי אם – מלחמתית ]בדיחה[doom.. J יהיה ואכן תופצץ יתעכב, הספינה הנגדי הטיל

personal / desktop computersבעל הוא מחשב. המחשב מול משתמש של למצב מעגל, חזרנו – סגירת מעבדים, של ריבוי, dual / quad שהם מעבדים יש כבר יחידה. כיום תוכנית מתבצעת נתון רגע יחיד, בכל מעבד

: רב-מעבדים מערכות של סוגיםבמקביל. תוכניות מספר להריץ שמאפשר דבר.slaveה- למעבדי העבודות ( אתschedule )מלשון ומזמנן ( השולטmaster) אחד מעבד – א-סימטרי(1) אותה של זהה עותק מריץ מהמעבדים אחד ( – כלSMP, symmetric multi-processing) סימטרי(2)

SMPב- תומכות מודרניות הפעלה עליו. מערכות שרצות המשימות את לעצמו מזמנן מעבד הפעלה, כל מערכת. ?(core 2 duo מחשב יש לכם )גם

90 מתוך 3 עמוד

היכן המוניטור יודע בעצם שאלה: כיצד עבודה, היכן / מסתיימת מתחילה בקלט

הנתונים, לאיזה מתחיליםו הקוד מסתיים הזה המידע את?עבודה.. כל שייכת סוג

resident)תושב' ל'פקח העבירו

העבודה, במקביל: קריאת בעצם היו הפעולות יקר שהדבר שלה. כמובן הפלט והדפסת הרצתה – הפעלהSpoolמחשבים. מספר צריך יותר, כי

עבודה של ריצה כדי פעולות: תוך של מקבילית הבאה העבודה של הקלט קריאת אחת, נעשית

הקודמת. החסרון: העבודה של הפלט והדפסת על רצה אחת משתמש תוכנית רק כאשר

מהזמן (, חלקuni-programming) המחשב עבודות, של ריצות בין המתנה על מתבזבז

Page 4: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

Clusteringפלט. קלט של גבוהה מהירות שמאפשר ביניהן, מה המחוברות מחשב מערכות )אישכול( – מספר / מהירים. מקביליים , חישוביםHPC – האשכול משותף. מטרות ןזיכרו וגם נפרדים תזיכרונו גם מכילות

Networked systemsניסיון – מבוזרת מערכת גם מערכת-רשת, יש רשת. לעומת דרך המחוברים – מחשבים במערכת. המחשבים ריבוי כל את לנצל מחשב-על, היודע של יותר, סוג לשקיפה רשתית מערכת להפוך

26.10.09 - 2מס' הרצאה

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

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

. אלוword , מילהbyte , ביתnibble , נגיסהbit בסיסיות: סיבית יחידות4 יש הפנימי ןהזיכרו של בהיררכיה(. short )לדוגמה שלהם / כפילויות חצאים המכילים משתנים יש כי בסיסיות יחידות

90 מתוך 4 עמוד

Page 5: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

bit – סיביתפיזי לוגיBit = binary digit Yes \ no

בינארית False \ true

Bit is the atomic unit of computer science

On \ off

nibble- נגיסהפיזי לוגי

) מבית (, חציbits 4) ביטים4 של רצףhalf byte)

0, מ-16 )בסיס הקסה-דצימלי תו(F עד

( קטןconstant) קבוע

byte – ביתפיזי לוגי

2 של רצףנגיסות

,offset , היסטsymbol , סמלchar תוconstant קבוע

word – מילהפיזי לוגי

Sequence of 2 \ 4 \ 8 bytes integer / מספר שלם או32, 16 היא הארכיטקטורה אם תלוי ביטים64

\ address / מצביע מעןpointer

field \ value / ערך שדהvariable משתנה

ברצף. זה אחרי ש'עוקבים' זה דברים של אוסף – עברית: מעקובת קצת ביטים.32= נגיסות8= בתים4= מילה

.device , התקןtrack , מסילהblock , גושsector החיצוני: מגזר ןבזיכרו בסיסיות יחידות4מקטע( – למגזר התקני )השם השונות ןהזיכרו יחידות בין להעברה האטומית , היחידהsector – מגזר

פיזי לוגי של רצף

מיליםrecord \ structure רשומה

מספרים.. כמה המכיל תתי-שדות: תאריך של )קבוצהgroup field קבוצתי שדהושנה( חודש יום

סטודנט( של קורסים )רשימתperiodic field מחזורי שדה

block – גושפיזי לוגי

מגזרים של רצף logical לוגית רשומהrecord

ןוהזיכרו הדיסק בין המינימלית העברת-המידע יחידתהפנימי

\ array / מחרוזת מערךstring אחסון )אזורbuffer מכלאזמני(

\ page / מסגרת דףframe

track – מסילהפיזי לוגי

של רצףגושים

קובץfile

device – התקןפיזי לוגי

90 מתוך 5 עמוד

Page 6: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

של רצףמסילות

database נתונים מסד

בעלי קבצים של אוסףלוגי הקשר הקשר בעלי קבצים סדרת

לוגי

, דוגמאות:disk = file האנלוגיה יותר. קיימת או אחד קובץ = מכיל מסילות, דיסק מספר = מכיל מודל: התקןריק. קובץ מקבלים כביכול לדיסק, בפירמוטimage ליצור ניתן

[fo3-1 mem ]מצגת מחשב ארכיטקטורת

control ואילו עוברים הנתונים בהם החוטים אלוdata path) חלקים: המעבד3ל- נחלקת המחשב מערכת(.memory) ןחיצוניים, הזיכרו הנתונים(, התקנים את שמעביר הבקרה מרכיב הוא

: השונים ן הזיכרו סוגי של הטכנולוגיה להערכת דרכים.addressable unit מעינה ליחידת גישה זמן–( access time) גישה זמן(1)

הגישה זמן יותר, כך גבוהה ןהזיכרו שרמת ולביצועים. הנחה: ככל למהירות הפוך ביחס הוא גישה זמןיותר. קצר

/GB / ג'יגה- MB / מגה- KB/ קילו- / בית )סיבית היחידה של ןהזיכרו גודל נפח– capacity קיבולת(2)(.TRטרה- לשם המקור אפסים.. וגם100 עם מספר – מיליונר?": גוגול להיות רוצה ב"מי לזכות שיעזור ]משהו

google] ₪ ג'יגה(, למשל )למשל גודל )דולר( ויחידת מטבע של מרכיב מכיל– cost per unit ןזיכרו ליחידת עלות(3)

.MBל- יותר. נמוכה קיבולת ובעל יותר יקר יותר, הוא מהיר ןשהזיכרו כלל: ככל

יותר. נמוכים בביצועים כך על נשלם יותר, כמובן מהזול השאר ואת מהיקר ניקח מהזכרון חלק המחיר, רק בשל

: ( main memory מה- )חלק ת זיכרונו של דוגמאות צריך היה אחיד. )כביכול ובזמן ישיר באופן מען לכל לגשת , אפשרRAM – random access memoryא()

החשמל זרם אליו יופסק (, אםvolatile'נדיף' )= ןזיכרו עליו( זהו לכתוב גם ניתן כיRWM להיקראייפגע. שעליו המידע

(. עליוRAMל- דומה הגישה )מבחינת ממנו לקרוא רק שאפשר ן, זיכרוROM – read only memoryב() לכתיבה. נקרא נחסם עליו, הוא המידע ה'צריבה' של ( ולאחרbios) הבסיסית ההפעלה מערכת יושבתייפגע. לא החשמל, הוא זרם אליו יופסק (, אםnon-volatileנדיף' )= 'לא ןזיכרו

מחדש. לתכנות הניתןPROM (programmable ROM) – ROMג()אלקטרונית. בצורה לתכנות הניתןE2PROM – ROMד()

גישה: וזמני גדלים של פירוט , עםןזיכרו למדרגי דוגמאות

90 מתוך 6 עמוד

הנמוכה וחיצוני. מהרמה פנימי ןלזיכרו נחלק ןהזיכרו מדרג רג'יסטר. cache ראשי ןזיכרו מגנטי לגבוהה: דיסק

הםflash / התקןSSD (solid state disc)/ דיסק-און-קיאלקטרוני. דיסק של דוגמאות

RAM, random accessה- )"ג'וקים"( הוא הראשי ןהזיכרו

Page 7: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

(10-9) = ננו-שניהns(, 10-3) = מילי-שניהmsזמנים: ת הזיכרונו– storageהפנימי, ןהזיכרו של תת-מדרג– memory(: 1מס' בהרצאה גם )הוזכר חשוב הבדליותר. ארוך לטווח

הכסף..([ את בו )שטומנים =מטמוןcacheבעברית: וגםcash הרבה עולהcacheכספית: ]בדיחה

לכתוב )ניתן המידע את לשנות ניתן האם– reversibilityמנדיפות, ההפך– permanencyחשובים: מושגיםעליו(.

.WORM – write once, read many לפעמים נקראים תקליטורים

[fo3-2 mem ]מצגתדולק. המחשב עוד כל שוטפת, פעיל לפעילות למחשב דרוש – פנימי ןזיכרויחסית. גדולה קיבולת בעל אחסון אמצעי – חיצוני ןזיכרו

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

כדוגמת אל-פסק , מערכתUPS לכתיבה.. הפתרון ניתן לא אך הפעלה למערכת נדיף, מתאים לא פנימי מהזכרון ומונעים לפעולה נכנסים החשמל, הם בזרם / הפסקה תנודה יש . כאשרוגנרטורים מצברים

UPS נוסיף הנדיפות. אולי לבעיית מוחלט פתרון לא זה ולכן ליפול יכולה כזו מערכת גם 'להתנדף'. אך ,flash יותר: הבזק טוב [ פתרוןJהשומר? על שומר יעיל. ]בדיחה: מי הראשוני..? לאUPSל- משני

שנשמרת שלנו המחשבים של התצורה נדיף. כל לכתיבה( ולא גם )משמש הפיך פנימי ןזיכרו טכנולוגיית מבחוץ, שמחבריםUSB דיסק-און-קי ההתקן עם להתבלבל . )לאflash על להדלקה, נשמרת כיבוי בין

בטכנולוגיה.( החסרון: העלות משתמשים מהמחשב, אנו פיזי חלק שיהיהflash ןבזיכרו מדובר כאןאיטית. הכתיבה ומהירות גבוהה הכלכלית

את נפתור (, כיצדUSB )כדוגמת חיצוני ןזיכרו למחשב. ללא ממחשב נתונים העברת– mobility ניידות(2)ברשת. מידע נתונים, העברת תקשורת ע"י הניידות? ניתן בעיית

מחשבים, נגבה בין תקשורת ע"י נפתור זו בעיה הפנימי. גם ןשבזיכרו הנתונים גיבוי בעיית– backup גיבוי(3)מטרתו. שזו נוסף מחשב של פנימי ןבזיכרו שלנו המחשב את

חם תוסף המחשב? ע"י כיבוי ללא מקולקל רכיב נחליף או חדשים רכיבים נתקין איך– upgrade שדרוג(4)hot-plugמגיבוי יותר יעיל עובד. )פתרון שהמחשב בזמן רכיבים / להחליף להוסיף המאפשרת , טכניקה

שלנו.( למחשב מחדש הטענתו ואז חלופי מחשב על המידע למידע )ביחס יותר נגיש אמנם לרשת שמחובר פנימי ןבזיכרו המאוחסן מידע– security אבטחה(5)

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

ע"י מוגבל הפנימי ןהזיכרו גודל– finite internal addressing space סופי ןזיכרו מעינה מרחב(6) בעצם (. זה2n) ןהזיכרו מרחב גודל את נתון, קובע ( במעןn) הסיביות המחשב. מספר ארכיטקטורת

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

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

ההידור אוגרים. לאחר בין והשוואה חיבור פעולות , מבצעיםןהזיכרו מדרג של ביותר הגבוהה ברמה מהמעבד. חלק במחשב.( שהם אוגרים64 או32, 16כ- יש מכונה. בדר"כ לשפת תרגום נעשה

שלמה. תוכנית לאחסן יוכלו אוגרים, לא מאד מעט החסרון: יש היא פנימי. הגישה ןלזיכרו מיליון( יחסית )פי איטי הגישה זמן– access time \ size גישה / גודל זמן(2)

להתגבר. נוכל לא זה קושי בודדת. על לסיבית לגשת וקשה סיביות אלפי של לגוש

90 מתוך 7 עמוד

Page 8: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

משמעותית גדולה היא אם סופית, גם היא החיצוני ןהזיכרו של תת-המדרג כמות גם כי מניחים אנו(3) סופי, נתון ברגע למחשב לחבר שניתן ההתקנים מספר הפנימי. א-ב-ל)!( אמנם ןהזיכרו של מהכמות

הכונן בתוךCDה- בו מקוון ממצב )החלפה בחדשה ( ולהחליפהCD) כלשהי מדיה להחליף ניתן אבל ליהנות בעצם 'שליפה', נוכל מדיה ויש לכונן(. היות מחוץ נמצאCDה- בו לא-מקוון למצב במחשב

(. Jפינקי? העולם, נכון על להשתלט נוכל גם אחד יום )ואולי אינסופית מאספקה

החיצוני. ןהזיכרו למדרג וגם הפנימי ןהזיכרו למדרג גם זקוקים מסקנה: אנו

[fo3-3 mem ]מצגת הנמוכות( אך )מהרמות מוגבלת ובלתי גדולה קיבולת בעל ןזיכרו של אשליה : נתינתןהזיכרו היררכית מטרת לתוכניות זקוקים אנו להם שהנתונים דואגת הקבצים הנמוכות(. מערכת )ברמות הגבוהות( וזולה )ברמות מהירה

במדרג. גבוה במיקום יהיה שלנו

locality principle המקומיות עקרון splay tree את מזכיר החננות, זה שלה. )לכל המיעון ממרחב יחסית קטן לחלק ניגשת זמן, התוכנית פלח בכל

(J נתונים ממבני

זקוקים אנו להם שהנתונים מהיר. לכן, נדאג יהיה אליהם הגישה , זמןcacheב- יהיו מהנתונים שחלק נדאג אםבקלות. לנו זמינים גבוהה, יהיו בתדירות

: ן הזיכרו במדרג סמוכות רמות בין אינטראקציותהגבוהה. ברמה נמצא ביקש שהמעבד : הפריטhit פגיעה

הגבוהה. ברמה נמצא אינו : הפריטmiss החטאההגישות. למספר הפגיעות כלל בין : יחסhit ratio הפגיעה יחסהגישות. למספר ההחטאות כלל בין היחסmiss ratio: (1 – hit ratio) החטאה יחס

90 מתוך 8 עמוד

גבוהה סבירות– spatial locality במרחב מקומיות(1) הקרוב. בזמן בשימוש קרובים, יהיה שמעניהם שפריטים

פקודות. של סידרה או מערך למשל השתמשנו אם– temporal locality בזמן מקומיות(2)

בזמן שוב בו שנשתמש להניח מסוים, סביר בפריטהקרוב.

Page 9: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

: ן זיכרו להיררכית גישות שתי.overall memory hierarchy האחסון רמות כל של כולל ןזיכרו מדרגא() (gap) מהפער נובע מדרגים לשני הפיצול– two sub-hierarchies וחיצוני פנימי ןזיכרו מדרג של צירוףב()

רבות. השלכות המדרגים, עם בין למידע הגישה ( במהירויות106 פי של גודל )סדר הגדול

עצמם. את )הפנימיים( מכפילים תהזיכרונו של והקיבולת חודשים, המהירות18 : כל ( moore's law ) מור חוק הוזלת של הפוך אפקט . בהתאם, יש3 פי מוכפלת המהירות שנים4 כל החוק, לפיה של אחרת גירסה גם יש

. ןהזיכרו רכיבי

2.11.09 - 3מס' הרצאההזמן.[ לאורך פיתוחים של סקירה ניתן זה קבצים'. בשיעור 'ארגון מהקורס ממצגות למדנו השיעור . גםfo4-1_dev ]מצגת

לגבי פרנק אריאל של הערה בלי אפשר ומחשב. ]ואיך העברה של טרנס-פיוטר, שילוב שבבי היו לאחר-מכן שבבי פיתחו [ בהמשךJאמא?" של חננה שתגיד: "מי מיטל . איפה ושבב מחשב של 'מח-שבב', שילוב – עברית

היום. מכירים שאנחנו מה , שזהRAM אוROM של זכרונות

: אלקטרונים דיסקים(1)EBAM – electronically beamed addressable memory אלקטרונית אור, קרן קרני ע"י . פועל

מיעון. מוכוונת(2)CCD – charge coupled deviceקבלים בתור אליהם להתייחס )ניתן אוגרים של סידרה . הכיל

מקור ע"י מסונכרנים היו החשמלי, שכולם האות להעצמת מגברים היו (. ביניהם1 או0 של ערך המכילים אוגר כל מקור. על בתור שוב ולהעבירה להחזיר היה גם וניתן לקרוא היה ניתן הפלט סיבית משותף. את

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

לאורך האמצעית הסיבית של לערך ישיר באופן לגשת ניתן סדרתית, לא היא יותר, כי איטית טכנולוגיה זמן. לכן באותו / מילה סיבית לכל לגשת אחיד: ניתן גישה זמן בעלRAMזאת, מסלול-הטיול. לעומת

יותר(. גבוהה מהירות של באזור )ולא גישה זמן המילי-שניות באזור ממוקםCCDלמעלה, ה- בגרףלמטה.[ הימני ]הציור

(3)MBM – magnetic bubble memoryבליטות יש שעליהם ממישורים נדיף. מורכב שלא . היחיד . כל1 מייצגת בועה וכל0 מייצג מישור צרים. כל פסים ע"י )בועות(, המחוברות לולאות בצורת מגנטיות

הלולאות. יש משאר יותר , גדולהmain loopמרכזית, לולאה גם בועות. יש / אלפי ממאות מורכב לוח יוצאות (. הסיביותdata in) מידע (, לכתובdata out) מידע המידע, להוציא את למחוק ניתן דרכם תאים לקרוא , ניתןdata out של לאזור מגיעות הן כאשר ורק הבועות גבי סדרתית( על )שוב, גישה J לטיול

למטה.[ השמאלי נדיפה. ]הציור לא מגנטית, היא והטכנולוגיה אותן. היות

90 מתוך 9 עמוד

) גישה זמן מייצגx : ציר זכרון טכנולוגיות היררכית של גרףaccess timeיותר. גבוהה הגישה מהירות כך שנמוך (, ככל

ימין המהיר. בצד הפנימי הזכרון קבוצת מעלה, זו שמאל בצד באמצע, זו יותר או החיצוניים. פחות הזכרונות קבוצת למטה, זו

,SSD האלקטרונים. )טכנולוגיית הדיסקים של הזכרונות קבוצת התיבות ראשי , שבאנגליתSCD נקראו למחצה. בעבר מוליכים

משמאל-מעלה אלכסוני קו נעביר למחצה.( אם מוליכים הם אטרקטיבית, מבחינת פחות זו שטכנולוגיה לימין-מטה, נראה

למחצה, נקרא המוליכים שהיה, לפני הראשון הזכרון : סוג פנימי זכרוןcore memoryמקוטבת אחת מגנטיות, שכל טבעות מאוסף מורכב . היה

ואנכיים. מיקום אופקיים חוטים עברו הטבעות השעון. בין כיוון / נגד עם חשמלית השראה . ע"י(x,y) של כקואורדינאטות במרחב יוצג טבעת

הטבעת. של הקיטוב את להפוך היה מתאימה, ניתן ואף דו-מימדיים מערכים ליצור היה ממוגנטות, ניתן טבעות אוסף ע"י

הפסיקו כאשר שגם בכך המגנטי, הואcoreה- של תלת-מימדיים. היתרון

Page 10: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

90 מתוך 10 עמוד

Page 11: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

[Jאחד" בינארית: "אפס איתו מדברת שאישתו לחברו מספר אחד איש – בינארית ]בדיחה

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

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

נמוכה הייתה הגליל של השטח פני על לרשום היה שניתן המידע וכמות יקרה הייתה זו נמוך. טכנולוגיהלמטה.[ הימני מדי. ]הציור

)כמו סרטים סוגים: )א( גלילי למספר ישירה. נחלקים גישה ליניארית, אין טכנולוגיה – מגנטיים סרטים(2) נגעו שם כי הסרט תחילת על היה לא הסרט. בעיות: הרישום על היה הקידוד בהםtape reelsבקולנוע(

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

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

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

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

של בגדלים (. היוfloppy diskתקליטון, – פעם? )בעברית של הדיסקטים את זוכרים – מגנטיים דיסקים(3) נע. היה ראש ובעלי קבוע ראש לבעלי נחלקים לדיסקים. הם התקדמנו אינץ'. בהמשך3.5 ו-5.25, 8

ולכן גמיש מגה-בייט(. הדיסקט700) מגה-בייט( והדיסקים1.44) הדיסקטים בין בקיבולת הבדל כמובן בראשי שימוש יש ממש, לכן בדיסק לגעת יכול לא הקורא גמיש. הראש ולא יותר חזק הדיסק ואילו שביר

הקורא-כותב הראש בין מגע יהיה מגנטי. אם שדה של בהשראה שימוש 'מרחפים' העושים קריאה-כתיבהייפגע. והדיסק, הדיסק

מור. לחוק בהתאם כמובן נעשה בקיבולת הקשיחים, הגידול הדיסקים של הטכנולוגיות בהתפתחות

[fo4-2 dev ]מצגת במספר שימוש אחת. נעשה כיחידה המסתובבים משותפי-מרכז תקליטים מספר–( disk pack) דיסק מארז

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

(,surfaces משטחים שני לו )ישplatter נקרא תקליט ותחתון. כל עליון משטח יש תקליט הדיסק. לכל מורכב גם יש הקורא-כותב. בנוסף הראש נמצא הזרוע . בקצהspindle נקרא התקליטים את שמסובב המרכזי הציר נחלקת ממנה אחת (, שכלtracks) מסילות ממספר מורכב דיסק הדיסק. כל מארז של הבקר את שמהווה שבב

.cylinder גליל נקראים ביחד דיסקים )מקבילות( ממספר מסילות (. מספרsector) מגזרים למספר

90 מתוך 11 עמוד

Page 12: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

90 מתוך 12 עמוד

מידע נמלא מהדיסקים אחד עדיף, שבכל שאלה: מה לפי דיסק(, או בכל7 מסילה את )למשל גלילים לפי

הדיסקים. כל על מסוים משטח נמלא מגזר, שתחילה מסילה. לכן, על גליל, מתייצבת לפי תחילה נעה הזרוע פעולה היא הזרוע גליל. הזזת לפי עדיף

שהזרוע יחסית. לאחר יקרה אלקטרו-מכנית, פעולה לראש מתחת מסתובבת והמסילה מתייצבת

Page 13: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

לכל אחד קורא-כותב ראש–( fixed-head disk) קבוע ראש עם הראש: )א( דיסק לסוג בהתאם חלוקה ישנה )אחד ראשים למספר זקוקים שאנו בכך הוא המהיר. החסרון הגישה בזמן הוא בדיסק. היתרון גליל בכל מסילה

moving-head) נע ראש עם המסילות. )ב( דיסק מספר את ומקטין במחיר לעלייה שגורם מסילה(, מה לכלdisk )–דיסק. של במשטח נוגעת זרוע הזרועות, כל כל את שמזיזה ראשית זרוע

מהכונן הדיסק מארז את לשלוף ניתן שהיה כך–( removable disk) שליף דיסק של טכנולוגיה פיתחו בהמשךחיצוניים. כוננים לנו יש ואפילו J שליף הכונן וכל השתכללו באחר. היום ולהחליפו

המשטח. למגנוט גורם הזרם הכתיבה, כיוון אלקטרו-מגנטית. במהלך יחידה – קורא-כותב ראש טכנולוגייתמשתנה. בקוטביות זרמים להיווצרות גורם הקריאה, המגנוט במהלך

[fo5-1 his ]מצגת באופן הזכרון מדרג על נסתכל ודיסקים. כעת קלט-פלט הזכרון: התקני של הסטטי ההיבט על דיברנו עכשיו עד

פנימי זכרון בין הבדל הנתונים. יש להעברת פס התקנים, רוחב מערכת, בקרי פס על / אקטיבי: התקנים דינאמי בקרים, כל מספר ביותר. ישנם הגבוהה היכולת הפנימי, בעל מהזכרון חלק הוא העיקרי עיקרי: הזכרון וזכרון הוא בקר, כי של כסוג למעבד גם דיסק. נתייחס , בקרUSB גרפי, בקרי / פלט: מתאם קלט התקן עבור אחד

האוגרים. את מפעיל

( system bus ) המערכת פס שדרכו הקלט-פלט, פס מען להעברת לנתונים, פס פסים: פס סוגי3מ- וההתקנים. מורכב המעבד בין מחבר

שבב על נמצא ?? כיוםcacheה- נמצא איפה אריאלית:[ אז קריאה. ]שאלה או כתיבה כגון הוראות מועברות הוא 'מכמן', כי בעברית נקראcacheמשלו? הסבר: ה- בקר בעל התקן יהיה לאcacheשה- המעבד. מדוע והזכרון המעבד בין טכנולוגיה שתהיה צורך נוצר הזמן במקור. עם קיימת הייתה לא המכמן מוסתר. רמת

לשים הוא הפתרון זו אחורה'. מסיבה 'תאימות שתהיה תופס, כדי עדיין מחשב מבנה של הראשוני העיקרי. המודל הפנימי הזכרון בין מקשר שהוא כך על מעיד )השםmemory-I\O bus)בציור( כ- נסתרת בצורהcacheה- את

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

יושבcacheהזכרון, ה- מדרג טריוויאלי. מבחינת שם, באופן נמצאים שהם J לבד זה את לדעת אמורים אנחנו כיב- גם נשאר העיקרי, הוא מהזכרון למעבד המערכת פס דרך מידע מועבר והמעבד: כאשר העיקרי הזכרון בין

cacheה- כי הזכרון. זאת בקר עם להתייעץ חוזרת, מבלי העברה לצורךcacheיותר גבוהה ברמה נמצא הזכרון. מדרג מבחינת

( מבחינתcache) המטמון ומיצוב מיקום את מייצגות האלו . הרמותL1,L2,L3: רמות 3 ל- נחלק cache ה- על גם שיושבים )האוגרים מהירה הכי ולכן המעבד ליבת על יושבתL1הזכרון. הגישה, במדרג ומהירות קיבולת מבחינת יותר. לכן המעבד, מרוחקת יושב שבו כרטיס אותו על יושבתL2 הבאה יותר(. הרמה מהירים המעבד

יותר מעט שלה ליחידה יותר. העלות גבוהה הקיבולת יותר, אך איטית אליה יותר, הגישה נמוכה היא הזכרון מדרג גדולcache עם מחשב לעצמנו להרכיב גייטס, יכולנו ביל היינו . אםL3 רמת יש גם . לפעמיםL1 משל נמוכה

הזו. הטכנולוגיה של המחיר לייקור שגורמות ארכיטקטוניות מגבלות גם יש אך J גדולRAM זכרון עם במקום יש ולכן / עלויות קיבולת מבחינת הגבלה ישcache של רמה / מאות. לכל עשרות כמה הוא האוגרים מספר האוגרים של גודל סדרי ופירוט מפורשת בצורה בתרשים האוגרים שמאל[ ייצוג רמות. ]למטה, מצד מספר

התחתונה הגישה. השכבה / מהירויות זמני את מייצגת הפס רוחב של . העמודהcacheה- של השונות והרמות ולכן הזכרון במדרג כלשהי טכנולוגיה ולא הבקר הוא המעבד החיצוני. כביכול הזכרון את מייצגת בפירמידה

בפועל. למצב מתאים כ"כ לא בפירמידה מיקומו

90 מתוך 13 עמוד

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

כל אחד, אך רק ולא זרמים שני זורמים אמנם שסה"כ )ראשיות(, כך לא שזה אחר, כך באזור המידע את למעשה )ראשית( שומרת זרוע

עבור קוראים-כותבים, אחד ראשים שני יש זרוע מקבילי. לכל לגמרי העליון המשטח עבור נוסף ואחד העליון הדיסק של התחתון המשטח

התחתון. הדיסק של

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

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

Page 14: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

90 מתוך 14 עמוד

Page 15: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

ALU (arithmetic logic unit) –יע"מ בכל חשובה, הקיימת ביצועית יחידה /CPUמרכזית(. עיבוד )יחידת החישוב ותוצאת הכניסה מאוגרי נתונים טועןALUיותר. או אחדALU ע"י מתבצעות המעבד פעולות רוב

לזכרון. ובינם לעצמם האוגרים בין מידע להעביר הפלט. ניתן באוגר נאגרת

: מעבד-התקנים מנשק של פונקציונלית התפתחותבמקביל. ההיבטים את קלט/פלט. נסקור פעולת סיום קלט/פלט, איתור ההתקן, מנשק היבטים: מבנה שלושה

קלט/פלט מחשב התקנים בקר מבוקר התקן'טיפש' ההתקנים: התקן במבנה התפתחויות(1)חכם. בקר)ערוץ(

/ מרכיב מעבד נטולת פסיבית בלבד, יחידה מחומרה מורכב , היהdumb device הטיפש )א( ההתקן חומרה. עדכוני בין רב זמן היחידה, עבר את לתכנת ניתן היה ולא ימין[ היות בצד למטה חישובי. ]באיור

Device driver –הזכרון. תת-מדרג את תוכנה, מייצג הפעלתו, מודול ניהול על ואחראי ההתקן של נציג ולכל שלו השגעון את יש אדם משוגעת: לכל שונה. ]בדיחהdriver לו דרוש ולכן אחרת בנוי התקן כל

מכיל הפשוט מהתוכנה. ההתקן חלק מהווה , כיkernelב- נמצא [ הדרייברJ שלו האדם את יש שגעון את מזרימים )דרכו / שגיאה(, הוראות קלט-פלט הוראת / סיימתי )פעיל שונים: מצב מסוגים אוגרים

ובחזרה(. )ב( להתקן העיקרי מהזכרון הלוך-חזור הנתונים את העבירו )דרכו להתקן(, נתונים ההוראות (CPUה- )משני, לעומת בקר גם ( ישdrive) ההתקן ליחידת– controlled device מבוקר התקן

אותו. היתרון לתכנת שניתן זעיר מחשב של . סוגdeviceה- את מהווים והבקר לו. ביחד, ההתקן שאחראי את מחדש לתכנת לצורך, מבלי בהתאם ההתקן התנהגות את לשנות ויכולת יותר מהירה בעבודה

דומות. התקנים יחידות מספר , עבורcontrol unit for several devices התקנים החומרה. )ג( בקר התקנים דיסקים. לבקר במספר המטפל דיסקים של בקר הומוגנית, למשל בסביבה מדובר כאשר בעיקר

לבקר שיש הנמוכה ( ברמהinstructions) ההוראות לעומת גבוהה ( ברמהorders) פקודות ישאיתן. להתמודד לדעת כדי מתוחכם מספיק הטיפש, הוא

תוכנית הזכרון של המעינה למרחב אוגרים מיפוי קלט/פלט קלט/פלט: תכנות מנשקי התפתחות(2) אוגרים: סוגי3 יש / בקר התקן לכל– I\O programming קלט/פלט ישירה. )א( תכנות לגישה ערוץ

(. כיצדload register \ store register) מפורשות מכונה בפקודות שימוש מצב, הוראות, נתונים. עשו צריכה / פלט קלט . פקודתin \ out כגון מפורשות מכונה פקודות והמצב? ע"י ההוראות את העבירו

בצד למטה מעבירים. ]באיור באוגר( שאליו המשתנה )שם והמען ההתקן ההתקן, לאוגר לשם להתייחס ומעליו ההתקן של הבקר נמצא סוגים. במרכז3ל- שנחלק המערכות פס את לראות שמאל[ ניתן

הפקודות. מועברות עצמו, דרכו האחסון למצע המנשק נמצא שלו. למטה האוגרים

9.11.09 - 4מס' הרצאה[fo5-1 his ]מצגתקודם: שיעור על קצרה חזרה

הפיתוחים של היסטורית-תפקודית סקירה ערכנו ( ובמקבילCPU-devices) מעבד-התקנים במנשק עסקנובתחום.

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

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

מה- חלק היה כבר הזהdevice driverדומות. ה- התקנים יחידות מספר שהפעיל התקנים, בקר בקר היהkernelמסוגל להיות צריך מעבד, כי של סוג הוא עצמו. בקר המעבד על שיושבת הזכרון(, תוכנה )מערכת

מנהל. הוא אותם ההתקנים את להניע

קלט-פלט: מנשקי התפתחות90 מתוך 15 עמוד

Page 16: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

הוראות לקיים אוגרים: מצב, הוראות, נתונים. צריך3 הכיל / בקר התקן קלט-פלט. כל תכנות היה בתחילה שם– in DEV1, status, destination דוגמאות, כגון מספר הקלט-פלט. ראינו את להפעיל שידעו מכונה

/ אליו / משתנה מען של שם ובנוסף בהתקן אליו לפנות שרוצים הספציפי האוגר אליו, שם לפנות שרוצים ההתקןערכים. / לקרוא לשמור רוצים ממנו

[fo5-2 his ]מצגתקלט-פלט: מנשקי התפתחות לסקור קודם, נמשיך שיעור על חזרה כאן עד

של המצב אוגר לקריאת ללולאה נכנס . המעבדpollingתשאול, קלט-פלט? ע"י פעולת סיום נאתר כיצד זמן בזבוז בעצם נדלקה, זה לא הסיבית עוד נדלקת. א-ב-ל, כל הפעולה גמר על המודיעה שהסיבית ההתקן, עד

שבזמן כמובן הוא בהמתנה. החסרון עסוק המעבד , כביכולbusy-wait נקראת זו שיטה המעבד, לכן של ההתקן שמהירות לזכור אחרות. צריך פעולות מבצע לא תידלק, הוא שהסיבית ומחכה בלולאה רץ שהמעבד

המעבד. למהירות יחסית בהרבה נמוכה

90 מתוך 16 עמוד

Page 17: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

IOC (= input / output controller)הקלט-פלט. התקן של הבקר

Interrupt –ב'פסיקה' לקלוט, נשתמש סיים אם ההתקן את לשאול הזמן כל הודעה. במקום של 'פסיקה', סוג לב. תשומת התקינה, מושכת לפעילות הפרעה סיים. 'פסיקה' מהווה שהוא לנו יודיע הוא יסיים ההתקן כאשר–

הפסיקה. יוזם הוא ההתקן )אות פסיקה שולח הקלט-פלט, ההתקן פעולת . בסיוםI/O interrupts קלט-פלט הבאה: פסיקות השיטה

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

כאשר בעיקר נכון . זהI/O interrupts loadפסיקות, של לעומס קלט-פלט, גורם ופעולות התקנים ריבוי(.character-oriented devices) פעם בכל אחד תו קולט ההתקן

90 מתוך 17 עמוד

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

מהמשרת תה כוס מבקש שלו. ]אנלוגיה: אדון להתייחסות שמחכה[ J עיתון לקרוא ממשיך ובינתיים שלו

נקראת בפסיקות שמטפלת ההפעלה מערכת של הרוטינהinterrupt handlerמזהה, ע"י מזוהה להיות צריכה פסיקה . כל

שבעקבות לראות הזמן. ניתן את מייצגx למעלה, ציר של עבודה הפסקת יש קלט-פלט התקן הפעלת להתקן. עד ההוראות בשליחת טיפול לצורך המעבד

לבצע להמשיך מתפנה ההתקן, המעבד פעולת סיום הקלט-פלט, פעולת סיום המשתמש. לאחר פקודות את

את לבצע סיים המעבד וכאשר פסיקה שולח ההתקן

. כלIRQ – interrupt requestלמעלה: באיור המערכת, פס על הפסיקות את שולחים ההתקניםלמעבד. העברתן על שאחראיPICל- שמגיעות

Page 18: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

90 מתוך 18 עמוד

היא הבאה מעבד-זכרון: השיטה קלט-פלט, מנשק למנשקי בחזרהmemory mapped I/O –בקרי של קלט-פלט אוגרי מיפוי

העיקרי, הזכרון של המעינה מרחב של קטן לחלק ההתקנים .in/out בפקודות הצורך את לבטל נוכל בשימוש. כך שאינו

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

store / loadנקרא האוגרים / קריאה(. אוסף )אחסון register file :דוגמה .store R9, Xבאוגר הכתוב התוכן את - לקחת R9

מיוחד קו המערכת, ישנו . בפסX למשתנה אותו ולהעתיק

Page 19: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

, דורשתstore / load של הפס. פקודה על / נתון מען מועבר פס מחזור שעון. בכל ע"י מסונכרן המערכת פספס: מחזורי צמד

למעלה הבא. בפקודה הפס במחזור נתייחס המעבד, אליו ע"י המען שליחת– address cycle מען ( מחזור1)– X. (2)נתונים מחזור data cycle –למעלה / בקר. בפקודה המעבד ע"י עצמו הנתון שליחת – R9בעמוד .

הפקודות. של גרפית הצגה לראות ניתן הקודםהראשי. הזכרון על אחראי הזכרון בקר האוגרים, בעוד על אחראי קטן: המעבד דגש

חח"ע מיפוי : ישCPU – external-memory interfaceחיצוני, מעבד-זכרון מנשק גם בנוסף, יש יודעותstore / load הראשי. הפקודות בזכרון מסוים למען מסוים התקן של אוגר-בקר כל )חד-חד-ערכי( בין

הפנימי. בזכרון המיעון עם לעבוד

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

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

המוקצה החלק של הרחבה לבצע שמאפשרplug-and-play הפרוטוקול ע"י התקנים, למשל להוסיף ניתן הזכרון של הפנימי המיעון ממרחב מפחיתים כביכול אמנם הראשי. חשוב: אנחנו הזכרון חיצוני, מתוך לזכרון

הראשי. הזכרון בתפקוד פגיעה באמת אין ולכן מנוצל לא כך גם זה שמרחב היא ההנחה הראשי, אך

[fo5-3 his ]מצגת הנחנו, מה הקודמת ההתקנים. בנוסף, בשיטה מול הפעולות את מבצע שהמעבד היה החסרון הקודמת בשיטה

פרוטוקול ע"י להוסיף שניתן אמרנו כבר )והרי קבועה היא למחשב המחוברת ההתקנים נכון, שכמות תמיד שלאplug-and-play.)לדוגמה ,

בקר . כאשרDMAה- ובקר הראשי הזכרון בין ישירות לפעולstore / load לפקודות מאפשרת הישירה הגישה לאחר רק נשלחת כך. הפסיקה על להודיע כדי למעבדDMAפסיקת- שולח פעולתו, הוא את מסייםDMAה-

למעבד. שמגיעות הפסיקות מספר את גודל סדרי1-2ב- מורידים תו. כך כל אחרי ולא שלמהDMA פעולת סיום

המתקבלות. הפסיקות מספר הפחתת המעבד, ע"י על העומס את להפחית כה, ניסו עד דיברנו עליהם המנשקים בעצם . זהוI/O processor (channel)קלט-פלט, ערוץ, מחשב הקלט-פלט: תוכנית מנשק של נוסף פיתוח של היררכיה יצירת התקנים, ע"י מספר בעצמו מבקר בקר בקרים, שכל מספר המבקר ייעודי קלט-פלט מחשב

את מזכיר אנלוגיה: הדבר השיעור, עוד בדיחות ואין בקר-של-בקרים, בקר-על. ]היות של סוג בקרים. כביכול מציקה הסייעת רצינית בעיה יש אם ורק לסייעת מציק הילד כל בגן-ילדים, קודם וגננת סייעות של ההיררכיה

[ J לגננת

90 מתוך 19 עמוד

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

ההתקן, בקרי של אוגרים של שמות מעט, ניתן משתנות ,load R1הראשי, לדוגמה: בזכרון מענים של שמות במקוםSTAT –האוגר של התוכן טעינת R1אוגר-הבקר לתוך STATצמד במשך מתבצעת זה, הפקודה במקרה . גם אוDATA יהיו אלו בפקודות המשתנים פס. שמות מחזורי

– DMAלזכרון, ישירה הבא: גישה קלט-פלט מנשקdirect memory accessהוא זו בגישה . השיפור

תלויה תהיה לא והזכרון ההתקן בין המידע שהעברת ובבקרי העיקרי הזכרון בבקר רק במעבד, אלא

יותר, חכם בבקר שימוש נעשה זו ההתקנים. בשיטה משלו. כאשרcache לו יש גם שבדר"כDMA בקר

המערכת האוגרים, פס בין פעולות מבצע המעבד פקודות מבצע לא המעבד בהם הפס פנוי. במחזוריstore / loadבפס להשתמש יכולים ההתקנים , בקרי

'פילוח' פס נקרא ל'בוס'. הדבר המערכת, מתחזים פס וכאשר . ייתכןbus cycle stealing המערכת להשתמש התקנים בקרי מספר פנוי, ירצו המערכת

Page 20: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

[fo5-4 his מצגת]: מדרג של סוגים בשני נתרכז

רמה לכל שירות ולספק שמתחתיה רמה מכל שירות לבקש יכולה רמה . כלleveled רמתי מדרגב() כאשר רמות על לדלג ניתן יותר, כי מהיר זה עקיפות. מודל מסודר, יש מודולרי, פחות שמעליה. פחות

מסר. מעבירים

קלט-פלט: של גישות שתי

3 sub-layer/level התחתונה השכבה : )א( תתm ברמה שאנו / רמות. נניח שכבות3ל- להתחלק בעצמה / רמה, יכולה שכבה כל

/ רמה לשכבה שירות נותנת העליונה / רמה השכבה )ב( תתm-1 התחתונה / רמה מהשכבה שירות מבקשתm+1משותפים. נתונים ומבני לוגיקה ומכילה מתווך מהווה האמצעית / רמה )ג( תת-השכבה שמעליה

device של תת-יחידות בעצם הימני, הן באיור האמצעיות הרמות3הקלט-פלט: שכבות על אחר מבטindependent software layerההתקן. שכבת של הפעולות מגוון את לבצע האחראית

90 מתוך 20 עמוד

את יסיים כאשר הקלט-פלט. רק פעולות בכל שולט הקלט-פלט בקר של פקודות ערוץ: אוסף )תוכנית המעבד לו שהעביר התוכנית כל

, מהchannel interrupt פסיקת-ערוץ בחזרה קלט-פלט(, ישלח דורשי התקנים מרחיקים . כךDMA לפסיקות ביחס עומס שמוריד

של לפקודות שיותר כמה זמין יהיה שהוא מהמעבד, כדי תשומת-לב

שרות לבקש יכולה שכבה . כלlayered שכבתי מדרגא()requestשירות ולתת שמתחתיה מהשכבה רק reply

מובנה, עקיפות. מודל . איןשמעליה לשכבה רק זו ואת שמעליה זו את רק מכירה שכבה מסודר, כל

באופן עובר לעבור, הוא צריך מסר שמתחתיה. כאשר המעבר. לצורך שכבות על לדלג ניתן ולא סדרתי

ואילוlower driver , ישupper driver באיור: יש העבודה, נקראת את שמבצעת האמצעית תת-היחידה

work queueשל העדיפות את לשנות גם שיכולה כתור-עדיפויות(. )פועלת לבצע צריכה היא אותן הפעולות

כדי פסיקה שולח פעולתו, הוא סיים ההתקן כאשר(. awaken ע"י מיוצג )באיור כך על להודיע

עבודה שיטת לאפשר כדי בתור-העבודה, הוא הצורך ותת-הרמה העליונה תת-הרמה א-סינכרונית. כך

ל- בקשה מעבירA השמאלי: אם המודלBש- עד וממתיןBפעולתו את יבצע

מודל , זהוAל- התשובה את ויחזיר זמן בכל שפועל אחד רק סינכרוני, יש לבצע ימשיךA זאת, אם נתון. לעומת

, זהוBמ- התשובה את שיקבל עד פעולות להתקני א-סינכרוני. גישות מודל

מודל ע"פ מתבצעות הן קלט-פלט

Page 21: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

90 מתוך 21 עמוד

Page 22: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

16.11.09 - 5מס' הרצאה[os2-1 str: functional view of operating system ]מצגת

ההתקנים, הזכרון בקרי בין ההתקנים, מנשקים בקרי על הזכרון, הבקרה מדרגי נושא את סיימנו שעבר בשיעורוהמעבד.

ההפעלה. מערכת : שירותים, תתי-מערכות, מבנה2 פרק את נתחיל היום והתקני הזכרון, המעבד על הגנה – העיקרי הפעלה. המוטיב מערכת של תפקודית : סקירה2.1 בנושא נתחיל

הקלט-פלט.

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

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

main memory management זכרון: ניהול(1)Minimal management –עצמה. של הזכרון את שניהלה אחת מינימלי, תוכנית זכרון היה בתחילה(2)Memory split –בין הזכרון את מחלק שהיה פקח-תושב חלקים(, ע"י2)ל- זכרון פיצול היה בהמשך

/ עבודות. המשימות(3)Memory division –המשימות. בין המשאבים כלל יותר( של או חלקים2)ל- חלוקה

מפני להגן דואגים אנחנו (, לכן"trusted program") תהרוס ההפעלה שמערכת מפחדים לא אנחנו לכאורההמשתמש. תוכניות

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

לקריאה המשמש זכרון שזהו משום– ROM מסוג זכרון על להישמר יכולים וערכים, שאינם טבלאות-חישובים(.read only memory) בלבד

. זוdedicated registersהייעודיים, מהאוגרים חלק : מהווה, אוגר-חסםfence register נקרא הפתרון בפקודת משתמש הפקח-תושב, הוא )אתחול( של מהתיחול הפקח-תושב. כחלק על להגן שמאפשרת לוגיקההפקח-תושב. של המיעון מרחב של העליון הגבול את האוגר-חסם, המהווה את שטוענת מכונה

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

? האוגר-חסם של להשבתה לגרום

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

מיוחסת'? 'פקודה(1 )dual-mode operationהתוכנית את הפעיל מי לדעת ניתן )לפחות( וכך מצבים שני סיבית-מצב, בעלת : יש

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

במצב או משתמש במצב הוא אם שאומר דגל מאוגר-מצב, בעצם חלק מהוה המצב למשגוח. סיבית שרצה הפקודה את להגביל עלינו אם לדעת בקלות נוכל סיבית-המצב בדיקת ההנחה, ע"י לא-משתמש. לפי

סיבית-המצב, שחלילה על להגן צריך נוספת, כי בעיה יצרנו בעצם מוחלט. אך חופש לה שניתן או כרגע משימות לבצע לו לגרום שתוכל פקודה להפעיל למשתמש לאפשר בה. אסור הערך את ישנה לא המשתמש

. נזקים לגרום יוכל הוא ההפעלה, כי מערכת בתור

90 מתוך 22 עמוד

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

לכתוב מנסה המשתמש תוכנית אם אבל – בעיה קריאה, אין היא תיאסר, כי כמובן הפקח-תושב, הפעולה של המיעון למרחבהפקח-תושב. של להשבתה לגרום עלולה

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

כתיבה, היא פעולת לבצע המנסה בתוכנית-משתמש מדובר אם אך המופיע לכתוב. לדוגמה, במצב התוכנית מנסה בדיוק היכן תבדוק-64 של זכרון גודל על לכתוב תוכל המשתמש מטה, תוכנית באיור

Page 23: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

של המצב להעברת פקודה נדרשת כן כזו)!(. אבל פקודה תהיה שלא עדיף ולכן – מקרה בכל הפקודהלרוץ. המשתמש לתוכניות לאפשר משתמש, כדי 'משגוח' למצב ממצב סיבית-המצב

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

)המצב( למשתמש.

Memory division:

: הזכרון הגנת נושא סיכום המשתמש תוכניות של גישה המונעת ולוגיקה באוגר-חסם שימוש הפקח-תושב, ע"י זכרון על הגנה(1)

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

המשתמש(. אוOS) כרגע בשליטה מי הקובעתהמשתמש. ע"י להתבצע יכולה ( שלאhardware trap) פסיקת-חומרה ע"י סיבית-המצב על הגנה(4)

יכולה הקלט-פלט, ביניהם והתקני המעבד בין זורמים וההתקנים: נתונים הזכרון, המעבד בין המנשק של סיכום דיברנו עליה , פסיקהDMA( dynamic memory access לבצע יכולים חיצונית. ההתקנים פסיקה להתרחש

הזכרון. מול ישירות ופעולה המעבד על דילוג המערכת, ע"י פס שעבר( 'פילוח' של בשיעור

חלק מהווה שבעצם הזמן הקלט-פלט, קוצב בקרי ע"י : מופעלת external interrupt חיצונית פסיקהחומרה. תקלות מהמעבד, או

: הקלט-פלט והתקני החיצוני הזכרון התקני על הגנה הקוד. ושל הנתונים של והסוף ההתחלה את לזהות לדעת אמור לפקח-תושב, הוא אצווה קובץ קוראים כאשר

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

הקלט-פלט. תוכניות על להגן בעיה

90 מתוך 23 עמוד

אם יחידה. אך מתוכנית-משתמש הפקח-תושב על להגן ניתן איך ראינו כה עד על להגן מסוגלים להיות צריכים תוכניות-משתמש? אנחנו מספר לנו יש

תוכניות-המשתמש שאר על להגן תוכנית-המשתמש, וגם מפני הפקח-תושב) הזכרון חלוקת של זה. השיטה ברגע שרצה תוכנית-המשתמש מפני

memory splitהבעיה. אז.. אולי את תפתור לא קודם הזכרנו ( אותה תחתון גבול וקו עליון גבול קו לקבוע נוכל ? כך אוגרי-חסם בשני נשתמש

נתון. ברגע שרצה המשתמש תוכנית עבור עליון, אוגר-חסם הואlimit ואילו תחתון אוגר-חסם הואbaseבאיור:

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

לכתובת המרה יש מכן ההפעלה(, לאחר מערכת לידי השליטהמתאפשרת. הכתיבה ופעולת בזכרון פיזית

של במקרים : מופעלות החומרה ( של traps ) מלכודת פסיקות ע"י מיוחסת פקודה לבצע חוקי, ניסיון לא למען גישה

/ חמיקה גלישה עם באפס, חישובים חלוקה המשתמש, ניסיון (, ניסיוןfloating point) צפה נקודה עם מספרים של בפעולות

Page 24: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

: המעבד על הגנה )לולאה מדי רב זמן במשך לפעול משתמש לתוכנית לאפשר המעבד, לא של העבודה זמן על להגן צריך

שהמחשב ללקוח אומר מכירות שיווקית: סוכן המעבד. ]בדיחה של העבודה זמן כל את אין-סופית( שתגזול לרוץ המשתמש מתוכנית נמנע [ איךJ שניות6ב- אינסופית לולאה לבצע יכול למכור מנסה שהוא המתקדם

כזה . במצבtimer interrupt מפעיל הוא שלוcounterה- נגמר קוצב-זמן, שכאשר מדי? נפעיל רב זמן במשך היא )כי פעולתה את מסיים שהוא המשתמש, או לתוכנית השליטה את מחזיר שהוא להחליט ה'משגוח' יכול

(. J הפסיקה ולא חוצפנית

90 מתוך 24 עמוד

מערכת, קריאות יש הגנה הפתרון: לצורךsystem callsפנייה מחוללת הרצה . העבודה

הפעולות. זו את לבצע מבקשת ודרכה למערכת את , מחוללתtrap שנקראת מכונה פקודת למצב ומעבירה למלכודת הגורם החומרה מנגנון

לטובת שליטה מאבד 'משגוח': המשתמש לגיטימית הבקשה אם ה'משגוח', ה'משגוח' בודק

להמשיך, תחת למשתמש מאפשרת כן )אם למשתמש השליטה את מחזירה שליטה(, בסיום

Page 25: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

: פסיקות סוגיהחומרה(. )ע"יhardware traps מלכודות(1)ההתקנים(. בקרי )ע"יinterrupts חיצוניות(2)מה(. דבר עבורנו שתבצע למערכת )פניהsystems calls קריאות-מערכת(3)

: היבטים במספר הנושא את יחיד? נבחן פסיקה בסוג להסתפק ניתן לא בעצם מדוע/ א-סינכרוני. סינכרוניא()/ פנימי-תוכניתי. חיצוני-חומרתיב().implicit / משתמעexplicit מפורשג()

[os2-2 str ]מצגת .GUI גרפי ממשק התפתח ולאחר-מכןbatch קבצי , בהמשךcommand line היה : בתחילה המשתמש מנשק

,WIMP (windows זהGUIל- חלופי מגע(. שם מסכי– multimedia user interface )MUI יש כביכול כיוםicon, mouse, pointing-devices)לקבצים, תוכנית, גישה שירותים: הרצת מספר מספקת ההפעלה . מערכת

לנצל יכול המערכת, המשתמש קריאות בשגיאות. ע"י משאבים, קלט-פלט, טיפול של ושחרור תקשורת, הקצאההמערכת. שירותי את

(.7-20 )שקופיות ההפעלה מערכת של השירותים לבד: סוגי ללמוד שמגיעים מזיקים מפני חוץ כלפי הגנה – המחשב, אבטחה בתוך שנוקטים אמצעים – : הגנה אבטחה לעומת הגנהוירוסים.[ כנגד למשל היא המחשב אבטחת זאת הגנות, לעומת על זה בשיעור דיברנו כה למשל. ]עד הרשת דרך

: system calls מערכת קריאות לקלט-פלט. קריאות גישה ההפעלה(, מאפשרות )מערכת הגרעין ובין המשתמש תוכניות בין מנשק מהוות

)אסמבלר, שפת סף בשפת כתובות להיות יכולות מוגנת. הקריאות בצורה זאת לבצע מאפשרות המערכות API (application ע"י מופעלות המערכת (. קריאות++C \ C) עילית בשפה בעיקר כתובות מכונה( אך

programming interface)מנשקי מגוון המבוקש. ישנם השירות את לקבל כדי APIמהווה מערכת . קריאת ( נותןTV בתוכנית מנחה )כמוpromptמה. דבר עבורנו לבצע ההפעלה ממערכת חיצונית, מבקשים קריאה / הפסיקה של הסוג ייחודי, לזיהוי מציין, מספר-מזהה קלט. ישנו להקלדת בקשה למשתמש, למשל הוראה הפעלה לבצע. בעת שצריך הפקודה ובין המספר-המזהה בין קישור שמבצעת טבלה המערכת. קיימת קריאת

להזדהות. כמובן צריכה פסיקה, היא של

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

מידע(. , כימוסencapsulation) המערכתהמערכת: לקריאות הפרמטרים להעברת אפשרויות מספר

90 מתוך 25 עמוד

א-סינכרוני, ללא באופן היא חיצונית-חומרתית פסיקה זאת רגע. לעומת באותו מבצעת שהתוכנית למה קשר

קשורות הן סינכרוניות, שכן הן מערכת וקריאות מלכודות לבצע. מנסה זמן באותו שרצה שהתוכנית למה

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

משהו משתמע, לא באופן הן כרגע. המלכודות שרצה זאת לבצע. לעומת ביקשה המשתמש של שהתוכנית

תוכנית מפורש, כי באופן מתבצעות המערכת קריאות

messageלזה(: זה )חלופיים תקשורת של מודליםpassing / sharingלדוגמה תהליכים שני . אם( A-ו

Bלהקצות חייבים דבר-מה, יהיו ביניהם לשתף ( רוצים גישה תהיה ביניהם, שלשניהם משותפת מחיצת-זכרון

להיות צריך המשותף המיעון (. א-ב-ל, מרחבb )איור במרחב וגםA תהליך של המיעון במרחב גם מוגדר )איור מידע העברת של . במודלB תהליך של המיעון

aההפעלה. מבחינת מערכת ע"י מועבר (, המידע )מחיצה(, משותף זכרון בהקמת תקורה מהירות, יש

Page 26: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

( צריכיםcallee)מוזמן, הנקרא ( והצדcallerמזמן, )נקרא הקורא האוגרים. הצד ביותר, ע"י הפשוטה(1) באוגרים רק להשתמש שניתן לזכור הפרמטרים. חשוב להעברת משתמשים הם אוגרים באילו להסכים וצריך קטנה. ייתכן ההפעלה( שכמותם למערכת רק השמורים באלו )ולאgeneral purposes הכלליםהאוגרים. ע"י להעביר משניתן פרמטרים יותר להעביר

אוגר, ע"י )למשל לטבלה מצביע להעביר נוכל הפרמטרים. כך כל את שתכיל ב'בלוק' / טבלה שימוש(2) בגודל מוגבלת לא זו הנקרא. שיטה לצד הקורא ( מהצדindirect address עקיף גישה כמען שישמשלהעביר(. שצריך הפרמטרים )מספר

התוכנית: של ( הספציפיתstack) במחסנית להשתמש ניתן – ספציפי נתונים במבנה להשתמש במקום(3) את יקבל הואpop פעולות מבצע הנקרא הצד וכאשר למחסנית הפוך בסדר הפרמטרים את נדחוף

בין להעביר שניתן הפרמטרים מספר ביותר, מבחינת הגמישה היא זו הנכון. שיטה בסדר הפרמטריםהצדדים.

90 מתוך 26 עמוד

Page 27: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

: system programs מערכת תוכניות של פעולות לבצע המערכת. מאפשרות קריאות מעל רמה תמלילים, מהדרים.. זו עורכי משתייכים זו לקטגוריה

= טפלול מניפולציה עברית: לבצע של שם, הדפסה.. ]רגע יצירה, העתקה, מחיקה, שינוי כגון קבצים ניהולטיפול(.[ )מזכיר

system design goals המערכת של התכן מטרות בתכן העקרונות עצמה. אחד ההפעלה מערכת את יש ולמעלה מערכת תוכניות יש המערכת קריאות מעל

ליישם מהמנגנון. צריך מושפעת להיות צריכה לא והמנגנון. הרעיון: המדיניות המדיניות בין להבדיל המערכת, הוא היישום לצורת המשתמש( בהתאם )למשל יותר הגבוהה הרמה ע"י אותו ( ולהפעילqueue )למשל המנגנון את

. body ו-header בין המבוקשת. הפרדה נעשה כבר זה 'קרובים' לחומרה. כיום אסמבלר, להיות בשפת נעשה זה : בעבר ההפעלה למערכת תיכון ביצוע

עיליות. בשפות והרשאות, יוצרים זכויות של מבעיות סובלות– open source, OSלינוקס..( )כדוגמת פתוחות הפעלה מערכות

שיפורים. למשל כמו ההפעלה למערכת תוספות מיני כל לכתוב חובבים למתכנתים מאפשרות אך חדשה לגירסה חלונות, שמותאמת של חדשה גירסה מוציאה מיקרוסופט פעם כל– wintel שנקראת קנוניה יש

שונים. חומרה סוגי על להשתמש וניתן בענן יושב הכל–'ענן' היא בקנוניה שנלחמת אינטל. המגמה מעבד של[J מקומית שיחה זו אלוהים, כי עם לתקשר יותר ב'ענן' קל שימוש דתית: ע"י ]בדיחה

SYSGEN (system generation)רצה, המערכת עליה הספציפית החומרה לגבי מידע המכילה תוכנה היא מקודמו, גדול אחד שכל תהליכים מספר )אתחול( מפעילbootingה- הפעלה. מרכיב מערכת לחלל מאפשרת

הרגל( מהווה על אותו לנעול המאפשרת במגף )רצועהboot strapאותחלה. ההפעלה מערכת שכל עד טעינה יש , בהמשךROMמה- הוא הראשון ההפעלה. המרכיב מערכת המגף( של של )נעילה לאתחול אמצעי

המלאה. להפעלה מהדיסק, עד ההפעלה ממערכת חלק שלהמערכת. מתכני ע"י שמתבצעת חשובה , פעולהdebugging שגיאות מיפוי

)אופטימיזציה(. הפעלה מערכת של מיטוב[J ברשת אותו דג? מעלים עם תקשורת יוצרים דייגים: איך של ]בדיחה[Jהפיתיון( את )אכל הפה את פתח הוא בצלחת? כי גומר דג קטלנית: למה ]בדיחה

[os2-3 str ]מצגת: ההפעלה מערכות / ארגון מבנה

יחידה המערכת. א-ב-ל, תוכנית שירותי את הכל, גם שהכיל יחיד , גושיתטמונולי הפעלה מערכת הייתה בתחילה הפכו מונוליטי, בהמשך היה הראשוניMS-DOSלתחזוקה. ה- קשה גדולה מדי. תוכנה וכבדה מדי גדולה היא

של ולא רמות של בצורה לרוב היא הפעלה מונוליטי. מערכת היהUNIX של הגרעין שכבתי. גם להיות אותו 'עליונה' מהן מי נחליט תהליכים, כיצד וניהול זכרון ניהול של בהיבטים מדובר שכבות, כאשר שתי יש שכבות. אם

'נפוחה' מדי. ]בדיחה נהייתה כבר ותוספות, היא אפשרויות עוד נוספו ההפעלה שלמערכות לאחרת? ככל ביחס פונקציות , הכוללmicro-kernel זעיר גרעין של גישה פותחה 'נופחה'[ לכן – מנופחת הפעלה מסריחה: מערכת

מערכת שירותי שאר כל תהליכים( ואילו בין פרימיטיבי, קלט-פלט, תקשורת זכרון תהליכים, ניהול )זמנון חיוניות )רזהlean and mean להיות הופך הגרעין הקבצים. כך ובמערכת וירטואלית בהתקנים, במערכת יהיו ההפעלה

(.J וממזר

23.11.09 - 6מס' הרצאה[33 משקופית החל המשכנו שעבר, הפעם בשיעור . התחלנוos2-3 str ]מצגת

הפעלה מערכות של ארכיטקטורות

90 מתוך 27 עמוד

מבנה את מזכיר ימין בצד אנכית. האיור בצורה רצים השירותים כל נוספים כרטיסים לחבר : ניתןmother-boardלוח-האם, של החומרה

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

הקלאסי. השכבתי המודל 'משגוח' לעומת במצב רץ קוד הגנתית, פחות התהליכים ביןshared memory לבצע ניתן מחיר, לא שיש כמובן

העברת של בטכניקה להשתמש צריך הגרעין-הרזה, אלא עם הרצים כעל הגרעין-הרזה על לחשוב מכוון-עצמים. אפשר של גישה מסרים. זו

מנשק-המשתמש בין המקשרות הפונקציות מועברות 'פס' דרכו של סוגהשונים. העצמים ובין

מתחרה הפעלה מערכת עם לצאת רצתהIBM אנקדוטה: כאשר ,FUD (fear, uncertaintyל- גרמו מיקרוסופט, הם של לחלונות

Page 28: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

שכבתי/רמתי מדרג היה לשינוי. בהמשך ניתנות ובלתי יותטמונולי היו המערכות הקודם: בתחילה מהשיעור תזכורת שכבות. בהמשך מספר דרך לעבור צריך כאשר לבעיה שגרם אופקי( מה )מודל זו מעל זו השונות היחידות של / שירותים. כל / לוחות כרטיסים להוסיף ניתן וכך אנכית בצורה הן השכבות כאשרmicro-kernel של מודל היה

ההפעלה. מערכת את איתם להפיל יכולים לא ולכןuser mode של במצב רצים השירותים

virtual machines – וירטואליזציה האינטראקציה , סביבתshellל- שמגיעים תוכנה, עד הרחבות של סידרה כעל הפעלה מערכת על להסתכל ניתן 70ה- הקודמת. בשנות בשכבה המכונה על שמולבשת וירטואלית מכונה יש שלב המחשב. בכל עם המשתמש של

VM רצה החומרה מהפכנית: על , שהייתהVM שנקראהIBM חברת של הפעלה מערכת הייתה המוקדמות הוירטואליזציה מערכת הייתה (. זוconversational monitor sharingזמנים, )שיתוףCMS מערכות ועליה

)'משגוח'-על(.hypervisor של אחרות, סוג מערכות להריץ היה ניתן הראשונה, עליה

90 מתוך 28 עמוד

Page 29: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

שבה )הרמה ההפעלה למערכת החומרה בין שונות: במנשק ברמות לביצוע ניתנת וירטואליזציה של הטכניקהVMחברת של IBMהספריה שירותי בין ה(ספריה, במנשק ל)קריאות ההפעלה מערכת בין יושמה(, במנשק

,JVM בסביבת באינטרנט, רצות כשגולשים מפעילים שאנחנוjava של עצמם. למשל, אפליקציות והיישומיםשלנו. בדפדפן

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

לכולם. השירותים את שנתןmain-frame שנקרא וגדול יחיד מחשב היה מעגל: פעם סגירת כך. כביכול פועלת בדיוק מה'ענן'. לא שירות לקבל שלהם הכף-יד מחשבי דרך לגשת צריכים כולם לזה, כי דומה די ענן מיחשוב כיום

המקומית, ההפעלה ממערכת שירותים מקבלים לא )יופי, גוגל!(: כבר התקדמות קצת כאן יש מעגל, כי סגירתהמחשב. על ולא ברשת נמצאת ההפעלה , מערכתthe network is the computer – מ'ענן' מרכזי אלא

הרחבנו(: לא השלישי העיקריים, על הם הראשונים )השניים hyper-visiors של סוגיםהחומרה. מעל רץ(1) המקומית. ההפעלה ממערכת השירותים כל את ומקבל 'רזה' יותר מקומית. הוא הפעלה מערכת על רץ(2)

מדובר וירטואלית. בעצם בצורה עליה, רצות שרצות ואלו פיזית שרצה יחידה הפעלה מערכת יש על ישירות רצה שלא הפעלה בעלויות, מערכת חוסכים . כךmicro-kernelה- רעיון של בהכללהבתחום. מתמחהVMware . החברהJ פחות עולה החומרה

הפעלה מערכת להריץ שניתן לפני התאמות . דורשpara-virtualizationוירטואליזציה" "דמוי נוסף סוג(3)נוספת.

שרתים של וירטואליזציה לא שהם שירות, כך סוג כל עבור וירטואלית סביבה של יצירה ידי יחיד, על מחשב על שירותים מספר להריץ ניתן

המחשב ההפעלה. אמנם מערכת את להפיל יכולים לא הם ולכןuser mode בסביבת רצים לזה. הם זה יפריעו מחשבים. מספר של חסכון מאפשר יחיד, אך משרת יותר רבים שירותים נותן יותר, כי חזק להיות יצטרך הזה

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

,server_virtualizaion ]סרטים: ב( הצפייה פופקורן, לפני הכנת לצורך מתודית )הפסקהvirtualization_tutorial, storage_virtualization]הקורס, בתיקיה באתר נמצאים . הסרטים resources →

virtualizationנגן להתקין צריך בסרטונים לצפות . ]כדי FLVמכאן: למשל להוריד שניתן http://download.cnet.com/FLV-Player/3000-13632_4-10467081.html].

[os3-1 pro ]מצגת התהליכים למודל מבוא

90 מתוך 29 עמוד

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

גם הקודמים(, יש מהשיעורים זאת לזכור אמורים )אנחנו דמוי-מקביליות. כמובן למעבד במקביל פועלים החומרה התקני של אמיתית: המיקרו-בקרים מקביליות

המחשב. של

מחשב. כל אותו הפעלה, על מערכות של שונים סוגים להריץ ניתן כזאת בצורה נפרד.process בנפרד, כמו רצה היא לשאר, כי מפריעה לאVMמה- אחת

אחסון, לאמצעי לשרתים, לאמצעי גם וירטואליזציה לעשות רצו בהמשךהפעלה. למערכות רק ולא תקשורת

סוג לממש תחילה , צריךB ההפעלה מערכת עלA הפעלה מערכת להריץ כדי עם לתקשר לדעת צריךA ההפעלה מערכת של 'התחזות'. המנשק של

באופן לרוץ תוכלA תוכנית כזה (. באופןB ל-Aמ- )מיפויB ההפעלה מערכת מדובר הדמיה, כי בלבד. זו תוכנה בעצם היאA הוירטואלית חופשי. המכונהבלבד. תוכנה של בוירטואליזציה

נעשית בהגדרה. הדמיה וירטואליזציה להדמיה: שתיהן החקיה בין הבדל

Page 30: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

(. load module) במודולים מתבצעת עבודה (. כלstep) שלבים ממספר מקטעים:3 מכיל תהליך כל

הקוד.א(), 'מצבור'(.heap) דינאמיות להקצאות ואזורים גלובלים הנתונים: משתניםב()שירות. לזימוני הקשור מידע המחסנית: מכילהג()

90 מתוך 30 עמוד

Page 31: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

התהליך מצב לגבי הרחבה במצב רק להיות נתון, יכול רגע תהליך, בכל שונים. כל מצבים מספר בין עובר במערכת, הוא רץ תהליך כאשר

יחיד, יש מעבד עם במערכת. במחשב כרגע שרץ התהליך– running state( 1העיקריים: ) יחיד. המצבים )נעל לרוץ מוכן– ready state( 2המשתמש(. ) של תהליך 'משגוח' או תהליך להיות יכול )זה כזה יחיד תהליך

לריצה. יש המוכנים תהליכים של בתור כאלו, יושבים תהליכים יותר או אפס יש נתון רגע (. בכלJ ספורט נעלי פרודוקטיבי תהליך שאין העובדה את מייצג אחרון, הוא במערכת לרוץ (, שמחכהideal process) סרק תהליך

למאורע חסום, מחכה / מצב המתנה במצב שנמצא תהליך– waiting\blocked state( 3לרוץ. ) שמחכה אחראותו. בין-תהליכית( שיעורר יזם, תקשורת שהוא / פלט קלט בקשת )סיום

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

במקומו.

(4קצה: ) מצבי שני של להוספה , הודות3 לעומת מצבים5 יותר, המכילה מורכבת מצבים מכונת לדמיין גם ניתן תהליך(. לאחר של )מוות הסופי-טרמינלי ( המצב5) תהליך ( שלgeneration)יצירה, חילול של התחילי המצב

)רוצה ריצתו את סיים שתהליך לריצה(. לאחר )מוכןready למצבnew ממצב עובר לריצה, הוא מוכן שתהליך במצב להיות יכול לקבורה(. תהליך )מובאterminated למצב עובר ( הואJ ולהתקלח ספורט נעלי להוריד )נמצא נוצר רק , התהליךnew מהמשתמש.. במצב לקלט אותו, מחכה סיבות: השביתו מספר בגלל המתנה

אך )מתו זומבים תהליכים גם (. ישJ לרוץ אח"כ ורק ללכת לומדים )קודם לריצה מוכן לא (, עדייןJ ברחם עדיין

90 מתוך 31 עמוד

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

לחרוג ירצה מסוים ותהליך ייתכן כרצונו. אך צורך נטול אחר תהליך בעוד לו שהוקצה מהמקום

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

את יש אחת (, לכלprocess entities) במחשב / משאבים ישויות מגוון יש את שיצר )התהליך האבא שלIDהתהליך, ה- שלIDשלה: ה- הייחודיים המאפיינים

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

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

התהליך. על המידע נמצא בו

,PCB – process control block גם נקרא בטבלה הבודד התהליך של המידע כל של הזהות )מספר שמור(, זיהויי התהליך של המידע )היכן מיקומי ממידע מורכב

כרגע(. התהליך נמצא בו )המצב אותו( ומצבי שיצר תהליך-האבא ושל התהליך

של החלוקה כל התהליך(, על של )תמונהprocess image לראות ניתן ימין בצד

Page 32: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

שלו.[ בירושה )משפטן+פטפטן(, 'עוכרי-דין' שמתעסקים ממשפטפטנים סובל זומבי משפטית: תהליך ]בדיחה

90 מתוך 32 עמוד

Page 33: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

תהליכים יצירת של מודלים הפונקציה )ע"י תהליכי-ילד 'מושרצים' מגוון המערכת(, שממנו את האפס', מייצג )'תהליךINIT תהליך ישנו

fork)(כך .) משפחתי' 'עץ לנו נוצרJלפני הילד של מוות חריגים, למשל מקרים בתרגול, יש שלמדנו . כמו ייחודי, מזהה יש תהליך אותו. לכל ירשו שהילדים לדאוג קודם האבא, צריך של מוות ולהפך. למשל, לפני ההורהPCBהפונקציה ע"י אוטומטית נוצרים אלו כל , קישורים.. ביוניקס forkלהתבצע להיות יכול תהליך של . סיום (J האדמה פני מעל מגורש בעצם התהליך )ואז כלשהי שגיאה של האבא(, התרחשות )ע"יhalt, killע"י:

עצמו(. התהליך ע"י)(exit )ביצוע קלט-פלט, התאבדות כשל כדוגמת

[os3-2 pro ]מצגת ( תהליכים scheduling ) זמנוןריצה. למצב מוכן ממצב למערכת נטענים התהליכים בו בסדר עוסק זה נושא

מסוימת סדרתי, עבודה להיות יכול יותר. זה או אחד תהליך ע"י מיוצגת להיות יכולה עבודה קצרה: כל הקדמה שיש במקביל. כמו תהליכים מספר להריץ שיכולות עבודות גם זה. יש אחר בזה ברצף תהליכים מספר שמריצה

זמן שרצים עיבוד , עתיריCPU-boundתהליכים, למשל: )א( של סוגים מספר יש עבודות, גם של סוגים מספר לטובת המעבד את דורשות ופחות לקלט-פלט מחכות , שבעיקרI\O bound המעבד. )ב( עבודות על רב

מורכבים. חישובים

: פנימיים מזמננים 3 ( יש scheduler ) למזמנן תיטען תוכנית עדיפות( איזו 'מתעדף' )נותן (. המזמנןjobs) עבודות זמנון על אחראי – ארוך לטווח מזמנן(1)

ריבוי( 'ריבוב' )מלשון של המידה את . קובעready למצבnew ממצב התהליך את מעביר לזכרון. בעצם אינסוף עד להוסיף ניתן שלא המעבד. כמובן ניצולת הגדלת , לצורךmulti-programmingהתוכניות,

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

/ דקות. שניות מספר כל עסוק, מתעורר המעבד, ריבוי על במערכת, עומס פנוי זכרון אין כאשר פועל–( J שריפות כיבוי על )אחראי חירום מזמנן(2)

של ברמה המערכת. עובד על להקל ומנסה למשתמש. מתעורר התגובה בזמן תהליכים, ירידה של מוגזם אם בדיקה מבצע מהמעבד. הוא עבודה של / תהליך עבודה להוריד להחליט ותהליכים. יכול עבודות

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

פעולת מפסיקים ( תיפגע. כאשרmulti-programming) 'ריבוב' התוכניות עבודות, רמת מדי יותר יוריד תהליך ( שלswap in) פעולתו את להמשיך ניתן 'יורד' מהמעבד. בהמשך ( הואswap out) תהליך

,ready) ומושהה התהליך: מוכן של המצבים לאוטומט נוספים מצבים2 לנו נוספו שהופסק. כביכולsuspendומושהה ( ולא-פעיל (blocked, suspendכך .) התהליך את להחזיר נוכל ההשהייה בתום

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

(ready list) המוכנים התהליכים רשימת על תהליכים. אחראי של ברמה רק עובד – קצר לטווח מזמנן(3) התהליך את (, שמעבירdispatcher) המשלח הוא ממנו ריצה. חלק למצב יעבור מהם איזה ומחליט/ מילי-שניות. מיקרו-שניות של ברמה למצב-ריצה. עובד התור שבראש

( תהליכים switching ) מיתוגהשונים. תהליכים המעבד( בין )על השליטה להעברת המנגנון

'משגוח', קיימת למצב שחוזרים פעם שליטה. בכל מאבדים פסיקה, כאשר בזמן מתבצע תהליכים מיתוג בין ישירות לא הואswitchאחרת. ה- לתוכנית במעבד השליטה את לתת תחליט ההפעלה שמערכת האפשרות

את שהעביר זה שהוא – המערכת לתהליך השליטה את א' הסתיים, העביר לוגי: תהליך הוא תהליכים, אלא שני90 מתוך 33 עמוד

הזמנונים. נושא לסיכום זרימה מימין, תרשים (queue) התורים בין עוברים התהליכים

)תור-ממתינים, תור-מוכנים( בהתאם השונים (. אלוJ )בירוקרטיה שלהם במצב לשינוי

ההנחה רגילים. ע"פ תורים ולא תורי-עדיפויות יחיד למאורע רק מחכה תהליך הפשטנית, כל

יחיד. בתור רק ימתין ולכן

Page 34: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

לחשוב לא ישיר. חשוב היה לא תהליכי-מערכת, המעבר מגוון ב' רצו א' לתהליך תהליך ב'. בין לתהליך השליטההמעורבים. המערכת תהליכי את גם בחשבון לקחת אלא ציר-המשתמשים על רק

) יותר: מיתוג-הקשר מכליל מושג על לדבר נכון (, יותרprocess-switch) תהליכים מיתוג על לדבר במקוםcontext-switchעבודות בין גם לזמנן תהליכים, ניתן בין לזמנן שניתן ביניהן. כמו לזמנן שניתן (, יחידות

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

המיטבית.

90 מתוך 34 עמוד

Page 35: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

30.11.09 - 7מס' הרצאה[os3-3 pro ]מצגת

תהליכים. על לדבר נמשיך זה בשיעור הן העיקריות הרלוונטי. הפעולות המידע את יש תהליך התהליכים, לכל של המודל הוא הקלאסי תזכורת: המודל

בין השליטה בהעברת הכרוך )המנגנון המוכנים-לריצה( ומיתוג התהליכים את להריץ סדר )באיזה זמנון כבד' 'במשקל הוא . תהליךHWP – heavy weight process נקראים והקשריו התהליכים(. החסרונות: תהליך

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

גם שהסתיים התהליך מידע של התהליך-הנכנס. ניקוי של המידע והעלאת התהליך-היוצא של שמירה נעשית בין בשיתופיות מעוניינים ואנו נפרד מיעון מרחב יש תהליך שלכל העובדה כבדות, היא של נוסף זמן. היבט דורש

ששני בחילופי-מסרים, או להשתמש תהליך-עמית, נצטרך של מיעון למרחב גישה אין תהליך ולאף תהליכים. היות ממנו, והניתוק המשותף, החיבור ןהזיכרו של ההקמה משותף. פעולות מיעון למרחב בסמיכות יהיו התהליכים

גבוהה. עלות בעלות

הקודם. היות המודל של החסרונות על לפצות הקודם, כדי המודל במקום לבוא נוסף, שאמור מודל יש לכאורה מהחלק יופרד הבירוקרטי-סטטי תהליכון. החלק– thread משימה, – taskאותו: כבד, נפצל ותהליך

היא התהליכון תהליכון. מטרת ייקרא הריצתי-זמנוני החלק משימה, בעוד ייקרא הסטטי הדינאמי-ביצועי. החלק לגישה הדרוש המינימום את מכיל התהליכון האוגרים. מרכיב המחסנית, מצב הקשר: מרכיב למינימום להתייחס

רמאות, כי של לתהליך(. סוג קל' )בניגוד 'משקל , בעלLWP – low weight process מכונה לתהליך. תהליכון לא שזה הביצועי, כך הצד את מייצגת לא המשימה התהליך. אבל ה'משקל' של רוב את ירשה המשימה בעצם

לחלקים. יותר, הפרדה מודולרי הוא הזה . המודלprocess = task + threadהנוסחה: את לכתוב נורא. ניתן מתרוצצים 'אמא' שב'רחם' שלה כעל למשימה תהליכונים)!(. נתייחס מספר להריץ יכולה משימה היתרון: כל

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

במקום כמובן מקבילית, נעדיף בעבודה מדובר אם תהליכונים. אך ומספר יחידה משימה לנו שיש או בזה-אחר-זה המכונה תהליכונים. אם מספר ממנה כחלק שתריץ יחידה משימה )כבדים(, להקצות תהליכים מספר להקצות

בסדר. אנחנו , כביכולm<n תהליכים: אםm מריצים אנחנו ואילו תהליכיםn נתון רגע בכל להריץ יכולה שלנו זמן. שיגזול המיתוג, מה פעולת שלהם, ע"י ובהורדה תהליכים של בטעינה עסוקים נהיה הזמן , כלm>n אם

בין מסרים יחסית. בנוסף, העברת זולה בעלות תהליכונים ולסיים להקים , נוכלהליכוניםתה זאת, במודל לעומת באותו כולם טבעית, שהרי היא משימה-אמא אותה של -בניםהליכוניםתה כל יותר, שכן פשוטה היא תהליכונים

שניהם )כי + תהליכון משימה מקימים לבד, אנו משימה להקים ניתן ( משותף. דגש: לאJ )רחם מיעון מרחב )תסביך נוצרת היא שאיתו היחיד התהליכון משימה, ע"י הקודם(. כל מהמודלprocessל- ערך שווי ביחד

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

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

המיתוג מחיר את נשלם נמוך באחוז )כך משימות בין מיתוגים יותר( ופחות הזול המיתוג מחיר את נשלם גבוה תהליכון כל עבור השמור המידע רב( לעומת )מידע תהליך כל עבור השמור המידע בין הבדל יותר(. קיים היקר

יותר(. מועט )מידע

90 מתוך 35 עמוד

מורכב תהליכים שני בין מימין, מיתוג-הקשר באיור א' תהליך בין המערכת: אחד במצב שינויים שני בעצם

לתהליך המערכת תהליך בין ושני המערכת לתהליך רצה ההפעלה מערכת של הפעולות רוב ב'. לכאורה

א' ו-ב' שהיא התהליכים מיתוג-ההקשר, בין חשבון על להיות מתחזה ההפעלה ביניהם. מערכת למתג דאגה

שהיא לרגע שלו, עד במשאבים א' ומשתמשת תהליך השחורות ב'. הנקודות לתהליך השליטה את מעבירה מצב בין המערכת מצב שינוי את מייצגות בתמונה

של שמירה מיתוג, יש משתמש. במהלך 'משגוח' ומצב

Page 36: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

90 מתוך 36 עמוד

ULT – user levelלמשתמש, ספרייה יצרו בתחילהthreadהתהליכונים. של המשחק כל את , שניהלה של )סוג הישן התהליך במסגרת רצה הזו הספרייה

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

kernelנקרא( KLTהאם , יורחב .)בהמשך כן, (? אםJ) ראשונה מדרגה אזרחים הם התהליכונים

יחידה מהווה תהליכון המערכת, וכל בכל מוכרים הם זה היה התהליך (, בוULT) הביניים זמנונית. במודל

Page 37: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

מבחינת לרוץ. אך ימשיכו ייחסם, האחרים הוא רק מערכת, כביכול קריאת ביצע תהליכון התהליך, אם מבחינת שאר ובעצם – המערכת קריאת את ביצע שבפועל זה הוא התהליך, כי כל את חוסמת המערכת, היא

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

שהוא , לצייןJ בעברית / פתיל )חוט תהליכון משימה, לכל יותר(. בתוך יקרה )פעולה אחרות למשימות התהליכונים כל עבור יחידה במחסנית להשתמש כמובן שלו. אפשר ( אישיתstack) מחסנית קל-משקל( יששלה. אחר בחלק ישתמש תהליכון-ילד שכל לכך לדאוג במשימה, אך

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

handlerנחסם. התהליך כל הישן תהליכון. תזכורת: במודל הוא

של משותף, הזכרון זכרון של בהקמה צורך משותף, אין מיעון מרחב באותו רצים התהליכונים וכל יתרון: היותמשלו. אישי מיעון מרחב תהליכון לכל המשותף. למעשה, אין הזכרון הוא המשימה

חלקים:3 הגיוני באופן מכילה משימה תמלילים, שרת-אינטרנט. כל התהליכונים: מעבד מודל ליתרונות דוגמאות dispatcher threadבמקביל. הפועלים תהליכונים3 ע"י משימה למדל טבעי קלט, עיבוד, פלט. לכן, מאד

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

)ע"פ קיים להיות תמיד חייב הראשוני הדרוש. דגש: התהליכון לפי נתון, הוא רגע בכל שמפעילים התהליכונים חיים הראשוני, אין התהליך לתהליך(. ללא שקולים שנהיה כדי תהליכון וגם משימה גם דרושים לפיה הנוסחה

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

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

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

המשימה. של עבודה המשך שמאפשר

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

90 מתוך 37 עמוד

תהליך שמאל(, כל )בצד הישן במודליחיד. ותהליכון משימה בעצם היה

גם ימין(, שנקרא )בצד החדש במודל ( ישmulti-threading'רב-תהליכון' )

מספר רצים שבתוכה יחידה משימהתהליכים.

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

)כמו יחסית זולה היא תהליכון הקמת עלות כי היא באפריקה מטעים עבדי של ההעסקה שעלות

שמגיעה, כאל לבקשה להתייחס (. אפשרJ זולהtriggerלידה להקמה שגורם( Jשל ) תהליכון

Page 38: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

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

. J רב-מעבד הוא שלנו שהמחשב העובדה את מנצלים ואז – שונים מעבדים על לרוץ יכולים התהליכונים-בנים

90 מתוך 38 עמוד

Page 39: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

לתהליכון לעבור שנצטרך רגע, למקרה באותו שרץ התהליכון של המידע את לשמור פסיקה, צריך מגיעה כאשר לגישה מחסנית-ביצוע, בנוסף להגדיר ניתן תהליכון אחרת. לכל במשימה אחר לתהליכון משימה, או באותה אחר

מיעון מרחב יש בהכרח תהליכון, אך לכל )קטן( פרטי מיעון מרחב ויש המשימה-אמא. ייתכן של המיעון למרחב התהליכונים, כל של מוות כמובן משימה, מחייב של משימה. מוות אותה תחת הרצים התהליכונים לכלל המשותף

קיים לא מושהה לריצה, חסום. מצב מצבים: ריצה, מוכן3 יש עצמם. לתהליכון בפני קיום זכות להם אין שכן אחד שכל משימה, בוודאי משהים מיעון. כמובן, כאשר מרחב באותו משתמשים במשימה התהליכונים כל כ"כ, כי

עצמו.. בפני מושהה מהתהליכונים

[os3-4 pro ]מצגתהיבטים: במספר תהליכונים יישום KLT היה . בהמשךuser spaceב- רק הקיימת , ספריהULT (user-level thread) היה בתחילה(1)

(kernel-level thread)מדרגה אזרחות וקיבלו ההפעלה מערכת של הגרעין ברמת היו , התהליכונים תהליכונים. בין מסרים והעברת תהליכונים הקמת אודות מידע מכילה ראשונה. ספריה

אזרח אינו היישום: תהליכון ברמת לתהליך. בעיות והמתנה : יצירה, סיוםהפרימיטיביים thread callה- משביתה ההפעלה מערכת, מערכת קריאת מבצע כאשר זמנונית. לכן כיחידה נחשב ראשונה, לא מדרגה

הפעלה, מערכת כל על זו בשיטה להריץ : ניתןULT של תהליכוניה. היתרונות כל על המשימה כל את להריץ ניתן זמנונית, לא יחידה אינו הפקודות. חסרונות: תהליכון את המכילה לספריה זקוקים רק

שונים. מעבד על שונים תהליכונים

הוא העיקרי שונים. החסרון מעבדים על שונים תהליכים של תהליכונים להריץ : ניתןKLT של היתרונותמצב. במיתוג גם כרוך ולכן ההפעלה מערכת ע"י נעשה תהליכונים בין הקשר מיתוג שכל

90 מתוך 39 עמוד

מודל הקלאסי. מימין המודל משמאל באיור ,code, data) המשימה של החלק התהליכונים, בו

filesאחד לכל התהליכונים, בעוד לכל ( משותף את שלו, הכולל הפרטי החלק את יש מהתהליכונים

והמחסנית. האוגרים מצב

התהליכים, במודל היו הראשונות ההפעלה מערכות עם הפעלה מערכות פותחו בהמשך

ונהיו אזרחות קיבלו )התהליכונים ריבוי-תהליכונים

תהליכון בגרעין, כל רץ : תהליךULT על הרחבה)א( נעשו התהליכונים בין המשתמש. המיתוגים ברמת רץ לתמיכה בנויה שהייתה עצמו היישום של הלוגיקה ע"י

נעשה התהליכונים בין שהמעבר היא בכך. המשמעות – ההפעלה. באיור מערכת / התערבות ידיעת ללא

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

:KLT (kernel user thread)יותר, מתקדם רעיון)ב( המיתוג על בתהליכונים, אחראית מכירה ההפעלה מערכת

יש זמנונית. החסרון: כעת יחידה מהווים ביניהם. התהליכונים יותר( )יקרה התהליכים ברמת – זמנונים של רמות שתי לנו

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

Page 40: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

לתהליכון המשתמש ברמת תהליכונים מספר למפות . ניסיוןhybrid ULT\KLTיותר: מורכב מודל)ג( מיתוגים מבצעים כאשר ההפעלה מערכת של הקשר מיתוגי לחסוך ההפעלה. כביכול מערכת ברמת יחיד עבה המשתמש( לחבל ברמת )תהליכונים חוטים מספר של כאיחוד זאת לדמות תהליכונים. ניתן בין

מערכת(. )תהליכון למספר תהליך, שנחלק מריצה ההפעלה מערכת– many-to-oneתהליכונים. )א( ריבוי של מידול(2)

ביותר, כל הפשטני המודל– one-to-one. )ב( ULT של מימוש המשתמש. בעצם ברמת תהליכונים המודל בעצם תהליכים. זהו רק אלא תהליכון אין לתהליכון-משתמש, בעצם שקול תהליכון-מערכת

ברמת רבים תהליכים– many-to-manyתהליכים. )ג( ורק אך קיימים שעבר(, בו )משיעור הקלאסי הגמיש המודל ההפעלה. זהו מערכת ברמת תהליכים של רב למספר ממופים להיות יכולים המשתמש

lightweight ביניים המשתמש, רמת שלuser thread רמות: 3 יש– two-level modelביותר. )ד( processהמערכת, רמת את גם ובנוסףkernel threadכבר. )ה( קיים מדי, לא מורכב הזה . המודל (. J )כבוד ג'אווה בסביבת תהליכונים

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

משותף, במרחב שהכל או משלו פרטיים ונתונים שטח יש לתהליכון : האםthread-specific data)ב( בטרם מוות של במקרה תהליכונים יורש מי – תהליכונים של מוות של המשימה? )ג( במקרה של המיעון

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

מדי. מורכבים במודלים

[ כולל22 שקופית עד , הגענוos4-1 cop ]מצגת תהליכים בין סנכרון

בין , תקשורתIPC( inter-process communicationה- על ולא הבודד התהליך רמת על דיברנו כה עד ישיר. קשר ביניהם ואין במערכת אחרים תהליכים שרצים לכך מודעים עצמאיים, שלא תהליכים תהליכים(. ישנם

כאלו ביניהם. תהליכים תיאום מקבילית, המחייבת לפעולה השייכים בתהליכים נעסוק בהם. אנחנו נעסוק לא לכן את לזרז יכולה ביניהם תקינה פעולה. תקשורת לאותה השייכים האחרים מהתהליכים ומושפעים משפיעים

להתייחס דו-משמעי, ניתן במובן המרצה: משימה של ]הערה משימה לאותה השייכים הפעולה. בעיה: תהליכים בו , מצבrace condition הנקרא ממצב לסבול יותר[ יכולים רחב במובן לפעולה וגםtaskכ- למשימה גם

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

נקרא זה ה'חדש'. מצב המידע של כתיבה לאחר מעודכן לא כבר שאולי לכן קודם קיים שהיה מהמידעinconsistent dataבמקביל. קטע אותן לבצע קריאה, ניתן בפעולות מדובר אם זאת עקבי. לעומת לא , מידע

תכנות של בהרצאה זה על הנתונים. ]למדנו של / אמינות היושרה על לשמור ( נועדcritical section) קריטי להיות יכולה תהליכים בין נתון.[ תקשורת ברגע אותו להריץ יכול יחיד שתהליך קוד בקטע : מדובר1 מתקדם כל ממתינים תהליכים שני בו מצב )קפאון( הואdeadlockחסרונות: )א( לה יש מסרים, אך שליחת ע"י מיושמת

בו מצב )הרעבה( הואstarvationלנצח. )ב( להמתין עלולים שניהם ובעצם השני מהתהליך למסר אחד(.J רעב ונהיה אוכל מקבל )לא מגיעה שלא להודעה מחכה תהליך

ע"י פריטים, הנצרכים לייצר יותר, אחראים או (: יצרןproducer \ consumer problem) המקביליות בעייתיותר. או אחד צרכן

90 מתוך 40 עמוד

)המדידות זמן של גודל בסדרי הבדלים ישנם השונים, המודלים במיקרו-שניות( בין נעשו לראות השונות. מפתיע הפעולות עבור

מהמודל יותר יעילULT של המודל שדווקאKLTמודעת ההפעלה מערכת , בו

Page 41: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

מבני-נתונים, מזכיר )לחובבי מעגלי במערך סופי גודל בעל מכלא היצרן-צרכן: מימוש לבעיית לפתרון דוגמהcyclic queueמצביעים: 2 (, ע"י inלכתוב(, בעוד יכול היצרן )שאליו הראשון הפנוי המקום את יסמן outיסמן

אינדקס, איך אותו על נמצאיםout ו-in לקרוא(. שאלה: אם יכול הצרכן )שממנו האחרון התפוס המקום את מידע כמה (, שיגידcount לו )נקרא מונה של ערך להוסיף לגמרי? תשובה: ניתן / מלא ריק המכלא אם נדע

שהצרכן פעם בכל , בעודcount++ יבצע הוא למכלא יחידת-מידע יכתוב שהיצרן פעם במכלא. בכל נמצא בו עקבי, מצב לא למידע דוגמה בעצם הוא . בעיה: הפתרוןcount– פעולת יבצע הוא מהמכלא מידע יקרא

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

עקבי. יהיה לא המידע כזה התנגשות, במקרה של מצב להיווצר , עלולcount את מפחית

7.12.09 - 8מס' הרצאה[18 , משקופיתos4-1 cop ]מצגת

ינסו ששניהם חשש ממנו, יש שקורא צרכן , עבורbufferל- לכתוב צריך היצרן שעבר: כאשר משיעור תזכורת הערך את להגדיל ינסה מהם אחד להתנגשות, כי יגרום זה בו-זמנית. דברcount של הערך לשינוי פעולה לבצע

להיותcountה- ערך עלול מכך (. כתוצאהrace condition נקרא זה )מצב להקטינו ינסה והשניcount שלנכון. לא

Critical section problem –משיעור אותו. בדוגמה להריץ יחיד לתהליך קריטי, שמותר קוד בקטע מדובר התנגשות. למנוע , כדיcount המשתנה של הערך את לשנות יכול נתון רגע בכל יחיד תהליך שרק שעבר, נגדיר

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

90 מתוך 41 עמוד

ואילו להדפסה הנשלחים תווים מייצר למשל: היצרן זו התווים. למה את שמדפיסה המדפסת הוא הצרכן לא בשני, המדפסת תלוי אחד לבעיה? כי דוגמה להדפסה. תווים לה יתנו שלא להדפיס, עד יכולה

בין ]בעברית: מכלא[ המקשרbufferתיאורטית, ה- מוגבל )לאunbounded להיות יכול והצרכן היצרן

לגודל , חסוםbounded הוא בפועל במקום(, אך לבצע סופי, נרצה גודל בעל והמכלא מסוים. היות

מידע לכתוב ינסה לא שהיצרן ליצרן, כך חסימה

Page 42: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

.count שייקרא , מונהout ו-in למשתנים ב'מכלא', נוסיף תא כל לנצל רוצים אנחנו שעבר: אם משיעור תזכורת מלא או לחלוטין ריק שהמכלא סימן סמוכים, כמהווהout ו-in האינדקסים אם בבדיקה המונה, נעזרנו לולא

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

countמהווה זה שמצב , הוא busy-waitingלהבין: גם רב. ]חשוב ריצה זמן שגוזלות חסרות-ערך , בדיקות צריך מהם אחד כל הרי – הצרכנים תהליכי ולכל היצרנים תהליכי לכל המכלא, משותפים וגםcount המשתנה

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

(J בעצמו הקצה מקרי כ'פעולותcount המשתנה ערך / הקטנת קידום של הפעולות את המכונה בשפת להגדיר יהיה הפתרון

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

צריך בזכרון, אלא משתנה של ערך לשנות ניתן שלא היא הפעולה. ההנחה את לנו שתשבש פסיקה יש בו מצב בחזרה אותו לשמור צריך שבסיום )כמובן ערכו את לשנות ניתן אז ורק הרגיסטרים לאחד אותו לטעון תחילה / הפחתת לקידום שניסיון חשש אטומיות, אין כפעולותcountה- ערך שינוי פעולות נגדיר בזכרון(. אם למען לשנותו, הצרכן הספיק ובטרם לרגיסטר אותו טוען היצרן כאשר )למשל בו-זמנית יתבצעוcount של הערך בכל לרגיסטרים לגשת יחיד לתהליך ( שמאפשרcontext switch) מיתוג-ההקשר בזכות לשנותו(. זאת מנסה

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

יצרנים שבשני אטומית(: נניח כפעולהcountה- ערך שינוי פעולת את הגדרנו )בטרם הבעיה להמחשת תרחיש count של התחילי הערך . אםcount לערך קידומים10 של לולאה להריץ מנסה מהם אחד לולאה, כל ישנה חשבה הכיתה )מפתיע, רוב2-20 הוא התהליכים שני של הריצה בסיוםcountל- האפשרי הערכים , טווח0 הוא

[:הזה התרחיש את להבין]חשוב)!( הסבר(. 10-20 או0-20 הטעינה, )בעת לרגיסטרcount של הערך את יטען היצרנים : אחד10 יהיהcount של הערך שבסיום כדי)א(

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

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

1 של ערך יקבלcountה- ובעצם הערך את יקדם הראשון היצרן . כעתcountה- ערך את פעמים9 ברגיסטר הקידומים9 את ימשיך הראשון (. היצרן1 ערכו )כאשר לרגיסטרcount את יטען השני היצרן בלבד. כעת

1 רק היהcountה- כאשר מיד לרגיסטר טעינה ביצע השני היצרן , אך10ל- יגדיל וכביכול הלולאה של הבאים.2 ל-count את יגדיל הוא שלו הלולאה של האחרון בסיבוב ולכן 10 כל את לבצע מצליח אחד האינטואיטיבית, כל : האפשרות20 יהיהcount של הערך שבסיום כדי)ג(

הפרעה. ללא הקידומים

אם )גם לוגית למקביליות מאפשרים בעצם , אנחנוmulti-threading מאפשרים שאנחנו כך חשוב: ע"י דגש .race condition של במצב מדובר נכונות, כאשר מאבדים מכך כתוצאה יחיד(, אך מעבד יש שלנו במחשב

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

[os4-2 cop ]מצגת

90 מתוך 42 עמוד

פעולת את הפתרון: נגדיר המחשת מימין בציור אטומית כפעולה המשותף המשתנה קידום

שאחד שמרגע קריטי', כך קוד וכ'קטע הזה, לא הקוד את לבצע התחיל התהליכים

הקוד ביצוע תום עד פסיקה להתרחש תוכל race של מסוכן מצב למנוע הצלחנו הזה. כך

בו : במצב ( Critical section, CS ) הקריטי הקוד קטע לבעיית פורמליזציה שניגש הקוד קטע את משותפים, נגדיר במשתנים להשתמש מנסים תהליכים מספר

וקטע לפניוentry section כניסה קטע הוספת )ע"י קריטי כקוד הללו למשתנים קטע את לבצע יכול יחיד תהליך שרק נבטיח אחריו( ובכךleave section יציאה

Page 43: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

קריטיים. קוד קטעי מספר יכיל תהליך שכל משותפים, כך משתנים למספר לגשת מנסה תהליך כל בו מצב ייתכן ותהליךk המשותף למשתנה ניגש אחד תהליך למשל שאם תיאום, כך של סוג לבצע נדאג כזה שבמצב כמובן

למשתנה לגשת מנסים התהליכים שני בו מצב ייתכן לא אפשרי, אך יהיה , הדברm המשותף למשתנה ניגש שני אין זה שלו, עם הקוד במהלך אחת מפעם יותר משותף למשתנה לגשת מנסה מסוים תהליך זהה. אם משותף

יחיד. בתהליך מדובר בעיה, שכן לנו מהמקרים(:100%)ב- תנאים3 לקיים צריך הקריטי הקוד קטע לבעיית נכון פתרון הקריטי, בקטע נמצא אחד תהליך : אםmutual exclusionרגליים'( 'להדיר )מלשון הדדית הדרהא()

בו. להיות יוכלו לא אחרים תהליכים לו. אם לאפשר הקריטי, יש הקוד לקטע להיכנס רוצה התהליכים אחד רק : אםprogress התקדמותב()

הקוד 'התקדמות' של לאפשר כניסה, כדי לאפשר חייבים מהם להיכנס, לאחד רוצה אחד מתהליך יותר 'תקועים'(. למעשה והתהליכים הקריטי לקטע נכנס לא אחד , אףdead lock שנקרא מצב יהיה )אחרתגלובלית. התקדמות תנאי גם נקרא

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

מהירות מה מראש לדעת ניתן הקריטי. לא הקוד בקטע להתקדם יצליח שרוצה תהליך שכל דאגה שניות למספר להיכנס הממתין תהליך שנחסום להחליט ניתן לא ולכן הקוד את מריצים עליו המחשב

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

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

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

שנראה4ה- הקריטי. הדוגמה הקוד קטע התוכנה, קוד( לבעיית )ברמת כפתרונות שגויות דוגמאות3 נראה במקביל. בנוסף, ( הפועליםjim ו-larry להם )נקרא תהליכים2 רק שיש נניח שלנו נכון. בדוגמאות פתרון תהווה הקריטי. הקוד קטע את ולבצע להיכנס התור מי של , שיצייןturn שייקרא מחרוזת מסוג משותף משתנה נגדיר jim של הקוד (. כמובן, קטעJ יפה שם לו יש , כיlarry) התהליכים אחד של הקוד את רק נראה הדוגמאות בכלשהגדרנו. הקריטריונים ע"פ פתרון כל של נכונות סימטרי. נבדוק הוא

(1)

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

הקריטי, ערך בקוד יהיהjimש- שמו. כדי את להחזיק צריךturn המשתנה הקריטי, ערך הקטע בתוך שמדובר הוא כאמור כאן )והדגשturn המשתנה ערך שינוי שמו, אך עם להיות צריךturn המשתנה הקריטי. לכן, מהקטע יוצא התהליכים שאחד לאחר רק התהליכים!( משתנה לשני המשותף במשתנה

'בעלות' ל- ולהעביר בעצמו הקריטי מהקטע לצאתlarry צריך הקריטי, תחילה לקטע יכנסjimש- כדיjimא' מתקיים. תנאי . לכן

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

כי להיכנס יוכל מהם אחד שרק לנו אכפת . )לאjim אוlarryלהיות( )וחייב להיות יכולturn המשתנה שני אם לנו מפריע לא זה תנאי בדיקת ב', לצורך בתנאי רק מתעסקים כרגע א' מתקיים, אנחנו תנאי

המשתנה ערך אם התקדמות. שהרי להתקדם, אין ירצה מהם אחד רק להיכנס(. אם יוכלו התהליכיםturnהוא larryשהלך( פקודת ע"י לישון sleepואילו ) jimיכול. לכן אינו הוא – להיכנס רוצה דווקא מתקיים. לא ב' בעצם תנאי מהקטע יצא התהליכים שאחד ברגע , כי1 הוא והחסם חסומה המתנה חסומה(: יש ג' )המתנה תנאי

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

הקריטי. הקטע לבעיה פתרון אינו זהו ולכן מתקיים(2)

90 מתוך 43 עמוד

בסוף )לכןbusy-waiting יבצע , הואlarry של התור לא זה עוד כל הקוד קטע ביצוע נקודה-פסיק(. לאחר יש הפנימיתwhileה- לולאת שורת

ש- . בהתאמה, לאחרjimל- התור את ( מעבירJ )הנחמדlarryהקריטי, jimשל התור את יעביר הקריטי, הוא הקוד את יבצע larry.

Page 44: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

מתקיים. לא התנאי הקריטי(. לכן להיכנס יוכל שיגיע . הראשוןfalseל- מאותחלים הדגלים שני גלובלית(: מתקיים, כי ב' )התקדמות תנאי

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

רק להיכנס יכולjim שהתהליך וכדי . היותjim לתהליך השליטה את שהעבירה פסיקה הדגל, הייתהייכנס. לא לעולם 'למטה', הואlarry של הדגל כאשר

מתקיימים. א' ו-ג' לא תנאים אך ב' מתקיים לסיכום: תנאי(3)

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

רוצים שניהם ונכנס. אם הדגל 'מרים' את לא, הוא והשני להיכנס רוצה אחד ב' )התקדמות(: אם תנאי 'מרים' את אחד )כאשר התקדמות אין להיכנס. לכן יוכלו לא ושניהם הדגל 'מרימים' את להיכנס, שניהם

להיכנס(. יכול לא הדגל, השניש- הדגל. לאחר את ומדליק להיכנס רוצה jimש- . טיעון: נניח1 של חסם חסומה(: יש ג' )המתנה תנאי

larryשל וההדלקה הכיבוי שבין שלו. בזמן הדגל 'מוריד' ו'מרים' את ויצא, הוא הקריטי לקטע נכנס larryהתהליך , jimב' לא. ותנאי א' ו- ג' מתקיימים להיכנס. לסיכום: תנאים יכול

(4)

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

לא עדייןjimש- שאומר . מהjim של התור שזה אמר לאturn המשתנה כי בפניםlarryראשון: טיעון אותו יטען הקריטי. הוא בקטעjim מדוע נשאל 'כבוי'. עכשיו עדיין שלו הדגל הקריטי, כי לקטע נכנס שלו הדגל ובהכרח בפניםlarryש- אמרנו הרי סתירה, כי כמובן 'כבוי'. זוlarry של שהדגל – דבר

larry של שהדגל בפנים, למרותjim איך 'כבוי'. אזjim של הדגל כי נכנסlarryשני: 'מורם'. טיעון הדגל אחרת , כיwhileה- לולאת את לעבור היה יכול לאjim בעצם אז . אבלjim היה התור 'מורם' ? כי

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

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

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

(5)90 מתוך 44 עמוד

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

שמיד הוא (. השינויfalseל- )מאותחלים קודם כמו דגלים בשני שימוששלו. הדגל 'מרים' את שרץ )החיצונית, הגדולה( התהליך הלולאה בתחילת

בדגל וגםturnה- מי של שמציין בדגל גם נכון: נשתמש פתרון המשותפים המשתנים )שילוב מהתהליכים אחד כל של

'מרים' להיכנס, הוא רוצה תהליך הנ"ל(. כאשר מהפתרונות כי קובעturn עוד להיכנס, כל יוכל לא שלו. תהליך הדגל את

להיכנס. רוצה השני התהליך וגם השני לתהליך שייך התור

Page 45: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

jimהמשתנה ערך את ישנה turnל- התור את מעביר הוא שכביכול בעצמו, כךlarryהוא ובנוסף פסיקה תהיה שוב זה 'כבוי'. בשלבlarry של הדגל להיכנס, שהרי יכולjim שלו. כעת הדגל 'מדליק' את

מאפשרturn המשתנה להיכנס, כי יכול והוא עצמו של הדגל 'מדליק' אתlarry . כעתlarryל- ונחזור לי שהסביר הזקן הלל לאדון . ]ותודה הקריטי לקטע להיכנס הצליחו התהליכים מכך, שני לו. כתוצאה

[J בימינו במהרה ולשידוך ימים לאריכות בשיעור. שיזכה לכתוב הספקתי שלא מה את

תהליכים.n עבור הקריטי הקטע לבעיית : פתרון Bakery algorithm המאפייה אלגוריתם שני מהקודמים. אם אחד מאף קטן אינו שמנופק המספר שלב שבכל מספרים, כך שמנפקת במכונה נשתמש

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

לנו יהיה ל'שקר' . בנוסף יאותחל בו דגל שכלn דגלים, באורך של בוליאני במערך מהקודם. נשתמש קטן מספר )וכך חיוביים מספרים מקבלים הכרטיסים שכל הגדרנו , כי0ל- שיאותחל הכרטיסים מספרי עבורint של מערךלהיכנס(. מעוניין לא שהוא שיעיד חוקי, מה מספר כרגע אין מסוים לתהליך אם לדעת נוכל

90 מתוך 45 עמוד

לולאת שלפני השורות שתי של הסדר החלפת כיצד נראה turn את נעביר בפתרון: קודם פוגמות הפנימיתwhileה-

שלנו. הדגל 'נרים' את אח"כ ורק השני לתהליך

, מהtrueל- הדגל את הכניסה: משנים קטע בוחרים להיכנס. כעת רוצה שהתהליך שיעיד הדגל. נרוץ ו'מורידים' את הכרטיס עבור מספר

אחד בדיקה: אם ונבצע הכרטיסים מערך כל על לרוץ. לו נאפשר–'מורם' דגל בעל התהליכים

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

והמזהה הכרטיס מספר קודם, ע"פ להיכנס

Page 46: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

(. כאמור, מספרmax+1 מבצעים )בהנפקה האחרים כל את ינצח אחד מתהליך שיותר ייתכן האחרים. לאהקריטי. מהקטע ביציאה מתאפס הכרטיס

להיכנס. שיוכל 'מנצח' אחד יש בוודאות התקדמות, שהרי ב' )התקדמות(: יש תנאי כרטיס יבחרו האחרים התהליךn-1 שכל הוא הגרוע . המקרהn-1 והוא חסם חסומה(: יש ג' )המתנה תנאי

לפניהם. אכנס אני ולכן לפניהם מספר בחרתי הבאה, אני בתחרות לפניי. אבלהקריטי. הקטע לבעיית בפתרון מדובר ולכן מתקיימים התנאים לסיכום: כל

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

14.12.09 - 9מס' הרצאה[קודם , משיעורos4-2 cop ]מצגת

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

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

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

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

הייחודי המזהה עניין את הוספנו )כי יחיד גם והוא מנצח מספר יש הגדרנו: בהכרח אותם התנאים3 את מקיים ייכנסו האחרים התהליכיםn-1ש- עד לחכות יצטרך להיכנס שמעוניין תהליך הגרוע תיקו( ובמקרה של במקרהויצאו. הקוד שורות כל מספר? האם לבחור אח"כ ורק הדגל 'להדליק' את צריך תהליך מדוע שאלנו שעבר שיעור בסוף

אפשר נכון? האם יהיה הנ"ל שהאלגוריתם כדי הכרחיות אכן האחרים התהליכים של הדגלים מצב את הבודקות בוחרים תהליכים ששני מתקיים: נניח היה לא הדדית ההדרה של התנאי בקוד? בלעדיהן1,3,5 שורות על לוותר הנמוך הייחודי המזהה מאופס(. בעל המספר לכולם )בהתחלה1 המספר את קיבלו זמן, שניהם באותו מספר

הצליח הגבוה המזהה בעל ודווקא שליטה איבד להיכנס, הוא הצליח הנמוך המזהה שבעל שלפני נניח ייכנס. אך האישי הדגל וכיבוי להיכנס. הדלקת גם ויצליח שליטה שוב יקבל הנמוך הייחודי המזהה בעל להיכנס. כעת

עם רק שלנו המספר את משווים שאנחנו מוודאת הפנימיתwhileה- כזה. לולאת מקרה למנוע חיוניים, כדיהדגל(. את )והדליקו להיכנס רוצים שאכן תהליכים של מספרים busy wait מהווה קריטי לקוד כניסה ( לולאת1חסרונות: ) בעלי הקריטי הקטע לבעיית התוכנה ברמת פתרונות

/ חומרה ברמת פתרונות נראה זאת. כעת לדעת דרך לנו הקריטי, אין בקטע נתקע תהליך ( אם2זמן. ) וגוזלתהפעלה. מערכת

[os4-3 cop ]מצגת: הקריטי הקטע לבעיית החומרה ברמת פתרונות מאבדים פסיקה, אנחנו ומתרחשת קריטי בקטע נמצא תהליך יחיד. כאשר מעבד בעל במחשב נדון בתחילה את לבטל נוכל להתקדם. אולי יכול לא אחר תהליך בחזרה, אף שליטה יקבל תהליך שאותו עד ובעצם שליטה

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

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

בשאר הפסיקות מעבדים, כי במספר מדובר כאשר הבעיה את תפתור לא חסימתן חד-מעבד. אך במחשב טוב כבר זה המעבדים, אבל בכל הפסיקות את לחסום שמאפשרות ארכיטקטורות יש ייחסמו. אמנם לא המעבדים

יעיל. לא פסיקות חסימת של הפתרון . לכן נזק להיגרם ו..עלול 'אטומי' מסוכן נשק

קריטי: קוד קטע להפעיל, להגדרת תוכל ההפעלה מכונה, שמערכת פקודות נגדיר אחר: אולי חלופי פתרון מתרחשות הפעולות שתי בו-זמנית. כביכול ערכה וקביעת בזכרון מילה של ערך בדיקת– test and setא()

בו-זמנית. לקטע ויציאה כניסה כקוד במנעולים להשתמש משתנים. נוכל שני של ערכים מחליפים – / שחלוףswapב()

לצאת, נפתח נרצה בעצמנו, כאשר אותו וננעל פתוח המנעול אם להיכנס, נבדוק נרצה הקריטי. כאשר90 מתוך 46 עמוד

Page 47: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

נזכרתם אתם )גם למנעול יחיד מפתח כמובן להיכנס. יש יוכלו אחרים שתהליכים כך מחדש המנעול את(.box? Jוב- בג'אווה

שהצענו: הרעיונות את נבדוק

90 מתוך 47 עמוד

(test) ערכו את בוליאני, מעתיקה פרמטר של מען מקבלת )א( הפקודה trueל- ( שקיבלהset) המשתנה של הערך את מקומי, משנה למשתנה מקומי(. הפקודה במשתנה שנשמר )לאחר המקורי הערך את ומחזירה

המשתנה של הערך את שומרת בו-זמנית: גם משימות שתי מבצעת הזו הזו הפקודה את החדש. נגדיר הערך את ומחזירה ערכו את משנה וגם

false הוא הפקודה שמחזירה הערך אם הקריטי, בודקים לקטע הכניסה בקטע ולכןtrueל- השתנה שנכנסנו, ערכו להיכנס. לאחר נוכל אותחל( ואז הוא )כך

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

Page 48: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

[Jקצב?( )הנשיא או-נס שיש או כאן ששחור או – נס היא ישראל )חנוכה?!(: מדינת נס על ]בדיחה

( ותור.1 לערך )מאותחלcount משתנה גם יותר: נוסיף מתוחכמת בצורהsemaphoreב- להשתמש נצטרך

השאר להיכנס. כל יכול ולכן לאפסcountה- ערך את משנה שמגיע : הראשוןWaitהשתנו. הפקודות שתי כעת עובר מהתור שיצא . תהליךcountה- ערך את : מגדיליםSignalלהיכנס. כדי ההמתנה לתור וייכנסו יגיעו

בתור נתונים, מדובר מבני . )לחובביn-1 הוא כאן, החסם שוב(. גם להיכנס שירצה )למקרה ההמתנה לרשימתהאטומיות. 'מוסתר' בפעולות הקוד עיקר מהקודם, כי מסובך פחות הזה (. הפתרוןFIFO J מסוג ( אפשרcounting semaphore) המונה )כללי(. בסוג ומונה : בינאריsemaphores של סוגים שני ישנם

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

ע"י נעשה הכללי: הדבר סמך על בינאריsemaphore לממש ניתן בקלות מסוים. די קוד קטע בו-זמנית לבצע שנקרא במשתנה שימוש עשינו למעלה, בו המופיע הקוד את )מזכיר המתנה-לריצה ורשימת בתור שימושcount.)

90 מתוך 48 עמוד

ביניהם, ע"י שחלוף ומבצעת בוליאנים ערכים שני מקבלת )ב( הפקודה כמובן נניח בסיסיות, אך פעולות3ב- מדובר זמני. אמנם במשתנה שימוש

אי-פריקה. בכניסה שהינה יחידה לפעולה מתורגם הדבר מכונה שבשפת . היותtrueל- שלנו האישי המפתח ערך את משנים הקריטי, אנחנו לקטע הוא שלנו המפתח ערךswap ביצוע , לאחרfalseל- אותחל המנעול וערך

falseנכנס, ערך כבר שתהליך זאת, לאחר להיכנס. לעומת נוכל ולכן whileה- לולאת , תנאיswap פעולת ביצוע לאחר ולכןtrue המנעול

לקטע כניסה מקוד כחלקTestAndSet בפקודת נכון לשימוש דוגמה waiting בוליאני במערך יתקיימו: שימוש התנאים3ש- קריטי, כך

הוא ( שאותוkey) מפתח יש תהליך התהליכים(. לכל של דגלים )בעצם אני אם גם בודקת הכניסה להיכנס. לולאת רוצה הוא כאשר מדליק

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

(. בתוךtrue הוא שלוwaitingה- דגל )ואז להיכנס שמעוניין אחר מהם אחד ואם האחרים התהליכיםn-1 של הדגל את נבדוק הלולאה

הדגל להיכנס, 'נכבה' את רוצה שהוא לסמן כדי שלו הדגל 'הדליק' את את דגלו, נשנה 'הדליק' את לא תהליך אף הלולאה, אם שלנו. בסיום

תנאי את מבטיח היציאה . קטעfalse להיות בחזרה המנעול ערך הקריטי. החסרון הקטע לבעיית נכון פתרון זה ולכן החסומה ההמתנה

Semaphoresשל )פרימיטיבים מערכת קריאות הקריטי, ברמת הקטע לבעיית נוסף : פתרון [J מהתחנה לצאת יכול שהוא הקטר לנהג ומסמן מוריד שדגלן זה ספריות(. ]בעברית: דגל, כמו

על אטומיות פעולות שתי . ישנן1ל- מאותחל . ערכו1 או0 של ערך לקבל יכול הדגל הדגל, )הרמתsignal( ו-down \ P ע"י גם הדגל, מסומנת )הורדתwaitהדגל:

)כך הדגל להורדתwait פעולת נבצע הכניסה (. שימוש: בקטעup \ V ע"י גם מסומנת יוכלו אחרים שתהליכים כךsignal פעולת נבצע (, וביציאהJ להיכנס יכול הקטר שנהג

wait(s)הדגל של הערך )כי לעבור לראשון המאפשרת לולאה : בעצם מתקיים.. לא חסומה המתנה של (. התנאי1ל- מאותחל

כאלו. אחד לשניים נזדקק בינארי, אך סמך על כלליsemaphore לממש גם ניתן המשתנה למימוש: ערך . דוגמה1ל- ( יאותחלS1) והשני לאפס ( יאותחלS2) מהם

Cב- הקריטי. נשתמש לקטע להיכנס שיכולים התהליכים מספר את יצייןS1כסוג רק לעבור נצליחwaitב- הראשונות השורות שתי קריטי. את לקטע ביקורת של שיש )לסמןC המשתנה ערך את נפחית בפנים. כעת שנמצא אחר תהליך אין אם

להיחסם. נשחרר צריכים שלילי, אנוC זאת, אם בפנים(. לעומת פחות אחד מקום לאפס, מתוחלS2ו- . היותwait(S2) ונבצעsignal(S1) ע"י הקריטי הקטע את

לאטומיות.signal ו-wait הפעולות את להפוך מסייעS1ייחסם. שיגיע הראשוןS2שמורשה מי להיכנס. כך, כל שהצליחו התהליכים את לספור כדי משמש

Page 49: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

90 מתוך 49 עמוד

Page 50: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

.LIFOכ- שיפעל כך הדגל את הגדרנו בטעות אם – )ב( הרעבה ובעצם הקריטי לקטע נכנס נמוכה עדיפות עם תהליך דווקא– priority inversionקדימויות, )ג( היפוך

של ביצוע חוסםגבוהה. עדיפות עם תהליך

[os5-1 con ]מצגת התהליכים התנאים, אך3 את וקיים נכון היה אמנם שהצענו היצרן-צרכן. הפתרון בעיית את ראינו שעבר בשיעור

.wakeup ו-sleep בפקודות שימוש ע"י הפתרון את לשפר . ניתןbusy waitingהמתנה, בלולאת עסוקים היו. semaphoresב- שימוש ע"י גם זו לבעיה פתרון נראה כעת

מקביליות: של נוספות בעיות )כותבים-קוראים( readers-writers בעיית

הכותבים. נוסיף של חסימה עבור ושני הדדית הדרה עבור דגלים, אחד בשני : נשתמשfirst לבעיית פתרון נראה .0ל- הקוראים של המונה ואילו1ל- יאותחלו הדגלים כרגע. שני יש בו-זמנית קוראים כמה שסופר משתנה גם

קורא: של הדגל. קוד את בחזרה משנה ואז כותב הוא לעבור מצליח חסימה, אם מבצע כותב: תחילה של קוד שכותב )הדגל( כדיwrtל- חסימה מבצעים הקוראים. כעת מספר את ומגדילים ההדדית ההדרה דגל את משנים

מאפשרים – התאפס הקוראים מספר אם בדיקה ויש הקוראים מונה את הקריאה, מפחיתים ייחסם. לאחרלהיכנס. לכותב

סועדים( )פילוסופים dining philosophers בעיית

90 מתוך 50 עמוד

קוד קטע יש כאשר סנכרון, למשל לבצע רוצים כאשר גםsemaphoreב- להשתמש ניתן אחר. בתהליכון הורץ אחר קוד שקטע לאחר רקמסוים, בתהליכון להריץ שרוצים מסוים

נשתמש כזה במקרה

, נוכלsignal ו-wait בפקודות שימוש לאפס. ע"י דווקא שמאותחלsemaphoreב- ערך לעבור, כי יצליח לא יותר, הוא מהר יפעלPj התהליך אם זאת. בדוגמה: גם להבטיח

:semaphoresב- שימוש בעת ידועות בעיות להיכנס כדי דגלים שני לעבור צריך בהם במקרים– nested deadlockא()

ה- ופעולותwaitה- פעולות את יבצעו התהליכים שכל קריטי. נצטרך לקטעsignalהשורה את יריץ אחד כל מימין, אם בדיוק. בדוגמה הסדר באותו

לא אחד ו..חבל. אף חסומים הקריטיים הקטעים שני שלו, בעצם הראשונה

ידאג אחד דגלים, שכל3ל- נזדקק הדדית, סימון מסוימת: הדרה לפעולה

(,buffer) במכלא המלאים התאים מספר שבמכלא. הריקים התאים מספר סימון תאיםnמלאים, תאים0 אתחול, יש בעת

להדרה שאחראי הדגל של ריקים, והערך תחילה . הצרכן1ל- מאותחל הדדית מידע(, לאחר )עם מלא תא שיהיה מחכה

את מפחית ואז המידע את לוקח הוא מכן מידע. יש שבהם התאים מספר של הערך

הפקודות של הסדר את נהפוך אםwaif(full) -ו wait(mutex)ביצרן )גם

באחד רק נהפוך אם בצרכן, שהרי וגם

יותר יהיו נתון שברגע בעיה אליו. אין כותבים וחלק ממנו קוראים נתונים, חלק מסד יש או קורא – העדיפות את מקבל מי נשאל המידע. תמיד את משנה לא קורא יחיד, כי מקורא

לכותב ונאפשר הקוראים את כותב, נוציא ומגיע בפנים קוראים יש כותב. למשל, אם שמעוניין כותב אין עוד כל– Firstהבעיות: למידע. הגדרת / שינוי עדכון ולבצע להיכנס

לכותב לאפשר קוראים, צריך יש אם גם– Secondלקוראים. עדיפות לתת לכתוב, צריך

Page 51: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

90 מתוך 51 עמוד

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

לאכול. יכולים לא ומשמאלו מימינו השכנים אוכל, שני מסוים סועד שאם שאומר מה 4 הרימו הם ביחד )כי בו-זמנית לאכול יכולים פילוסופים2 סועדים, רק5 של בשולחן

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

לאכול( מפסיק לא מסוים פילוסוף של מהשכנים אחד לפחות )אם הרעבה לאכול, או

Page 52: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

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

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

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

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

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

. לעומתdown החסם את לעבור נוכלtake forks בפעולה , כךup ע"י המזלג של הסיגנל שינוי לאכול. יתבצעהמזלגות. שני את לקחת נוכל לא ובעצםdown את לעבור נוכל הצליחה, לא לאtestה- זאת, אם

21.12.09 - 10מס' הרצאה[os5-2 con ]מצגת

הקטע לבעיית תוכנה פתרונות קריטי. ראינו וקטע תחרות כגון במקביליות בעיות על דיברנו הקודמים בשיעורים מקביליות: יצרן-צרכן, כותבים-קוראים, של בעיות מספר . סקרנוsemaphores ע"י חומרה פתרונות וגם הקריטי

סועדים. פילוסופים

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

אחר תהליך ואף אטומי כביכול מתבצע, האוסף המשותף המשתנה על הפקודות שאוסף סינתטי'(. כמובן, בזמןאותן. לבצע יכול לא

יותר( מסובכות )וגם יותר גבוהות יכולות בעל קריטי, אך קטע בונה הוא מוניטור. גם נקרא הבא צרף-השפה קריטי קטע ויוצרת משותף נתונים מבנה על שמגנה / מחלקה יחידה מגדיר הקריטי. המוניטור לתחום ביחס

יכול יחיד תהליך רק למוניטור, אך תהליכים מספר להיכנס במוניטור. יכולים המוגדרות הפעולות כל סביבו, עבור תיחול / מתודות, קטע פעולות מספר כולל בסמפורים. המוניטור משתמש עצמו פעיל. המהדר להיות

90 מתוך 52 עמוד

נפרד. נשתמש כתהליך סועד מפתיע( לכל לא )באופן פתרון: נתייחס אחד כל את הסועדים. נאתחל מספר בגודלsemaphores של במערך

הזה בעיה: הקוד להיכנס. יש יוכל הראשון שהסועד , כדי1ל- מהדגלים את תחילה ירימו הסועדים כל קיפאון, אם של מצב מדי, ייתכן סימטרי

מבצעים הקריטי, תחילה לקטע הכניסה בקטע ש'שומר' הבוליאני המשתנה ערך של בדיקה

ה'שומר' מאפשר, המשותף. אם המשתנה על הפקודות. אם אוסף את ולבצע להיכנס ניתן

המתנה. נניח לרשימת נכנס שלנו לא, התהליך לקיים , כדיFIFO מסוג בתור שמדובר כמובן

היא חסומה. ההנחה המתנה של התנאי את כמו הקוד את מיישם והוא נבדק שהמהדר

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

אך קריטי קטע על להצהיר אמנם מוגבל, ניתן הקטע 'לצאת' באמצע לנו מאפשר לא הוא

Page 53: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

cwait נקראות עליהם המבוצעות לוגיקה. הפעולות באותה סמפורים, פועלים גם הם מבחוץ. משתני-תנאי אליו אז אבל הקריטי לקטע הכניסה על לתחרות ומכניסה לביצוע תהליך )שמחזירהcsignalתהליך( ו- מיד )שחוסמת

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

90 מתוך 53 עמוד

Page 54: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

יצרן-צרכן: בעיית לפתרון מוניטור של יישום

בתור-חירום(. צורך )ואין לפעול שרוצה יחיד תהליך יהיה ולכן אחרונה מבוצעתcsignalה- פעולת

סועדים: פילוסופים בעיית לפתרון גם במוניטור להשתמש ניתן

בעל המוניטור )כזכור, רק המוניטור שלputdown ו-pickup בפעולות פילוסוף, נשתמש של תהליך ביישום עדיין בו-זמנית(, אך המזלגות שני את מרימים )כי קפאון של מצב מונע אכן זה למשתני-התנאי(. פתרון גישה

הרעבה(. גם מנענו כן, אז הוא )אםFIFO מסוג הואcsignal של שהתור הבטחה לנו אין שהרי – הרעבה תיתכן המזלג מצידי היושבים הפילוסופים שני כביכול )כי מזלג כל על2 בגודל תור לנו היה בסמפורים, בו לשימוש בניגוד ויהיה וייתכן שמחכה יחיד תהליך לנו ישcsignal של ביצוע לאחר הזה בו(, בפתרון להשתמש להמתין יכולים(.J מייצג שהוא הפילוסוף 'ירעב' )וגם אחר ותהליך הזמן כל תהליך באותו מדובר

90 מתוך 54 עמוד

גם לנו למוניטור, נוצרה משתני-תנאי והוספנו היות שהוספנו. השונים התנאים של נוספים 'חצר-אחורית', תורים

לתור נכנס מסוים, הוא תנאי מקיים לא תהליך אם כביכולהזה. משתנה-התנאי של המתנה

באחת מבוצע שתהליך תור-חירום: נניח גם בנוסף, יש שני יש . כעתcsignal הפעולה ונקראה המוניטור מפקודות אותו של בתור הבא התהליך – לרוץ שיכולים תהליכים

לרוץ יכול יחיד תהליך רק הנוכחי. אך והתהליך משתנה-תנאי ואילו לתור-החירום נכנסcsignal את שהפעיל התהליך ולכן

שיזכה זה יהיה הזו מהפעולה כתוצאה שהתעורר התהליך פקודת בסוף להתבצע צריכהcsignalה- לרוץ. פעולת תיגדע אותה שביצע התהליך פעולת אחרת המוניטור, כי

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

תור-חירום.

את צורכתtake הפעולה ואילו למאגר פריט מוסיפהappend הפעולה notfull משתני-תנאי שני וכן הפריטים עבור מכלא מכיל עצמו הפריט. המוניטור

את לעדכן כדי יפעיל מלא, הצרכן לא שהמכלא יסמן עליוcsignal )ביצוע לא שהמכלא יסמן עליוcsignal )ביצועnotemptyנוסף( ו- פריט לייצר היצרן

לצרוך(. יכול שהוא הצרכן את מעדכן היצרן ריק, כך

האתחול, הפילוסופים הסועדים. בעת מספר ( בגודלself לו )נקרא משתני-תנאי של מערך נוסיף הנוכחי שהתהליך שמודיעהself[i].csignal הקריאה את נוסיףtest הפעולה 'חושב'. בסוף במצב המצב את ששינינו בו-זמנית(, לאחר המזלגות שני )הרמתpickup הפעולה לאכול. בסוף מעוניין

כן ואם אוכל שלנו השכנים אחד אם , נבדוקtest ע"י לאכול יכולים אכן שאנחנו ל'רעב' ובדקנו בו-זמנית(, המזלגות שני )הנחתputdown הפעולה . בסוףself[i].cwait ע"י עצמנו את נחסום(.J ישנים כאשר לאכול אפשר )אי אותו נעיר כן ואם לאכול מעוניין שלנו השכנים אחד אם נבדוק

,mutexמהם, )אחד בינאריים סמפורים2 ע"י המוניטור את מיישם המהדר רגע בכל הפרוצדורה את מבצע יחיד תהליך שרק כך הדדית להדרה משמש

את לבצע המעוניינים התהליכים מספר את )שומרcounter נתון( ומשתנההפרוצדורה(.

Page 55: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

כל עלcsignal ו-cwait לפקודות קריאות ויבוצעו הפרוצדורה( ייתכן של המקורי " )הגוףbody of Pn" בתוךעצמה. הפרוצדורה של הוא אלו בפעולות שמשתנהnext-countה- ואז – משתני-התנאי של מהסמפורים אחד

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

nextהפרוצדורה. של לעבור יצליח הראשון רק שממתינים, אך התהליכים כל את מעירהsignal שהפעולה כךbroadcast לבצע ניתן ולבצע.mutex את

: הפעלה מערכות של ברמה סנכרון הדדית. הדרה המוודאים , משתניםadaptive mutexes שנקראים במשתנים משתמשת – סולאריסא()

כותבים-קוראים. בעיית לפתרון נעילה לבצע המאפשרים משתני-תנאי בעלת להיכנס מצליח שלא ומי משותף לזכרון ניגשים המעבדים , כלspin-locksב- משתמשת– XP חלונותב()

הבא התהליך מי לקבוע ואחראי למשתנה-תנאי בדומה שפועלdispatcher גם . ישbust-waitב- נמצאשירוץ.

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

.spin-locksוב- בסמפורים שימוש מאפשרת במקומו. לינוקסPthread של הכלליAPIב- הקיימים ומשתני-תנאיmutex locks מספק – תהליכונים של במודל סנכרוןד()

sב- עצמה. בשימוש ההפעלה במערכת התלויות הרחבות יש . בנוסףmutex lockסמפור(, מסוג )שהוא לתהליך ומאפשר קצרה שההמתנה מניחspin-lock מסוג מנעול לרוץ, בעוד מפסיק הנחסם התהליךלרוץ. להמשיך הנחסם

[ כולל26 שקופית עד , הגענוos5-3 con ]מצגת: ( Inter-Process Communication, IPC ) בין-תהליכים תקשורת

מניחים אנו תהליכים, בו בין מסרים העברת של ברעיון נדון , כעתshared memory של במודל עסקנו כה עד (.J אליו גישה בעלי המקבל וגם השולח גם כי המשותף הוא המסר )לכאורה התהליכים בין המשותף מען שאין בפקודת . גםsend(destination, message) לא, נפעיל ואםsend(message) את ידוע, נפעיל הנמען אם

ע"י מסוים משולח אוreceive(message) ע"י שולח מכל מסר לקבל ונרצה המסר, ייתכן קבלתreceive(source, message)לצרכים. בהתאם משתנה או מראש קבוע להיות יכול המסר . גודל

90 מתוך 55 עמוד

פקודה שכל המהדר, כך של פרוצדורה ע"י יוחלפו המוניטור של הפקודות קריטי. לאחר בקטע מדובר הרי יציאה, כי וקטע כניסה קטע 'תיעטף' ע"י

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

signalאת ישחרר הפרוצדורה ביצוע את שיסיים האחרון . התהליך בביצוע אותנו יקדים אחר שתהליך אפשרויות שתי . ישmutex הסמפור

נמצא שהוא , אוmutex בשל אותנו הקדים אחר שתהליך הפרוצדורה: או counter ומשתנה סמפור מגדיר המוניטור, המהדר של משתנה-תנאי כל עבור

כל ע"י מוכרים הזה(. הסמפורים הספציפי התנאי על ממתינים התהליכים )מספר

שיש לציין ( כדיx הספציפי משתנה-התנאי )שלx-countה- את מגדילהcwait הפקודה לרוץ שמעוניין אחר תהליך יש אם בודקים אנו כן לפני )אנחנו(, אך שממתין נוסף תהליך כן הפרוצדורה. אם שלnext-count המשתנה בדיקת פרוצדורה( ע"י אותה את )לבצע

יוכל אחר שמישהו כדיsignal(mutex) נבצע אנחנו לא ואם אותו משחררים אנו את שוב אותנו, נפחית יעירו עצמנו. כאשר את חוסמים אנחנו מכן לאחר להיכנס. רק

ממתינים. לא כבר שאנחנו לציין כדיx-count המשתנה ערך

הפרוצדורה עבור לריצה שממתינים תהליכים יש אם בודקתcsignal הפקודה-next המשתנה את שהגדלנו אותו( אחרי )נעיר לרוץ לראשון נאפשר כן המסוימת. אם

counterבעצמנו. בעצם לרוץ יכולים אנחנו אם בודקים עצמה. אנו הפרוצדורה של והתהליך אנחנו – לרוץ שמעוניינים תהליכים שני ישsignal(x_sem) ביצוע לאחר

. לאחרwait(next) השורה את לעבור יצטרך יצליח, הוא אכן מאיתנו אחד שהערנו. רק הפרוצדורה את לבצע שמחכה פחות אחד תהליך הזו, יש השורה את לעבור שהצלחנו

Page 56: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

א-סינכרוני(. אם במודל מדובר )ואז לרוץ להמשיך סינכרוני( או במודל מדובר )ואז להיחסם יכול מסר, תהליך-semi נקרא המסר, המודל את קיבל אכן היעד תהליך אם ידוע בטרם עוד לרוץ וממשיך מסר שולח אחד תהליך

synchronizedהשני, נפעיל הצד מול מתואמים להיות נרצה סינכרוני: אם . במודל blocking sendובעצם blockingב- בשימוש מסר, ע"י שיקבל עד המקבל הצד את לחסום גם המסר. ניתן את קיבל שהנמען עד ניחסם

receiveב- שימוש א-סינכרוני: נעשה . במודלnon-blocking sendפעולות לבצע להמשיך לשולח לאפשר כדי -nonב- מסר, נשתמש שיקבל עד להיחסם פעולות, מבלי לבצע המקבל לצד לאפשר מסר. נוכל שליחת לאחר

blocking receive. נוספים. לעומת מסרים לשלוח להמשיך צריך הוא אולי מסר, כי ששלח לאחר להיחסם שלא הגיוני השולח לצד לצורך החיוני מסוים מידע לקבל צריך שהוא למסר, הגיוני ההמתנה לתור ניגש כבר הוא המקבל, אם לצד זאת

ייחסם. כן שהוא הגיוני ולכן ריצתו המשך לחסימה האפשרות גם נוסף. קיימת מסר יגיע שלא או אותנו יעירו לא אולי , כיblockingב- סכנה כאמור, יש

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

כן( קבלה בעוד חסומה לא חסומות, שליחה לא שתיהן וקבלה חסומות, שליחה וקבלה )שליחה / מקבל השולח חסומה לא תהיה השליחה שפעולת הוא הגיוני והיותר הפופולרי הגיוני. כאמור, השילוב לא הרביעי השילוב בעוד לבצע להמשיך ישמח השולח( דווקא )הצד שרת-לקוח, הלקוח , מודלwebב- כן. למשל הקבלה פעולת בעוד

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

צריכים הם ובנוסף ביניהם תקשורת ערוץ מוקם להיות תחילה ביניהם: צריך להתקשר רוצים תהליכים שני אם )כבל מאפיינים: פיזי שני בעל תקשורת ערוץ . כלsend \ receive הפקודות ע"י ביניהם מסרים להחליף

/ משתנה(. כאשר קבוע גודל בעלי מסרים / דו-כיווני, מעביר )חד-כיווני מערכת( ולוגי משותף, פס תקשורת, זכרון היא התקשורת הבאות: האם לשאלות תשובות לנו שיש לוודא תחילה תקשורת, צריך ערוץ להגדיר מעוניינים

מסר כל של הקיבולת נתון, מה רגע בכל הצדדים שני בין מועברים להיות יכולים מסרים חד/דו-כיוונית, כמהיחיד.. מקבל לצד מיועד שולח מצד מסר כל / משתנה(, האם קבועה היא )והאם

: המסרים להעברת המשמש המכלא גודל בקביעת שונות לוגיקות מיידית, יש בהעברה הודעות. מדובר0 להעביר ניתן–( rendezvous גם )נקראzero capacityא()

להתקבל. וממתין שנשלח מסר אין זמן נקודת התהליכים. בשום בין נקודת-מפגש n של שליחה ביצע אם השולח לצד חסימה מסרים, מתבצעתn עד לשמור ניתן– bounded capacityב()

הודעות.0 כרגע יש אם המקבל לצד חסימה ומתבצעת מסרים במחשבים )כמובן מסרים אינסוף לשלוח יכול נחסם, הוא לא לעולם השולח– unbounded capacityג()

הגבלה(. לנו יש תמיד

: המסרים מיעון נשלח זה, המסר את זה מכירים המקבל והצד השולח הצד כאשר– direct addressing ישיר מיעוןא()

ו-send(name, message)הפעולות: ע"י פועלים זו למקבל. בשיטה מהשולח ספציפי באופןreceive(name, message)המקבל(. במקרה )השולח השני הצד של השם ידוע תהליך לכל שהרי /

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

המרצה: של השולח. ]הערה מי לדעת / מעוניין יודע בהכרח ולא כלשהו למסר ממתין פשוט המקבל גם מנות, משלוח כמו עדי: בדיוק של . הערהJ המקבל הצד מי יודעים בהכרח מרגלים, לא פועלים ככה

את מכניס השולח זו .[ בשיטהJ שלנו הממתקים כל את יקבל מי ההכנה בזמן יודעים ולא מכינים אנחנו להיות צריכים הדואר המסר. לתא את יקבל ספציפי תהליך איזה לדעת תא-דואר, מבלי לתוך שלו המסר שולחים ממספר מסרים לקבל יכול דואר והמקבל. תא אליו: השולח גישה בעלי תהליכים שני לפחות מתא-הדואר המכתב את מוחק המקבל מדיניות, לפיה שתהיה כמובן מקבלים. ייתכן למספר נגיש ולהיות

90 מתוך 56 עמוד

קבוע, גודל בעלי במסרים מדובר . אםmessage של למבנה מימין, דוגמה באיור כאשר זאת בתור-המסרים. לעומת מסר כל ונגמר מתחיל היכן בדיוק לדעת ניתן

)הזרמה(streaming לצורך המשמשpipeל- זאת להשוות קבוע, ניתן לא הגודלמידע. של

Page 57: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

לשליחה בפעולות נשתמש כזה יקבל. במקרה שירצה ומי ישלח שירצה ומי כמשותף דואר תא על נכריז.receive(mailbox, message) ו-send(mailbox, message)הדואר: תא את ולקבלה, המכירות

שילובים(. מספר )ייתכנו המקבל בצד גם וכך / לא-ישיר ישיר יהיה המסר השולח שבצד שאפשר כמובן

:port ו-mailbox בין ההבדלים חידוד מפתח יש המשפחה בני )לכל מקבלים מספר ויש ( ייתכןmailbox) שולחים. לתא-דואר מספר ויש ייתכן לשניהם

הואportה- של והמקבל יחיד. כמובן, ייתכן מקבל רק בהכרח ישportל- (, בעודJ המשפחתי לתא-הדואר המקבל הצד ע"י נוצרportאחרים.. לתהליכונים-עבדים המסר את להעביר דואג שבעצמוdispatcher בעצם

מסתיים. המקבל התהליך כאשר ( ומושמדJ הגלובוס מרחבי סחורה עם ספינות מגיעות שאליה הנמל )עיר עליו הבעלות את ( שמעבירהJ הדואר )חברת ההפעלה מערכת ע"י ( נוצרmailbox) תא-דואר זאת לעומת

החלטתו. ע"פ או מסתיים התהליך כאשר מושמד והוא לתהליך

משותף: זכרון של למודל מסרים..(, בדומה )מלשון מיסור במודל גם הדדית הדרה ליישם ניתן

90 מתוך 57 עמוד

הכניסה ההדדית. בקטע ההדרה על לשמור שתפקידוmailbox mutex נגדיר השאר )כל אותו ויסיר המסר את יקבל ראשון שמגיע מי הקריטי, רק לקטע הסרת לאחר התרוקן בעצם חוסמת, ותא-הדואר הקבלה פעולת כי ייחסמו

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

Page 58: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

לתיאום: כמנגנון לשמש יכול המיסור שמודל לכך נוספת דוגמה

זה, לתא-דואר מסרים בצורת ה'תוצרת' שלו את יצרף ריק. היצרן שהוא כךmay-consume תא-דואר נאתחל יכול שהיצרן ריקים, שיציין מסריםk עםmay-produce תא-דואר לצרוך. בנוסף, נאתחל יכול הצרכן וממנו יפחת, ואילו זה בתא-דואר המסרים מספר היצרן 'תוצרת' ע"י הוספת כל במכלא. לאחר מקום יש כי ליצורבחזרה. יגדל המסרים מספר הצרכן של צריכה כל לאחר

ברפרוף[ עברנו זה נושא ]עלPOSIX – APIשל בסגנון UNIXלרוץ לתוכנה רבות, מאפשר הפעלה במערכות המיושם משותף , מנשק

משותף זכרון לנו שמקצהshmget (shared memory get) פרימיטיבי במשתנה שימוש שונות. נעשה בסביבות shmat (shared memoryב- המשותף, נשתמש בזכרון / להשתתף להתקשר מסוימות. כדי הרשאות עם

attach).

28.12.09 - 11מס' הרצאה[os7-1 rea ]מצגת

Real memory management:היסטוריות: , מסיבות2ל- נחלק זה הפנימי, העיקרי. נושא הזכרון ניהול האטה כגון לבעיות שגרם ימינו, דבר של לקיבולות יחסית קטן ( שהיהreal) פיזי זכרון היה בהתחלהא()

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

רבים. מתתי-נושאים מורכב הוירטואלי הזכרון

שיעורים: מספר לפני שלמדנו מה על חזרהתהליך. הזכרון, לתוך אל מהדיסק אותה לטעון תחילה תוכנית, צריך להריץ כדיולאוגרים. הראשי לזכרון רק ישיר באופן לגשת יכול המעבדלאוגרים המעבד של גישה (registersאורכת ) one CPU clockאטומית(. פעולה שזו שאומר )מהמספר לוקחת העיקרי לזכרון המעבד של זאת, גישה לעומת cyclesפעולה לא שזו שאומר )מה

אטומית(.הפעולות. תקינות להבטיח הזכרון, כדי על להגן לכן, יש

תקין. באופן יתרחש הנ"ל שכל הפיזי, שדואגת הזכרון לניהול תת-מערכת קיימת כאמור

90 מתוך 58 עמוד

שכותבים תוכנית, מרגע של חיים מימין: מחזור באיור לנו יש במערכת. בהתחלה רצה היא עוד וכל אותה

אסמבלר( )כדוגמת בשפת-סף הכתובה תוכנית-מקור למהדר ניתנת (. השפהjava )כדוגמת עילית בשפה או

קודם עילית, צריך בשפה התוכנית )אם הידור לצורך תוכניות ומספר לשפת-סף(. ייתכן אותה להמיר לכן

נפתר שלא מה יעד. כל מודולי למספר הידור יעברו שגרות זימוני )קומפילציה( מבחינת ההידור במהלך

במהלך חיצוניים, נפתר משתנים )פונקציות( ומעני לכדי היעד מודולי עריכת (, ע"יlinkage) הקישור שלב

את לקחתloaderה- גדול. תפקיד יחיד יעד מודול )למשלbinary imageכ- אותו ולטעון הטעינה מודול הריצה בזכרון. זמן מיוצג התהליך (, כךa.out קובץ

Page 59: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

Dynamic linking –הטעינה שלב בזמן רק קישור עוברים חיצוניים דינאמי. מודולים קישור (load timeאו ) יותר. פשוט יהיה המידע, הקישור כל את לנו יש מלכתחילה שאם (. כמובןrun time) הריצה בשלב רק אפילו

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

: הזכרון וגודל התכנית גודל בין השוואה הזכרון מגודל הגדולה תוכנית להריץ היה ניתן וגדלו, כיצד הלכו התוכניות ואילו קטנים עדיין היו הזכרונות כאשרהפיזי?

.dynamic linking(, dll קבצי )ע"י דינאמי )ב( קישורoverlaysלפתרון: )א( רבדים, טקטיקות2 יש(: overlays) ריבודא()

אם התוכניות, שהרי לכל מתאים לא כמובן הפיזי. זה לזכרון נכניס חלק וכל לחלקים התוכנית את נחלק יהיה האיסוף, הוא של הלוגיקה את )קומפילציה( וגם ההידור של הלוגיקה את גם שמכיל מודול יש למשל

באופן ירוצו באיסוף. הם בהידור, אחד יתעסק רבדים, אחד למספר המודול את נפריד מאד. לכן גדול כמות את להכיר צריך מהם. חסרון: המתכנת אחד רק לזכרון לטעון נתון רגע בכל נוכל ולכן סדרתי , מנגנוןdriver גם כמובן עצמו. בנוסף, נצטרך בפני שלו בקוד חלק כל לתכנת לדעת כדי הפיזי הזכרון מספר כולל ההידור בפעולת שלב בחלקים, רובד-רובד. למעשה, כל התוכנית את לטעון שיודע

תת-שלבים.

(:dynamic linking) דינאמי קישורב() לרבדים. נספק החלוקה לצורך שדרוש מראש, מה התוכנית כל של קישור לבצע צריך יתרון: לא לשלב למתכנת הסטטי. נאפשר בשלב במלואה מקושרת שלא תוכנית ליצור שיוכל טכניקה, כך למתכנת של וחישובים קלט-פלט )פונקציות( שמבצעות רוטינות לנו יש למשל דינאמית. אם בצורה רוטינות

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

ייתכן לזכרון, והרי הרוטינה של ההבאה זמן ואת התוכנית של הטעינה זמן את ולקצר לחסוך נוכל כך בו-זמנית שרצה אחרת תוכנית נחסוך. אם וכך הזו הרוטינה לביצוע כלל תגיע לא התוכנית של והלוגיקה

כפילויות. לחסוך שיכול מחדש, מה לטעון ולא בזכרון אותה לאתר נצטרך הזו, רק הרוטינה את זימנה את שטוען דינאמי קישור לנו , וישtrap מצב בזכרון, יש מופיעה שלא רוטינה להפעיל מנסים כאשר

מראש. הזכרון גודל הגבלת על לדעת צריך לא הריצה. יתרון: המתכנת בזמן מיידי באופן לזכרון הרוטינה של בהקשרdll המתכנת. ]קבצי מכריז דינאמי, עליו קישור לבצע לדעת כמובן תצטרך ההפעלה מערכת

[SO – shared objects יש חלונות, ביוניקס90 מתוך 59 עמוד

Object module –שמות עם טבלאות המכונה, מכיל לקוד בניגוד אחרים, במודולים לאתר צריך שעדיין וגלובליים חיצוניים משתנים

הקישור. ייתכן פעולת לצורך שדרוש יחדיו, מה כולם את למקם כדי מוחלטים מודולים לפתור. יש צריך שעדיין מענים טבלת ומכיל

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

הקישור-שילוב, בשלב סופי. רק לא עדיין הוא הראשון את טוענים

הטעינה. בצד בזמן וקישור סטטי קישור בין השוואה בשלב נעשה הדרושה הספריה סטטי, שילוב שמאל: קישור הדרושה הספריה דינאמי, שילוב ימין: קישור הקישור. בצד

לעשות אפשרות גם הטעינה. כאמור, יש בשלב רק נעשה של הריצה חלקי, בזמן הספריה, באופן של שילוב

שנרצה . נניח150k הוא הזכרון שגודל דוגמה: נניח לשני אותה , נחלק210k שגודלה תוכנית לטעון

משותפים אזורים שיש . נניח70k ושל80k של מעברים (, שצריכים60k למעלה, סה"כ )מופיעים החלקים לשני

את וחילקנו התוכנית. היות ריצת זמן בכל בזכרון להיות יותר הגדול הרובד את נטען כאשר לרבדים, גם התוכנית

שנוכל , כך140kל- רק סה"כ נזדקק לזכרון, עדיין הפיזי. לשיטת בזכרון התוכנית של חלק כל להריץ

לחלוקה מתאימה תוכנית כל חסרונות: לא יש הרבדים זו, יש בשיטה שלו הקוד את לתכנת צריך כזו, המתכנת

לזכרון, הנטען הרובד החלפת זמן( של )עלות תקורה

Page 60: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

: זכרון ניהול לצורך דרישות שלנו / המודול התוכנית את ממקמים המיקום, היכן מדיניות–( relocation) / הזחה מחדש מיקוםא()

כגון: ) חדש, מאילוצים למיקום המקורי מהמיקום שלנו התוכנית את להזיז צורך יש מלכתחילה. לפעמים ( ואזswap-in) בחזרה אותה ( ומחזירswap out )ביצוע לדיסק תוכנית מוציא בינוני לטווח ( המזמנן1

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

(. compactionכיווץ, )מבצעים נוספת תוכנית להריץ מסוגלים \ RWX, read \ write )נקרא גישה הרשאות יש תוכנית לכל – שלמה / תוכנית תוכנית חלקי על הגנהב()

executeכקובץ-ריצה. להריצו ניתן ואם לשנותו ניתן הקובץ, אם את לקרוא רק ניתן אם ( שאומרות לחרוג ניתן והאם שהוקצה המיעון למרחב לגשת מותר למי המיעון: בדיקה מרחב על הגנה גם דרושהממנו.

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

להיות צריך בזכרון. כמובן, הקוד מחסור של בעיות לפתור כדי אותו להריץ תהליכונים למספר ולאפשרread onlyאותו. לשתף שנוכל כדי

בין וגם ( השונותcode segment) הקוד יחידות בין להפריד ניתן – התוכנית של הלוגי המבנה מיפויד() ציבוריים. להיות יכולים וחלקם פרטיים להיות יכולים (, שחלקםdata segment) השונים הנתונים מקטעי צריכים מידע-מיקומי, אנחנו נקרא האלו. זה המקטעים כל את ממקמים בדיוק היכן חשיבות לכן, יששלה. התקינה הריצה את לאפשר לתוכנית, כדי השייכים המקטעים כל ממוקמים היכן לדעת

במיקומים או )ברצף תושם יחידה כל היכן – שלה ליחידות התוכנית, בהתאם של הפיזי המבנה מיפויה()נפרדים(.

90 מתוך 60 עמוד

Page 61: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

Address type של התייחסות היא לוגית לשינוי. כתובת ניתנת הפיזי, אינה בזכרון למקום מוחלטת, מתייחסת היא פיזית כתובת על נדבר וירטואלי זכרון של לוגית, בהקשר כתובת על נדבר פיזי זכרון של עקיף. ]בהקשר באופן הפיזי הזכרוןוירטואלית[ כתובת

: הטעינה מודולי של סוגים מוחלטים. היו המענים הידור-איסוף-קישור-שילוב, כל הפעולות לאחר בהתחלה. מיד היו – מוחלט מודולא()

המודול, מיקום את לשנות היה ניתן ולא מוחלט במיקום מודול כל משבץ היה מוחלט, כי היה המתאם גם למשל המקורי. אם למיקום אותו להחזיר מחודשת בהכנסה אח"כ צריכים היינו אותו מוציאים היינו אם

שגודל פעם בכל והלאה. אבל32kמ- מתחילים היו המודולים כל , אז0-32k היה הפקח-תושבגמיש! לא המודולים. זה להיות יכולים בהם המיקומים את לשנות ישתנה, נצטרך הפקח-תושב

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

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

אחר, איך במיקום שלו המשתנים אבל48-64k באזור בזכרון נמצא המודול הקודמת: אם בשיטה בעיהג() לשנות מתאים, כדי היסט מוסיף הריצה ( שבזמןbase register) בסיס באוגר שימוש ירוץ? ע"י המודול

MMU (memory ע"י נעשית המודול של לרוץ. ההזזה יכול המודול וכך מוחלט למען יחסי-לוגי ממעןmanagement unit)ניגשת היא בפועל וירטואלים, אך למענים ניגשת שהיא חושבת התוכנית . אמנם

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

שימוש המבוקש, ע"י למיעון הסטה לבצע יודעMMUהתוכנית. ה- של ללוגיקה בהתאם יפעל שהוא צריך שהריהמידע. נמצא בו הפיזי למען לגשת , כדיbase registerב-

שאנחנו לבדוק החסם-העליון, כדי גם תחתון( חשוב, אלא )חסם קו-הבסיס רק שיעורים: לא כמה מלפני תזכורת שהכתובת שבודקlimit register באוגר גם שימוש אליו. לכן, נעשה לגשת לנו שאסור פיזי למיעון ניגשים לא

שלנו. לתוכנית שהוקצה הפיזיות הכתובות 'כלפי-מעלה' מטווח חורגת לא אליה לגשת מעוניינים שאנחנו הפיזיתטובה[ בצורה שממחיש איור מופיע15]בעמ' לתוכנית. שהוקצה הזכרון טווח של האורך את מהווה בעצםlimit האוגר

[os7-2 rea ]מצגתContiguous allocation

בין הזכרון של חלוקה על בעבר בזכרון. דיברנו רציף במיקום וממוקמות נטענות שלנו שהתוכניות נניח כרגע בעמ' ]מופיע(. memory division) תוכניות מספר בין ( אוmemory split) יחידה משתמש ותוכנית הפקח-תושב

14-15]

90 מתוך 61 עמוד

מיקום )'קיבוע' שלaddress binding גם נקרא מיפויהתוכנית(.

בעצם ההידור, מקבלים בזמן נעשה המיפוי אםא()קוד-מוחלט.

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

את נשנה שאם (. כמובןrelocated code) מחדש

Fixed portioning: האתחול בזמן הפיזי, מתרחשת הזכרון של קבועה חלוקה

הימני( באיור מופיעה הסוגים בין המערכת. )ההשוואה של שכל כךequal-size partitions לבצע ניתןא()

שלא סמויה הנחה גודל. כמובן, יש באותו המחיצותשהגדרנו.. המחיצות מגודל הגדולה תוכנית קיימת

שכל כךunequal-size partitions לבצע ניתן)ב( הרעיוןיותר. גמישה שיטה שונה. זו בגודל מחיצה

המחיצה לגודל התוכנית גודל את להתאים אהו מסוים, בגודל תוכנית מגיעה לה. אם שמתאימה

מאפשר שגודלה במחיצה אותה למקם נשאף זכרון. שפחות כמה בזבוז תוך התוכנית של מיקום

מיקום מאפשרת מחיצה שכל כמובן היא ההנחה internal) פנימי יחידה. פיצול תוכנית של

fragmentationמהמחיצה חלק בו מצב ( הוא

Page 62: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

באיור( השמאלי בחלק (. )מופיע12M )למשל יותר גדולות מחיצות של לתור התוכנית את תפוסות, נעביר הנ"ל כך, שגודלה הפנויה הראשונה במחיצה התוכנית את ולמקם המחיצות כל עבור יחיד בתור להשתמש שיפור: ניתן

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

במחיצות. מקום של בזבוז לנו יחסית, יהיה ( כדיswap out) שחלוף-החוצה לבצע תפוסות, ניתן המחיצות כל : אםfixed partitioning של דינאמיקה

חדשה. תוכנית של מיקום לצורך מחיצה ולפנות חיצוני לזכרון תוכנית להעביר

variable partitioning:

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

מבוזבז. פשוט הזה והמקום תוכנית שום בה למקם ניתן שלא מחיצת-ביניים לנו נוצרה

: דינאמי זכרון ניהול

:variable partitioning לגבי סיכום פעולת בעצם (, שזוcompaction) כיווץ לבצע חורים, צריך נוצרים פנימי. כאשר פיצול חיצוני, אין פיצול יש

חדשות. תוכניות בו ולמקם למחיצות לפצל שוב כמובן ניתן גדול, שאותו חור לכדי החורים כל של / מיזוג איחוד

ביניים: סיכוםהמחיצות: וגדלי סוגי בקביעת וההתפתחויות המודולים סוגי התפתחות בין מיפוי נמחישהישנות. במערכות רק להריץ ניתן מוחלט מודולקבוע. גודל בעלות מחיצות על להריץ ניתן יחסי-לוגי מודולעל להריץ ניתן מיקומי מודול variable partitioningהמודול. של הזזה , שמאפשר

placement algorithm – בזכרון מיקום של הקצאה כמובן השיטות כל למיקום. מטרת שיטות מספר הפיזי, יש בזכרון אותה למקם ורוצים חדשה תוכנית מגיעה כאשר

בזכרון. התוכניות של מחדש סידור ודרוש מדי גדול הכולל החורים גודל בו השלב את הקץ', לדחות את 'לדחותהשיטות:

90 מתוך 62 עמוד

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

תוכנית, לכל ייחודי באופן נוצרת מחיצה כל כזה היתרון: במצב זכרון( )פיצול, בזבוז פרגמנטציה לנו ואין לה המתאים בגודל

המחיצות אודות מעקב לבצע צריכה ההפעלה מערכת / חיצוני פנימי פיצול נוצר מתי לדעת והפנויות, כדי התפוסות

רקb הפיזי: שיטה בזכרון המצב את מצייןa זאת. איור ולתקן איזה אומרת גם יותר, כי טובהc / תפוס. שיטה פנוי מה אומרת

להפריד כמובן תפוסה. ניתן מחיצה כל תופס התהליכים מבין תוכנית למקם החורים. כדי ושל התפוסים 'שרשראות': של לשתי

שגודלו חור ולחפש החורים שרשרת על לרוץ חדשה, נצטרך ( עלולswap out) החוצה התוכנית. שחלוף של מיקום מאפשר

את משבית כמובן חיצונית. שחלוף לפרגמנטציה לגרום

Page 63: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

90 מתוך 63 עמוד

על התוכנית. נרוץ למיקום שמתאים הראשון החור את נחפש– first-fitא() גודל בעל הראשון החור את פנויות, נחפש / מחיצות החורים רשימת

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

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

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

.next-first-fit (= uniform distribution) שהוא חור בעצם נחפש וכך למקם מאפשר שגודלו החור את ונחפש החורים כל על נעבור– best-fitג()

האפשר, במקום ככל קטן פנימי חור לנו שייווצר התוכנית, כך את בו מיקום את מאפשר שגודלו שמוצאים הראשון בחור התוכנית את למקם

בו. התוכנית התוכנית את ביותר. נמקם הגרוע המתאים החור את נחפש– worst-fitד()

גדול מספיק חור לנו שיישאר שפנויה, כדי הגדולה המחיצה בתוך דווקא יותר שאולי יותר קטן חור למצוא יכולנו נוספות. אמנם תוכניות בו להקצות

תוכנית בו למקם נוכל מדי, לא קטן פנימי חור לנו ייווצר אם מתאים, אבל

Page 64: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

, כדיnext-fit ו- best-fit השיטות של שילוב נשחלף, נבצע תוכנית איזו להחליט : כדי Buddy systemשיטת (, כאשר2 של שלמה )חזקה2k שגודלן מחיצות להקצות יותר. נשאף טוב מצב לנו יהיה השחלוף שלאחרUKL כאשר( Lשנקצה, ביותר קטנה החזקה היאUכולו, הזכרון גודל שזה שנקצה ביותר הגדולה החזקה

של ביותר הנמוכה השלמה החזקה את , נקצה100k בגודל לתוכנית מקום להקצות נצטרך בעצם(. כמובן, אם בזכרון. התוכניות את נמקם שבעזרתו תור אפשרי, נחזיק מחיצה גודל כל . עבור128kזאת, שמאפשרת2

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

128kיותר גדולה פנויה מחיצה המתאים, נחפש ( בגודל (256kונחלק ) לאחד גם אופן, ניתן אותה. באותו שתי , נאחד512k של פנויה מחיצה לנו אין אך300k פנויה בגודל תוכנית למקם נרצה פנויות: אם מחיצות יש לכך. סטטיסטית: בממוצע נידרש כאשר רק מחיצות של / פיצול איחוד . כמובן, נבצע256k של פנויות מחיצות

זו: אמנם בשיטה מגודלה. החסרון50%בכ- רק תפוסה מחיצה השטח!( וכל של )בזבוז25% של פנימי פיצול קיים. פנימי פיצול ( ולכן2 של שלמה לחזקה )בהתאם קבועים הם המחיצות גדלי קבועות, אך לא המחיצות לכדי החורים כל את ומאחדים תוכניות למקם מפסיקים לא שלב )בשום מפורש באופן זכרון של כיווץ אין לכאורה

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

ערך. כל לקבל יכולים לא המחיצות גדלי במצגת[24מס' בשקופית הדוגמה על לעבור ]מומלץ

[ כולל5 שקופית , עדos7-3 rea ]מצגתsimple \ basic paging

כעל במחשב הזכרון על להסתכל לדפדף, ניתן וניתן דפים יש שבספר פיזי. כמו בזכרון דפדוף– paging פעולת מגילה )כמו נתון רגע בכל לנו גלויים דפיו שכל לספר זקוקים לא בו. אנו לדפדף שניתן דפים, כך המכיל ספר

לנו היו לא שבעבר להזכיר מבקש נתון. ]אריאל ברגע לקרוא נרצה אותו המסוים לדף רק לפרוש(, אלא שניתן יהודית: היהודים בו-זמנית.[ ]בדיחה גלוי היה הטקסט כל באמת ואז מגילות היו הנוכחית, אלא בצורתם ספרים נפתח , אךframes נקרא קבוע, להם גודל בעלי לבלוקים הפיזי הזכרון את דוס.[ הרעיון: נחלק על עובדים -פיזי. כמובן, כלframe לתוך ימופה דף-לוגי . כלframe לתוך ייכנס דף )הזכרון(. כל הספר כל את בפנינו

frameלבלוקים נחלק הלוגי הזכרון את וירטואלי, גם זכרון של . בהקשר2 של שלמה חזקה שהוא בגודל יהיה אנחנו להם הדפים את רק נציג נתון שלב מוטי..[ ובכל עם בתרגול זה על ]למדנוpages נקרא שלהם גודל שווי

זקוקים.

4.1.10 - 12מס' הרצאה[שעבר , משיעורos7-3 rea ]מצגת

תוכניות. בהתחלה של מיקום בזכרון, לצורך מחיצות על דיברנו הקודם זכרון. בשיעור ניהול על נדבר היום גם גדלים לפי חולקו המחיצות מראש. בהמשך נעשתה החלוקה אחיד, כאשר גודל בעלות למחיצות חלוקה הייתה

בזכרון. ב"חורים" פנויים תוכניות לשיבוץ אלגוריתמים מספר על דיברנו (. אח"כ2 של שלמה )חזקה מוגדרים רציף, במלואה, באופן התוכנית את לטעון שיש שעבר, הנחנו בשיעור שהזכרנוbuddy systemה- בשיטת

פיצול ולא פנימי פיצול לא לנו אין בה / מסגרות, שיטה לדפים הזכרון חלוקת על דיברנו מלכתחילה. בסיוםהיום. גם נדבר חיצוני, עליה

90 מתוך 64 עמוד

הזכרון בין למפות לנו שמסייעת טבלה בתרגול, יש שראינו למה בדומה / מערכות תוכניות בין להשתנות יכול הדף הפיזי. גודל והזכרון הלוגי

fixed + equal-sizeל- בדומה לזה להתייחס שונות. הערה: ניתןportioningמראש. מחולקים וגם שווי-גודל גם הם הדפים כל , כי חור להיות יכול האחרון הלוגי יהיה. אמנם, בדף לא פנימי היתרון: פיצול

. פיצול2 של שלמה חזקה לא הוא התוכנית של והגודל ייתכן קטן, כי) למסגרת-פיזית בדיוק ( מתאיםpage) דף-לוגי כל יהיה, כי לא חיצוני

)מופיעהpage table שנקראת טבלה לנו שיש הנחנו להשתמש לנו קודם(, המאפשרת שיעור בסוף בדוגמה

המסגרת של המספר את למצוא כדי הלוגי באינדקס התוכנית שכל האילוץ את הורדנו לנו. בכך הרצוי הפיזי

שכל האילוץ רציפה. אך בצורה בזכרון לשבת צריכה נשאר. טבלת בזכרון, עדיין מלכתחילה נמצאים הדפים

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

dedicated registerהזו לטבלה לגשת ( שיודע הרצויה הפיזית המסגרת של הכתובת את לנו ולהחזיר

לנו.

צריךloaderהתהליך, ה- של ההקשר בניית במסגרת הפיזי, כדי הזכרון ניהול מתת-מערכת הרשאה לקבל

Page 65: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

n של מקום דורשת תוכנית פיזית. לכן, אם מסגרת של לגודל בדיוק שווה לוגי דף של קודם: גודל משיעור תזכורת רשימת על לעבור בזכרון, יש חדשה תוכנית של מיקום פיזיות. לצורך מסגרותn תדרוש כמובן לוגיים, היא דפים

הפנויות. המסגרות מספר לטעון כמובן ברצף, ניתן פנויות פיזיות מסגרות מספר יש דף-לוגי. אם למקם פנויה, נוכל מסגרת בכל

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

חלקים: )א( הכתובת לשני שנחלק מספר להיות למסגרת, צריך דף בין המקשר אינדקס , כלpage tableב- למיקום לגשת שנוכל הדף, כדי בתוךd ( היחסיoffset) )ב( ההיסט הרצויה הפיזית המסגרת , מספרp הפיזית ספציפית התוכנית, לשורה של מסוים בדף לוגי-יחסי ממען ממירים אנחנו כזה הפיזי. באופן הדף בתוך מסוים

הרצויה הפיזית המסגרת כתובת את המתאים, נשלוף לאינדקס ניגשpage tableהפיזית. למעשה, ב- במסגרת וההיסט, לכתובת דף ממספר ( שמורכבתp,d) לוגית כתובת ממפים אנחנו כזה ההיסט. באופן את אליה ונשרשר

בגודל מספר ע"י לייצג הדפים, ניתן מספר של המרכיב והיסט. את פיזית מסגרת ממספר ( שמורכבתf,d) פיזיתlog2מספר ע"י לייצג הפיזית, ניתן המסגרת ההיסט, בתוך של המרכיב הדפים. בהתאם, את מספר ביטים, של 3 )5 של לוגי מען סה"כ , נצטרך4 הוא דף וגודל דפים8 לנו יש הפיזית. אם המסגרת גודל שלlog2 בגודל (.4 הוא מסגרת כל גודל כי ההיסט עבור ביטים2פיזיות, ו- מסגרות8 לנו יש כי הדפים מספר עבור ביטים

– הדף מספר את מציין השמאלי )החלק010,01 יהיה הלוגי , המעןj-9 את לייצג : כדי17מס' בשקופית בדוגמה הדף )כי001,01ל- ישתנה שלנו , המעןpage tableב- שניעזר (. לאחר1 – ההיסט את מציין הימני , החלק2

(.1 של היסט לנו יש ובנוסף1מס' למסגרת ממופה2 הלוגי

,PTBRאוגרים: )א( שני לנו שיש נניח כך בזכרון. לצורךpage tableה- ממוקמת היכן לדעת צריכה המערכת ( )ב(page-table base register הטבלה, נקרא של )כתובת-הבסיסpage tableל- מצביע שהוא יעודי אוגר

PTLRנקרא הטבלה גודל את שמציין , אוגר( page table limit registerפתרון )שהאוגר ראשון: נניח (. )א PTBRאם זאת, שהרי מניחים יחסית. אנו בקלות פיזית לכתובת לוגית כתובת למען נוכל ואז הפיזי בזכרון נמצא PTBRשנגיע לוגיים, עד מיפויים של לשרשרת שיגרום הטבלה.. מה את גם למפות צריך הלוגי, היה בזכרון היה

תוכנית של פיזי לזכרון גישה הפיזי, כל בזכרון נמצאתpage tableה- זאת, אם הרצויה. לעומת הפיזית למסגרת הפיזית המסגרת את בטבלה למצוא כדי ונוספת הטבלה נמצאת בה למסגרת להגיע כדי פעולות: אחת2 תדרוש הנחוצים המיפויים כלל עבור לנו הדרוש הזמן להכפלת יגרום הדבר מלכתחילה. בעצם לגשת רצינו שאליה . באופןMMUהחומרה, ב- עלpage tableה- את לשים כדאי בכלל שני: אולי תוכנית. )ב( פתרון של לריצה

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

,TLBהקודמות: השיטות בין פשרה של סוג יותר( הוא )ונכון שלישי מדי. )ג( פתרון יקרה תהיה מדי, הפעולהtranslation look-aside bufferמסומך זכרון של בטכנולוגיה תיבנה צדדית(. הטבלה דפים )טבלת (

associative memoryהמסגרת מספר תהיה הלוגי, הימנית העמוד מספר תהיה עמודות: השמאלית2 ( של מהיר. מיפוי לאפשר בלבד, מטרתה חלקית היא הפיזית. הטבלה

90 מתוך 65 עמוד

Page 66: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

)אופטימי, בתקווהTLBל- גם במקביל בקשה לוגי, נריץ מען לנו יש מיפויים. כאשר של צמדים לנו יהיו בטבלהב- לנו הרצוי הפיזי המען את מצאנו שנפספס(. אם )פסימי, במקרהpage tableל- שם( וגם למצאו שנצליח

page tableבדומה( לעץ splayנכניס )... ל- הזו הכניסה אתTLBבעתיד. שוב אותה לחפש שנרצה , למקרה מלאה(. כבר הזו שהטבלה , במקרהTLBב- כניסות של לדריסה בשיטות נתעמק )לא

effective access time ( EAT ) אפקטיבי גישה זמןב- היה לא )המען2 בין נע הגישה כה(. זמן עד דיברנו )עליהbasic paging של בשיטה פועלים שאנו נניח

TLB-ב- האיתור . זמן1ל- ישאף המבוקש המען לאיתור הדרוש שהזמן כמובן היה(. נרצה )כן1( לTLBכ- יסומן. כ- הפגיעה יחס ואילו

הימני הפגיעה(. המחובר יחס כפול אחת )גישה פגיעה של במקרה החישוב את מציין במשוואה השמאלי המחובר הפגיעה יחס הפגיעה(. אם יחס של המשלים גישות, כפול )שתי פספוס של במקרה החישוב את מציין במשוואה

קרוב יהיה EATה- (, ערך0% )0ל- קרוב הפגיעה יחס . אם1ל- קרוב יהיה EATה- (, ערך100% )1ל- קרוב שתחילה )כךpage tableל- לגישה ביחס סדרתי באופן היאTLBל- הגישה כאשר תקף . כמובן, החישוב2ל-

)כך במקביל נעשות הבקשות אם (. אךpage tableב- לחפש נמשיך מצאנו לא אם ורקTLBב- מחפשים אנו EATה- של פספוס, החישוב של במקרה זמן לחסוך ( כדיpage tableל- הבקשה את נבטלTLBב- מצאנו שאם 24מס' בשקופית החישוב דוגמת על לעבור ]מומלץ. תהיה והתוצאה במשוואה הימני החלק את רק יכלול

במצגת[

memory protection הזכרון על הגנה

90 מתוך 66 עמוד

ביחס יותר קטןTLBה- טבלת שגודל היא ההנחה תשמור המלאה. הטבלהpage tableה- לגודל

לאחרונה, שימוש בהם שעשינו המיפויים את לנו ניגשים אנו שאליהם דפים שיש הנחה מתוך

)חובבני אחרים לדפים ביחס יותר גבוהה בתדירות splay בעץ עכשיו נזכרים נתונים' בטח 'מבני

נעשהTLBב- לוגי מען של (. חיפושJ ומחייכים את לבדוק יכולים אנחנו במקביל במקביל, שכן

בגישה ההצלחה בטבלה. אחוז הכניסות כל , נקראTLBב- המתאים המיפוי במציאת

לא ריקה, כיTLBה- : )א( בהתחלה100% של פגיעות ליחס להגיע נוכל לאה- של הלוגי הדף כמובן )מלבד לגשת תרצה התוכנית לוגיים דפים לאילו נדע

mainה- כאשר לרוץ(. )ב( גם מתחילה התוכנית משם כיTLBמתמלאת, מדי פגיעה ליחס מגיעים מתקדמות . במערכותTLBב- נמצא שלא לדף ניגשים פעם.90% של

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

הלוגי. המרחב כגודל הוא הדפים טבלת שגודל הנחנו כה עד לא. אם חלקן אך תקף מיפוי בעלות מהכניסות שחלק ייתכן

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

פיזי, למיפוי לוגי מיפוי שנתרגם בוליאני(. לפני דגל שיהווה

Page 67: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

שביכולתנו )מימין( הטבלה לוגיים, בעוד דפים6ל- זקוקה המסוימת שהתוכנית )משמאל( מציינת באיור: הטבלה(.invalid) תקפות לא שהן יציין הדגל ביט מהכניסות חלק כניסות. לכן, עבור8 מכילה להקצות

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

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

תהליכים שמספר משותף, כך הוא עצמו העורך של הקוד זאת, אם התהליכים. לעומת למספר הזהה מסגרות זכרון. בהתאם, לחסוך ובעצם פיזיות במסגרות שימוש לחסוך נוכל שיתוף. כך אותו, נבצע להריץ יכולים

פיזית. מסגרת לאותה מיפוי יהיה התהליכים שני שלpage tableה- בטבלאות

[ כולל22 שקופית , עדos7-4 rea ]מצגת simple \ basic segmentation בסיסי קיטוע היא לדפים הלוגית והחלוקה והגנה. היות שיתוף של דפדוף, בהיבטים של הקודמת בטכניקה חסרונות ישנם

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

יחידות של אוסף כעל המשתמש של התוכנית על להסתכל אחר. במקום דף של ובהתחלה אחד דף של למחיצות הפיזי הזכרון את לחלק משתנים: במקום גדלים כבעלות עליהן קבועים, נסתכל גדלים בעלות תחביריות

תשתית לצורך. אמנם שונים, בהתאם בגדלים מחיצות משתנה, נקצה מחיצות ניהול קבוע, ננהל גודל בעלות ההיבטים )לרבות הדפדוף כעת שוות-גודל, אך פיזיות במסגרות לתמיכה הדרושה לזו יותר, ביחס יקרה התמיכה

ולא ספציפית פיזית מסגרת לשתף ספציפי, נוכל בגודל קוד קטע לשתף נרצה יותר: אם והגנה( טבעי שיתוף שלהקודמת. בשיטה יותר, כמו גדולה שאולי מסגרת

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

( שלlimit) מהאורך חורגים ההיסט, אנחנו של בתוספת אם בדיקה הרצוי. כמובן, מתבצעת הפיזי למיקום להגיע. segment מצייןs כאשרs,dמ- מורכבת הלוגית הספציפית. הכתובת המחיצה

90 מתוך 67 עמוד

Page 68: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

ומוגנות משותפות להיות יכולות שהיחידות לכך מודע גם המתכנת שימוש, לכן עושה הוא בהן היחידותטבעי. באופן

החומרה, של תמיכה מקבלים קבוע. בדפדוף גודל בעלי דפים משתנים, בעוד גדלים בעלי מקטעים(2) ההקצאה התוכנה, בשל ברמת נעשית למקטעים זאת, התמיכה קבוע. לעומת שהגודל העובדה בזכות

המשתנים. הגדלים של הדינאמית לצורך( בהתאם המקום )הקצאת פנימי פיצול אין / חיצוני. במקטעים פנימי פיצול של בעיה אין בדפדוף(3)

תוכנית של מיקום לצורך לנצלם ניתן מחיצות, שהיה בין חורים לנו ויווצרו ייתכן חיצוני, כי פיצול יש אךנוספת.

השיטות? שתי של מהיתרונות ליהנות וקיטוע, כדי דפדוף בין נשלב שלא מדוע

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

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

של הדפים בטבלת ושלישית שבזכרון המקטעים בטבלת (, שנייהTLBל- )בדומהMMUשב- המקטעים בטבלת פעולות כל ואילו מקטעים של העליונה ברמה נעשות והגנה שיתוף של הפעולות הרצוי. היתרון: כל המקטעיעילה. הדפים, ברמה טבלת של התחתונה ברמה נעשות הדפדוף

[ כולל20 שקופית , עדos8-1 vir ]מצגת virtual memory management וירטואלי זכרון ניהול

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

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

שלנו. הפשרה בקוד שורות מילים)!( או ברמת לדפדף היא השנייה נתון, הקיצוניות רגע בכל בזכרון תהיה / פיזיות מסגרות של קטן מספר רק נתון זמן בכל גדולה, תדרוש שתהיה כמה תוכנית, עד שכל לנו מאפשרת

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

כלל. לזכרון ייטענו לא

90 מתוך 68 עמוד

)מופיעהMULTICS ההפעלה מערכת מתחילת ההיסטוריה שיעור של במצגת

השיטות. זו את לאחד הסמסטר..( ניסתה עילית. בשפה שנכתבה הראשונה המערכת

הדף. לכן, מגודל גדול המקטע שגודל נניח הדף את ולא לדפים המקטע את לחלק הגיוני

בשתי זכרון ניהול מדרג למקטעים. נקבל נחלק הלוגי המרחב רמות: מלכתחילה

נחלק מקטע כל נוספת ובחלוקה למקטעיםלדפים.

מסוים, אנחנו למקטע לגשת נצטרך אם

Page 69: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

'עצירה' לתוכנית, יתבצע לבצע בזכרון. נצטרך כרגע נמצא שלא לדף נדרשת והיא רצה שתוכנית נניח לזכרוןon-demand הדרוש הדף את תטען ההפעלה ה'משגוח', מערכת לידי השליטה את שיעביר מיתוג-הקשר

וכמובן הדפים לטבלת עדכון ה'מלוכלך'(, יתבצע באזור הקשיח, או בכונן כלשהו קובץ על שמור הוא אם )בין האם שאומר הבוליאני הדגל את נוסיף[41 בעמוד המופיעה לדוגמה ]בדומהלתוכנית. השליטה את נחזיר בסיום

(.invalid שהוא יציין זמן, הביט באותו בזכרון נמצא שלא דף )עבור לא או תקפה היא רצויה מסגרת

90 מתוך 69 עמוד

כתיבה בעקבות השתנה לזכרון, שבהמשך דף של טעינה בוצעה אם זמני באזור אותו (, נשמורswap out) החוצה אותו עליו, כשנשחלף

הדף את לזכרון מחדש לטעון נצטרך 'מלוכלכים'. כאשר דפים של כל נמצאים בו מהאזור ה'מלוכלך' ולא מהאזור אותו הזה, נטען

התוכנית. של הדפים

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

Page 70: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

לזכרון טעונים לא שהם לציין , כדיM ו-B הדפים את שרצות. בדיסק, נדגיש תוכניות שתי לנו מימין, יש בדוגמה PC (program counter) ממופה. האוגר שלא אחד דף ( ישuser 1, user 2) מהתוכניות אחת כרגע. לכל

זה העליונה. בדף התוכנית של1מס' הלוגי הדף על שמתבצעת, מצביע הבאה הפקודה של המען את שמציין משתנה, של לערך לגשת או פונקציה להפעיל מנסה והתוכנית )ייתכןM הפיזי הדף את לטעון שצריך כתוב

המרחב )מבחינת לוגי-חוקי למען לגשת ניסיון בזכרון, כביכול נמצא לאM הפיזי והדף זה(. היות בדף הכתובים . המערכתpage faultתקלת-דף, נקראת זו לזכרון(. תקלה כרגע טעון לא הדף )כי פיזי-חוקי מען הלוגי(, שאינו

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

page exceptionעבור ואחת עצמה לפקודה )אחת תקלות-דף מספר בתוכנית, ייתכנו יחידה פקודה (. בביצוע מצביע ישירה, אלא גישה לא הוא מהמשתנים אחד כל בפקודה(. בנוסף, אם שימוש נעשה בו משתנה כל

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

11.1.10 - 13מס' הרצאה[19 , משקופיתos8-1 vir ]מצגת

Address translation in paging systemבזכרון. ה- טעונים דפים-לוגיים3 בזכרון, יש הטעונה מהתוכניות אחת שעבר: לכל שיעור של הסוף על חזרה

program counterאת לטעון צריכים שאנחנו שאומר העליונה, מה התוכנית של1מס' לוגי דף על מצביע פיזית, למסגרת טעון לא הלוגי שהדף מגלים התוכנית, אנחנו שלpage tableה- . בטבלת3מס' הלוגי הדף

-page) בתקלת-דף שמדובר מגלה התקלה של הייחודי מלכודת. המזהה לנו יש כזה תקפה. במצב לא הכניסהfaultמהאזור או בדיסק המקורי מהקובץ או להגיע יכול )הוא המערכת של בטבלה מאותר הדף מכן (. לאחר

טעינתו מרגע / השתנה נקי הדף אם שאומרתdirty-bit סיבית לנו שיש כמובן ה'מלוכלכים'(. נניח הדפים של תקפה. כן שהכניסה ולסמןpage tableה- את לעדכן לזכרון, נצטרך הפיזית המסגרת טעינת לזכרון. לאחר

.ready שהן התוכניות לתור החסר לדף שנזקקה התוכנית את זאת, נכניס כל לאחר כלשהי, כדי מסגרת לשחלף-החוצה כזה, נצטרך בזכרון. במקרה פנויה מסגרת לנו אין כאשר מתחילה הבעיה מהזכרון, החוצה נשחלף שאותו דף-קורבן למצוא כרגע. נצטרך לנו הדרושה למסגרת הפיזי בזכרון מקום לפנות

ונסמן התוכנית של הדפים טבלת את החוצה, נעדכן הנבחר הדף את שנוציא החדש. לפני לדף מקום לפנות כדי בכניסה ונעדכן הרצוי הדף את נכניס מכן . לאחרswap out victim page תקפה. נבצע לא שהכניסה

דף-קורבן למציאת השיטה על נרחיב תקפה. בהמשך שהכניסהpage tableב- הלוגי הדף של המתאימההחוצה. שישוחלף

90 מתוך 70 עמוד

Page 71: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

'מלוכלך' הדף אם מידע גם פיזית, אלא וכתובת וירטואלית כתובת רק נתונים, לא מגוון : ישTLB לטבלת דוגמההגישה. והרשאות

90 מתוך 71 עמוד

כתובת להמרת הראשונה האפשרות TLBב- לחפש פיזית, היא לכתובת לוגית

שם, מצאנו לא הצדדית(. אם )הטבלה זכרון בין . השוניpage tableב- נחפש גם שאם וירטואלי, הוא לזכרון ממשי

) שגיאת-דף לנו מצאנו, יש לא שםpage-faultהדף את להביא ( ונצטרך

מהדיסק.

בטבלה הכניסות : כלTLB לגבי תזכורת הזכרון ניהול תקפות, אחרת הן הזו

אנחנו . כאשר יעיל לא שלנו

Page 72: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

וצריך תקלת-דף לנו יש : כאשר demand paging של במקרה EAT ( effective access time ) הערך חישוב 'מלוכלך' ולא הדף מהדיסק( לשלם. כמובן, אם קלט-פלט )פעולתI\O מחיר לנו הדרוש, יש הדף את להביא של קריאה ה'מלוכלכים' ואז לאזור החוצה הדף של כתיבה כפול: תחילה מחיר לשלם מהדיסק, נצטרך נביאו התרחשה ולא = יש(. במקרה1 = אין, 0) דף תקלת שיש ההסתברות אתp באות פנימה. נסמן החדש הדף

החוצה שחלוף של מחיר לשלם תקלת-דף, נצטרך יש (. אםhit) לזכרון גישה של מחיר רק תקלת-דף, נשלםלרוץ(. שרוצות התוכניות לתור התוכנית החזרת של זניח מחיר גם )בנוסף פנימה ושחלוף

פנויה( מסגרת לנו ואין במידה רק שחלוף-החוצה, נשלם של הפעולה עלות שאת המרובעים, מציינים )הסוגריים

מילי-שניות.8 אורך דף בתקלת ממוצע טיפול וזמן ננו-שניות200 אורך לזכרון גישה שזמן חישוב: נניח דוגמתכזה: במקרה

מיקרו-שניות,8.2 יהיהEATה- תקלת-דף, ערך לדף, התרחשה גישה ניסיונות1,000 מתוך1ב- שרק נניח אם )פעולות מאד יקרה היא בשגיאת-דף הטיפול ועלות שהיות להבין לזכרון. לכן, קל הגישה זמן לעומת איטי40 פי

משמעותי. באופן המחשב ביצועי של האטה לזכרון, יש גישה לזמן רב(, ביחס זמן גוזלות קלט-פלט

[os8-2 vir ]מצגתAddress translation in a segmentation system

הדף את שנמצא המתאים, לפני המקטע את למצוא תחילה יצריך כתובת של ומקטעים, תרגום דפים של בשילוב ואז בזכרון נמצא לא / הדף שגיאה, שהמקטע לנו ויש אלו, ייתכן שלבים משני אחד בתוכו. כמובן, בכל המתאים

מהדיסק.. להביאו כמובן צריך

Paging considerationsהיום. נרחיב מהנושאים חלק נושאים. על מגוון הוירטואלי(, יש )בעיקר הזכרון ניהול בתחום במרחב מקומיות יש[ 6בעמ' ]מופיעלעבוד. הוירטואליזציה של לשיטה מאפשר–( Locality) המקומיות עקרון

היא מקטע של במרחב. הבאה מקומיות מגדיר בעצם מסוים, הדף דף שמביאים בזמן. ברגע מקומיות גם ויש של מסוימת תחזית לפי דפים להביא למכה', לנסות תרופה 'הקדמת של טכניקות גם יותר. יש טבעית מקומיות

העוקב הדף ואת לו הקודם הדף את גם מסוים, נביא דף להביא צריך כאשר . למשלpre-pagingבהם, שימושאחריו.

ניתן התוכנית בריצת שלב הדפים. כך, בכל מספרי אתY ציר ואילו הזמן את ייצגX ציר שבו גרף לשרטט ניתן אליהם. ניתן ניגשת שהתוכנית המענים אחרי לעקוב מאפשר כזה התרכזה. גרף התוכנית דפים באילו לראות פעמים כמה לא הוא אותנו שמעניין ריצתה. מה במהלך אליהם ניגשת שהתוכנית הדפים סידרת מהי לבדוק נשארנו זמן לכמה חשיבות הדפים, ללא בין עוברים אנחנו מחרוזת-ההתייחסות, איך מהי מסוים, אלא לדף ניגשים

לא מסוים, אנחנו בדף מתרכזים אנחנו המקומיות, כאשר עקרון פנינו. ע"פ דף בכל מענים ולאילו דף בכל יחסית. לכן, צריך קטן הוא בהם מתרכזת שהתוכנית הדפים מספר נתון רגע אחרים. בכל בדפים מתרכזים אם התוכנית, גם של לצורך קטן, בהתאם ( יהיהworking-set) נתון רגע בכל בזכרון שיהיו הדפים שמספר 80%ב- )לפיו80/20ה- חוק עם המקומיות עקרון את מבלבלים רבים. לפעמים דפים תופסת כולה התוכנית

נדרשת(. לפי התוכנית לה הדפים כמות את שמגביל התוכנית, מה של מהדפים20%ב- נמצאים אנחנו מהזמן של / סיום תיחול רק כוללים הם , אלאsteady stateב- מטפלים לא התוכנית של הדפים הזה, רוב החוק

העיקריים הדפים שמיעוט . ייתכןmain codeה- את כוללים הדפים מיעוט ואילו – קצה במקרי טיפול או התוכניתקוד. כוללים שהם וייתכן נתונים מכילים

thrashing דשדוש

90 מתוך 72 עמוד

לנו המקטעים, יש בטבלת שגם נניח נמצא המקטע אם לנו שאומרת סיבית לזה לא, נקרא )אם לא או בזכרון

segment faultלהביא צריך (. אם דינאמי, זכרון בניהול ומדובר מקטע, היות

גדול מספיק מקטע למצוא נצטרך המקטע את למקם שנוכל בזכרון, כדי

נעדכן כמובן מכן מהדיסק. לאחר הדרוש

Page 73: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

מערכת על שרצות התוכניות כלל על נסתכל המקומיות. אם עקרון בזכות עובדת הוירטואלי הזכרון של הטכניקה ( וביןX )ציר הפעלה מערכת של המקביליות רמת בין המקשר דשדוש. גרף של בבעיה ההפעלה, נתקלים

(:Y )ציר המעבד של הניצולת

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

90 מתוך 73 עמוד

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

יותר למערכת, יהיו תוכניות יותר שנטען ככל וניצולת – לרוץ שירצוready במצב תוכניות

Page 74: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

בפועל, לכל לנו שיש ממה מסגרות יותר דורשות לזכרון הטעונות התוכניות ( בזכרון. אםframes) המסגרות תוכנית שלכל גבוהה, כדי בתכיפות לדפדף לו, נצטרך זקוק שהוא ממה מסגרות פחות להקצות נוכל תהליך ולא לזכרון דפים תכניס רק כזה, המערכת לרוץ. במצב כדי לה הדרושיםworking setה- את לטעון נספיק אחרות. לסיכום: תוכניות לטעון ונוכל ריצתן את יסיימו שהן עצמן, כדי התוכניות את להריץ למערכת זמן נשאר / פנימה דפים של שחלופים על זמן מדי יותר מבזבזים אנחנו בו מצב ( הואJ בבוץ )מדשדשים דשדוש של מצב

החוצה. אז כי הבעיה את מחריף שרק אחרים, מה תהליכים של מסגרות על שלג', משתלטים 'כדור הוא דשדוש של מצב

לטעון.. נצטרך שלהם הדפים את גם

page size issue – דף גודל יהיה מה נחליט כיצדקטן: להיות צריך הדף לפיהם שיקולים ומנגד האפשר ככל הדף להגדלת שיקולים מגוון יש

המסגרת(. כגודל הדף גודל )לכן פנימי פיצול שיהיה הסיכויים קטן, פוחתים יהיה שהדף ככלה- את שיגדיל יותר, מה קטן יהיה הדפים בטבלת הכניסות מספר גדול, כך יהיה שהדף ככלhit ratio

לוגיים דפים פחות ונדרשים דפים פחות דורש התוכנית של הלוגי המרחב . בהתאמה, כךTLBה- בטבלתהתוכנית. את למקם כדי

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

גדול. יהיה שהדף עדיף ולכן שיותריותר.. קטן דף נרצה ואז – מקום פחות לבזבז קטן, כדי מכלא גודל רוצים זאת, היינו לעומתיותר.. קטן דף בעצם מתוכו, נרצה קטן למען לגשת רוצים אנחנו מדי, כאשר גדול הדף אם

עולות הקלט-פלט פעולות כי בדיסק, זאת הגוש גודל הגדלת של המגמה הדף, בשל גודל להגדלת היא המגמהנתונים. יותר יכיל גוש וכל – גושים פחות יתפוס קובץ שכל גדולים, כדי גושים עדיף רב. לכן זמן

TLB reach – הצדדית מהטבלה לגשת ניתן אליה הזכרון כמות מכסה? תשובה: התוכנית, הטבלה של הלוגי ממרחב כמה קטן. שאלה: עד כניסות מספר ישTLBה- בטבלת

הטבלה, ביחס של הלוגי קטן, הכיסוי הוא הדף גודל דף. כמובן, אם גודל הכניסות( כפול )מספר הטבלה גודלקטן. הזכרון, הוא לגודל

מספר את להגדיל זאת? ניתן נעשה . איךhit ratioה- יחס את להגדיל האפשר, כדי ככל גבוה לכיסוי נשאף עבור גם דפים, כך של שונים גדלים לאפשר יהיה יותר טוב (. פתרוןMMUב- נמצאת )יקר, היאTLBב- הכניסותאותן. לכסות כדי כניסות של דומה מספר לנו קטנות, יידרשו תוכניות עבור וגם גדולות תוכניות

90 מתוך 74 עמוד

רצוי: דף גודל לגבי סיכום קטן, דף גודל (. כאשרY )ציר תקלות-דף קצב ( לעומתX )ציר הדף גודל של גרף

שגיאות-דף. פחות צריכים, יש שאנחנו הקוד את בדיוק מכיל יעילה, הדף המקומיות שייך שלא קוד צריכים, הרבה שאנחנו האזור מלבד מכיל גדול, הוא דף גודל כאשר

אחרים דפים חשבון על בזכרון מקום לנו כרגע, מבזבז לנו הדרוש המקומיות לעקרון הדף גודל שאם לראות ניתן שגיאות-דף. בגרף יותר ויש להם נידרש אולי שאנחנו

כלל לנו יהיו שלא לכך שיגרום התוכנית, מה כ-ל את יכיל גדול-ממש, הדף )כי דף תקלות הרבה לנו בינוני, יהיו הוא הדף גודל זאת, אם . לעומתJ שגיאות-דף

וגם כרגע לנו דרוש שלא קוד מכיל שהדף בזבוז לנו יהיה הכיוונים: גם משני נסבול מספר ( וביןX )ציר המוקצות המסגרות מספר בין יחס של גרף

הדף תקלות מספר מסגרות, כך יותר שנקצה (. ככלY )ציר תקלות-הדף יהיו מסגרות, לאN לה הקצנו ואכן מסגרותN דורשת תוכנית יקטן. אם

הוא האידיאלי לזכרון. המספר טעונה התוכנית כל כלל, כי תקלות-דף לנוWשגיאות-דף. של יחסית קטן מספר לנו ויש החדה הירידה את עברנו , כך

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

MS) כבדות תוכניות ( וישtinyUML J) קטנות תוכניות שיש לזכור צריךofficeשונים, בגדלים ודפים – שונים בגדלים גושים לאפשר (. לכן, צריך

של הקצאה נאפשר שונים. אם בגדלים תוכניות לזכרון לטעון שנוכל כדי

Page 75: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

על לעבור רוצים ואנוk2 בגודל מטריצה לנו שיש (: נניח1 מתקדם תכנות של בהרצאה גם )למדנו תכנותי שיקולהתאים. כל

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

פירסם: שהמרצה קישורHow Virtual Memory Works

90 מתוך 75 עמוד

אם משנה וירטואלי, זה בזכרון מדובר כאשר בעיה. אבל לנו פיזי, אין לזכרון הגישה עם כל על נעבור כאשר לנו יהיו תקלות-דף כמה יקבע זה כי – עמודה או שורה מכיל לוגי דף

Page 76: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

I\O interlock – וירטואלי זכרון לניהול קלט-פלט בין הקשר מעוניינים שאנחנו קלט-פלט. נניח פעולות על אחראי המעבד, הוא את מטריד לא[12]עמ' DMAה- בקר

יהיה לא רב. זה זמן הדורשת בקלט-פלט, פעולה כרגע עסוקה שהמסגרת מסגרת-קורבן, בזמן על להשתלט פעולת החוצה. כמובן, אם משוחלפת להיות יכולה לא הזו שהמסגרת לסמן נעילה, כדי לבצע טוב! נצטרך הממתינות העסוקות המסגרות לכל נעילה לבצע יחידה, נצטרך ממסגרת יותר על מתפרשת הקלט-פלט

. DMAה- בקר לפעולת

Copy-on-write משהו משנים / בן ההורה משתנים. אם של כפולות העתקות למנוע כדי משותף תהליכי-בן, הקוד יוצרים כאשר

השינוי. לצורך הדרוש בזמן רק השכפול את מבצעים אנחנו כזה אותו. באופן לשכפל בדף, צריך

[os8-3 vir ]מצגת page replacement – החוצה לשחלוף דף-קורבן לבחירת שיטות – אחר תהליך של קורבן לבחור הנוכחית, או התוכנית של המסגרות מבין קורבן לבחור מורכב: האם מאד נושא

workingה- אחרי נעקוב אחרות. איך תוכניות של בתפקוד לפגוע עלולה אחת תוכנית של גרועה התנהגות ואזsetכמובן היא שלנו לה. המטרה שמוקצה המסגרות מספר צריכה, לבין שתוכנית הדפים מספר בין וההתאמה

מסגרות למצוא מתקשה 'מלוכלכים', המערכת יותר תקלות-דף, הדפים יותר שיש נמוך. ככל תקלות-דפים קצב לא בינוני לטווח . המזמנןJ בבוץ דשדוש של למצב מתקרב, מגיעים הקץ – קורבנות למצוא פנויות, מתקשים

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

: page replacement algorithms – דף-קורבן לבחירת אלגוריתמים(1)FIFO –לפני ראשון שנטען באופן-מעגלי: דף לזכרון הנטענים לדפים יוצא. נתייחס נכנס, ראשון ראשון(

דרושים. לכן ועדיין לאחרונה שנכנסו אלו עכשיו, לעומת לו זקוקים לא שכבר זמן( כנראה הרבה לנו שיוצר מצביע רק למימוש, צריך קל בזכרון. האלגוריתם שנמצא ביותר הישן הדף את נשחלף-החוצה

:FIFOב- בשימוש ריצה המעגליות. דוגמת את

FIFOדף תקלות15ו- במחרוזת-ההתייחסות דפים20 / 'מלוכלך'. בדוגמה, יש נקי הדף אם מתעניין לא ומספר אותו(. היות ולשחלף קורבן למצוא צריכים והיינו בזכרון קיים היה לא המבוקש הדף )בהן

בכל הראשונות הדף תקלות3) דף החלפות12=( 15-3) סה"כ לנו , יש3 הוא המוקצות המסגרות דפים( גדול8) התוכנית של הלוגי והמרחב ריקות(. היות המסגרות3 בתחילה יתבצעו, כי מקרה

היו המספרים החלפות-דף. אם שיהיו לנו לה(, ברור מוקצות מסגרות3) התוכנית של הפיזי מהמרחב למצב מגיעים היינו ו.. זהו, לא הדפים כל את טוענים בהתחלה, היינו תקלות-דף רק לנו זהים, היינו

יותר לנו שיש במצגת[: למרות7מס' ]שקופית אנומליה ישFIFO להחליף-דפים. באלגוריתם שצריך לא בכוונה, היא אותה 'מעושה', עשו דוגמה מעושה: זו שגיאות-דפים. ]בדיחה יותר מסגרות, יש

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

הבא בו שישתמשו שהסיכוי הדף את מוציא כביכול–( optimal page replacement) אופטימלי דף(2)ביותר. הנמוך הוא בתור

90 מתוך 76 עמוד

של חכם ניהול ע"י נעשה הדף תקלות מספר מזעורהמסגרות:

מושכלת בצורה לבחור פנויה, נצטרך מסגרת אין אם נקי דף לשחלף החוצה. למשל, נעדיף שישוחלף דף-קורבן

נקי שדף לטעון זאת, אפשר מלוכלך. לעומת דף במקום דף ואילו אותו לטעון נצטרך ושוב הקרוב בזמן נצטרך אולי

שכביכול השינויים, כך עם לדיסק לכתוב יש ככה גם מלוכלךאותו. דווקא לשחלף-החוצה עדיף אולי

לתוכנית, המוקצות המסגרות מספר מימין: הגדלת בגרף

לנו ( אומרתreference string) מחרוזת-התייחסות אנו דף שבכל )כמובן ניגשנו אליהם הדפים סדרת את

טוענים היינו לא אחד, אחרת למען לפחות ניגשים התוכנית לשימוש מסגרות3 לנו שמוקצות אותו..(. נניח

התוכנית אלו דפים אל קבוע( ורק מסגרות )= מספר מחרוזת-ההתייחסות נתון. עבור רגע בכל מתייחסת

,FIFO יתרחשו. ע"פ תקלות-דף כמה שבדוגמה, נספור

Page 77: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

ממוצע, כי באופן שלה ההתייחסות מחרוזת תהיה מה ולנחש פעמים מספר התוכנית את להריץ נוכל לאשלה. בקלט תלויה התוכנית וריצת קצה מקרי ייתכנו

(3)LRU (least recently used)–כביכול לאחרונה שימוש פחות בו שעשינו הדף את החוצה נשחלף( הבדיקות-אחורה, העבר(. מספר על הסתכלות ע"י העתיד על לקודמת, נלמד המשלימה לבדיקה קירוב

(.1 )פחות הפנויות המסגרות כמספר

לממש..(: גם מדי, צריך פשטני )הואLRU של המדיניות מימוש .LRU כמו יעיל , אךFIFO כמו וזול פשוט שיהיה לאלגוריתם האלגוריתם. נשאף של העלויות את להוזיל נשאף

רעיונות: לדף, כדי ניגשנו בו הגישה זמן את לדף, נשמור שניגשים פעם בכל– counter ע"י גישה זמן שמירתא()

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

יקרה: הזה הפתרון של לאחרונה. העלות בו שהשתמשנו ברור– TLBב- שנמצא דף , כיTLBב- נמצאים מאד מורכבת, מעט לוגיקה מורכב, דרושה חומרה בטבלה, מנגנון כניסה בכל נוסף שדה להוסיף יש

. true LRU של הזה המחיר את לשלם יכולים מחשביםבראש. אותו ושמים ממנה אותו בדף, מחלצים שמשתמשים פעם בכל – מחסניתב()

)בריבוע(. המוקצות המסגרות מספר הוא המטריצה גודל–( hardware matrix) חומרה מטריצתג() לאחדות המתאימה השורה את לדף, הופכים ניגשים אנו האתחול. כאשר בעת מאופסת המטריצה

לאפסים. המתאימה העמודה את מכן ולאחר

כמעט טוב האלגוריתם מהזמן80% )ב-20/80 של ליחס להגיע נשאף – יותר זול , במחירLRUל- קירובד() סיבית נוסיף בטבלה כניסה לכל– reference bitמשהו'(. 'לא הוא מהזמן20% וב-LRU כמו

הזו. בסיבית0 להם שיש בקורבנות . נבחר1ל- תיהפך הסיבית לדף התייחסות לאפס. בכל שמאותחלת

90 מתוך 77 עמוד

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

דף, מחצית החלפות6 רק לנו יש זו ההתייחסות(. בדוגמה הקרוב, לא בעתיד שנצטרך דף . לכאורהFIFOל- ביחס

במהלך נתונה לא ההתייחסות מחרוזת אותו. אך נשחלף אליהם הדפים מה לדעת נוכל לא התוכנית. לכן ריצת

תיאורטי הוא הזה בעתיד. האלגוריתם תתייחס התוכנית כמה עד לדעת כקנה-מידה, כדי רק לנו לחלוטין, ישמש

החלפות-הדף ימין, מספר בצד הריצה בדוגמת ,4 את כשנכניס . למשלFIFOמ- יותר , טוב9

לאחרונה, לכן שימוש נעשה3 ו-0שב- נראה לשחלף-החוצה. ניתן עלינו2 שאת נסיק

מחסנית של בשיטה פועלLRUש- להראות

בשימוש היה שלא זה הוא המחסנית בתחתית שנמצא דף מאד, כי יקר זה החוצה. מימוש נשחלף אותו לאחרונה, לכן

המחסנית, צריך לראש ולהעלותו במחסנית דף לאתר כדי

על דף-קורבן, נעבור נחפש כאשר הכי יש שבה המטריצה: שורה שורות אליו דף-לוגי אפסים, מייצגת הרבה אותו ולכן לאחרונה פחות הכי פנינו

שבו מצב נשחלף-החוצה. כמובן, ייתכן מספר אותו יש יחיד מדף-לוגי ליותר

הדף את אקראית נבחר – אפסים של

Page 78: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

3ל- שניגשנו לבחור. בנוסף, לאחר במי נדע אפס, לא היא הסיבית להן כניסות מספר החסרונות: ביןיותר.. מוקדם התייחסנו למי נדע דפים, לא

לדף. התייחסנו מתי יותר טוב לציין כדי סיביות8 יחידה, נשמור סיבית במקום– reference byteה()

ע"י מיושמתshiftה- של יותר. הלוגיקה ארוך זמן של היסטוריה סיביות, נשמור יותר לנו שיהיו ככלזמן. גוזלת קטן הכי המספר את יש למי הבדיקה מהיר. אך באופן נעשה בחומרה, הדבר מכונה פקודות

קורבנות שיהיו בהם, כך בחרנו שלא קורבנות דגימה, נאפס בכל– clock (second chance) policyו().J בעתיד פוטנציאלים

MFUלוגיקות: בשתי לפעול המונה. ניתן את נגדיל לדף שניגש פעם (, כלcounter) במונה ניעזרז()(most frequently used) –נוציא. אותו, לכן נצטרך לא כבר לאחרונה, אולי בשימוש הכי שהיה הדף

שגם לאחרונה, כנראה בשימוש פחות הכי שהיה הדף– LFU (least frequently used) זאת לעומת עלולים אנחנו וכבר קטן שלו הובא, המונה שרק חדש שני, דף אותו, נוציא. מצד נצטרך לא בהמשךחדש.. דף דווקא להוציא

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

דף הכנסנו הזה(. אבל, אם למאגר שהכנסנו ותיק )הכי הראשון את נבחר , תמידFIFO של בסדר למאגר שנכנס מהמאגר. לכן, מי מיד אותו בו, נוציא משתמשים כן אנחנו ופתאום הקורבנות של למאגר

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

'מלוכלך' למאגר. דף כתיבת על נתעכב שלא

18.1.10 - 14מס' הרצאה[os9-1 cpu ]מצגת CPU scheduling – מעבד זמנון

לדיסק. קלט-פלט בקשות של לזמנון למעבד, דומה תהליכים אנלוגיה: זמנון

90 מתוך 78 עמוד

,logical clock tick לנו יוצרים אנחנו בעצם סיבית את לבדוק זמן כמה כל שאומר

פעם . בכל0ל- נאתחל ההתייחסות. באתחול למעלה, שמציין המערך )ע"פ בדיקה שנעשה

left-shift בשימוש(, נעשה היה הדף אם ימינה, שמאל, נדחוף מצד סיבית )נוסיף

סיבית החוצה(. כאשר תידחק הימנית הסיבית 0 לו , נדחוף0 היא דף של ההתייחסות

0 , לדףaתימחק. ב- הימנית משמאל, הסיבית משמאל1 לו דחפנו , לכן1 )למשל( היה

בעל יהיה נפלה(. הקורבן הימנית )הסיבית

מעגלית, בצורהreference bitל- מתייחסים אליה האחרונה הסיבית-קורבן מי בודקים

, לפי1 יש , לחלק0 יש מהדפים התייחסנו. לחלק קורבן, נחפש מחפשים האחרונה. כאשר המחיקה

אחדות, יש עוד . כלnext victim מהמצביע החל התייחסו כקורבן, כי אותם נבחר ולא אותם נאפס

0ל- נגיע (. כאשר1 להם שיש )עובדה אליהם אליו התייחסו לא כקורבן, כי אותו הראשון, נבחר

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

קל, מתייחסים הוא כקורבן. המימוש שלם, ייבחרו

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

I\Ο) לקלט-פלט בהמתנה נמצא הוא מהזמן בחלק ואילוburstלפרק אותו השהה שלו שתהליך-האבא כמובן (. ייתכן

לזכרון גישה לו שיאפשר לסמפור ממתין שהוא מסוים, או זמן

Page 79: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

בהמשך(, ההדגמים, יוסבר )מחזורCPU burst-cycle לו 'ריצה'. יש במצב כעת נמצא שהתהליך נניח אנושונה(. באורך להיות יכול אלו זמן מפרקי אחד )כל להמתין מכן ולאחר לעבוד לו מאפשר שהמעבד המחזור

גם נחלק תהליך כל למעשה (. אךprocesses) לתהליכים ( שנחלקתjob) המושגים: עבודה את הכרנו כה עד לתור מוכנס , הואnew מצב התהליך, לאחר של החיים (. במחזורinstances) הדגמים למספר בעצמו

עד חלילה ( וחוזרwait , מלשוןw) המתנה (, זמןrun , מלשוןr) ריצה זמן לו יש מכן המוכנים-לריצה. לאחר אותו להרוג מחליט שלו ההורה אם המתנה בזמן גם יתכן ריצה, אך בזמן יקרה להניח שסביר )מה פעולתו לסיום

Jרצופים ריצה ומצב המתנה מצב של צמד (. כל (w,rנקראים ,) .הדגם

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

job poolהמוכנים-לריצה, הוא של בתור שממתין מי למעשה ההדגמים, כי ברמת עובד קצר לטווח (. הזמנן שמי להמשיכה. כך מעוניין והוא ריצתו את שהתחיל תהליך , משמע5מס' תוכנית של42מס' הדגם למשל

לטווח התהליכים. הזמנן את המייצגיםההדגמים, התהליכים, אלא בדיוק לא הם המוכנים-לריצה בתור שנמצא אותו מעניין הדגמים, לא עם מתעסק לא חירום. הוא במצב תהליכים, פועל של ברמה שפועל זה הוא בינוני

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

כל שעל רק ההגדרה: לא [ אתrefineעידון, יפה': לעשות שפה 'עברית ]ולחובבי לשפר ביניהם. לכן, נוכל בכל ריצה בזמן נמצא מסוים תהליך של יחיד הדגם רק דיוק יחיד, ליתר תהליך נתון רגע בכל לרוץ יכול מעבד

נתון. רגע

-long (, נקראותnumber crunchingמספרים' ) )עיבוד(, 'טוחנות ריצה זמן הרבה שדורשות עבודות ישנןjobsהידודיות לעבודות ביחס ארוכות נקראות כמובן . הן (interactiveקצרות ) פעולות )מפתיע?( שמבצעות זמן במעט צורך יש קצרות . לעבודותshort-jobs מהמקלדת, שנקראות תווים קליטת המשתמש, למשל מול

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

אלו. עבודות מטעם / ארוכים, הפועלים קצרים תהליכים על לדבר בהתאם

90 מתוך 79 עמוד

Page 80: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

)למטה(: קצר עיבוד פרץ בעלת עבודה )למעלה( לעומת ארוך עיבוד פרץ בעלת עבודה של דוגמה(.w, IΟ burst) המתנה זמן מסמן שחור קו ( ואילוr, CPU-burst) עיבוד פרץ מציין אפור ריבוע

[:10מס' בשקופית ]מופיעים הזמנון מדיניות בקביעת שיקוליםלהתייחס המערכת, אפשר ברמת ( 'ל'הוגנותfairnessנרצה ,) מעבד זמן משך התהליכים לכל לתת

כלל את לאזן שיש שאומר הקלט-פלט, מה ופעולות המעבד פעולת של לאיזון לדאוג גם זהה. צריךבמחשב. הפעולות

אינטראקטיביות: ומערכות מערכות-אצווה בין נפרידתפוקה נרצה במערכות-אצווה (throughputגבוהה, כמה ) רגע בכל לריצה מוכנות יהיו עבודות שיותר

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

אינטראקטיביות במערכות (foregroundלא ) תגובה זמן על מדברים בזמן-סבב, אלא מתעניינים (response timeככל קצר לזמן-תגובה כמובן הקלט(. נשאף בעקבות יופיע הפלט זמן כמה , תוך .J טוב שירות מקבל שהוא ירגיש שהמשתמש האפשר, העיקר

במערכות real-timeבספי-זמן לעמוד )היחידה( היא העיקרית , המטרה (dead-linesיש .) הבדל כמובן טעינת כאשר , למשלsoft real-time שהוגדרו, לעומת בזמנים לעמוד שחייבים כךhard real-time בין

ההזרמה. יכולת לגבי פשרות מקרה, אין מתעכבת. בכל סרט

גבוהה, ומנגד תפוקה יחיד. כאמור, נרצה במעבד ( ובזמנוןbatch systems) אצווה במערכות בעיקר נתרכז אנו הסבב יתקצר, זמן ההמתנה שזמן (: ככלw) ההמתנה זמן את האפשר. הזכרנו ככל קצרים וזמן-תגובה זמן-סבב

(TT, turn-around timeיתקצר ) כל )של התהליכים כל של ההדגמים כלל של סכום הוא הוא, שכן גם ATT, average turn-around) הממוצע הסבב זמן אותנו המעבד. בפועל, מעניין על העבודות..( הטעונות

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

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

המוכנים-לריצה. בתור התהליך של ההמתנה זמן את לצמצם ניתן כן לצמצם, אך כמובן ניתן לא הקלט-פלט

של השונים המצבים בין המעברים על לטווח-קצר, האחראי לזמנן מזמנן-מעבד, מתכוונים אומרים לרוב, כאשרהתהליכים:

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

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

לטווח-קצר. הזמנן לידי השליטה את מחזירה ( שהייתהtimer interrupt) פסיקת-זמן

selection functionהבא יהיה המוכנים-לריצה בתור התהליכים מבין מי מחליטה – הבחירה , פונקציית בתור שהראשון נניח הזה, לכן העדיפויות תור את שמסדר לטווח-קצר בזמנן מנגנון שיש נניח שירוץ. כרגע

הגבוהה. הריצה עדיפות בעל הואdecision mode –שירוץ. כאמור, הבא יהיה התהליכים מבין הזו, איזה הבחירה את מבצעים שבו הזמן

לצורך )למשל למערכת שליטה מחזיר שהוא עד רץ , תהליךnon-preemptive של במצב עובדים כאשרתהליך. לכל זמן מקציבה , המערכתpreemptive של זאת, במצב קלט-פלט(. לעומת

90 מתוך 80 עמוד

הייתה לזמנון. בתחילה, הגישה אלגוריתמים סוגי מספר ישנםnon-preemptiveשקיבל תהליך בכוח(, כל לוקחים )לא

רצה. אך שהוא כמה לרוץ לו המעבד, נתנו על השליטה את את יחזיר / לא סופית אין ללולאה ייכנס שהתהליך חשש היה

Page 81: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

/ תהליכונים: התהליכים מודל בין ההבדלמבחינתנו. ערך שווי הם מתהליכים, אך ( מורכבתjob) מתהליכונים, עבודה ( מורכבתtask) משימה

90 מתוך 81 עמוד

dispatcherעמוד6מס' ]הרצאה – , המשלח , שצריך הבא / ההדגם התהליך את לוקח[20

)עם ו'משלח' אותו למערכת אותו לרוץ, טוען dispatch latency( לריצה. J ספורט נעלי פעולתו, את לבצע למשלח שלוקח הזמן הוא

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

Page 82: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

: התהליכים לזמנון האלגוריתמים הוא הריצה להבין: זמן הסבב. חשוב זמן ממוצע את לחשב כדי הריצה זמני וסך ההמתנה זמני סך את לחשב ניתן

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

AWT על אוWT (waiting time) על נדבר זה התהליכים. לכן, בהקשר כלל של הסבב זמן את לשפר יצליח(average waiting time).

FCFS (first come first served) –שירוץ הוא המוכנים-לריצה בתור זמן הרבה הכי שממתין התהליך (FIFOנניח .) של במצב פסיקות, שמדובר שאין non-preemptiveהשליטה( של בכוח לקיחה )אין

ברצף. לסיום עד רצה שהתוכנית ונניח

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

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

. לכן, זמן17 הוא הממוצע ההמתנה זמן ואילו10 ( הוא3 / 24+3+3) הריצה זמן חסרונות: ממוצע

ההמתנה ההגעה, זמני סדר ע"פ )הפוך(, לא שונה בסדר ירוצו התהליכים . אם27 הוא הממוצע הסבב . משמע, זמן13 יהיה הסבב זמן ממוצע ולכן3 רק יהיה הממוצע ההמתנה משמעותית: זמן יתקצרו עבודות– convoy effect השיירה נוספת: אפקט התהליכים. בעיה טעינת מסדר מושפע הממוצע הסבב

שלא איטית משאית אחרי ספורט ברכב נוסעים שאנחנו ארוכות. ]כמו לעבודות לחכות צריכות קצרות הקצרים מהתהליכים ומונעים רב מעבד זמן גוזלים ארוכים [ תהליכים אותה לעקוף לנו מאפשרת

הכולל. ההמתנה בזמן ולחסוך ריצתם את לסייםSJF (shortest job first) –מספר ישנם זה הדרוש. לאלגוריתם הריצה זמן ע"פ יהיה הריצה סדר

המודרני . השםSTF (shortest time first) ו-SPN (shortest process next) נוספים, למשל שמות פעם. מניחים בכל יותר הקצר ההדגם את להריץ מעוניינים אנחנו (, כיSIF) הדגמים זמנון הוא יותר

זה שאלגוריתם טענה המערכת. יש של בכוח לקיחה שאין , כךnon-preemptive של במצב שמדובר(.J יותר מתקדמים אלגוריתמים לנו שיש )עובדה שגויה היא האופטימלי, אך הוא

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

שהזמן )לצייןlong התהליך את שמריץkuku האלגוריתם את לנו שיש לאופטימליות, נניח הטענה לגבי היהSJFזאת, קצר(. לעומת הוא לו הדרוש )בהתאמה, הזמןshort התהליך ארוך( לפני הוא לו הדרוש

ההרצות הזה, סדר השינוי . מלבדlong את מכן לאחר ורקshort את מריץ הפוך, תחילה בסדר מריץ אופטימלי. ]לצורךSJF . לכאורהkukuל- ביחס יותר קטן המתנה זמןSJFזהה. ל- התהליכים שאר של

אופטימלי אכןSJFתהליך, מראש..[ לכל הדרושים הריצה זמני מה יודעים שאנחנו כמובן הדוגמה, נניח ידועים לא ההגעה זמני זאת, כאשר מראש. לעומת ידועים ההגעה זמני סטטית, כאשר לקבוצה ביחס

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

90 מתוך 82 עמוד

לפי , פעילותgantt גאנט תרשיםזמנים

Page 83: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

טובה' ) ב'הערכה הדגם? מדובר לכל הדרוש הבא העיבוד פרץ מה להעריך נוכל בכלל בעיה: כיצדguesstimateרץ הוא זמן כמה יודעים לרוץ, אנו סיים מסוים שהדגם והערכה-צפויה. לאחר ניחוש של (, שילוב

ע"י נסמן הבא ההדגם של הריצה זמן של ההערכה -י. אתnה- ההדגם של הריצה זמן אתtnב- בפועל. נסמן רקורסיה..[ נראה מזכיר ( ]בעצםgenerative function) המחולל האלגוריתם של . החישוב'טאו' האות

כך: כאשר

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

90 מתוך 83 עמוד

Page 84: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

של הריצה , זמןtn בעצם יהיה הבא ההדגם ש'טאו' של נקבל , אזי1 להיות אלפא של הערך את נבחר אם מתבטל, הזה , המרכיב0 הוא אלפא של הערך אם הקודם. אך ההדגם של כמו בעצם יהיה הבא ההדגם

הזמן בקודם.. עד הקודם, שתלויה ההדגם של בהערכה בעצם הבא, תלויה להדגם הדרוש הריצה זמן ההערכההראשון.. ההדגם שירוץ שהערכנו

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

הנוסחה: של מהפיתוח לראות שניתן [. כפי47עמ' ראשלזכרון, אספוננציאלי-חזקתי, מה ממוצע מחשבת בעצם היא

רגיל. חשבוני ממוצע מאשר מדויקת ליותר אותה שהופך שנגמרים ברגע פחות, כי משמעותי הוא כאן השיירה, אך אפקט בעיית את : ישSJF של נוסף חסרון

הבעיה רב. כאן זמן לחכות יאלצו מכן לאחר מיד שיגיעו ארוך, הקצרים תהליך ונכנס קצרים תהליכים יהיו שלא עד ימתין ארוך קצרים, תהליך תהליכים יש עוד כל ארוכה, כי עבודה של הרעבה היא האמיתית

ארוכים. תהליכים של לרעה אפליה כאלו.. בעצםpriority scheduling –בפתרון עדיפות. נשתמש בתור, ע"פ ההדגמים את עדיפות. נסדר ע"פ זמנון

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

.J לרוץ ויזכה מורעב

[os9-2 cpu ]מצגת אלו בכוח. אלגוריתמים לקיחת-שליטה למערכת , מאפשריםpreemptive כן שהם אלגוריתמים גם נזכיר

את יחזיר לא תהליך לרוץ. אם מסוים פלח-זמן להם שיש לתהליכים אמירה לביצוע, תוך התהליכים 'משלחים' את time נקרא הזמן השליטה. פלח את בכוח מידיו שתיקח פסיקת-זמן זה, תופעל זמן במסגרת השליטה

quantumבקיצור( q.)SRJF – shortest remainder job firstניצלה. כבר היא לה הדרוש מהזמן רצה, חלק עבודה . כאשר

רצה. כאמור, כבר שהיא הזמן מלכתחילה, פחות לה דרוש שהיה לזמן לה, בהתאם דרוש זמן כמה נבדוקריצתו. את מסיים כשהוא שליטה להחזיר יכול לו, הוא מהדרוש יותר ארוך פלח-זמן לתהליך יש אם

זה שרץ. אלגוריתם זה הוא ולכן זמן פחות הכי נותר2 לרוץ, לתהליך סיים3 שתהליך בדוגמה: לאחרפלח-זמן. של התוספת עם , רקSJF את בעצם מזכיר

RR – round-robinדומה( -לFCFSכולם .) פלח-הזמן, ההגעה. בסיום סדר לתור, לפי נכנסים התור. סוףל מתווספים

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

מקביליות..(. ואין שיסתיים

90 מתוך 84 עמוד

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

ההנחה את לראות ניתן בכחול מדרגה. בעקומה פונקציית ובשלב בפועל. ייתכן הריצה זמן את השחורה בעקומה ואילו

עושים אנחנו פעם : בכלsteady stateל- נגיע מסוים הריצה וזמן ההערכה זמן ( בין0.5= אלפא )כי ממוצע

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

את וגם ההיסטורי המרכיב את גם בחשבון לוקחים שאנחנו כך אלפא ערך את לשנות האקטואלי. כמובן, ניתן המרכיב

חדש תהליך נטען : אםדגשמעגלי. תור מדמה כביכול יהיה החדש זמן, התהליך פלח סיים שתהליך זמן באותו

Page 85: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

להבין: הקשר. חשוב מיתוגי מדי יותר לנו יהיו יותר, אחרת גדול יהיה שפלח-הזמן תהליכים, נרצה יותר שיש ככל פלחq..(. נסמן: 0 באורך זה שזמן הנחנו שבדוגמאות )למרות זניח אינו זה וזמן זמן גוזל בעצמו הקשר מיתוג טובה, לא בחירה תהיה , זו הבאה. אם הקלט-פלט לבקשת עד זמן ממוצעtהקשר, מיתוג זמןsזמן, מדי, קצר הזמן , פלח הדגמים. אם של בהרצה במקום הקשר במיתוגי עסוק יהיה המעבד הזמן רוב שכן לאינסוף שואףq הבאה. אם בריצה רק הפעולה את ישלים הוא קלט-פלט, לכן מבקש ה'שיא' שהתהליך לפני

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

90 מתוך 85 עמוד

זמן מצוין תהליך לכל )שמאל( וזמן ההגעה לבן )ימין(. צבע הסיום ריצה, שחור זמן מייצג המתנה. כאשר זמן מייצגq=4במקום q=1יש , )פחות הקשר מיתוגי פחות

Page 86: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

מהתהליכים80%ש- כך פלח-זמן לבחור , נרצה80-20 הכלל הדלתא. לפי גודל את לקבוע כיצד נשאל לא טוב, בממוצע. מספיק הוא למשתמש התגובה שזמן נבטיח במסגרתו. כך שלהן הבקשות את להספיק יצליחו מדובר רבים. כאשר הדגמים להם יהיו כך גם חשוב, שהרי פחות ארוכים, פלח-הזמן בתהליכי-אצווה מדובר כאשר

לתהליכים אפליה פחות פלח-זמן, יש שיש העובדה יותר. בזכות משפיע פלח-הזמן קצרים, גודל בתהליכים ירוצו שהם אחרי לרוץ זמן פחות יישאר הקצרים לתהליכים כאן (. אמנם, גםSJFב- לנו שהייתה )הבעיה הארוכים

שהרצנו אחרי שיירה, כי אפקטRRב- פחות.. אין יחכו הארוכים שהתהליכים אותם, כך קיצרנו מהזמן.. אך חלקלהריץ. שניתן קצרים תהליכים יש אם לו, נבדוק הדרוש מהזמן חלק למשך ארוך תהליך מאפיינים עם תהליכים סל'. יש באותו הביצים כל את 'שמים , שהםpreemptive שהם האלגוריתמים של הבעיה

זמנון. של מדיניות אותה את יש ולכאורה תור באותו יושבים / ארוכים. כולם קצרים פלחי-זמן שונים: דורשים תור שונים, לכל תורים יותר. ננהל מתקדמת אלגוריתמיקה להציע פלח-הזמן, ניתן עניין את מוסיפים כאשר

. multiple prioritiesייקרא: נציע אותו הבא שונה. לכן, הרעיון במדיניות נשתמשmulti-level scheduling –בתור מופיע שהתהליך שונות. ככל עדיפויות עם שונים תורים מספר ננהל

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

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

לנסות ארוך לתהליך קצר, נאפשר תהליך כשאין ורק הקצרים לתהליכים עדיפות שיש לקבוע ניתןא()קצת. להתקדם

ארוכים. לתהליכים מהזמן20%קצרים, לתהליכים מהזמן80% , ניתן80-20 הכלל לפיב() עדיפויות מגדירה גם ובהתאם תור מגדירה מחלקה למחלקות, וכל שייכות שהעבודות לדוגמה נניח

בין להעברה מנגנון ימות, אין ושם נולד מסוים, שם לתור שייך שתהליך שהחלטנו בנפרד. הבעיה: מרגעהתורים.

multi-level feedback queue –נמצא תהליך משוב(. בהתחלה )מלשון משובי רב-תורי אלגוריתם אותו לו( נוריד שהוקצב הזמן במסגרת שליטה יחזיר יפה' )לא 'לא יתנהג גבוהה, אם עדיפות עם בתור

בעל לתור לעלות חזרה 'יפה' יוכל יתנהג בהמשך יותר. בהתאם, אם נמוכה עדיפות בעל לתור בדרגהגבוהה. עדיפות

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

לכן. קודם שהזכרנו לאלגוריתמים הידרדרנו

חד-משמעית. ככלל, עדיף לקבוע והדמיות. קשה מחקרים מגוון יותר? עשו טוב אלגוריתם איזה נקבע כיצד מדי קטן לא פלח-זמן אינטראקטיביים, עם לתהליכים טובRR של יותר. הרעיון מתקדם באלגוריתם להשתמש

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

[os10-3 dsk ]מצגת disk scheduling – דיסק זמנון

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

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

מדובר והאם כרגע הזרוע אותנו: היכן מעניינים דברים (. שני199 עד0מ- )ממוספים גלילים200 לנו שיש נניח תור לנו הבאה. נתון הבקשה מה רק יודעים פעם שכל דינאמי או מראש ידועות הבקשות שכל כך סטטי בקלט

.53 בגליל כרגע הבקשות, אנחנו

אלגוריתמים: מספר לזה(. נבחן ניכנס נכון, לא לא זה )גם מונוטוני החיפוש שזמן נניח של מיון שום ההגעה, אין סדר לפי הוא העדיפות תור–( FIFO , דמויfirst come first served )FCFSא()

התור.

90 מתוך 86 עמוד

תהליכים: קצרים, בינוניים, של שונים סוגים עבור תורים3 לנו בדוגמה, יש .q0ב- מילי' שניות, נישאר8ה- במסגרת שליטה נחזיר עוד ארוכים. כל

Page 87: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

החיפוש זמן עם לגליל מעבד( נלך זמנון של , בהקשרSJF )כמו– SSTF (shortest seek time first)ב()שלב. ביותר, בכל הקצר

90 מתוך 87 עמוד

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

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

הרעבה: הראש של החסרון טמון כאן נוסף. אך בקשות לטובת מסוים בתחום יישאר קודם הקורא-כותב

יותר רחוק ילך אח"כ ורק אליהן להגיע זמן מעט שלוקח

Page 88: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

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

יותר עוד הקורא-כותב לראש יגרום זה שלג, כי כדור כבר זה האמצעיים. אבל בגלילים החשובים הקבצים ממנו. לכן, לחלק תזוז לא מסוים, הזרוע לגליל בקשות של אינסופי רצף מגיע . הרעבה: אםJ באמצע להישאר

כה עד בדוגמאותאחר, בהכרח. לגליל עוברים הם מכן בקשה-יחידה-לגליל, ולאחר של היגיון יש מהאלגוריתמיםלגשת. נצטרך אליהם הגלילים מספרי הבקשות, כל כל מראש לנו ידועות סטטי, בו בקלט עסקנו לעצור נספיק האם– 60 לגליל בקשה ומגיעה98 ל-14מ- בדרך אני בעיה: אם– )טרמפ( pick-upג()

יש בדרך אם הסדר, אבל לפי הבאה לבקשה , הולךFIFO כמו מתנהג זה אותו? אלגוריתם ולשרת מספיק הסופי, אלא ליעד בתנועתו הגיע לא )עדיין אותה לשרת יכול והוא דינאמי באופן שהגיעה בקשה(.Look) בהמשך שנראה נוסף ואלגוריתםFCFS של שילוב ישרת. זה הביניים(, הוא ליעד קרוב

אלגוריתמים(: של מעלית' )משפחה 'אלגוריתמי נקראים שנסקור הבאים האלגוריתמים

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

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

אפשרויות. הסוף, עד מגיעScan) הסוף עד שמאלה, נמשיך בתנועה אנו : אםSSTFל- האופטימיזציה כמו– Scanא()

הסוף. עד ימינה נלך אח"כ תמיד( ורק

,183 וב-14ב- בקשה. יסתובב הייתה אליו הקיצוני הגליל עד רק הקצוות, אלא עד מגיע לא– Lookב() עד רץ הכיוונים, לא בשני תנועתו במהלך בקשות ביותר: משרת הטוב החיפוש קצת. מרחק עוד יחסוך הקצוות, נשאר עד מגיע לאScanל- ובניגוד הסריקה. החסרון: היות לאלגוריתמי בניגוד סתם הקצה הגלילים )לטובה( את מפלה זה כולם, אלגוריתם קיצוניים. מבין גלילים לרעה בצדדים, מפלה זמן פחות

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

לטובה, מופלים האמצעיים סיבוב. הגלילים בכל יחידה פעם רק עוברים הקצוות האמצעיים, על את לטובהשמאלה. התנועה במהלך וגם ימינה התנועה במהלך סיבוב, גם בכל פעמיים עליהם עוברים

ללא שמאלה הסוף עד לקצה, ירוץ עד והגעה בקשות שירות )בה"כ( תוך ימינה רק יסרוק– C-Scanג() שירות בקשות לטובת עוצר לא מהירה, כי היא שמאלה התנועה חלילה. אמנם וחוזר תהליכים שירות

זו. תנועה במהלך תהליך אף משרת לא הוא במהלכה, אבל

שלנו, הראש בקשה. בדוגמה הייתה אליו האחרון הגליל מיקום עד רק כיוון בכל ינוע– C-Lookד()קצת. , יחסוך14 עד רק ושמאלה183 עד רק ימינה ינוע הקורא-כותב

90 מתוך 88 עמוד

רק (, שירותיותcyclic) מעגלי מלשוןCבטבלה: השמות לגבי לא– Lookהקיצוני, הגליל עד לסרוק– Scanיחיד. בכיוון

הקיצונית. הבקשה עד רק אלא הקצה עד להגיע

לרעה מפלה פחותLookל- פנימי, ביחס זיגזוג יתרונות: חסכנו לצורך זמן קצת שם ונשאר הקצה עד מגיע קיצוניים, כי גלילים

)בדוגמה, קיצוני לגליל דינאמית בקשה מגיעה אם הסריקה. כך 14מ- נע הוא כאשר למשל אותה לשרת נמוך(, יוכל מספר בעל

מפלה זה כולם, אלגוריתם מבין הגלילים את פחות )לטובה( הכי

Page 89: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

וגם לאמצע גם מגיעים אחד, הם בכיוון רק בקשות ( משרתיםC-Look ו-C-Scan) האלו האלגוריתמים ושני היותהאמצעיים. הגלילים את לטובה מפלים לא מכך סיבוב. כתוצאה בכל אחת פעם רק לקצה

90 מתוך 89 עמוד

-Cל- ביחס יותר החיצוניים הגלילים את מפלהScanהסוף. עד נע לא , כי

Page 90: גרעין מבנה ותפקוד – תשס'ט \ ד'ר ירון שב-טלsterne1/files/3/opsystems/summary-2010.doc  · Web viewבין תהליך א' לתהליך ב' רצו מגוון

nisim761 J ע"י סוכם

סיכום:הדיסק על נמוך עומס יש כאשר (low loadהאלגוריתם ,) FCFSהגעתן( סדר לפי הבקשות את )משרת

בטפטוף. מגיעות הבקשות טוב, כי מספיקאחר, לאזור בקשות ומספר ספציפי לאזור בקשות מספר יש כאשר בינוני, למשל עומס יש כאשר

אזור-אזור. עובד כי טוב תחילה( הכי המינימלי החיפוש זמן עם הבקשה את )משרתSSTF האלגוריתםמרחבי כל על בקשות, המפוזרות של אחידה יחסית התפלגות הדיסק, עם על כבד עומס יש כאשר

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

של בשילוב מעלית אלגוריתם נרצהכבד, . בעומסC-Scan אוScan את אלו במקרים יותר. נרצה(.pick-up) טרמפ אלגוריתם

הזמן כל נישאר שלא כך אופטימיזציות הזמן, נרצה כל גליל לאותו קלט-פלט מוציאה תוכנית כאשר זמן את לשפר כדי מסוים בסדר בהן לטפל גליל, נצטרך לאותו בקשות כמה יש גליל. כמובן, אם באותו

בהן. הטיפול

J במבחן בהצלחה

90 מתוך 90 עמוד