remember remember the 5 th of november. תרגול 2 קובץ סדרתי
Post on 21-Dec-2015
223 views
TRANSCRIPT
Remember RememberThe 5th of November
2תרגול
קובץ סדרתי
04/18/233
קובץ שהפעולות העיקריות עליו –קובץ סדרתיהן קריאת או כתיבת הקובץ מתחילתו ועד
סופו.
: כיצד לאחסן את הקובץ כך שזמן שאלההמעבר עליו )קריאה או כתיבה( יהיה קטן
ככל האפשר.
04/18/234
:תשובה
זמן הקריאה )כתיבה( מורכב משלושה גורמים,זמן תזוזת זרוע + זמן השהיית סיבוב + זמן ההעברה
זמן ההעברה הוא זמן שאינו תלוי בצורה בה –הקובץ מסודר על הדיסק, זה תלוי רק בגודל
הקובץ, )או בגודל המידע שקוראים(.לעומת זאת זמן השהיית סיבוב וזמן תזוזת זרוע –
כן תלויים באופן בו מסודר הקובץ, ולכן נרצה שתזוזת הזרוע תהיה מינימאלית. ניתן לקבל
זאת ע"י כתיבת הקובץ על גלילים סמוכים באופן סדרתי ובכל גליל על מסילות עוקבות גם
כן באופן סדרתי.
04/18/235
זמן קריאה )כתיבה( קריאה )כתיבה( סדרתית: סדרתית של קובץ מתחילתו ועד סופו.
של קובץ זמן קריאה )כתיבה( סדרתיתהמסודר בגלילים סמוכים מורכב מהגורמים:
זמן הגעה לתחילת הקובץ.1.
זמן ההעברה של הקובץ.2.
זמן המעבר בין מסילות עוקבות באותו גליל.3.
זמן המעבר בין גלילים עוקבים.4.
04/18/236
זמן המעבר בין משטחים באותו גליל
לסדר את תחילת המסילות אפשרות אחת:בגליל בדיוק זו מעל זו.
תחילת מסילה
1
2
3
04/18/237
נניח שסיימנו לקרוא )לכתוב( את המסילה הראשונה בגליל ורוצים להתחיל לקרוא את המסילה הבאה, שנמצאת
במשטח הסמוך )מסילה שתיים(.)התחלת( במצב הזה הראשים נמצאים בדיוק מעל סוף
של פיקוד לראש הקורא המסילות, וצריך רק להעביר המשטח הבא, על מנת שיתחיל לקרוא )לכתוב(.
הזמן שלוקח עד שהראש במשטח הבא זמן המיתוג:מעל המסילה" ויכול להתחיל לקרוא "מתיישב )לכתוב(.
"לפספס" זמן המיתוג אכן קטן אך הוא קריטי, כי הראש עלולאת תחילת המסילה בגלל הסיבוב.
במקרה כזה, זמן המעבר בין משטחים באותו גליל הוא בדיוק .זמן סיבוב שלם
04/18/238
אפשרות שנייה:
לסדר את תחילת המסילות בגליל כך שלא יהיו בדיוק זו מעל זו, אלא נוסיף תזוזה
קבועה בין כל שתי מסילות עוקבות באותו .דירוג בין מסילותגליל, ונקרא לה
תחילת מסילה
1
2
3
תחילת סקטור ראשון
04/18/239
במקרה הזה, ובהנחה שהדירוג הוא "אופטימאלי" לא נצטרך להמתין זמן סיבוב שלם במעבר בין מסילות,
אלא רק זמן מעבר מינימאלי התלוי אך ורק בגודל הדירוג.
:דוגמא סקטורים.10נתון כי זמן סיבוב הוא , במסילה יש
משטחים כאשר נקודת 5כמה זמן לוקח לקרוא גליל בעל ההתחלה של כל שתי מסילות עוקבות מדורגת
בסקטור?
תשובה:זמן העברה: • זמן מעבר בין משטחים:•סה"כ: •
5 rotT
4 0.410
rotrot
TT
5.4 rotT
rotT
04/18/2310
הסבר:
סקטורים )כדי 4נניח כי בכל מסילה יש שהציור יהיה ברור(.
1
2
4
13 4
2
42 3
1
31 2
4
24 1
3
13 4
2
3
5
04/18/2311
אחרי קריאת המסילה הראשונה:•הראש של המסילה הראשונה יהיה מעל סוף •
(.1 )תחילת סקטור 4סקטור הראש של המסילה השנייה יהיה מעל סוף סקטור •
(.4 )תחילת סקטור 3ולכן מספיק לחכות זמן מעבר של סקטור אחד עד •
1שהראש הקורא יהיה מעל תחילת סקטור במסילה השנייה.
מעברים כאלה 4כנ"ל עבור כל שאר המעברים, יש •בין מסילות סמוכות, וכל מעבר דורש המתנה של
מעבר סקטור אחד. סקטורים במסילה.10הניתוח הנ"ל תקף גם עבור •
04/18/2312
זמן המעבר בין גלילים בקריאה סדרתית
נקודות ההתחלה של כל המסילות אפשרות אחת: באותו משטח הן על אותו רדיוס )אחת מול
השנייה(.
במקרה הפשוט בו אין דרוג בין מסילות עוקבות •בגליל-זמן מעבר בין גלילים שווה לכפולה השלמה
הקטנה ביותר של זמן סיבוב שעדיין גדולה מזמן תזוזת זרוע. )כאשר הקובץ מסודר על גלילים
עוקבים אז מתייחסים לתזוזת זרוע מינימאלית – ובדרך כלל זמן זה קטן מזמן סיבוב(.
04/18/2313
:דוגמאשני משטחים בכל גליל.•ארבעה סקטורים בכל מסילה.•דרוג סקטור בין מסילות עוקבות באותו גליל.•נקודות ההתחלה של כל המסילות באותו •
משטח הוא על אותו רדיוס.תזוזת זרוע מינימאלית שווה לזמן העברת •
סקטור.
04/18/2314
1
2 13 4
2 1
43
2
24 1
3 2
14
3
1
2 42 3
1 4
32
1
13 4
2 1
43
22גליל
1גליל
04/18/2315
הסבר:בסיום קריאת הגליל הראשון הראש הקורא •
, יחסית למשטח 2 ו- 1נמצא בין סקטורים הראשון בגליל השני. כלומר כדי שתחילת
תגיע אל 2 בגליל 1 במסילה 1סקטור מתחת לראש הקורא נצטרך לחכות מעבר
סקטורים 3של זמן זה כולל גם תזוזת זרוע וגם זמן השהיית •
סיבוב.
04/18/2316
אפשרות שנייה:
על מנת למזער את זמן המעבר בין גלילים, העוקבותניתן לסדר את תחילת המסילות
בגלילים עוקבים כך שתהיה ביניהם תזוזה דירוג בין קבועה של סקטורים. ונקרא לזה
גלילים.
04/18/2317
1שאלה נתון דיסק עם הנתונים הבאים:• גלילים100• משטחים בגליל30• סקטורים במסילה32•msec 16זמן סיבוב •
msec 16זמן תזוזת זרוע ממוצעת •
msec 2.1זמן תזוזת זרוע מינימלית •
msec 0.4השהיית המיתוג •
04/18/2318
מה צריך להיות הדירוג בין שתי מסילות . 1עוקבות באותו גליל ?
מה צריך להיות הדירוג בין שתי מסילות עוקבות . 2בגלילים עוקבים ?
בהנחה שהמסילות מדורגות, באיזה סקטור . 3-י ?n-ית בגליל ה-kתתחיל המסילה ה-
גלילים 50כמה זמן לוקחת קריאה סדרתית של . 4סמוכים ?
04/18/2319
תשובות:
זמן מעבר על סקטור הוא , מעבר .1בין שתי מסילות עוקבות קטן מזמן
סקטור מעבר על סקטור אחד, ולכן דירוג של אחד יספיק.
160.5 sec
32m
0.4 secm
04/18/2320
מה צריך להיות הדירוג בין שתי מסילות עוקבות . 1באותו גליל ?
מה צריך להיות הדירוג בין שתי מסילות . 2עוקבות בגלילים עוקבים ?
בהנחה שהמסילות מדורגות, באיזה סקטור . 3-י ?n-ית בגליל ה-kתתחיל המסילה ה-
גלילים 50כמה זמן לוקחת קריאה סדרתית של . 4סמוכים ?
04/18/2321
תשובות:
זמן מעבר על סקטור הוא , מעבר .1בין שתי מסילות עוקבות קטן מזמן
סקטור מעבר על סקטור אחד, ולכן דירוג של אחד יספיק.
זמן מעבר בין שני גלילים עוקבים הוא . 2 סקטורים וקטן 4זמן זה גדול ממעבר על
סקטורים, ולכן צריך דירוג 5מזמן מעבר על סקטורים.5של
160.5 sec
32m
0.4 secm
2.1 secm
04/18/2322
מה צריך להיות הדירוג בין שתי מסילות עוקבות . 1באותו גליל ?
מה צריך להיות הדירוג בין שתי מסילות עוקבות . 2בגלילים עוקבים ?
בהנחה שהמסילות מדורגות, באיזה סקטור . 3-י ?n-ית בגליל ה-kתתחיל המסילה ה-
גלילים 50כמה זמן לוקחת קריאה סדרתית של . 4סמוכים ?
04/18/2323
תשובות: דירוגים של סקטור 29 מסילות, לכן יש 30בכל גליל יש .3
סקטורים בין המסילה 5אחד בתוך כל גליל ודירוג של האחרונה בגליל למסילה הראשונה בגליל העוקב, לכן
דירוגים בין מסילה ראשונה בגליל 34סה"כ יש למסילה ראשונה בגליל עוקב.
אז 0מכאן אם מסילה ראשונה בגליל מתחילה בסקטור , 2=34-32מסילה ראשונה בגליל עוקב תתחיל בסקטור
תתחיל בסקטור nולכן מסילה ראשונה בגליל מספר (2*n )mod 32 וצריך להוסיף דירוג של ,k סקטורים כדי
-ית.kעבור המסילה ה-לחשב
mod 32( n + k*2 )ולכן סה"כ המסילה תתחיל בסקטור:
04/18/2324
מה צריך להיות הדירוג בין שתי מסילות עוקבות . 1באותו גליל ?
מה צריך להיות הדירוג בין שתי מסילות עוקבות . 2בגלילים עוקבים ?
בהנחה שהמסילות מדורגות, באיזה סקטור . 3-י ?n-ית בגליל ה-kתתחיל המסילה ה-
גלילים 50כמה זמן לוקחת קריאה סדרתית של . 4סמוכים ?
04/18/2325
תשובות:זמן הגעה לתחילת הקובץ:4.
גלילים:50זמן העברה של
זמן מעברי מסילות:
זמן מעברי גלילים:
סה"כ:
1616 24 sec
2 2rot
avg
TT m
50 30 50 30 16 24000 secrotT m
1650 29 50 29 725 sec
32 32rotT
m
1649 5 49 5 122.5 sec
32 32rotT
m
24 24000 725 122.5 24871.5 secm
04/18/2326
על קובץ הוא קריאה )כתיבה( מעבר אקראי•של כל הקובץ כאשר בכל רגע הכתובת של
הבלוק הבא לקריאה )לכתיבה( יכולה להיות כתובת כלשהי בקובץ.
על הקובץ, כאשר בכל זמן מעבר אקראי•גישה קוראים בלוק אחד הוא:
_ _
_ _ _ _ _
number of blocks
seek time rotation delay transfare time for block
04/18/2327
2שאלה נתון דיסק בעל הנתונים הבאים:••N גלילים משטחים בגליל10• סיבובים לשנייה vמהירות סיבוב •תזוזת הזרוע נתונה ע"י הנוסחא: •
5N
1rotT
v
21 1 , 1 2
50
dS d S d
04/18/2328
5כמה זמן תיקח קריאה אקראית של א.גלילים סמוכים, כאשר בכל גישה קוראים
מסילה שלמה ?
04/18/2329
תשובה א:
גלילים. 5 הוא זמן תזוזת ממוצעת בין Tכאשר גלילים אינו מספר גדול, לא ניתן 5בגלל ש-
כמספר הממוצע למרחק 5/3להשתמש ב-בגלילים בין שתי קריאות עוקבות.
ישירות ע"פ הטבלה הבאה Tנחשב את שמסכמת את כל המעברים האפשריים:
492 2rot rot
avg rot rot
T TT T T T
04/18/2330
המרחק בגלילים בין המקור ליעד(: d)תוכן הטבלה הוא
54321 גליל יעד
גליל מוצא
432101
321012
210123
101234
012345
04/18/2331
:כל האפשריות שוות הסתברות ולכן
15 0 8 1 6 2 4 3 2 4
25
1 2 2 3 2 4 25 0 8 1 6 2 4 2 2 2
25 50 50 50
1 4 4 1 88 12 8 4 32 1.2864 msec
25 50 50 25 50
T S S S S S
04/18/2332
5 של אקראיתכמה זמן תיקח קריאה א.גלילים סמוכים, כאשר בכל גישה קוראים
מסילה שלמה ?
0כעת הנח כי , זמן המיתוג ב.ומסילות מתחילות בדיוק זו מעל זו.
האם תוכל לתת ביטוי מדויק יותר ?
116 secrotT m
v
04/18/2333
תשובה ב:
בצורה מדויקת שתכלול Tכעת ניתן לחשב את גם את זמן המתנת סיבוב בנוסף לזמן תזוזת
זרוע. ולכן הנוסחא כעת תהיה:
בדומה לסעיף א, ע"י טבלה Tנחשב את שתכיל את כל המעברים האפשריים:
1649 16 49 16
2 2rot
avg rot rot avg
TT T T T T T
04/18/2334
: זמן תזוזת הזרוע בין המקור T)תוכן הטבלה הוא ליעד + זמן השהיית סיבוב(
54321 גליל יעד
גליל מוצא
1616161601
1616160162
1616016163
1601616164
0161616165
04/18/2335
נציב בנוסחא ונקבל כי הזמן הכולל הוא:
120 16 12.8msec
25T
1616 49 12.8 16 1435.2
2avg avgT T
ממועד א' אביב תשס"א1שאלה
שאלותדרג את הגלילים. עבור כל •
מסילה כתוב באיזה סקטור היא מתחילה.
כמה זמן תיקח קריאה של •סקטור אקראי?
כמה זמן יקח לקרוא קובץ •סדרתי שלוקח את כל הדיסק
כאשר הדיסק מדורג?כנ"ל כאשר הדיסק אינו מדורג•
נתון דיסק בעל הפרמטרים:
גלילים10• משטחים10בכל גליל • סקטורים15בכל מסילה •1msזמן מיתוג – •
גלילים: dזמן מעבר על •3+d(ms)
Trot=40זמן סיבוב – •
04/18/2336
. כאשר הדיסק אינו מדורג וכלXבהינתן מפתח סקטור מכיל מפתח, כמה זמן לוקח בממוצע
למצוא בהינתן שקיים Xאת הסקטור בעל המפתח
כזה?