|
עמוד:382
כדי לממש את מנגנון ההגנה , משתמש המעבד בשתי הסיביות האחרונות של אוגר המקטע המציינות את רמת ההרשאה של התכנית . שתי סיביות אלה מאפשרות להגדיר 4 רמות הגנה , כאשר הרמה הגבוהה ביותר מוענקת למערכת ההפעלה והרמה הנמוכה ביותר לתכנית . כאשר הוראה בתכנית ניגשת לזיכרון , נבדקת רמת ההרשאה של התכנית לפי ערכם של אוגרי המקטע המוגדרים לה . אם הכתובת המבוקשת נמצאת בתחום ההרשאות המתאים , המעבד מאפשר לתכנית לגשת לכתובת המבוקשת , ואם הכתובת אינה בתחום המותר - יאסור המעבד גישה לכתובת זו , ומערכת ההפעלה תודיע על שגיאה . זו ההודעה שמופיעה לעיתים במערכת "חלונות" ( Windows ) ומודיעה שתכנית כלשהי ביצעה גישה לא חוקית לזיכרון ולכן היא תיסגר . כדי לדעת את מיקום הטבלאות בזיכרון , המעבד משתמש בשני אוגרים ו GDTR מצביע לטבלה , GDT הוא מאותחל כאשר המחשב מופעל ומערכת ההפעלה יוצרת את טבלת LDTR ; GDT מצביע לטבלה LDT של התכנית והוא מאותחל כאשר התכנית מתבצעת . לסיום נציין כי אי-אפשר לבצע תכניות במקביל באופן אמיתי , כלומר בו-זמנית , במערכת שיש בה מעבד יחיד . אמרנו שמעבד יחיד מבצע פקודות בזו אחר זו , אך עם זאת , הוא מאפשר להפסיק פעולה של תכנית ( להפעיל פסיקה , ( לעבור לתכנית אחרת לפרק זמן מסוים , ולחזור לתכנית הקודמת . המעבר חייב להיעשות בצורה תקינה , כך שהמשתמש לא ירגיש בו . המעבד מספק כלים למעבר מביצוע תכנית אחת לשנייה על-ידי שמירה מלאה של התכנית המופסקת והצבה של מנגנוני הגנה המאפשרים לה להתבצע ללא הפרעות של תכניות אחרות . המעבר בין התכניות נעשה על-ידי תוכנה השולטת על המערכת , דהיינו , מערכת ההפעלה , כשפרק הזמן הנדרש לביצוע מעברים אלה מתארך ככל שיש לבצע יותר תכניות . מספר התכניות שניתן לבצע במקביל תלוי באותו חלק של מערכת ההפעלה השולט על ריבוי המשימות . קיימות מערכות מחשב הכוללות כמה מעבדים ו מבנה כזה מאפשר לכל תכנית להתבצע על מעבד אחר , או לבצע קטעי קוד של תכנית אחת על מעבדים שונים . כיום מקובלים
|
|