File Organization

16
A. Frank File Organization Aspects of Size Parameters

description

File Organization. Aspects of Size Parameters. Blocking Aspects. גיווש רשומות באורך קבוע – אין בעיה. גיווש רשומות באורך משתנה – אין בעיה לגווש אבל יש בעיה לפתוח גיווש! בפתיחת גיווש איך יודעים איפה הגבולות בין הרשומות המשתנות?. How to block variable records?. - PowerPoint PPT Presentation

Transcript of File Organization

Page 1: File Organization

A. Frank

File Organization

Aspects of

Size Parameters

Page 2: File Organization

A. Frank

2

Blocking Aspects

גיווש רשומות באורך קבוע – אין בעיה.•גיווש רשומות באורך משתנה – •

אין בעיה לגווש אבל יש בעיה לפתוח גיווש!–בפתיחת גיווש איך יודעים איפה הגבולות בין –

הרשומות המשתנות?

Page 3: File Organization

A. Frank

3

How to block variable records?אז איך לגווש רשומות באורך משתנה? •

שיטות אפשריות: בסוף הרשומה. EOR)הוספת תו מיוחד )1.הוספת שדה אורך/מצביע רשומה )לפני 2.

הרשומה(. מערך בגודל קבוע בתחילת כל גוש מכיל 3.

כניסה )אורך/מצביע( עבור כל רשומה בגוש.

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

)אורך/מצביע( עבור כל רשומה בגוש.

Page 4: File Organization

A. Frank

4

1 .EOR Character

0REOR

EOR0R 1R 2R

EOR …

חסרונות:•.1EOR אינו יכול להופיע ברשומה )חייב להיות תו בקרה

ייחודי(..EORחייבים לסרוק את כל תווי הרשומה כדי לאתר את 2..-תiאין גישה 'ישירה' לרשומה ה-3.Blockגוש

יתרונות:•שיטה פשוטה וחסכונית.1.אין הגבלה על אורך הרשומה.2.

( לסימון גבולות בין Delimiterשימוש בתו הפרדה )•רשומות.

בגודל בית. EOR נניח•

Page 5: File Organization

A. Frank

5

2 .Length/Pointer Field

0RP 0RP0R 0R1R 2RP …

חסרונות:•.-תiאין גישה 'ישירה' לרשומה ה-1.(.Pיש הגבלה על אורך הרשומה )לפי גודל 2.

Blockגוש

יתרונות:•שיטה פשוטה יחסית.1.אין הגבלה על התווים ברשומה.2.אין צורך לסרוק את כל תווי הרשומה.3.

לסימון גבולות בין Pשימוש בשדה אורך/מצביע •רשומות.

בתים(.4בגודל מען ) P נניח•

Page 6: File Organization

A. Frank

6

3 .Array of length/pointer fields

P 0RP 0R 0R1R 2RP …

חסרונות:•(.Pיש הגבלה על אורך הרשומה )לפי גודל 1.מערך המצביעים הוא בגודל קבוע:2.

אולי אין מספיק כניסות אם הרשומות קצרות.•אולי יש יותר מדי כניסות אם הרשומות ארוכות.•

Blockגוש P

יתרונות:•.2כמו בשיטה 1..-תiיש גישה "ישירה" לרשומה ה-2.

לסימון • מצביע שדות של קבוע בגודל במערך שימושרשומות.

Page 7: File Organization

A. Frank

7

4 .Dynamic array of pointer fields

P0R 1R 2R P…

חסרונות:•(.Pיש הגבלה על אורך הרשומה )לפי גודל 1.ניהול מורכב יותר.2.

Blockגוש P

R P

יתרונות:•בשיטה 1. .3כמו.2 , עוד להוסיף אפשר באמצע מקום מספיק יש עוד כל

רשומה.

שימוש במערך בגודל משתנה של שדות מצביע •לסימון רשומות.

Page 8: File Organization

A. Frank

8

XP

Records (Un)Spanning

: Unspanned Recordsרשומות ללא מתיחה • זה מקום Xמכיל רשומות שלמות ) הגוש

