OS - IO Flashcards

1
Q

כיצד מתבצע מתן פקודות להתקני קלט/פלט

A

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

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

3 שיטות מיעון של אוגרים וחוצצים

A

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

בקרי התקנים משתמשים במרחב כתובות המשותף לזיכרון הראשי. לשיטה זו קוראים memory mapped I/O.

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

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

Direct Memory Access-DMA

A

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

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

מטרות תוכנת הקלט/פלט

A

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

טיפול בשגיאות- הן בחומרת הקלט/פלט והן בכל רמות התוכנה.

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

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

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

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

3 שיטות כתיבה להתקן קלט/פלט:

A

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

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

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

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

מערך דיסקים (RAID)

A

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

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

RAID level 0

A

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

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

RAID level 1

A

הכפלת מספר הדיסקים שהיו ב-RAID level 0 לשם גיבוי. גם מהירות הגישה לנתונים עולה כיוון שאפשר לספק בקשות במקביל גם מדיסקים של גיבוי. חיסרון: העלות של שכפול הדיסקים.

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

RAID level 2

A

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

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

RAID level 3

A

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

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

RAID level 4

A

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

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

RAID level 5

A

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

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

RAID level 6

A

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

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

4 אלגוריתמים לתזמון זרוע הדיסק

A

First Come First Served-FCFS
Shortest Seek First-SSF
Elevator
Circular Scan

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

אלגוריתמים לתזמון זרוע הדיסק First Come First Served

A

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

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

אלגוריתמים לתזמון זרוע הדיסק Shortest Seek First

A

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

17
Q

אלגוריתמים לתזמון זרוע הדיסק
Elevator

A

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

18
Q

Circular Scan

A

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


19
Q

התקן בלוקים

A

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

20
Q

התקן תווים

A

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

21
Q

כתיבה
לסירוגין
בדיסק

A

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

22
Q

זיכרון מטמון
פנימי

A

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

23
Q

memory-mapped I/O היתרונות

A

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

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

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

24
Q

memory-mapped I/O החסרונות

A

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

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

25
Q

בקרי DMA מסוגלים לבצע העברה של נתונים באחת משתי השיטות האלה

A

work-at-time-mode –
בשיטה זו בקר פועל עם מילות זיכרון שאותן הוא מעביר
בזו אחר זו. לכל העברה, הבקר מנצל (גונב) מחזור אחד של CPU ,ולכן השיטה
נקראת stealing cycle .מכיוון שההעברות מפוזרות על ציר הזמן, תיגרם רק האטה
קלה במהירות ה-CPU .אם צריך להעביר כמות גדולה של מילים, התקורה של זמן
הנעילה של אפיק הזיכרון יכולה להיות גבוהה למדי

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

26
Q

(interrupt handler)מנהל הפסיקות

A

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

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

27
Q

(device drivers) מתאמי התקנים

A

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

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

28
Q

תוכנת קלט/פלט המשוחררת מאילוצי חומרה

A

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

29
Q

זמן העברת הנתונים )transfer time( בדיסק

נסמן ב-S את זמן חיפוש המסלול.
נסמן ב-R את זמן הסיבוב המלא.
נסמן ב-b את כמות הנתונים הדרושה ב-bytes.
נסמן ב-N את כמות ה-bytes במסלול

A

T = S + 0.5 * R + R * b / N

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

30
Q

מבנה דיסקים מגנטיים

A

מתקן דיסק קשיח מורכב מכמה דיסקים נפרדים המסתובבים על ציר משותף בחלל ריק. כל דיסק בודד מחולק למסלולים )tracks( שמחולקים לגזרות )sectors(. אוסף המסלולים בכל התקליטים שנמצאים במרחק זהה מציר הסיבוב נקרא גליל או צילינדר )cylinder(. המידע נשמר על שני צידי התקליטורים של כל דיסק. כתיבה או קריאה של
נתונים מתבצעות על ידי ראשים קוראים/כותבים )reading/writing heads(.