שיעור 1 - מבוא פסיקות וקריאות מערכת Flashcards
מהי מערכת הפעלה ?
תוכנה שפועלת כמתווך בין המשתמש במחשב לבין חומרת המחשב
תפקידי מערכת
ההפעלה?
ליצור ממשק שמאפשר להשתמש בקלות בחומרת המחשב
לחלק את משאבי המחשב:
מעבד, זיכרון והתקני חומרה, בין התכניות הרצות.
לבודד תכניות ומשתמשים זה מזה
דוגמאות לרכיבי חומרה?
CPU
RAM
DISK
Keyboard
Screen
Network
Adapter
דוגמאות לרכיבי מערכת ההפעלה?
Process\memory Management
virtualizing memory\CPU
Network Drivers\Protocols
Line Discipline
Character Devices
File Systems
Block Services
Buffer Cache
מה נצפה לראות בזכרון RAM ?
Instructions
Data
מה נצפה לראות במעבד CPU ?
ALU - יחידה אריתמטית לוגית
PC
Status
Stack
registers R0 … Rn-1
שלבים ליצירת קובץ ריצה, טעינת תכנית לזיכרון?
loading program from disk
to process address space
code (c++ etc) to
compiler to
Assembler to
binary
שלבים בביצוע פקודות מכונה?
Fetch Instruction
הבאת הפקודה שה- PC מצביע עליה מהזיכרון למעבד וקידום ה- PC לפקודה הבאה.
Decode Instruction
פיענוח הפקודה וקביעת הפעולות הנדרשות.
Fetch Operands
הבאת הנפעלים
Execute Instruction
ביצוע הפקודה.
Store Result
שמירת התוצאה
פסיקות Interrupts מהן ?
מאורע שגורם למעבד להפסיק את ביצוע התכנית.
המעבד עובר לבצע קוד Interrupt handler
שנמצא במערכת ההפעלה ומטפל באותו מאורע.
הטיפול בפסיקה Interrupt
שמירת ה- PC , אוגר הסטטוס, אוגר המחסנית והאוגרים הכלליים של התכנית שהופסקה.
ביצוע הקוד המטפל בפסיקה.
החזרת ערך ה- PC , הסטטוס, המחסנית והאוגרים,
וחזרה להמשך הריצה של התכנית שהופסקה.
3 סוגי פסיקות Interrupts
פסיקות חיצוניות Interrupts
פסיקות פנימיות Exceptions
פסיקות קריאה למערכת ההפעלה system call
האם פסיקות חיצוניות תלויות בתכנית הרצה כעת ?
פסיקות חיצוניות מגיעות למעבד בקוו פסיקה, ואינן תלויות בתכנית הרצה כעת.
המעבד בודק אם הגיע פסיקה חיצונית בסוף ביצוע כל פקודה.
דוגמאות לפסיקות חיצוניות
I/O
נגרם על ידי התקן קלט/פלט.
דיסק מודיע למעבד על סיום פעולה.
מקלדת מודיע למעבד שמקש נלחץ.
כרטיס רשת מודיע שהגיע מידע.
Timer
נגרם על ידי שעון המחשב.
מאפשר למערכת ההפעלה להפסיק
ביצוע תכנית ולעבור לתכנית אחרת
פסיקות חיצוניות Interrupt Controller מהו?
מאפשר לחבר כמה התקנים לקו פסיקה אחד במעבד.
מנהל הפסיקות שולח למעבד מספר על פס הנתונים ושולח פסיקה
לקו הפסיקה של המעבד.
המספר שהתקבל משמש את המעבד כאינדקס לטבלת קפיצות Interrupt Vector
שמכילה כתובות של קטעי קוד לטיפול בפסיקות.
פסיקות פנימיות Exceptions מהן ?
פסיקות פנימיות הן אירועים לא צפויים במהלך ביצוע הפקודה,
ונגרמות מביצוע התכנית הרצה כעת:
Fetch Instruction - זיכרון לא קיים או לא נגיש
Decode Instruction - פקודה לא מוגדרת
Fetch Operand - זיכרון לא קיים או לא נגיש
Execute Instruction - חלוקה ב- 0
גלישה
Store Result - זיכרון לא קיים או לא נגיש