מבוזבז(.

:Spanned Recordsרשומות עם מתיחה •בין מספר רשומה מסוימת פיצול של יתכן

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

יקר, קושי בעדכון(.

P

1R

0R P

3R

2R P X

P P

1R

0R P

3R

2R P X2R P

PP

P

Page 9: File Organization

A. Frank

9

Blocking Aspects

מה היחס בין רשומה לגוש/מגזר?•אם אז לרוב משתמשים בגיווש –

בלי/עם מתיחה. אז חייבים למתוח בלי/עם גיווש. אם –

BR

BR

PP X

PP 1RP

0R

0R0R

0R

Page 10: File Organization

A. Frank

10

Reasons for waste in track בזבוז במסילה הוא שטח שאינו מנוצל•

.לנתונים, מה שמהווה תקורה(overhead )

אפשר לקחת בחשבון בזבוז הנגרם בגלל: • (ISG)מרווחים –שיטת הגיווש –מגזרים לא בשימוש–אי ניצול סוף המסילה –

)( nstnsbnbt ))(( TRKISGSnst

)( RBfrB

Page 11: File Organization

A. Frank

11

Various Blocking Methods

Page 12: File Organization

A. Frank

12

Waste

•Waste - W - בזבוז בבתים לרשומה )הבזבוז הוא שטח לא מנוצל המהווה

לרשומה(. תקורה• W :מורכב רק משני גורמים בזבוז לרשומה בגלל מרווח בין גושים: - •

בזבוז לרשומה בגלל גיווש )כשאין - • מתיחה(:

GW

Bfr

IBGrWG

BfrRWΒ 2~ RWBfr

Bfr

RW BB 00

BW

BG WWW

Page 13: File Organization

A. Frank

13

Blocking factor and Waste computations

בשביל רשומות באורך קבוע, כאשר אין מתיחה:•

בשביל רשומות באורך משתנה, כאשר אין מתיחה• מחוון בשביל הרשומה פלוס חלק של אורך חצי רשומה W)ב-

ומרווח(:

בשביל רשומות באורך משתנה, כאשר יש מתיחה• מחוון בשביל הרשומה פלוס חלק של מצביע לגוש הבא W)ב-

ומרווח(:

R

BBfr

Bfr

IBGRPW

2

1

PR

RB

PR

BBfr

2

1

PR

PBBfr

Bfr

IBGPPW

Bfr

IBGRBfrBW

)(

Page 14: File Organization

A. Frank

14

Block(ing)/Record Aspects

יש כאן מספר משתנים אפשריים בבניית •קובץ:

(.V( או משתנה )Fגודל גוש קבוע )1.

(.U( או אי-גיווש )Bגיווש )2.

( או אי-מתיחה )' '(.Sמתיחה )3.

גודל רשומה קבוע או משתנה.4.לדוגמה:•

.1FB.גושים קבועים, גיווש, אי-מתיחה –

.2VBS.גושים משתנים, גיווש, מתיחה –

Page 15: File Organization

A. Frank

15

Should B be Fixed or Variable? גישות עיקריות:2, יש Bלגבי קביעת גודל •

.1B קבוע – גישה UNIX:ית-ניסיון לקבוע גודל גוש אופטימלי. 1.שיטה פשוטה, גודל המכלא קבוע וכו'.2. K/2K) גדלים 2 יש UNIXבעצם ב-3.

2K/4K ,4K/8K נקבע לפי המחיצה – )המתאימה שבה נמצא הקובץ.

•B משתנה – גישה IBM:ית-יש הרבה צרכים/משימות – שהמתכנת יקבע. •שיטה מורכבת, גודל המכלא משתנה וכו'.•

Page 16: File Organization

A. Frank

16

Single Unit instead of Block/Sector? סדרי גודל: גם מגזר וגם גוש?2למה צריך •( באיזשהו גודל אופטימלי תספיק?Unitאולי יחידה )•לא! מתברר שיש אילוצים לכאן ולכאן:•

אילוצים להגדלת היחידה אילוצים להקטנת היחידה

שיבוש ביחידהבזבוז בסוף המסילהגודל המכלא בזיכרון

גישה למעט נתונים ביחדעדיף לגודל קבוע

עלות פעולת ק/פ יחידהמספר מרווחים במסילה

גודל טבלת יחידות לקובץגישה להרבה נתונים ביחד

עדיף לגודל משתנהיעיל יותר לגווש?