ذخیره و بازیابی اطلاعات جلسه اول
فهرست جلسات
جلسه
اول: آشنايي با طراحي و مشخصات ساختار فايلها، عمليات مهم پردازش فايل، حافظه جانبي و
نرم افزار سيستم
جلسه دوم: ادامه مبحث حافظه جانبي و نرم افزار سيستم
جلسه سوم: ادامه مبحث حافظه جانبي و نرم افزار سيستم
جلسه
چهارم: مفاهيم اساسي ساختار فايل، مديريت فايلهايي از رکوردها
جلسه پنجم: ادامه مبحث مديريت فايلهايي از رکوردها
جلسه ششم: ادامه مبحث مديريت فايلهايي از رکوردها، سازماندهي فايلها براي کارايي
جلسه هفتم: ادامه مبحث سازماندهي فايلها براي کارايي، شاخص گذاري
جلسه هشتم: ادامه مبحث شاخص گذاري
جلسه نهم: ادامه مبحث شاخص گذاري، پردازش کمک ترتيبي و مرتب سازي فايل هاي بزرگ
جلسه دهم: ادامه مبحث پردازش کمک ترتيبي و مرتب سازي فايل هاي بزرگ
جلسه يازدهم: ادامه مبحث پردازش کمک ترتيبي و مرتب سازي فايلهاي بزرگ، شاخص بندي چند سطحي و درختهاي B
جلسه دوازدهم: ادامه مبحث شاخص بندي چند سطحي و درختهاي B
جلسه
سيزدهم: دستيابي به فايل هاي ترتيبي شاخص دار و درخت هاي B+
جلسه چهاردهم: ادامه مبحث دستيابي به فايل هاي ترتيبي شاخص دار و درخت هاي B+ ، درهم سازي
جلسه پانزدهم: ادامه مبحث درهم سازي
جلسه
شانزدهم: ادامه مبحث درهم سازي، درهم سازي قابل توسعه
جلسه اول
آشنايي با طراحي و مشخصات ساختار فايلها
ساختار
فايل ترکيبي از نحوه نمايش داده ها در فايل ها و عمليات لازم براي
دستيابي به داده ها است. ساختار فايل به برنامه کاربردي اين امکان را مي دهد که داده ها را
بخواند ،بنويسد و اصلاح کند.
طي سه دهه اخير با بررسي تکامل ساختارهاي فايل مشاهده
مي کنيم که طراحي ساختار فايل ابتدا از ترتيبي شروع شد ،سپس به ساختارهاي درختي
رسيد و سرانجام دستيابي مستقيم مطرح شد. در همه اين موارد مشکلات و ابزارهاي طراحي مشابهي مشاهده
شده است. اين ابزارها را ابزارهاي مفهومي مي نامند که روش هايي براي تنظيم و حل يک
مسئله طراحي اند.
يک مشکل اصلي در توصيف کلاس هايي که بتوان
براي طراحي ساختار فايل آنها را به کار برد ، آن است که اين کلاس ها پيچيده و در
حال رشد هستند. کلاس هاي جديد غالباً شکل اصلاح شده يا توسعه يافته اي از کلاس ها
ديگر بوده ،جزئيات ارائه داده ها و عمليات باز هم پيچيده تر مي شود.
در يک سيستم اطلاعاتي شيء گرا محتوا و رفتار
داده ها ، در يک طراحي منسجم مي شود. اشياي سيستم به کلاس هاي اشيايي با ويژگي هاي
مشترک تقسيم مي شوند. هر کلاس توسط اعضاي (members) خود توصيف مي شود که يا صفات
داده ها (عضوهاي داده اي) يا توابع (توابع عضو يا متدها) هستند.
مشکل اصلي در طراحي ساختار فايل زمان نسبتاً
زيادي است که براي گرفتن تطلاعات از ديسک مورد نياز است. در همه طراحي هاي
ساختار فايل آنچه مورد توجه است به حد اقل رساندن دفعات دستيابي به ديسک و به حد
اکثر رساندن احتمال وجود اطلاعات مورد نظر برنامه کاربردي در حافظه است.
عمليات مهم پردازش فايل
هنگامي که درباره فايلي روي يک ديسک يا نوار صحبت مي کنيم
،منظور ما مجموعه اي از بايت ها است که در آنجا ذخيره شده اند. فايل در اين معنا
داراي موجوديت فيزيکي است. يک ديسک ممکن است حاوي صدها و حتي هزاران فايل
فيزيکي باشد.
برنامه غالباً نمي داند بايت ها از کجا مي
آيند يا به کجا مي روند ، اين را مي داند که کدام خط را مورد استفاده قرار داده
است. اين خطوط را معمولاً فايل منطقي مي نامند تا از فايل فيزيکي
،که روي ديسک يا نوار قرار دارد متمايز گردد.
هنگامي
که شناسه (identifier) فايل منطقي با دستگاه يا فايل فيزيکي ارتباط پيدا کرد ،بايد
اعلام کنيم که مي خواهيم با فايل چه کنيم :
۱) باز کردن يک فايل موجود
۲) ايجاد يک فايل جديد و حذف محتويات
موجود در فايل
فيزيکي
هنگامي که برنامه اي به صورت عادي پايان مي يابد
فايل ها معمولاً به طور خودکار بسته مي شوند. در نتيجه اجراي يک دستور بستن در
داخل برنامه فقط براي محافظت آن در برابر اتلاف داده ها در صورت توقف برنامه و
آزاد کردن نام فايل هاي منطقي براي استفاده دوباره ضروري است.
خواندن و نوشتن در پردازش فايل اهميت بنيادي
دارند ،اينها اعمالي هستند که پردازش فايل را به يک عمل ورودي/خروجي تبديل مي
کنند.
براي دستيابي آسان به تعداد زياد از فايل ها
کامپيوتر روشي براي سازماندهي فايل ها دارد. در يونيکس اين روش سيستم فايل ناميده
مي شود. چون هر نام فايل در سيستم يونيکس بخشي از سيستم فايلي است که با ريشه آغاز
مي شود ،هر فايل را مي توان انحصاراً با دادن نام مسير آن شناسايي کرد.
يکي از پر قدرت ترين ايده ها در يونيکس
تعريفي است که از فايل مي شود. در يونيکس فايل مجموعه اي از بايت ها است و چگونگي
و محل ذخيره آنها هم مهم نيست. همچنين مهم نيست که اين بايت ها
از کجا مي آيند. اين نگرش معمولي به فايل موجب مي شو کاري را که در سيستم عامل هاي
ديگر به زحمت انجام مي شوند ، در اين سيستم عامل به راحتي انجام پذير باشد.
يونيکس فرمان هاي بسياري براي دستکاري فايل ها
دارد که عبارتند از :
cat, tail, cp, mv, rm, chmod, ls,
mkdir, rmdir
حافظه جانبي و نرم افزار سيستم
دستگاه هاي حافظه جانبي ،با حافظه تفاوت بسيار دارند. همان طور که پيش
از اين نيز متذکر شديم يک اختلاف از آنجا ناشي مي شود که در دستگاه هاي حافظه جانبي
زمان بيشتري براي دستيابي مورد نياز است. اختلاف ديگر آن است که همه دستيابي
ها يکسان نيستند.
ديسک
ها انواع مختلفي دارند :
۱) ديسک هاي سخت (hard disks)
۲) ديسک هاي فلاپي (floppy disks)
۳) کارتريج ديسک
۴) ديسک هاي نوري