שיעור 1 - מבוא פסיקות וקריאות מערכת Flashcards

1
Q

מהי מערכת הפעלה ?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

תפקידי מערכת
ההפעלה?

A

ליצור ממשק שמאפשר להשתמש בקלות בחומרת המחשב

לחלק את משאבי המחשב:

מעבד, זיכרון והתקני חומרה, בין התכניות הרצות.

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

דוגמאות לרכיבי חומרה?

A

CPU
RAM
DISK
Keyboard
Screen
Network
Adapter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

דוגמאות לרכיבי מערכת ההפעלה?

A

Process\memory Management
virtualizing memory\CPU
Network Drivers\Protocols
Line Discipline
Character Devices
File Systems
Block Services
Buffer Cache

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

מה נצפה לראות בזכרון RAM ?

A

Instructions
Data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

מה נצפה לראות במעבד CPU ?

A

ALU - יחידה אריתמטית לוגית
PC
Status
Stack
registers R0 … Rn-1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

שלבים ליצירת קובץ ריצה, טעינת תכנית לזיכרון?

A

loading program from disk
to process address space

code (c++ etc) to
compiler to
Assembler to
binary

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

שלבים בביצוע פקודות מכונה?

A

Fetch Instruction
הבאת הפקודה שה- PC מצביע עליה מהזיכרון למעבד וקידום ה- PC לפקודה הבאה.

Decode Instruction
פיענוח הפקודה וקביעת הפעולות הנדרשות.

Fetch Operands
הבאת הנפעלים

Execute Instruction
ביצוע הפקודה.

Store Result
שמירת התוצאה

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

פסיקות Interrupts מהן ?

A

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

המעבד עובר לבצע קוד Interrupt handler
שנמצא במערכת ההפעלה ומטפל באותו מאורע.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

הטיפול בפסיקה Interrupt

A

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

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

3 סוגי פסיקות Interrupts

A

פסיקות חיצוניות Interrupts
פסיקות פנימיות Exceptions
פסיקות קריאה למערכת ההפעלה system call

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

דוגמאות לפסיקות חיצוניות

A

I/O
נגרם על ידי התקן קלט/פלט.
דיסק מודיע למעבד על סיום פעולה.
מקלדת מודיע למעבד שמקש נלחץ.
כרטיס רשת מודיע שהגיע מידע.

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

פסיקות חיצוניות Interrupt Controller מהו?

A

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

מנהל הפסיקות שולח למעבד מספר על פס הנתונים ושולח פסיקה
לקו הפסיקה של המעבד.

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

פסיקות פנימיות Exceptions מהן ?

A

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

Fetch Instruction - זיכרון לא קיים או לא נגיש

Decode Instruction - פקודה לא מוגדרת

Fetch Operand - זיכרון לא קיים או לא נגיש

Execute Instruction - חלוקה ב- 0
גלישה

Store Result - זיכרון לא קיים או לא נגיש

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

פסיקות קריאה למערכת ההפעלה system call מהן ?

A

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

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

17
Q

דוגמה ל system call ?

A

קריאות מערכת open(), write()

כדי לבצע system call צריך להשתמש בפקודות אסמבלי.

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

18
Q

מנה 2 מצבי פעולה של המעבד

A

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

19
Q

מה אפשר לעשות במצב מיוחס - קרנל ?

A

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

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

20
Q

מה אפשר לעשות במצב משתמש ?

A

כשהמעבד מבצע תכנית רגילה הוא במצב משתמש

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

21
Q

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

A

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

22
Q

מצבי תהליך תכנית שרצה

A

ריצה – תהליך שכעת מתבצע על ידי המעבד, תהליך יכול לרוץ במצב משתמש
או במצב kernel )מערכת ההפעלה(.

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

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

23
Q

דוגמא לריצת תהליך ומעבר בין המצבים

A

משתמש ביקש להריץ תכנית

מערכת ההפעלה יצרה תהליך להרצת התכנית, ושמה את התהליך במצב “מוכנים לריצה”.

לאחר מכן, מתזמן התהליכים ) scheduler ( בחר בתהליך הזה והעביר אותו למצב ריצה ) kernel ואחר כך user .)

התקבלה פסיקה מהשעון שהעבירה למצב kernel .

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

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

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

24
Q

מערכת ההפעלה מופעלת על ידי פסיקות interrupt driven

A

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

כשמגיעה פסיקה התכנית הרצה מופסקת,

המעבד עובר לבצע קוד במערכת ההפעלה,

ולאחר מכן המעבד חוזר לביצוע תכנית