Presentation is loading. Please wait.

Presentation is loading. Please wait.

Remember Remember The 5 th of November. תרגול 2 קובץ סדרתי.

Similar presentations


Presentation on theme: "Remember Remember The 5 th of November. תרגול 2 קובץ סדרתי."— Presentation transcript:

1 Remember Remember The 5 th of November

2 תרגול 2 קובץ סדרתי

3 6/28/20153 קובץ סדרתי – קובץ שהפעולות העיקריות עליו הן קריאת או כתיבת הקובץ מתחילתו ועד סופו. שאלה : כיצד לאחסן את הקובץ כך שזמן המעבר עליו ( קריאה או כתיבה ) יהיה קטן ככל האפשר.

4 6/28/20154 תשובה : זמן הקריאה ( כתיבה ) מורכב משלושה גורמים, זמן תזוזת זרוע + זמן השהיית סיבוב + זמן ההעברה – זמן ההעברה הוא זמן שאינו תלוי בצורה בה הקובץ מסודר על הדיסק, זה תלוי רק בגודל הקובץ, ( או בגודל המידע שקוראים ). – לעומת זאת זמן השהיית סיבוב וזמן תזוזת זרוע כן תלויים באופן בו מסודר הקובץ, ולכן נרצה שתזוזת הזרוע תהיה מינימאלית. ניתן לקבל זאת ע " י כתיבת הקובץ על גלילים סמוכים באופן סדרתי ובכל גליל על מסילות עוקבות גם כן באופן סדרתי.

5 6/28/20155 קריאה ( כתיבה ) סדרתית : זמן קריאה ( כתיבה ) סדרתית של קובץ מתחילתו ועד סופו. זמן קריאה ( כתיבה ) סדרתית של קובץ המסודר בגלילים סמוכים מורכב מהגורמים : 1. זמן הגעה לתחילת הקובץ. 2. זמן ההעברה של הקובץ. 3. זמן המעבר בין מסילות עוקבות באותו גליל. 4. זמן המעבר בין גלילים עוקבים.

6 6/28/20156 זמן המעבר בין משטחים באותו גליל אפשרות אחת : לסדר את תחילת המסילות בגליל בדיוק זו מעל זו. תחילת מסילה 1 2 3

7 6/28/20157 נניח שסיימנו לקרוא ( לכתוב ) את המסילה הראשונה בגליל ורוצים להתחיל לקרוא את המסילה הבאה, שנמצאת במשטח הסמוך ( מסילה שתיים ). במצב הזה הראשים נמצאים בדיוק מעל סוף ( התחלת ) המסילות, וצריך רק להעביר פיקוד לראש הקורא של המשטח הבא, על מנת שיתחיל לקרוא ( לכתוב ). זמן המיתוג : הזמן שלוקח עד שהראש במשטח הבא " מתיישב מעל המסילה " ויכול להתחיל לקרוא ( לכתוב ). זמן המיתוג אכן קטן אך הוא קריטי, כי הראש עלול " לפספס " את תחילת המסילה בגלל הסיבוב. במקרה כזה, זמן המעבר בין משטחים באותו גליל הוא בדיוק זמן סיבוב שלם.

8 6/28/20158 אפשרות שנייה : לסדר את תחילת המסילות בגליל כך שלא יהיו בדיוק זו מעל זו, אלא נוסיף תזוזה קבועה בין כל שתי מסילות עוקבות באותו גליל, ונקרא לה דירוג בין מסילות. תחילת מסילה 1 2 3 תחילת סקטור ראשון

9 6/28/20159 במקרה הזה, ובהנחה שהדירוג הוא " אופטימאלי " לא נצטרך להמתין זמן סיבוב שלם במעבר בין מסילות, אלא רק זמן מעבר מינימאלי התלוי אך ורק בגודל הדירוג. דוגמא : נתון כי זמן סיבוב הוא, במסילה יש 10 סקטורים. כמה זמן לוקח לקרוא גליל בעל 5 משטחים כאשר נקודת ההתחלה של כל שתי מסילות עוקבות מדורגת בסקטור ? תשובה : זמן העברה : זמן מעבר בין משטחים : סה " כ :

10 6/28/201510 הסבר : נניח כי בכל מסילה יש 4 סקטורים ( כדי שהציור יהיה ברור ). 1 2 4 1 3 4 2 4 2 3 1 3 1 2 4 2 4 1 3 1 3 4 2 3 5

11 6/28/201511 אחרי קריאת המסילה הראשונה : הראש של המסילה הראשונה יהיה מעל סוף סקטור 4 ( תחילת סקטור 1). הראש של המסילה השנייה יהיה מעל סוף סקטור 3 ( תחילת סקטור 4). ולכן מספיק לחכות זמן מעבר של סקטור אחד עד שהראש הקורא יהיה מעל תחילת סקטור 1 במסילה השנייה. כנ " ל עבור כל שאר המעברים, יש 4 מעברים כאלה בין מסילות סמוכות, וכל מעבר דורש המתנה של מעבר סקטור אחד. הניתוח הנ " ל תקף גם עבור 10 סקטורים במסילה.

