מבחן Flashcards

1
Q

איך המשתמש יכול תקשר עם מערכת ההפעלה או החומרה

A

קריאות מערכת

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

מה הגודל של pid
ובכמה ביטים באמת משתמשים

A

32 ביט
ברוב הלינקוסים משתמשים ב15 ביטים תחתונים
אפשר להגיד שיהיה יותר

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

מהו תהליך idle
Pid?
למה טוב?
מתי נוצר

A

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

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

מי זה תהליך init
מה הpid שלו

A

Pid 1
נוצר עי idle
יהיה האב של כל שאר התהליכים

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

Hlt
מהי הפקודה?

A

X86 פקודת אסמבלי
משמשת לכך שהמעבד יחכה עד שתתקבל
פסיקה מהחומרה
זוהי דוגמה להכנסת המערכת למצב idle

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

Fork
מה מקבל ומה מחזיר

A

לא מקבל פרמטרים
מחזיר -1 אם נכשל ואין בן
אם הצליח מחזיר לאבא את הpid של הבן ולבן מחזיר 0

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

Printf
האם הוא thread safe

A

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

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

Wait
מהו
מה מקבל ומה מחזיר

A

התהליך ממתין עד שבן כלשהו שלו מסתיים כלומר קורא לexit

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

אם אין בנים מוחזר -1
אם יש בנים זומבים יחזור ישירות הpid של הזומבי
אחרת נמתין עד שתהליך בן יסיים

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

Malloc and free are like:

A

Fork - wait

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

מהי קריאת מערכת חוסמת

A

קריאת מערכת שתוקעת את ריצת התוכנית כמו
Wait waitpid

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

Waitpid
במה שונה מwait

A

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

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

Exit
מה מקבלת
ומה מחזירה
ומה עושה

A

מסיימת את ריצת התהליך
ומעבירה את התהליך למצב זומבי עד שתהליך האב יחכה לו
מחזיר 8 ביטים של ערך סיום
לא יכול להכשל ולא מחזיר ערך

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

למה צריך את exit
ולמה return מmain לא מספיק

איך קוראים לפונק המעטפת הראשית

A

Main
עטופה עי
libc start main
שהיא קוראת לexit

חוץ מזה היא נוחה אם אנחנו עמוק בתוך הקוד ורוצים לסיים את הריצה

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

מה קורה לתהליך שהאבא שלו עשה
Exit

איך קוראים לפונק בגרעין שעושה את זה

A

הוא הופך לבן של init
בעזרת הפונקציה forget original parent בקרנל

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

למה חשוב שיהיה את תהליך init חוץ מזה שהוא מתחיל את התהליכים הראשונים

A

הוא גם האב של כל התהליכים היתומים
והוא דואג לחכות לכולם ולפנות את הנתונים שלהם כשהם מסיימים

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

Syacall
Yeild

A

מפקיעה את ריצת התוכנית

17
Q

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

A

פסיקת שעון
כן
שגרת הטיפול בפסיקות רץ במצב גרעין

גם קריאת מערכת

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

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

18
Q

מהי החלפת הקשר כפויה
איך נקראית
ומתי יכולה לקרות

A

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

או פסיקת חומרה שמעירה תהליך עדיף על התהליך הנוכחי

19
Q

האם הפקעה יכולה להגרם מפעולת משתמש או פסיקת תוכנה?

A

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

20
Q

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

A

מערכת ההפעלה