بلاک بندی رکورد ها و تکنیک های آن (11)
بلاک بندی رکورد ها و تکنیک های آن (11)
دپارتمان آموزش کامپیوتر – کیش تک؛
بلاک بندی
- قرار دادن چندين ركورد در يک قالب بزرگتر، جهت عمليات خواندن و نوشتن بلاک بندی ناميده ميشود.
- بلاک كمترين دادهاي است كه در يک عمليات خواندن/نوشتن از/به ديسک منتقل ميشود.
- بين هر دو بلاک فضاي هرزي وجود دارد كه به آن (IBG (Inter Block Gap گفته ميشود.
- ظرفيت بلاک را با B نمايش ميدهيم.
-
ضريب بلاک بندی(Blocking factor):
به تعداد ركوردهاي موجود در بلاک، ضريب بلاک بندی گفته ميشود و با Bf نمايش داده ميشود.
نکته: از ديد برنامه پردازشگر(منطقي) فايل مجموعهاي از ركوردهاست ولي از نظر سيستم فايل(فيزيكي) فايل از تعدادي بلاک تشكيل شده است.
حالات مختلف ذخيرهسازي يک بلاک در ديسک
-
يک بلاک در دیسک میتواند به شكلهاي زير درنظر گرفته شود:
- يك شيار
- بخشي از يك شيار مشخص شده توسط نرم افزار (سكتور نرم افزاري)
- يک سكتور سختافزاري
- تركيبي از چند سكتور سختافزاري
چنانچه طول ركورد ثابت باشد، سيستم فايل يكبار طول ركورد را ذخيره كرده و از آن در تمام بلاكها استفاده ميكند. ولي چنانچه طول ركورد متغير باشد از تكنيكهاي زير استفاده ميشود.
تكنيكهاي تعيين محدودهي ركورد با طول متغير در يک بلاک
توجه: در اين روش، آدرس نسبي ركورد در بلاک نسبت به آغاز بلاک در جدول درج ميشود.
همچنين، تخصيص اشارهگر براي هر ركورد به صورت پويا انجام شده و از فضاي بلاک بهتر استفاده ميشود.
- در برخي سيستمها تركيبي از تكنيكهاي فوق نيز ممكن است ديده شود.
- براي مثال يک روش استفاده از جدول طول با استفاده از روشهاي «درج طول ركورد» و «جدول مكاننما» ميباشد.
- در اين روش درقسمت اشارهگر به ركورد، طول هر ركورد قرار داده ميشود.
- در اين روش براي ركوردهاي هم طول ميتوان در فضا صرفه جويي كرد!
تكنيک هاي بلاک بندی
- بلاک بندی ركوردها با طول ثابت و يكپاره
- بلاک بندی ركوردها با طول متغير و دوپاره
- بلاک بندی ركوردها با طول متغير و يكپاره
- در هريک از روشهاي فوق فضاي هرزي بوجود ميآيد كه هريک با ديگري متفاوت ميباشد.
- همچنين تعداد ركوردهايي كه در يک بلاک قرار ميگيرند متفاوت ميباشند.
- در ادامه فضاي هرز را با w نمايش خواهيم داد.
بلاک بندی ركورد ها با طول ثابت و يكپاره
توجه: در اين روش طول ركورد ثابت است.
B: طول بلاک
R: طول ركورد
-
در اين تكنيک سه نوع فضاي هرز بوجود ميآيد:
- W1: فضاي هرز مربوط به گپ بين بلاکها (W1=IBG)
- W2: فضاي هرز ناشي از نگنجيدن آخرين ركورد در يک بلاک (به علت ثابت بودن طول ركوردها) اين گپ ميتواند با انتخاب مناسب طول بلاک و طول ركورد صفر گردد 0<=W2<=R-1
- W3: فضاي هرز ناشي از نگنجيدن آخرين بلاک در شيار
فضاي هرز يک ركورد برابر است با فضاي هرز بلاک تقسيم بر تعداد ركورد در بلاک:
- حافظه هرز به ازاي هر بلاک برابر است با:
- چنانچه W3 نيز داشته باشيم آنگاه:
كه در آن Tf فاكتور شياربندي و برابر با تعداد بلاكها در شيار است.
- حال چنانچه W2 را برابر با مقدار ميانگينش قرار دهيم خواهيم داشت:
توجه: W2 در ركورد با طول ثابت به طور متوسط برابر با نصف طول ركورد است.
مثال:
يك سيستم فايل با تكنيک بلاک بندي ثابت و يكپاره در نظر بگيريد كه در آن فضاي هرز بين بلاک 25 بايت و متوسط فضاي هرز ناشي از نگنجيدن ركورد در بلاک 70 بايت باشد. چنانچه Tf=6 و فضاي هرز ناشي از نگنجيدن بلاک در شيار 540 بايت باشد، فضاي هرز به ازاي هر بلاک را بيابيد(WB).
W1 =G=25
W2 =R/2=70
W3 = 540
WB = 25+70+(540/6)=285 Byte
بلاک بندی ركورد ها با طول متغير و دوپاره
تفاوت اين روش با روش قبلي در اين است كه درصورتيكه يک ركورد نتواند در بلاک به صورت يكپاره ذخيره شود؛ ميتوان آن را به دو قسمت تقسيم كرد. در شكل فوق R2 تماما در بلاک اول جا نگرفته و بنابراين به صورت دوپاره در بلاک اول و دوم ذخيره ميشود.
- فاكتور بلاک بندی در اين روش برابر است با:
كه در آن P سايز فيلد مربوط به طول ركوردها ميباشد كه همسايز با فيلد اشارهگر در انتهاي بلاک است.
- ميزان حافظه هرز به ازاي هر بلاک برابر است با:
مثال:
بلاک بندی ركوردها با طول متغير و يكپاره
در اين روش دوپاره كردن ركوردها مجاز نميباشد. در شكل فوق فضاي هرزي بنام w4 به علت اينكه R3 دوپاره نشده است بوجود خواهد آمد.
مثال:
جهت ثبت نام در دوره های کامپیوتر ما اینجا کلیک کنید.
مزايا و معايب سه تكنيک بلاک بندی
1. تكنيک اول به سادگي پيادهسازي ميشود و مديريت آن سادهتر است.
2. اما اين روش انعطافپذيري كمتري دارد و در صورت تغيير طول ركورد چارهاي جز ايجاد مجدد كل فايل نيست.
نكته: تغيير طول ركورد در مدت حيات فايل يكي از جنبههاي رشد فايل است. همچنين افزايش تعداد نمونههاي ركورد باعث افزايش اندازه فايل ميشود.
3. تكنيک دوم و سوم نسبت به روش اول انعطاف پذيرترند ولي پيادهسازي آنها پيچيدهتر است.
4. در مقايسه دو روش دوم و سوم، روش دوم داراي نرمافزار پيچيدهتري است زيرا نياز به مديريت اشارهگرها دارد.
5. در مقايسه تكنيكهاي دوم و سوم، تكنيك دوم از نظر حافظه مرقون به صرفهتر است.
6. در تكنيک سوم حداكثر طول ركورد به طول بلاک بستگي دارد.(در روش دوم اين محدوديت وجود ندارد)
در اين روش به علت وجود حافظه هرز طول خطي فايل بيشتر ميشود در نتيجه خواندن كل فايل زمان بيشتري را ميگيرد.
در تكنيك دوم اين زمان به علت دوپاره بودن ركوردها و نبودن اين فضاي هرز كمتر است.
7. در تكنيک دوم خواندن ركورد دوپاره زمان بيشتري نياز دارد، زيرا سيستم بايد دو بلاک را بخواند.
در واقع چنانچه اندازه بافر به اندازه يک بلاک باشد، واكشي ركورد دوپاره به دوبار عمل خواندن و نوشتن نياز دارد.
مزایا و معایب بلاک بندی