12 6/28/201512 זמן המעבר בין גלילים בקריאה סדרתית אפשרות אחת : נקודות ההתחלה של כל המסילות באותו משטח הן על אותו רדיוס ( אחת מול השנייה ). במקרה הפשוט בו אין דרוג בין מסילות עוקבות בגליל - זמן מעבר בין גלילים שווה לכפולה השלמה הקטנה ביותר של זמן סיבוב שעדיין גדולה מזמן תזוזת זרוע. ( כאשר הקובץ מסודר על גלילים עוקבים אז מתייחסים לתזוזת זרוע מינימאלית – ובדרך כלל זמן זה קטן מזמן סיבוב ).

13 6/28/201513 דוגמא : שני משטחים בכל גליל. ארבעה סקטורים בכל מסילה. דרוג סקטור בין מסילות עוקבות באותו גליל. נקודות ההתחלה של כל המסילות באותו משטח הוא על אותו רדיוס. תזוזת זרוע מינימאלית שווה לזמן העברת סקטור.

14 6/28/201514 1 2 1 3 4 2 1 4 3 2 2 4 1 3 2 1 4 3 1 2 4 2 3 1 4 3 2 1 1 3 4 2 1 4 3 2 גליל 2 גליל 1

15 6/28/201515 הסבר : בסיום קריאת הגליל הראשון הראש הקורא נמצא בין סקטורים 1 ו - 2, יחסית למשטח הראשון בגליל השני. כלומר כדי שתחילת סקטור 1 במסילה 1 בגליל 2 תגיע אל מתחת לראש הקורא נצטרך לחכות מעבר של 3 סקטורים זמן זה כולל גם תזוזת זרוע וגם זמן השהיית סיבוב.

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

17 6/28/201517 שאלה 1 נתון דיסק עם הנתונים הבאים : 100 גלילים 30 משטחים בגליל 32 סקטורים במסילה זמן סיבוב 16 msec זמן תזוזת זרוע ממוצעת 16 msec זמן תזוזת זרוע מינימלית 2.1 msec השהיית המיתוג 0.4 msec

18 6/28/201518 1. מה צריך להיות הדירוג בין שתי מסילות עוקבות באותו גליל ? 2. מה צריך להיות הדירוג בין שתי מסילות עוקבות בגלילים עוקבים ? 3. בהנחה שהמסילות מדורגות, באיזה סקטור תתחיל המסילה ה -k- ית בגליל ה -n- י ? 4. כמה זמן לוקחת קריאה סדרתית של 50 גלילים סמוכים ?

19 6/28/201519 תשובות : 1. זמן מעבר על סקטור הוא, מעבר בין שתי מסילות עוקבות קטן מזמן מעבר על סקטור אחד, ולכן דירוג של סקטור אחד יספיק.

20 6/28/201520 1. מה צריך להיות הדירוג בין שתי מסילות עוקבות באותו גליל ? 2. מה צריך להיות הדירוג בין שתי מסילות עוקבות בגלילים עוקבים ? 3. בהנחה שהמסילות מדורגות, באיזה סקטור תתחיל המסילה ה -k- ית בגליל ה -n- י ? 4. כמה זמן לוקחת קריאה סדרתית של 50 גלילים סמוכים ?

21 6/28/201521 תשובות : 1. זמן מעבר על סקטור הוא, מעבר בין שתי מסילות עוקבות קטן מזמן מעבר על סקטור אחד, ולכן דירוג של סקטור אחד יספיק. 2. זמן מעבר בין שני גלילים עוקבים הוא זמן זה גדול ממעבר על 4 סקטורים וקטן מזמן מעבר על 5 סקטורים, ולכן צריך דירוג של 5 סקטורים.

22 6/28/201522 1. מה צריך להיות הדירוג בין שתי מסילות עוקבות באותו גליל ? 2. מה צריך להיות הדירוג בין שתי מסילות עוקבות בגלילים עוקבים ? 3. בהנחה שהמסילות מדורגות, באיזה סקטור תתחיל המסילה ה -k- ית בגליל ה -n- י ? 4. כמה זמן לוקחת קריאה סדרתית של 50 גלילים סמוכים ?

