Click here to download (Persian)

Download Report

Transcript Click here to download (Persian)

In the Name of God
Lecture 8
‫بازيابي فضاي رکوردها در يک فايل‬
(Reclaiming Record space in files)
(Section 6.2)
File Structure
Dr. M. Rahgozar
‫بازيابي فضاي رکوردها در يک فايل‬
‫‪ ‬ايجاد يک رکورد در فايل چگونه انجام ميشود؟‬
‫‪ ‬چگونه يک رکورد از فايل حذف ميگردد؟‬
‫‪ ‬فضاي رکورد حذف شده چگونه بازيابي ميشود؟‬
‫‪ ‬چه استراتژيهايي براي بازيابي فضاي فايل وجود دارد؟‬
‫‪ ‬انواع ناپيوستگي (‪ )fragmentation‬در داخل يک فايل کدامند؟‬
‫‪Dr. M. Rahgozar‬‬
‫‪8-2‬‬
‫‪File Structure‬‬
‫بازيابي فضاي رکوردها در يک فايل‬
‫(‪)Reclaiming Record space in a file‬‬
‫ايجاد يک رکورد در فايل چگونه انجام ميشود؟‬
‫چگونه يک رکورد از فايل حذف ميگردد؟‬
‫‪ ‬توابع ّاوليه فايل سيستم ) ‪ open, write, read‬و ‪ ( seek‬به ما اجازه ايجاد فايل‪،‬‬
‫(فيزيکي؟)‬
‫ايجاد رکورد يا تغيير محتواي آن را مي دهند‪.‬‬
‫‪ ‬ولي براي حذف رکوردها (‪ )delete‬در يک فايل تابعي نداريم!‬
‫(فيزيکي؟)‬
‫‪ ‬نميتوانيم قسمتي از فضاي رزرو شده يک فايل را به سيستم برگردانيم!‬
‫‪Dr. M. Rahgozar‬‬
‫‪8-3‬‬
‫‪File Structure‬‬
‫بازيابي فضاي رکوردها در يک فايل‬
‫چگونه يک رکورد از فايل حذف ميگردد؟‬
‫فضاي رکورد حذف شده چگونه بازيابي ميشود؟‬
‫‪ ‬مسؤليت حذف رکورد در فايل و استفاده مجدد از فضاي خالي شده بر عهده کاربر‬
‫( ‪) user program‬‬
‫ميباشد‪.‬‬
‫‪ ‬براي حذف رکورد بطور منطقي (‪ )Logical‬ميتوان از روش عالمت گذاري (‪)Marking‬‬
‫استفاده نمود‪ .‬مثال در کاراکتر اول رکورد عالمت '*' قرار داد‪.‬‬
‫‪ ‬استفاده مجدد از فضاي رکورد هاي عالمت گذاري شده برعهده خود کاربر خواهد بود‪.‬‬
‫‪ ‬اگر تعداد رکوردهاي حذف شده زياد باشد بايستي برنامه مخصوص ديگري نيز عمل‬
‫بازسازي فضاي فايل را برعهده بگيرد‪)Storage Compaction( .‬‬
‫‪Dr. M. Rahgozar‬‬
‫‪8-4‬‬
‫‪File Structure‬‬
‫بازيابي فضاي رکوردها در يک فايل‬
‫يک روش بازيابي رکوردهاي با طول ثابت چيست؟‬
‫‪ ‬روش تشکيل يک ليست از رکورد هاي حذف شده (‪.)Avail list‬‬
‫‪ ‬فضاهاي آزاد شده با يک ‪ Linked list‬به يکديگر مرتبط ميگردد‪.‬‬
‫‪ ‬در آغاز فايل يک رکورد به نام ‪ Header Record‬الزم ميباشد‪.‬‬
‫‪ ‬از شماره ‪ RRN‬رکوردها اسنفاده ميشود‪.‬‬
‫‪ ‬انتهاي ليست با شماره ‘‪ ’-1‬مشخص ميگردد‪.‬‬
‫‪List Head -> 4‬‬
‫‪Sethi‬‬
‫‪*2‬‬
‫‪5‬‬
‫‪Dr. M. Rahgozar‬‬
‫‪Smith‬‬
‫‪4‬‬
‫‪*-1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪8-5‬‬
‫‪Williams‬‬
‫‪1‬‬
‫‪Edwards‬‬
‫‪0‬‬
‫‪File Structure‬‬
‫>‪RNN -‬‬
‫بازيابي فضاي رکوردها در يک فايل‬
‫يک روش بازيابي رکوردهاي با طول متغير چيست؟‬
‫‪ ‬روش تشکيل يک ليست از رکورد هاي حذف شده (‪.)Avail list‬‬
‫‪ ‬ولي با در نظر گرفتن طول متغيرفضاهاي آزاد شده‪.‬‬
‫‪ ‬از شماره ‪ RRN‬رکوردها نمي توان استفاده نمود‪.‬‬
‫‪ ‬بايستي از آدرس بايتي رکوردها )‪ (Byte offset‬استفاده کرد‪.‬‬
‫‪ ‬در ضمن در هر رکورد آزاد شده بايستي طول آن به بعنوان يک فيلد حفظ شود‪.‬‬
‫‪List Head -> 34‬‬
‫‪34‬‬
‫‪16‬‬
‫‪33‬‬
‫‪15‬‬
‫)‪*16(30‬‬
‫)‪Smith (M‬‬
‫)‪*-1 (10‬‬
‫)‪Wa (F‬‬
‫)‪Edwards (M‬‬
‫‪30‬‬
‫‪8‬‬
‫‪10‬‬
‫‪5‬‬
‫‪10‬‬
‫‪Dr. M. Rahgozar‬‬
‫‪8-6‬‬
‫‪File Structure‬‬
‫بازيابي فضاي رکوردها در يک فايل‬
‫چه استراتژيهايي براي بازيابي فضاهاي آزاد (‪ )Avail list‬وجود دارد؟‬
‫)‪(Placement Strategies‬‬
‫‪ (1‬روش ‪:First-fit‬‬
‫‪ ‬هنگام ثبت يک رکورد جديد‪ّ ،‬اولين فضايي که طول آن کافي باشد انتخاب مي شود‪.‬‬
‫(چرا؟)‬
‫‪ ‬در اينصورت‪ ،‬نيازي به مرتب سازي ‪ Avail list‬نمي باشد‪.‬‬
‫‪ (2‬روش ‪:Best-fit‬‬
‫‪ ‬هنگام ثبت يک رکورد جديد‪ ،‬کوچکترين فضايي که طول آن کافي باشد انتخاب مي شود‪.‬‬
‫(چرا؟)‬
‫‪ ‬در اينصورت بايستي ‪ Avail list‬به طور صعودي مرتب شده باشد‪.‬‬
‫‪ (3‬روش ‪:Worst-fit‬‬
‫‪ ‬هنگام ثبت يک رکورد جديد‪ ،‬بزرگترين فضاي آزاد موجود انتخاب مي شود‪.‬‬
‫(چرا؟)‬
‫‪ ‬در اينصورت بايستي ‪ Avail list‬به طور نزولي مرتب شده باشد‪.‬‬
‫(چرا؟)‬
‫‪ ‬فضاي باقيمانده احتمالي نيز مجددا به ‪ Avail list‬اضافه مي شود‪.‬‬
‫(مزايا و معايب؟)‬
‫‪Dr. M. Rahgozar‬‬
‫‪8-7‬‬
‫‪File Structure‬‬
‫بازيابي فضاي رکوردها در يک فايل‬
‫انواع ناپيوستگي (‪ )fragmentation‬در داخل يک فايل کدامند؟‬
‫‪ ‬فضاهاي کوچک موجود در ‪ Avail list‬که قابل استفاده مجدد نمي باشد‪)External( .‬‬
‫‪ ‬فضاهاي به هدر رفته در داخل خود رکوردها‪)Internal( .‬‬
‫چه روشهايي براي کم کردن ناپيوستگيهای ‪ External‬وجود دارد؟‬
‫‪ ‬دو فضای آزاد شده مجاورهم را مي توان به هم پيوند زد‪)Coalescing the holes( .‬‬
‫‪ ‬استفاده از روشهاي ‪ Placement‬متناسب با شرايط هر فايل‪.‬‬
‫در چه شرايطي روش ‪ worst-fit‬مي تواند بهتراز ‪ Best-fit‬باشد؟‬
‫‪Dr. M. Rahgozar‬‬
‫‪8-8‬‬
‫‪File Structure‬‬