جلسه اول
فصل1
حافظه:
١) حافظه اصلی ٢) حافظه جانبی
حافظه اصلی: به طور مستقیم با CPUدر ارتباط است بنابراین باید یک شناخت کافی و مناسب از شیوه ی کار و معماری آن داشته باشیم.
حافظه جانبی: از طریق یک واسطه با CPUدر ارتباط است و در نتیجه CPUشناختی از حافظه جانبی ندارد.
واسطه ها دو نوع اند:
1) بافر 2) کنترلر
حافظه اصلی نیز می تواند از طریق یک واسطه به نام Code با CPU در ارتباط باشد.
انواع حافظه:
1) کاغذ: رسانای که می تواند انعطاف پذیری داشته باشد.و ما می توانیم اطلاعات را روی آن نگاه داریم،اولین ماده تولید کاغذ پوست حیوانات بود.همچنین قیمت مناسب داشت.
2) کارت پانچ: این کارت پانچ ها قابلیت خواندن 80ستون را داشته در واقع برای فهماندن کاراکترها ،بر کامپیوتر با ایجاد سوراخ های متفاوت در هر ستون یک کاراکتر را نمایش می دادند.
عیب های عمده کارت های پانچ: حجیم بودن آنها Sortکردن آن ها مشکل بود.
3 ) فیلم: فسفر می تواند با تابش نور از خود اشعه ساطع کند برای ساختن فیلم فسفر را خورد می کنند سپس تبدیل به پودر می کنند و در ادامه با استفاده از تکنولوژی های از آن فیلم درست می کنند.
4 ) نوار مغناطیسی: در جهت رفع 3روش قبل نوار های مغناطیسی پیشنهاد شد که از مغناطیس استفاده
می کرد.ما در واقع با اعمال مکانیکی قادر خواهیم بود این نوار ها را بخوانیم که یک موتور این نوار را می چرخاند ولی هد نوار ثابت است.از طرفی نوار ها می توانند اطلاعات را به صورت سری یا موازی ذخیره سازی کنند و هد نیز عمل خواندن و نوشتن این نوار را انجام دهد.
5 ) دیسک های مغناطیسی: به دایره های متحدالمرکز روی سطح دیسک یک شیار می گویند که شیار ها هم هر کدام دارای شماره هستند.
به شیار های هم شماره های که روی یک دیگر قرار دارند و تشکیل استوانه را می دهند یک سیلندر می گوییم.
6 ) دیسکهای نوری: در CD از طریق کنده کاری بر روی سطح دیسک و خواندن این حفره های موجود اطلاعات به صورت 0و 1 خوانده می شوند همچنین عمل خواندن به وسیله نور صورت می گیرد. و برای بازتاب نور از آیینه استفاده می شود.
در ابتدا ادعا میکردند CD ها 75 سال عمر می کنند. در صورتی که این ادعا ادعایی درستی نبود و در صورت داشتن خش از بین می روند. همچنین CD ها خاصیت Worm دارند.
(Write Only Read More)
*نکته*کلاستر مجموعه ای از چند سکتور را به عنوان یک کلاستر در نظر می گیرند.
نحوه محاسبه زمان خواندن یک سکتور:
1)Seek Time زمان پیگرد،زمان جستجو،زمان استوانه جویی
از زمانی که ما دستور می دهیم تا زمانی که هد خواندن و نوشتن بر روی سیلندر محتوی اطلاعات ما میرسد که به این زمان میگوییم زمان seek time
2) Rotational Timeزمان درنگ دورانی
پس از پیدا کردن سیلندر مناسب از زمانی که هد روی شیار حرکت می کند تا به سر اطلاعات مناسب برسد را زمان درنگ دورانی می گوییم.
3) Transfer Time زمان انتقال
مقدار زمانی که طول میکشه تا اطلاعات ما به حافظه اصلی انتقال داده شود را زمان انتقال می گوییم.
*نکته* Landing zone در این قسمت بعد از فعال شدن دیسک هد را از محل اطلاعات خارج نموده ود مکانی به اسم Landing zone قرار میگیرد که به این عمل Park می گوییم.
استفاده از آریه ای از حافظه های جانبی:
ما میتوانیم حافظه های جانبی را به صورت آرایه ای داشته باشیم هدف از آرایه ای کردن و در واقع مزیت این کار عبارت اند از:1)افزایش سرعت انتقال 2)امنیت بالا
ما 3نوع داده بر اساس میزان استفاده داریم.
1)داده های کم مصرف که به ندرت سراغشان میرویم.
2)داده های متعارف
3)داده های پر مصرف که بسیار مورد استفاده هستند.
*نکته*سیستم ها دستور العمل بعدی را بر اساس چه معیاری انتخاب کنند.که به 2دسته تقسم شوند.
Control flow بر اساس همجواری فیزیکی است.
Data Flow بر اساس چه تعداد داده محیا شده تصممیم گیری میکند.
Cpu Centeral در مرکز قرار میگیرد و همه با آن در ارتباط اند
Memory Centeral
Bus Centeral در اینجا هسته اصلی بر روی Bus است و در واقع نوع محوریت با یکی از این 3نوع انتخاب میشود.
جلسه دوم
فصل 2
ملاک های ارزیابی:
زمانی که ما اطلاعات را بر روی حافظه جانبی ذخیره سازی می کنیم باید یک سری مشخصه های اصلی را مد نظر قرار دهیم.شاخص های که جهت ارزیابی به کار میروند عبارت اند از:
1)ظرفیت
2)بازیابی
ظرفیت:منظور از ظرفیت این است که اطلاعات ما چه حجمی را در بر خواهد گرفت.
حجمی که رکورد های ما میگیرند ناشی از چه چیزی است؟
این حجم ناشی از اطلاعات ما هستند.که خود به سه دسته تقسیم می شوند:
1)Positional
که در این قسمت ما میتوانیم اطلاعات را با ساختار و قالب مشخصی ذخیره سازی کنیم.به عنوان مثال اطلاعات مربوط به یک کارمند در یک سازمان که میتواند به شکل زیر باشد:
نام،نام خانوادگی،کد پرسنلی....
که به هر کدام از این اطلاعات یک فیلد و به مجموعه ای از فیلد ها رکورد می گویم.بنابراین بدین جهت است که برای این نوع اطلاعات نام Positional را برمی گزینیم.
2)Non Positional
در این حالت اگر طبیعت مسئله طوری باشدکه نتوان همه مقادیر آن را پر کرد به این دسته Non Positional
گفته می شود.به عنوان مثال در پروژه های نظر سنجی و پرسش گری میبینیم که با وجود هر آیتم ممکن است ارزش مربوط به ان آیتم موجود نباشد،یا اینکه کامل نباشد.
3)In Formational
این دسته از اطلاعات از نوع Text هستند و هدف آن ها این است که فقط بتوانند معنا و مفهمو را برسانند.
*نکته* حالت Positional به دو دسته تقسیم میشود.
الف)واقعی: که کاربر با آن سروکار دارد.
ب)کنترلی: که برای کنترل اطلاعات وارد شده است و در واقع ما در این جا دسته ای از اطلاعات را ایجاد میکنیم تا بتوانیم به واسطه آن ها به اطلاعاتی درست و یقین دست یابیم.
حافظه هرز یا Pert چیست؟
در حالت کلی آن قسمت خالی از حافظه که قابل استفاده برایدیگزان نیست را حافظه هرز می گوییم همیشه یکی از اهداف کاهش دادن و منیمم کردن حافظه هرز می باشد.
بازیابی:80%عملیات ساختمان داده ها مربوط به این قسکت است که شیوه خارج شدن یک رکورد از بین رکوردهای دیگر را مشخص می کند. ما یک سری ملاک های زمانی مهم در ذخیره و بازیابی اطلاعات داریم که برخی از آن ها به شرح زیر است.
1)زمان بازیابی
2)زمان رسیدن به رکورد بعدی: که دو نوع است: 1) Phisicalفیزیکی 2)Logicalمنطقی
3)زمان درج: مجموعه ای از اطلاعات که باید در محل مناسب قرار بگیرد.
4)زمان حذف: نحوه انجام حذف یکی از مشکلات بزرگ ماست چون ممکن است با خارج کردن یک داده سازمان دهی اطلاعات ما بهم بخورد.
5)زمان بروز رسانی: ممکن است شاخص های از رکورد ما تغییر پیدا کند.
6)زمان سازمان دهی مجدد: اگر سازمان د هی اطلاعات ما بهم بخورد چقدر طول میکشد تا دوباره سازمان دهی شود.
ما همواره به دنبال منیمم کردن زمان های فوق می باشیم.
جلسه سوم
فصل 2
بلاک:
وقتی ما به کامپوتر دستور می دهیم که یک رکورد خاصی را بخواند کامپیوتر چند رکورد قبل و چند رکورد بعد از آن را برای ما می آورد که به آن یک بلاک می گوییم.به عبارت بهتر یک بلاک مقدار بزرگتری از یک رکورد است.
تعریف فاکتور بلاک بندی: به تعداد رکوردهای داخل یک بلاک فاکتور بلاک بندی یا ضریب بلاک بندی می گوییم.
اندازه بلاک / طول رکوردBf=
*نکته*اگر Bf عدد صحیح نشد آنگاه ما حد پایین آن را در نظر خواهیم گرفت.
با چه تکنیک های میتوانیم محدوده رکوردها را در یک بلاک مشخص کنیم؟
با 3روش میتوانیم این کار راانجام دهیم:
روش اول: قرار دادنیک نشانگر با یک کاراکتر خاص در ابتدای رکورد
روش دوم: قرار دادن طول رکورد درفیلدهای ابتدای آن رکورد مربوطه
روش سوم: درست کردن یک جدول مکان نما
از مزایای بلاک بندی میتوان به کاهش زمان اجرای برنامه هایمان اشاره کرد.
تعریف باکت:
به مجموعه ای از تعدادی بلاک ها یمان که می تواند به عنوان یک واحد خواندن انتخاب شوند یک باکت می گوییم.
تعریف Locality: ( همسایگی فیزیکی رکوردها)
Locality هنگامی در فایل وجود دارد که رکوردهای دست یابی شده از نظر فیزیکی مجاور هم باشند پر واضح است که هر چه Locality بیشتر آنگاه کارایی ما بیشتر خواهد بود.
بافر:
بافر ناحیه ای است که حداقل یک ناحیه خوانده شده از دیسک در آن جایی داده می شود و یا از آن بلاک روی دیسک نوشته می شود.
به طور کلی بافر برای ایجاد هماهنگی بین سرعت عملیات Cpu و دستگاه های جانبی به کار برده می شود.
نکته معمولا جهت انجام عمملیات ورودی خروجی روی فایل از دو بافر ورودی و خروجی استفاده می شود.
*نکته* بافر یک تکه از حافظه ما است که می توان توسط آن تعداد دستیابی به حافظه ثانویه را کاهش داد و این مهمترین مزیت یک بافر است.
تعریف Buffer Pool: (منطقه بافری،استخر بافری)
به مجموعه ای از تعدادی بافر که سیستم برای عملیات ورودی خروجی در نظر میگیرد و ناحیه ای پیوسته در حافظه تشکیل می دهد منطقه بافری گفته می شود.
*نکته* هنگامی که قرار است یک بلاک خاصی از داده های مورد نظرمان خوانده شوند در ابتدا چک می شود که آیا این بلاک که مورد نظر ماست قبلا در یکی از بافرها بوده یا نه؟! اگر باشد که از آن استفاده می کنیم اما اگر موجود نباشد یکی از بافرهای موجود در استخر بافری که در حال حاضر بیکار است انتخاب می شود و مورد استفاده ما قرار می گیرد.اینکه کدام بافر انتخاب شود از روش ها و تکنیک های مختلفی برخوردار است.
چگونه منطقه بافری ایجاد کنیم؟
برای این کار می توانیم از 3تکنیک کمک بگیریم:
روش اول:با ایجاد کردن یم ناحیه توسط کاربر
روش دوم: در واقع با ایجاد یک ماکرو از سیستم عامل درخواست ایجاد نمودن منطقه بافری می شود.
روش سوم: هنگامی که فایل باز می شود خود سیتم عامل اقدام به ایجاد این منطقه بافری می کند.
می بینیم که روش دوم سیستم عامل این کار را به شکل غیر اتوماتیک و روش سوم را به شکل اتوماتیک انجام می دهد.
چگونگی دستیابی به محتوای بافر:
1) Move Modeروش مرسوم به اسلوب انتقالی
2) Locate Mode روش مرسوم به مکان نمایی
برنامه پردازشگر فایل به دو روش فوق به محتوای بافر می تواند دسترسی پیدا کند.
در روش اسلوب انتقالی رکورد ما از بافر ورودی به ناحیه کاری برنامه انتقال داده می شود و یا بلاعکس از ناحیه کاری به بافر خروجی انتقال پیدا می کند اما در روش اسلوب مکان نمایی در واقع سیستم مکان حاوی رکورد مورد نظر را به برنامه پردازشگر نشان می دهد.مثلا می تواند این کار را بکنداز طریق گذاشتن آدرس آن در یک ثبات(ریجستر)
بافر از دیدگاه محل تعبیه آن:
ما 2نوع بافر داریم:
1) بافر سخت افزاری
2) بافر نرم افزاری
در واقع بافر سخت افزاری در کنترل گر رسانه ها ذخیره سازی مورد استفاده است مثلPrinter که به عنوان یک رسانه کند شناخته می شود.این گونه بافرها ظرفیت کمی دارند و به زودی پر می شوند اما بافر نرم افزاری یک ناحیه ای از حافظه است که طبق دستور سیستم عامل و یا الگوریتم های مدیریت حافظه در اختیار برنامه ها گذاشته می شود.
انواع بافرینگ:
1) بافرینگ ساده:
همانطوری که از نام بافرینگ ساده پیداست در این نوع ما فقط از یک بافر استفاده می کنیم پس واضح است که در این حالت زمان انتظارCpuبیشتر خواهد بود.
2) بافرینگ مضاعف:
در این حالت از 2بافر استفده می شود و درواقع در حین خواندن یک بلاک و انتقال آن به یک بافر مامی توانیم محتوای بافر دیگری را که پر شده است را پردازش کنیم.
3)بافرینگ جند گانه:
در این حالت نیز سیستم فایل رکوردها رااز قبل خوانده و سپس آن ها را در بافر جای می دهد .یعنی در واقع در هر لحظه رکورد بعدی ما در بافر موجود است.پس می بینیم که برای این کار سیستم چند بافر را به کار می گیرد.
*نکته*هرچه تعداد بافرها بیشتر باشد زمان بیشتر ینیز جهت مدریت آن ها لازم خواهد بود.
خالی کردن بافر:
مدیریت بافر می تواند پس از استفاده از یک بلاک در بافر یعنی در واقع پس از دادن رکورد به برنامه کاربر اشغال شده را آزاد کند.اما در اکثر مواقع مدیریت بافر این کار را نمی کند چون ممکن است برنامه پردازشگر رکوردهای دیگر موجود در بلاک را احتیاج داشته باشد.بنابراین می بینیم که اگر محتوای بافر را خالی کند دوباره باید با انجام عملیات و ورودی خروجی آن رکورد مورد نظر را به بافر بیاورد.پس می بینیم که نگه داشتن محتوای بلاک در بافر مقرون به صرفه تر است.
جلسه چهارم
فصل3
ارزیابی رسانه ها:
ما در این قسمت می خواهیم دو رسانه را ارزیابی کنیم:
1) نوار 2) دیسک
یک عامل تاثیر گذار که نقش کاهنده در میزان استفاده واقعی از ظرفیت نوار دارد گپ می باشد.
فرمول ظرفیت اسمی A+B=
فرمول ظرفیت واقعی B/B+G*100
*نکته* می دانیم که هر چقدر اندازه یک بلاک کمتر باشد آنگاه به میزان بافر کمتری نیازمندیم.
از طرف دیگر ما نباید اندازه بافر را زیاد کوچک کنیم.
چرا؟
به دلیل اینکه فضای هرز بیشتری خواهیم داشت.
*نکته*هرچه Bf(ضریب بلاک بندی )بیشتر باشد آنگاه واضح است که میزان استفاده وواقعی ما از نوار بیشتر خواهد بود.
نحوه خواندن نوار به دو شکل است:
1) روش بلاکی 2)روش جریانی
1)روش بلاکی: که در این حالت نوار یک بلاک را می خواند.
2)روش جریانی: که در این حالت نوار n بلاک را می خواند.
2)دیسک:
نرخ انتقال واقعی:
نرخ انتقال واقعی روی دیسک به عوامل تاثیر گذاری به شرح زیر بستگی دارد.
1) نحوه دستیابی به دیسک
2) زمان پردازش برای یک بلاک
3) نحوه پردازش رکورد
4) نوع بافرینگ....
ما دراینجا روش اول را مورد بحث قرار می دهیم.
دستیابی مستقیم به یک بلاک:
زمانی که سیسنم ما آدرس آن بلاکی را که رکورد مورد نظرمان در آن قرار دارد را داشته باشد خواهد توانست به صورت مستقیم آ« را بخواند که زمان این خواندن برابر است با:
زمان خواندن مستقیم یک بلاک S+r+btt
همچنین خواهیم داشت:
نرخ انتقال S+r+btt B/
چگونه ما میتوانیم زمان پردازش یک فایل را حساب کنیم؟؟؟؟؟
ما دو نوع پردازش داریم :
1)پردازش رکوردی 2)پردازش بلاکی
در پردازش رکوردی در واقع یک رکورد مورد پردازش قرار می گیرد .اما در پردازش بلاکی، یک بلاک که خود حاوی چندین رکورد است مورد پردازش قرار خواهد گرفت.
تکنیک های بهبود کارایی برای سیستم فایل:
همانگونه که می دانیم وجود یک سیستم بافرینگ خوب نقش بسیار تاثیر گذاری در بهبود کارایی سیستم فایل ما خواهد داشت.علاوه بر وجود مدیریت بافرینگ خوب ما تکنیک های داریم که موجب سرعت بخشیدن به عملیات ما روی فایل میشود در واقع این تکنیک ها روی 2زمان کار میکند.که عبارت اند از :
1)زمان درنگ دورانی
2)زمان استوانه جویی
که ما در این 2زمان سعی داریم بهبودی را حاصل کنیم.
1)تکنیک های جهت کاهش زمان درنگ دورانی:
1)در همچینی بلاکها
ما می توانیم در این تکنیک بلاک هایمان را به صورت فاصله دار از هم بچینیم . این تکنیک زمانی کاربرد دارد که به علت داشتن محدودیت دو بافر نداریم بلکه یک بافر داریم همانگونه که از شکل شماره 1 می بینید
شکل1
شکل2
در صورتی که بلاک 1خوانده شود.ابتدای بلاک 2از دست میرود که ما برای رفع این عیب شکل 2را پیشنهاد دادیم که به این تکنیک،تکنیک درهم چینی بلاک ها می گوییم.
2) تغیر مکان نقطه آغاز شیارها:
در حالت معمولی نقطه اغازین شیارها روی دیسک از یک جاست مطابق شکل )ما میتوانیم با استفاده از این تکنیک اغازین هر شیار را متناسب با یک زاویه خاص به صورت متغیر روی سطح دیسک قرار دهیم
نقطه اغازین شیار
3)پراکنده خوانی:
این تکنیک زمانی کاربرد دارد که ماهیت پردازش فایل به گونه ای باشد که ترتیب خاصی در خواندن نداشته باشیم که اگر ترتیب خاصی وجود نداشته باشد ما میتوانیم از این تکنیک استفاده کرده و بلاک را به صورت پراکنده بچینیم.
تکنیک های موجود برای کاهش زمان استوانه جویی:
1)استفاده از بازوی ثابت: در این تکنیک به ازای هر شیار یک هد خواند و نوشتن به بازم متصل است و ما توانسته ایم زمان Seek Timeرا به صفر برسانیم.
2)پخش فایل روی چند دیسک: در این قسمت ما فایلمان را روی استوانه های هم شماره از چند دیسک قرار می دهیم.
3)استفاده از الگوریتم های کنترلی حرکت بازو: در این تکنیک هر چند ما به Locality رکوردها توجه کنیم با استفاده از یک سری الگوریتم های خاص بهبود بیشتر ی در پاسخ به برنامه ها داشته باشیم.
4) اعمال ملاحضاتی خاص در جایگذاری رکوردها: در این تکنیک جایگذاری رکوردها بر اساس تعداد دستیابی به انها انجام می شود.که در این حالتها رکوردهای با دستیابی بیشتری را در استوانه هایی میانی در رکوردهایی با دستیابی کمتر را در استوانه های بیرونی جای خواهیم داد.
جلسه پنجم
فصل4
ساختارهای معنایی فایل:
دوهدف اصلی که ما در هر سیستم فایل دنبال می کنیم عبارت اند از:
1) سرعت عملیات ذخیره یا بازیابی اطلاعات
2) صرفه جویی کردن در حافظه مصرفی
با توجه به اینکه هر سیستم فایل از سیستم فایل دیگر دارای تفاوت های می باشد.بنابراین پر واضح است که نحوه ذخیره و بازیابی اطلاعات نیز در هر سیستم متفاوت خواهد بود.
ما در این فصل 3بخش را صحبت خواهیم کرد:
بخش اول: ضوابط ارزیابی کارایی
بخش دوم: ساختار پایل
بخش سوم: ساختار ترتیبی
که بخش دوم و سوم هر دو از ساختارهای مبنایی می باشند.
بخش اول: ضوابط ارزیابی کارایی:
ما 6نوع عمل را که در سیستم فایل انجام می شود را برسی می کنیم:
1) واکشی یک رکورد
2) باز یابی رکورد بعدی
3) اضافه کردن یک رکورد جدید
4) تغیرات در یک رکورد
5) خواندن کل فایل
6) سازمان دهی مجدد
؟
عملیات تغیردهنده محیط فیزیکی ذخیره سازی شامل چه مواردی است؟
4مورد را شامل می شود که عبارت اند از:
1) عملیات بهنگام سازی
2) عملیات درج
3) عملیات سازمان دهی مجدد
4) عملیات حذف
*نکته*عملیات حذف یک رکورد در واقع حالت خاصی از عملیات بهنگام سازی است.
1) متوسط اندازه یک رکورد:
؟
در محاسبه متوسط اندازه یک رکورد به چه چیزی باید توجه کنیم؟
علاوه بر بخش داده ای باید به بخش غیر داده ای هم توجه شود.
؟
چه عوامل دیگری در محاسبه متوسط اندازه یک رکورد دخیل هستند؟
عوامل زیر تاثیر گذار می باشند:
1) متراکم یا غیر متراکم بودن یک فایل
2) پدیده افزونگی و هم چنین بخش داده ای و غیر داده ای یک رکورد
فایل متراکم به فایلی گفته میشود که تمام فیلدهای موجود در رکوردهایش مشخص باشند و فایل غیر متراکم به فایلی گفته می شود که برخی از مقادیر فیلدهای آن در بعضی از رکوردهای خالی باشد.
*نکته*واضح است در صورتی که ما یک فایل غیر متراکم داشته باشیم حتما مقداری از حافظه هرز خواهد رفت و بدین معناست که در واقع ما داده گمشده یا داده ناموجود داریم
افزونگی به چه معناست؟
اگر فایلی مقادیر فیلدهایش بیش از یک بار ذخیره سازی شده باشدآنگاه گویییم فایل دارای پدیده افزونگی می باشد.
خود افزونگی به دو شکل وجود دارد؟
1) افزونگی طبیعی
2) افزونگی تکنیکی
مثال برای افزونگی طبیعی مثلا در فایل دانشجویان یک دانشگاه نام یک شهر باررها تکرار شده است مثلا کلمه تهران8000بار تکرار شده است.
؟
با این اوضاع چگونه میتوانیم افزونگی طبیعی را کاهش دهیم؟
ما می توانیم به وسیله تکنیک های فشرده سازی این کار را انجام دهیم.
برخی از مهمترین تکنیک های فشرده سازی به شرح زیر می باشد:
1) برش از اغاز
در این تکنیک آن دسته از کاراکترهای که در آغاز به صورت پی در پی قرار دارند حذف شده و سپس عددی که نمایانگر تعداد کاراکترهای حذف شده می باشد در ابتدا قرار خواهد گرفت
2) برش ازانتها:
مثل قبلی است با این تفاوت که روی انتها کار میکند
3) انتخاب یک کد کاراکتر کوتاهتر:
4)استفاده از کد هافمن
در واقع این تکنیک از کد کاراکتر باطول متغیر استفاده می کند.بدین مفهموم که کوتاهترین کد ما به مقداری اختصاص می یابد که تعداد تکرار آن در داده های بیشتر است.
5) تکنیک های ماتریس بیتی:
زمانی تکنیک ماتریس بیتی برای ما مورد استفاده است که
1) فیلد تکرار شونده داشته باشیم.
2) مقدار آن فیلد از مجموعه ای محدود باشد.
به عنوان مثال شکل های موجود در صفحه177کتاب
افزونگی تکنیکی چیست؟
گاهی اوقات به خاطر رسیدن به یک روش دستیابی کاراکتر به فایل مجبور می شویم بعضی از فیلدها را تکرار میکنیم. به عنوان مثال در روش شاخص بندی پدیده افزونگی تکنیکی اتفاق می افتد شکل صفحه179 کتاب
جلسه ششم
فصل 4،5
شرح اصول عملیات شش گانه:
الف) واکشی یک رکورد:
ما برای دستیابی به بلاک حاوی یک رکورد مورد نظر 2راه داریم.
راه اول: دستیابی به صورت ترتیبی
راه دوم: دستیابی به صورت تصادفی
در حالت دستیابی ترتیبی ما باید بلاک ها را پشت سر هم بخوانیم تا به بلاک حاوی رکورد مورد نظر برسیم.
اما در حالت دستیابی تصادفی جست جوی خود را بر اساس کلید اصلی یا کلید ثانویه انجام می دهیم.
(کلید اصلی مثل نام)
جست و جوی خطی را تعریف کنید؟
اگر ما یک فایلی به صورت غیر مرتب داشته باشیم سیستم باید از ابتدای فایل به طور متوسط نصف بلاک های فایل را بخواند که به این کار جست وجویی خطی می گوییم
پنج روش برای واکشی یک رکورد وجود دارد:
روش اول: درخواست ساده به عنوان مثال ما شماره دانشجویی یک فرد را میدهیم و سپس اطلاعات آن را بدست می اوریم.
روش دوم: درخواست محاسباتی به عنوان مثال محاسبه مجموع واحدهای پاس شده یک دانشجو
روش سوم: درخواست طیفی به عنوان مثال غیر از شماره دانشجویی نام های خاصی جست و جو شود.
روش چهارم:درخواست بولی به عنوان مثال از AndوORاستفاده می شود.
روش پنجم:درخواست مرکب:همان AndوOR است ولی این بار روی چند فیلد مار می کند
ب) بازتابی رکورد بعدی:
موقعیت رکورد بعدی ما نسبت به رکورد فعلی می تواند سه حالت داشته باشد.
حالت اول: رکورد بعدی همجوار رکورد فعلی است.
حالت دوم : رکورد فعلی به رکورد بعدی ما لینک دارد.
حالت سوم: هیچ ارتباطی بین رکورد فعلی ورکورد بعدی وجود نداشته باشد.
ج) بهنگام سازی از طریق درج:
در این قسمت ما باید رکورد مورد نظرمان را وارد یک بلاک کنیم برای این کار 2 حالت پیش می آید.
حالت اول:رکورد ما باید حتما در یک بلاک خاصی قرار بگیرد که به این اصطلاحا نقطه منطقی درج می گوییم.
حالت دوم: جای خاصی برای رکورد مورد نظر ما در نظر گرفته نشده و در این حالت رکوردمان به انتهای فایل اضافه میشودکه می گوییم رکورد در انتهای فایل الحاق شده است.
د)بهنگام سازی از طریق تغیر محتوا:
در واقع این عمل به معنایی تغییر در مقدار یک یا چند فیلد در یک رکورد است.در این نوع بهنگام سازی دو حالت پیش می آید اگر رکورد تغیر یافته دوباره در همان مکان قبلی قرار بگیرد به اصطلاح گوییم بهنگام سازی در جاست و اگر در مکان جدیدی قرار بگیرد میگوییم بهنگام سازی برون از جاست.
*نکته*بهنگام سازی منتشر شونده چیست؟اگر در فایلمان افزونگی داشته باشیم آنگاه در همه نقاطی که فیلدها ذخیره شده است باید عمل بهنگام سازی انجام شودکه به آن بهنگام سازی منتشر شونده می گوییم.
ر) خواندن فایل:
دو نوع خواندن داریم:
1) خواندن به صورت پی در پی: بدین معنا که از ابتدای فایلمان بلاک به بلاک می خوانیم تا به انتهای فایلمان برسیم .
2) خواندن به صورت سریال:بدین مفهوم که خواندن ما بر اساس نظم صعودی مقادیر کمی از فیلدها است(مثلا کلید)
و) سازمان دهی مجدد:
ما در اثر تغیراتی که در فایلمان ایجاد میکنیم ممکن است مارای فایلمان کم شود که نیاز داریم فاییلمان را سازمان دهی مجدد کنیم.
*نکته* به سه دلیل ممکن ایت کارایی فایلمان کم شود:
1) بوجود آمدن فضایی هرز
2) وضعیت نامطلوب دستیابی
3) از بین رفتن نظم در فایل
*نکته* سه دلیل عمده باری سازمان دهی مجدد وجود دارد:
1) پس گرفتن فضای هرز
2)اصلاح کردن شیوه دستیابی
3) بوجود امدن نظم در فایل