23 6/28/201523 תשובות : 3. בכל גליל יש 30 מסילות, לכן יש 29 דירוגים של סקטור אחד בתוך כל גליל ודירוג של 5 סקטורים בין המסילה האחרונה בגליל למסילה הראשונה בגליל העוקב, לכן סה " כ יש 34 דירוגים בין מסילה ראשונה בגליל למסילה ראשונה בגליל עוקב. מכאן אם מסילה ראשונה בגליל מתחילה בסקטור 0 אז מסילה ראשונה בגליל עוקב תתחיל בסקטור 34-32=2, ולכן מסילה ראשונה בגליל מספר n תתחיל בסקטור (2*n) mod 32, וצריך להוסיף דירוג של k סקטורים כדי לחשב עבור המסילה ה -k- ית. ולכן סה " כ המסילה תתחיל בסקטור : (2*n + k) mod 32

24 6/28/201524 1. מה צריך להיות הדירוג בין שתי מסילות עוקבות באותו גליל ? 2. מה צריך להיות הדירוג בין שתי מסילות עוקבות בגלילים עוקבים ? 3. בהנחה שהמסילות מדורגות, באיזה סקטור תתחיל המסילה ה -k- ית בגליל ה -n- י ? 4. כמה זמן לוקחת קריאה סדרתית של 50 גלילים סמוכים ?

25 6/28/201525 תשובות : 4. זמן הגעה לתחילת הקובץ : זמן העברה של 50 גלילים : זמן מעברי מסילות : זמן מעברי גלילים : סה " כ :

26 6/28/201526 מעבר אקראי על קובץ הוא קריאה ( כתיבה ) של כל הקובץ כאשר בכל רגע הכתובת של הבלוק הבא לקריאה ( לכתיבה ) יכולה להיות כתובת כלשהי בקובץ. זמן מעבר אקראי על הקובץ, כאשר בכל גישה קוראים בלוק אחד הוא :

27 6/28/201527 שאלה 2 נתון דיסק בעל הנתונים הבאים : N גלילים 10 משטחים בגליל מהירות סיבוב v סיבובים לשנייה תזוזת הזרוע נתונה ע " י הנוסחא :

28 6/28/201528 א. כמה זמן תיקח קריאה אקראית של 5 גלילים סמוכים, כאשר בכל גישה קוראים מסילה שלמה ?

29 6/28/201529 תשובה א : כאשר T הוא זמן תזוזת ממוצעת בין 5 גלילים. בגלל ש - 5 גלילים אינו מספר גדול, לא ניתן להשתמש ב - 5/3 כמספר הממוצע למרחק בגלילים בין שתי קריאות עוקבות. נחשב את T ישירות ע " פ הטבלה הבאה שמסכמת את כל המעברים האפשריים :

30 6/28/201530 ( תוכן הטבלה הוא d : המרחק בגלילים בין המקור ליעד ) גליל יעד גליל מוצא 12345 101234 210123 321012 432101 543210

31 6/28/201531 כל האפשריות שוות הסתברות ולכן :

32 6/28/201532 א. כמה זמן תיקח קריאה אקראית של 5 גלילים סמוכים, כאשר בכל גישה קוראים מסילה שלמה ? ב. כעת הנח כי, זמן המיתוג 0 ומסילות מתחילות בדיוק זו מעל זו. האם תוכל לתת ביטוי מדויק יותר ?

33 6/28/201533 תשובה ב : כעת ניתן לחשב את T בצורה מדויקת שתכלול גם את זמן המתנת סיבוב בנוסף לזמן תזוזת זרוע. ולכן הנוסחא כעת תהיה : נחשב את T בדומה לסעיף א, ע " י טבלה שתכיל את כל המעברים האפשריים :

34 6/28/201534 ( תוכן הטבלה הוא T: זמן תזוזת הזרוע בין המקור ליעד + זמן השהיית סיבוב ) גליל יעד גליל מוצא 12345 1016 2 0 3 0 4 0 5 0

35 6/28/201535 נציב בנוסחא ונקבל כי הזמן הכולל הוא :

36 שאלה 1 ממועד א ' אביב תשס " א שאלות דרג את הגלילים. עבור כל מסילה כתוב באיזה סקטור היא מתחילה. כמה זמן תיקח קריאה של סקטור אקראי ? כמה זמן יקח לקרוא קובץ סדרתי שלוקח את כל הדיסק כאשר הדיסק מדורג ? כנ " ל כאשר הדיסק אינו מדורג נתון דיסק בעל הפרמטרים : 10 גלילים בכל גליל 10 משטחים בכל מסילה 15 סקטורים זמן מיתוג – 1ms זמן מעבר על d גלילים : 3+d(ms) זמן סיבוב – Trot=40 6/28/201536 בהינתן מפתח X. כאשר הדיסק אינו מדורג וכל סקטור מכיל מפתח, כמה זמן לוקח בממוצע למצוא את הסקטור בעל המפתח X בהינתן שקיים כזה ?


Download ppt "Remember Remember The 5 th of November. תרגול 2 קובץ סדרתי."

Similar presentations


Ads by Google