به نام خدا

کنکور کاردانی به کارشناسی نا پیوسته


  جزوه ی ذخیره و بازیابی اطلاعات

این جزوه خلاصه ای از مطالبی می باشد که از اینترنت تهیه شده و در اختیار شما قرار گرفته است امیدوارم مورد رضایت شما قرار بگیرد.


 

ذخیره و بازیابی اطلاعات

              مراجع :

          *  مقدمه ای بر سیستم و ساختار فایل ها -  سید محمد تقی روحانی رانکوهی  - انتشارات جلوه

          *  ذخیره و بازیابی اطلاعات - مقسمی - انتشارات گسترش علوم

          *  ذخیره و بازیابی اطلاعات -  جعفر نژاد قمی

-------------------------------------------------------------------------------------------------

ماشین :              

محیط درون ماشین : کامپیوتر و عناصر داخلی آن ( حافظه اصلی )

محیط برون ماشین : تجهیزات جانبی         peripheral Devices     

 حافظه های جانبی :  Storag Device -    Storag Media

مباحث مورد بحث در ذخیره و بازیابی :

  • سخت افزار ذخیره و بازیابی ( چگونگی ذخیره سازی اطلاعات )
  • روش های ذخیره و بازیابی اطلاعات به /از  رسانه ذخیره سازی ساختار فایل و سازماندهی داده ها روی دستگاه ذخیره سازی ثانویه و دستیابی به آنها

حافظه ( Memory )  : هر وسیله که توانایی ذخیره سازی ( نگهداری ) اطلاعات را داشته باشد و در هر لحظه بتوان به آن اطلاعات دسترسی داشته باشیم.

تقسیم بندی حافظه : 1- درون ماشین            ماندگار ( غیر فرار )    خواندنی

                         2- برون ماشین            غیر ماندگار (فرار )     خواندنی - نوشتنی

خصوصیات حافظه :

نوشتن و خواندن ( درج اطلاعات -  واکش اطلاعات  Fetch )

نشانه پذیری -  آدرس دهی

قابلیت دستیابی ( Access ) : دستیابی ممکن است به منظور خواندن از یا نوشتن در حافظه باشد.

زمان دستیابی : زمان لازم بین لحظه ای که دستور خواندن - نوشتن صادر می شود تا آغاز عملیات ( Access Time )

نرخ انتقال یا سرعت انتقال : B/S  ( Transfer rate ) مقدار اطلاعاتی که در واحد زمان از حافظه قابل انتقال است.

 

 

 

دلایل به کار گیری حافظه جانبی :  

- محدودیت ظرفیت حافظه های درونی                                                   - عدم نیاز به تمامی اطلاعات در یک لحظه

- گران بودن حافظه های اصلی                                                             - برنامه ها اغلب به حافظه ای بیش از حافظه درونی نیازمندند

- حجم ذخیره سازی زیاد اطلاعات که مرتب به صورت تصاعدی در حال افزایش است.

- غیر پایدار بودن حافظه های اصلی                                                      - اشتراک گذاری اطلاعات روی دیسک

 

الگوریتم طراحی سیستم ذخیره سازی : در هر لحظه چه اطلاعاتی به چه مدتی در چه سطحی از سلسله مراتب نگهداری شود چگونه اطلاعات بین این سطوح انتقال یابند.

* انواع حافظه های جانبی از لحاظ تکنولوژی ساخت :

الکترومکانیکی : کارت و نوار منگنه شدنی

الکترومغناطیسی : نوار مغناطیسی - دیسک و درام ( Drum )

الکترواپتیک : دیسک نوری

مغناطیس نوری :MD (Magnetic - Optic)  

نوار مغناطیسی :

 

* رسانه ای برای پردازش ترتیبی :

ریل به ریل      ،      نوار کاتریج       ،       نوار کاست        ،         نوار صوتی

نحوه ذخیره سازی اطلاعات بر روی نوار :             * 7 شیاره                       * 9 شیاره

بیت خطا :         * عرضی ( به ازاء هر کارکتر)                 * طولی به ازاء هر بلاک

چگالی ( density ) : تعداد بیت های ذخیره شده در هر اینچ از نوار ( bpi )

گپ ( Gap ) : حافظه ی بلا استفاده بین دو گروه از بلاک ها ( برای ایستادن نوک هد و حرکت دوباره آن )

سرعت حس : برای آن که هد بتواند اطلاعات روی نوار را بخواند باید به سرعت مناسبی برسد.

 

 

                         ،                                         = سرعت متوسط                                                              

فاکتورهای نوار مغناطیسی :

1- پارامترهای زمانی : ( سرعت نوار inch/s   ،    نرخ انتقال b/s     ،  زمان حرکت - توقف (ms) )

2- پارامترهای ظرفیتی : ( چگالی bpi    ،     طول نوار     ، اندازه IBG  (Inter Bloch Gap) )

 

دیسک سخت :

اصلی ترین روش برای ذخیره سازی

ویژگی ها : سریع ، قابل اطمینان ، حجم بالا

- جنس صفحه دیسک سخت از آلومینیوم که با مواد فرو مغناطیس پوشیده شده است. (یا شیشه )

- سرعت چرخش صفحات دیسک با واحد(Rotation Per Minute) RPM   

- هر چه سرعت بالاتر باشد مدت زمان درنگ دورانی نیز کمتر خواهد شد

 

روش های حرکت هد بر روی صفحات :

•1-      روش پله ای step motor

•2-      روش سیم پیچی صوتی و مکانیسم servo

- فاصله هد خواندن نوشتن تا صفحه حدود کمتر 0.1 میکرون .  (  میکرون)

- هنگام خاموش کردن هدها باید در ناحیه ای اصطلاحاً پارک شوند. در دیسک های قدیمی ناحیه ای از دیسک به نام landing zone برای این کار استفاده

می شد اما این ناحیه بهتر است خارج از صفحه دیسک باشد. (دیسک های جدید به طور اتوماتیک هنگام خاموش شدن هد را پارک می کند. )

* دو عامل در پیشرفت تکنولوژی دیسک ها :

1- گنجایش بیشتر ( افزایش تراکم بیتی (Bit density) یا تراکم سطح (Areal Density) = تعداد بیت ها در هر اینچ از مسیرbpi

2- دستیابی به سرعت بیشتر در انتقال داده ها

ثبت افقی : طول این ناحیه نباید از مقدار معینی کمتر باشد. ( طول قلمرو یا اندازه دامنه ) ، ناحیه ای که باید در جهتی خاص مغناطیسی شود. هنگام خواندن این تغییر میدان مغناطیسی است که اطلاعات را ایجاد می کند.

ثبت عمودی : یکی از روش های دستیابی به اندازه قلمرو کوچک

لایه مغناطیس اضافی : لایه ای است که کمترین مقاومت را در مقابل عبور میدان مغناطیسی ایجاد می کند.

روش دیگر برای کاهش قلمرو : کوچک کردن هدها می باشد.

(آدرس دهی CHS ) شماره سکتور- شماره سلندر - شماره هد یا صفحه

شماره گذاری سیلندرها و صفرها از صفر و شماره سکتور از 1 شروع می شود.

برای افزایش ظرفیت هاردها از روش Multiple zone Recording استفاده می شود که تعداد سکتور بیشتری را در مسیرهای بیرونی درایو قرار می دهد.

 

جنبه های فیزیکی :

زمان جستجوی مسیر به مسیر : زمان مورد نیاز برای انتقال هد از مسیری به مسیر مجاور

میانگین زمان جستجو : میانگین زمان برای انتقال هد به مسیر مورد نظر Average seek time

زمان جستجوی تمام مسیر : زمان لازم برای انتقال هد از یک سمت صفحه به سطح دیگر آن

زمان چرخش : زمانی که طول می کشد تا صفحه بچرخد تا اول اطلاعات به زیر هد برشد.

زمان دستیابی : میانگین زمان جستجو + زمان چرخش

                

جنبه های منطقی :

شماره سکتور ها می تواند پشت سر هم نباشد: (سکتور بینابینی) درایو قبل از رسیدن به سکتور بعدی بتواند بافر را تخلیه کند.

درایو مجهز به حافظه ی نهانگاه : در این درایوها کل مسیر حاوی سکتور خوانده شده در حافظه ی Cache کنترلر قرار می گیرد. بدین ترتیب دیگر احتیاجی به روش بینابینی وجود ندارد.

داده ها در مسیر بعدی قرار نگیرند. (زمان لازم برای جابه جایی هد به سیلندر مجاور )

داده ها در مسیر هم شماره مربوط به هد بعدی قرار بگیرند. بهتر است داده های متوالی به جای اینکه در دسترس یک هم باشند بر روی یک سیلندر باشند.

اریب بودن مسیرها : نقطه شروع مسیرهای هم سیلندر اریب

دیسک مغناطیسی : دسترسی تصادفی به اطلاعات Divect Access Device

انواع دیسک ها :

ثابت                         با هد خواندن / نوشتن ثابت         تک صفحه 1             دیسک نرم

قابل جابه جایی           هد متحرک                              چند صفحه             دیسک سخت

شیار ( track ) : به دوایر هم مرکز روی رویه ها - شماره گذاری از 0,1 .... ( از بیرونی ترین شیار )

 

استوانه ( Sylinder ) : به شیارهای هم شعاع بر روی های مختلف

قطاع ( sector ) : تقسیمات شیار ( ظرفیت هر sector، 512 می باشد. )

 

طول سکتورها در شیارهای خارجی بیشتر از شیارهای داخلی می باشد. چگالی سکتور های داخلی بیشتر است.

Zone : شامل تعدادی شیار می باشد که طول سکتور در آن ثابت می باشد.(این سکتورها توسط مدارات برروی hard تنظیم می گردند.

- واحد رد و بدل کردن اطلاعات بین hard و کامپیوتر یک سکتور می باشد. برای خواندن یک Byte سیستم عامل کل سکتور حاوی آن بایت را می خواند در سیستم عامل ها مختلف چند سکتور با هم خوانده می شوند. مثلاً در Dos سیستم عامل فایل ها را بصورت مجموعه ای از کلاسترها (cluster) در نظر می گیرد.

* مزیت کلاستر های بزرگ و کوچک :

برای فایلهای بزرگ که پردازش ترتیبی دارند (کلاستر های بزرگ )

برای فایل های کوچک ( کلاسترهای کوچک )

* پارامترهای دیسک :

1- زمانی :

زمان استوانه جوبی ( seek time ) : زمان لازم جهت انتقال هد به سیلندرمورد نظر ( S )

زمان درنگ دورانی : زمان لازم برای چرخش دیسک تا اینکه نوک خواندن نوشتن به اول اطلاعات برسد. ( r )

نرخ انتقال : تعداد بیتی که در هر ثانیه ز دیسک انتقال داده شود.(5 mb/s)

 

2- ظرفیتی :

تعداد رویه  ( تعداد هد ) ، تعداد سیلندر (شیار در رویه ) ، تعدا سکتور (سکتور در شیار) ، اندازه سکتور 512B ، چگالی (Track per Inch=TPI)  و  Bit per Inch(BPI)  و یا  بیت در اینچ مربع. 

        واحد سرعت چرخش دیسک ها : (Rotation  per minute (RPM) دور در دقیقه(Floppy :hard 5000 )

- برای آنکه زمان دستیابی به حداقل خود برسد بهتر آن است که هنگام ذخیره سازی اطلاعات ،فایل ها بر وی یک شیار - بروی یک سیلندر - بروی سیلندرهای مجاورذخیره شود.

فهرست بندی دیسک ها :

ایجاد سکتور های بروی دیسک :

- سخت افزاری ( hard  sector ) : تقسیم شیارها  توسط کارخانه صورت می گیرد.

- نرم افزاری : (soft hard  ) تقسیم شیارها توسط سیستم عامل صورت می گیرد.    

Soft hard در این روش لازم است در ابتدای هر سکتور اطلاعات مربوط به آن سکتور از قبیل طول آن مشخص شود.

BLOCK 2

GAP

ABLOCK1

GAP

GAP ...

DELA 1

DELETE

GAP

 

فلاپی دیسک :

حجم کمتر نسبت به هارد دیسک ها .در فلاپی دیسک ها ، هد کاملاٌ به سطح فلاپی تماس پیدا می کند.

Drum  : استوانه ای است که در سطح آن ( خارجی ) اطلاعات قرار می گیرد. اغلب برای هر شیار یک هد وجود دارد. ( هدثابت ) ولی اگر تعداد هدها از شیارها کمتر باشد هدها متحرک می شوند.

 

دیسک های نوری :

از نور لیزر جهت ذخیره سازی اطلاعات استفاده می شود.

CD :

مزایا : ظرفیت بالا ،قیمت پایین تر ، دوام آنها

معایب : زمان استوانه جویی و نرخ انتقال آنها پایین است. (Kb/s 150)

(digital  video disk )  DVD   :

MO   ( نوری مغناطیسی ) :

دیسک های مغناطیسی: سرعت چرخش ثابت ( سرعت دورانی ثابت ) و سرعت خطی متغیر ( سرعت خطی در شیارهای بیرونی بیشتر می باشد ) دسترسی به داده ها در دیسک ( شماره سکتور ، شماره سیلندر ، شماره هد )

CD : داده ها در CD ها بروی یک شیار حلزونی از مرکز تا اطراف CD ذخیره می شوند. (5KM) با توجه به اینکه CD ها در ابتدا برای ذخیره سازی داده های صوتی استفاده شدند خصوصیات زیر را دارا شدند :

 

- فضای ذخیره سازی زیاد  

- مهم نبودن جستجو و سرعت زیاد به آنها ،(2K/S) سرعت دسترسی به اطلاعات در CD ها

سرعت خطی در CD  ها ثابت است (شیارها با سرعت ثابتی از زیر هد نوری رد شوند تا اطلاعات خوانده شوند)

برای آن که سرعت خطی ثابت باشد باید سرعت چرخش CD هنگام خواندن شیارهای بیرونی کم شود وبالعکس ( سرعت زاویه ای ثابت نیست. )

مزیت سرعت خطی ثابت در CD ها آن است که ظرفیت را بالا می برد ولی روش مشخصی برای پرش به موقعیتی مشخص ندارد.

آدرس دهی در CD ها :

در CD ها هر ثانیه ، 75 سکتور تقسیم بندی می شود ، هر سکتور 2KB می باشد وحداقل 1 ساعت اطلاعات را ذخیره می کند.

 روش آدرس دهی (سکتور : ثانیه : دقیقه)

تکنیک های ضبط مغناطیسی  اطلاعات :

مثبت - منفی - خنثی : از لحاظ مغناطیسی شدن سطح

نحوه ذخیره سازی هارد های با کنترلر IDE

نحوه ذخیره سازی هارد های SATA نحوه عملکرد CD

 

 

 

 

 

 

 

 

1- باز گشت به صفر (Retu rn to zero)RZ

2- بی بازگشت به صفر (Non return to zero)NRZ

3- بازگشت به صفر معکوس(Non Retorn  to  zero Inverted) NRZI

4- کد کردن فاز (Run length Limit)  RLL

5- FM  از روش NRZI  استفاده شده همراه با تغییر پالس بین هر بیت اطلاعاتی

6- MFM همانند بالا با این تفاوت که بت تغییر به طول نیم کلاتک بین دو صفر متوالی صورت می گیرد. ( روش استفاده شده در فلاپی ها )

7- PE

 

 

1 : در این روش در نقاطی  عمل ضبط صورت نمی گیرد ،جریان مثبت نشان دهنده 1 ،و جریان منفی نشان دهنده صفر می باشد.

2 : نواحی خنثی در این روش نداریم ،جریان مثبت 1،جریان منفی صفر را نشان می دهند. ( در این روش یک ها و صفر های پی در پی تغییری در شار به وجود   نمی آورند. )

 

 

 

3 :  در این روش تغییر شار نشان دهنده یک و عدم تغییر شار نشان دهنده صفر می باشد.

 

نکته : تعداد تغییر شارها در واحد طول روی چگالی نوار تاثیر می گذارد.هر چه تغییر شارها کمتر  باشد چگالی نوار بیشتر است.

4 : کد T  : نشان دهنده تغییر وضعیت

کدN  :عدم تغییر وضعیت         

RLL(2 -7) بین هر T حداقل N2 و حداکثر N7 وجود دارد.(محدوده پایین برای محدود کردن محل تغییر فلوی مغناطیسی و محدوده بالایی برای جلوگیری از دوره های طولانی بدون تغییر)

 

مفاهیم اولیه ذخیره سازی اطلاعات :

1- فیلد : کوچکترین واحد معنا دار برای ذخیره سازی فیلد می باشد.

2- رکورد : مجموعه ای از فیلد ها- رکورد مجموعه ای از اطلاعات از یک نوع موجودیت از یک محیط عملیاتی که می خواهیم ذخیره کنیم.

اطلاعاتی درباره یک موجودیت ( صفات خاصه ) : مقدار صفت خاصه ، اسم صفت خاصه

موجودیت : مفهومی که می خواهیم در مورد آن اطلاعاتی را ذخیره کنیم.

محیط عملیاتی : محیطی که می خواهیم برای آن یک سیستم ذخیره بازیابی ایجاد کنیم.

 

نحوه قرار دادن فیلدها در رکورد :

1- فیلد با طول ثابت و از قبل تعیین شده : اتلاف حافظه (وجود فضاهای خالی) ، محدود بودن طول فیلد برای داده های احتمالی بزرگتر. این روش برای داده هایی  که طول آنها تغییر نمی کند مناسب است. ( معمولی،شماره دانشجویی،.... )

RECORD 1

NAME                 FAMILY                 TALE               ADDRESS

  • 15 20 10 20

- قرار دادن طول هر فیلد در ابتدای هر فیلد

___15___                      __10__

2- استفاده از کاراکتر ویژه در انتهای هر فیلد

_______  _______   _______

3- به کار بردن نام فیلد به همراه داده ی آن( مزیت این روش : 1- جابجایی فیلدها 2- در صورت عدم وجود مقدار یک فیلد می توان آن را ذخیره ننمود. )

WEM               FAMILY                                     

انواع رکورد ها :

1- رکوردها با طول ثابت و مکانی ( تعداد ، مکان و طول فیلد ها در نمونه های مختلف یکسان است. )

2- رکورد با طول غیرثابت و غیرمکانی ( تعداد ، مکان و طول فیلدها ممکن است متغیر باشند. ) :

الف : تعداد فیلدها در رکوردهای مختلف یکسان باشد اما طول هر فیلد متفاوت باشد.

ب : ذخیره طول رکورد در اول هر رکورد

ج : استفاده از یک فایل اندیس برای نگهداری آدرس شروع رکوردها

د : ذخیره یک علامت ویژه در انتهای هر رکورد

دلایل متغیر بودن طول رکورد :

- متغیر بودن طول فیلدها

- متغیر بودن تعداد فیلدها (صفت خاصه)

- گروه اطلاع تکرار شونده (تعداد درس گرفته شده توسط شما که می خواهیم نام آن را بیاوریم)

دیدگاه رکورد :

- انتزاعی : نگاه کلی به رکورد به صورت مستقل از جنبه نمایشی آن Abstrective

- منطقی : رکورد از دید پردازشگر فایل ( دیدگاه برنامه نویس به رکورد )Logical  Record  

RECORD

 

- فیزیکی : رکورد در سطح محیط ذخیره سازی همانگونه که ذخیره می شود Stored Record ( بخش کنترلی توسط سیستم فایل به رکورد اضافه می شود و از دید برنامه مخفی است. )

                   RECORD                   

NETA                           SECTION

 

بخش کنترلی :

- طول رکورد : پرچم های عملیاتی روی رکوردها و اطلاعات وضعیتی و راهنمایی Flog ها ( حذف منطقی و فیزیکی )

- نوع رکورد : اطلاعات بعضی ساختارها

- اشاره گرها : برای ایجاد ارتباط منطقی رکورد ها استفاده میشود.رکوردها از لحاظ منطقی پشت سر هم می باشند ولی از لحاظ ذخیره سازی این گونه نیست.

.........

A

B

C

 

فایل File

فایل دنباله ای از پایت ها ذخیره شده در حافظه جانبی (مجموعه ای از نمونه های مختلف یک یا چند رکورد با ساختار مشخص)

 

بلاک بندی Blocking

بلاک : مجموعه ای از تعدادی رکورد باطول و محدوده معین ( واحد مبادله بین رسانه وماشین )

 

 

 

 

نحوه ی مشخص کردن طول رکورد در بلاک :

رکوردها طول ثابت داشته باشند : در این حالت باید یکبار طول رکورد در بلاک ذخیره شود که این کار در راهنمای فایل File Directory  صورت می گیرد.

رکوردها طول متغیر داشته باشند : درج نشانگر پایان رکورد- درج طول رکورد به عنوان یک فیلد در ابتدای رکورد- ایجاد جدول مکان نما- ذخیره کردن طول رکورد در یک جدول

تعاریف : BF ضریب بلاک بندی : B iocking Fector تعدادرکورد های موجود در هر بلاک

 

 

W : حافظه هرز :                                                        W1 : حافظه COP ( بلا استفاده به طولC )

 W2 : حافظه هرز ناشی از نگنجیدن رکورد دربلاک

W3 : حافظه هرز ناشی از نگنجیدن رکورد در شیار ( یک بلاک را نمی توان بین دو شیار تقسیم کرد. )

WB : حافظه هرز به ازاء هر بلاک                                   WR : حافظه هرز به ازاء هر رکور            Tf   : تعداد بلاک در شیار

 n : تعداد رکورد          b : تعداد بلاک ها              B : اندازه هر بلاک ( بدون محاسبه حافظه هرز )

R : اندازه هر رکورد ( متوسط طول رکورد بدون محاسبه حافظه هرز )

بلاک بندی توسط در دیسک ترکیبی از چند سکتور می باشد. این کار توسط کاربر با سیستم عامل انجام می پذیرد.

بلاک بندی باید به گونه ای باشد که برای خواندن هر بلاک فقط یک بلاک بازیابی شود.

همراه هر بلاک یک سربار غیرداده ای دارد. قسمت داده ای باید نسبت به غیرداده ای بزرگتر باشد ولی اگر زیاد بزرگ باشد باعث کندی خواندن می شود.

DATE

بخش غیر داده ای - طول بلاک کد خطا یابی

 

 تکنیک های بلاک بندی :

1- رکودها با طول ثابت یکپاره

2- رکودها با طول متغیر و دوپاره

3- رکودها با طول متغیر و یکپاره

                                                                  

(متوسط مقدار  برابر است با  ، )      

                                                                             

                                                                                 

 

طول فیلد نشانه :  و طول فیلد طول :   و متوسط طول رکوردها :

جمع فضاهای حاصل از  ها:   و   اشاره گر احتمالی آخر بلوک

                                                                

                                   یا      

 

(متوسط )   حافظه هرز از نگنجیدن  در بلاک اول :   

                                                                           

                                                                   

 

مزایا و معایب سه تکنیک :

تکنیک اول : پیاده سازی و مدیریت آنان ( عدم انعطاف پذیری : در صورت تغییرطول رکود چاره ای جزء ایجاد مجدد کل فایل نیست. )

تکنیک دوم و سوم : نسبت به اولی انعطاف پذیرترند ولی پیچیده تر می باشند :

تکنیک دوم : مصرف بهینه از حافظه ( به علت مدیریت نشانه  پیچیده تر می باشند ) در بعضی مواقع برای خواندن یک رکورد لازم است در بلاک خوانده شود.

 

تکنیک سوم : حداکثر طول رکورد به طول بلاک بستگی دارد. ( در روش دوم این محدودیت وجود ندارد ) به علت وجود حافظه هرز طول خطی فایل بیشتر می شود در نتیجه خواندن فایل زمان بیشتری را می گیرد.

مزایای بلاک بندی :

- کاهش دفعات ورودی - خروجی

- صرفه جویی در مصرف رسانه ذخیره سازی از طریق کاهش گپ ها

معایب بلاک بندی :

- کار نرم افزاری بیشتر برای Deblocking,Blocking 

- مصرف حافظه ی اصلی به خاطر لزوم بافرینگ

- بالا رفتن احتمال اشتباه در مبادله اطلاعات

باکت بندی :Bucketing

باکت :

مجموعه ای از چند بلاک بوده و واحد مبادله عملیات ورودی - خروجی از دید سیستم فایل می باشد. ( حداقل فایل یک بلاک )

اندازه باکت بستگی به اندازه بافر اصلی دارد.باکت دید منطقی نسبت به رکوردهاست.

- چگالی لودا اولیهLoading density  

فضای هرز

فضای پر شده

 

 

اگر محیط ذخیره سازی به گونه ای می باشد که بتوان در آینده میزان رشد فایل را پیش بینی نمود می توان قسمتی از فضای بلاک را در هنگام لود اولیه ( زمانی که فایل برای اولین بار نوشته می شود ) را خالی گذاشت یعنی تمام بلاک را پر نکرد ( یک نوع حافظه هرز ) تا بعداٌ در مدت طول حیات فایل مورد استفاده قرار بگیرد.

مزایا و معایب :

- باعث حفظ شدن لوکالیتی بهتر و جلوگیری از پراکندگی نشت رکوردها روی رسانه ذخیره سازی ( میزان پراکندگی فایل در زمان دستیابی تصادفی و زمان پردازش فایل نقش دارد )

- تسهیل عملیات روی فایل ( درج رکورد جدید و ... )

حافظه هرز ، نوعی حافظه هرز است و سبب افزایش طول خطی فایل می شود و در نتیجه خواندن تمام فایل زمانگیرتر است.

Locality : میزان همسایگی رکوردها در فایل

میزان همسایگی ( نزدیکی ) رکورد منطقاً بعدی ، نسبت به رکورد فعلی روی رسانه ذخیره سازی را لوکالیتی گویند.

رکورد منطقاٌ بعدی رکوردی است که از دید برنامه  بعد از رکورد فعلی باید مورد پردازش  قرار بگیرد. (مثلاٌ رکورد هایی که براساس  یک فیلد خاص مرتب می شوند.)

لوکالیتی درنمونه B ضعیف تر از نمونه A می باشد و در زمان پردازش سریال رکوردها نوک خواندن ، نوشتن باید از استوانه ای به استوانه ی دیگر برود.

مطلوب ترین حالت آن است که همجواری منطقی با همجواری فیزیکی پیاده سازی شود.

 

.

D

C

B

A

 

 

 

 

لوکالیتی از درجه قوی به ضعیف عبارت است از :

1- رکورد بعدی در همان بلاکی است که رکورد جاری هست واین بلاک در بافر قرار دارد،در این حالت I/O نداریم و کمترین حالت برای به دست آوردن صرف    می شود.

2- رکورد بعدی در همان بلاکی است که این بلاک بلافاصله بعد از رکورد جاری از همان شیار است. I/O داریم اما r=o وs=o

3- رکورد بعدی در همان استوانه ای است که رکورد فعلی قرار دارد. S=o ، r>o  

4- رکورد بعدی در استوانه ی همجوار رکورد فعلی باشد.r>o      ،  s>o 

5- رکورد بعدی روی استوانه ای باشد اما نشانی آن استوانه موجود باشد.

6- رکورد بعدی روی استوانه ای ناشناخته باشد که آدرس آن از روی محاسباتی بدست آید.

7- رکورد بعدی روی استوانه ای ناشناخته باشد که مکان آن با مراجعه به یک فایل دیگر بدست آید.

8- رکورد بعدی روی رسانه ای است که در حال حاضر روی خط (on line) نیست.

کاهش درجه localit ، افزایش زمان دستیابی به رکورد بعدی

درجه فایل های رکورد منطقاٌ بعدی رکورد منطقاٌ فیزیکی نیز می باشد : فایلهای ترتیبی

       نشان دهی فایل ها :

روش مشخصی برای دستیابی به داده های دیسک برای این دسترسی ، احتیاج به آدرس دهی به داده ها می باشد.

- با توجه به سطح برخورد با محیط ذخیره سازی می توان سطوح نشان دهی مختلفی داشته باشیم.

- برنامه پردازش گر فایل به کمک دستوراتی از یک زبان برنامه نویسی واز طریق سیستم فایل به محیط ذخیره سازی دسترسی پیدا می کند.

سطوح سیستم فایل :

بخش منطقی سیستم فایل : این بخش دستورات کاربر نظیر باز کردن فایل ، خواندن فایل ، نوشتن فایل ، بستن فایل

بخش فیزیکی سیستم فایل : وظیفه این بخش از سیستم فایل که گاه آن (Access met hod) نیز گفته می شود دسترسی به فایل های موجود بروی حافظه جانبی است. این قسمت دستورات دریافتی از بخش منطقی سیستم فایل را تبدیل به دستوراتی جهت صدور به رسانه ی ذخیره سازی می کند. مکان یابی seek خواندن از رسانه read نوشتن بر رسانه writ

- با توجه به سطوح برخورد بر فایل سه سطح نشان دهی وجود دارد :

1- نشان دهی در سطح برنامه پردازشگر فایل

2- نشان دهی در سطح منطقی سیستم فایل  

 3 - نشان دهی در سطح فیزیکی سیستم فایل

1- نحوه ی نشان دهی در سطح برنامه پردازشگر فایل به یکی از سه صورت زیر می باشد :

محتوایی : کاربر مقدار یک یا چند صفت خاصه ( یا کلید ) را می دهد.

نسبی : کاربر کل فایل را به صورت یک ساختار خطی می بیند ( دید منطقی ) که هر رکورد شماره یکتا دارد. آدرس یک رکورد شماره آن می باشد.

نمادین : رکورد دلخواه توسط یک نام مشخص آدرس دهی می شود. خود فایل نیز به کمک یک اسم نمادین (file name)  در برنامه پردازشگر فایل مشخص و نشان دهی می شود.

2- بخش منطقی سیستم فایل کل فضای ذخیره سازی ( مجموع دیسک ها و ... ) به صورت مجموعه ای از بلاک های پشت سرهم می بیند که هر بلاک شماره ای دارد که به ....0  آن آدرس نسبی بلاک (Relative  Block  Address) یا RBA گفته می شود. بخش منطقی از تعداد ، نوع ، ظرفیت هر یک از رسانه های ذخیره سازی مطلع می باشد آدرس RBA تولید شده را برای بخش فیزیکی سیستم فایل  ارسال می کند.

ظرفیت

تعدادبلاک در شیار

تعداد شیار در رویه

تعداد رویه

تعداد

نوع رسانه

4000

20

200

1

1

درام

72000

100

600

6

2

دیسک ثابت

8000

10

400

2

1

دیسک قابل حمل

 

 

3- بخش فیزیکی سیستم فایل آدرس RBA را دریافت کرده و با توجه به نوع رسانه ای که در محدوده ی آدرس RBA داده شده می باشد اطلاعات آن را بدست  می آورد. مثلاٌ در مورد دیسک تعیین می کند که RBA داده شده درکدام هد ، سیلندر و سکتور قرار دارد.

 

سیستم فایل هنگام برخورد به دستور کاربر در مورد باز کردن یک فایل به راهنمای فایل مراجعه می کند و اطلاعات لازم در مورد آن برای انجام ورودی /خروجی بدست می آورد.

1- مجاز بودن کاربر برای انجام چنین عملی

2- مجاز بودن فایل برای عمل

در سیستم فایل جدولی به نام راهنمای فایل وجود دارد که شامل مجموعه اطلاعاتی در مورد فایل های ذخیره سازی می باشد ، که می تواند خود یک فایل باشد که ساختار خطی یا درختی داشته باشد.

اسم فایل                       آدرس اولین بلاک                    میزان دستیابی

دارنده ی فایل                  میزان حافظه (طول فایل)          تاریخ اخرین تغییرات روی فایل

   تعداد رکوردهای منطقی        میزان حافظه مجاز

طول رکورد(اگر ثابت باشد)       تاریخ ایجاد

مثال : کتاب در مورد تبدیل در سیستم فایل و بدست آوردن RBA و آدرس فیزیکی 

بافر       Buffer  

- ناحیه ای از حافظه ی اصلی است که حداقل یک بلاک در آن جای داده می شود وبرای ایجاد هماهنگی بین سرعت وسیله I/OوCPUاستفاده می شود

- Buffers pool :ناحیه ای پیوسته در حافظه اصلی می باشدکه شامل مجموعه ای از بافرهای است که سیستم برای عملیات I/O در نظر می گیرد.

- معمولاٌ برای عملیات ورودی - خروجی بروی فایل از دو بافر ورودی - خروجی استفاده می شود. ( چرا )

بافر :

سخت افزاری : در کنترلی دستگاههای جانبی مثل : دیسک- پرینتر و .... وجود دارد.

نرم افزاری : توسط سیستم عامل در حافظه اصلی ایجاد می گردد و در اختیار برنامه ها قرار می گیرد.

نحوه ی ایجاد بافر :

ناحیه ای از حافظه برنامه ایجاد و ارتباط بین محتویات بافر با فایل های تحت پردازش ( برنامه نویس خود بافر ایجاد می کند. )

با ایجاد یک ماکرو و درخواست از سیستم عامل ناحیه بافر ایجاد گردد.

خود سیستم عامل به محض باز شدن یک فایل اقدام به ایجاد بافر می کند.

نحوه دستیابی به محتویات بافر :

1- روش انتقال یا حالت حرکتmove mode

2- روش مکان نمایی یا تعیین محل locate mode

  • 1- در این روش بافر از ناحیه ی کاری کاربر ( مکانی از حافظه که برنامه در آن در حال اجرا است ) جدا می باشد و برنامه مستقیم به بافر ورودی - خروجی دسترسی ندارد و بافر مخصوص به خود را دارد بلاک از بافر ورودی به ناحیه کاری برنامه فرستاده می شود و بالعکس. در این روش داده ها قبل از دستیابی از محلی از حافظه به محل دیگر انتقال داده می شوند و این عمل باعث اتلاف وقت می شود. در این روش بلاک بندی و بلاک گشایی توسط سیستم انجام می پذیرد.
  • 2- رد و بدل کردن اطلاعات در حافظه در روش انتقالی وقت گیر می باشد. برای اینکه احتیاج به این انتقال اطلاعات نداشته باشیم می توان به دو شکل زیر عمل کرد :

الف) داده های I/O مستقیم بین ورودی - خروجی و ناحیه کاری کاربر ( برنامه ) رد و بدل شود.

ب) مدیر فایل آدرس بافری را که ایجاد کرده است را به وسیله اشاره گرهایی در اختیار برنامه قرار دهد.

به دو روش بالا برنامه مستقیماٌ بروی داده های بافر I/O ، عملیات لازم را انجام می دهند.

در روش مکان نمایی بلاک بندی توسط خود برنامه صورت می پذیرد.

روش های move mode وlocate mode هر دو را می توان در ورودی- خروجی به طور جدا گانه استفاده نمود :

1- روش انتقالی در ورودی - خروجی

2- روش مکان نمایی در ورودی - خروجی

3- روش انتقالی در ورودی - خروجی

4- مکان نمایی در خروجی - انتقالی در ورودی

 مدیریت بافرها

در تخصیص بافر به برنامه ها احتیاج به مدیریت خاصی وجود دارد. استفاده از بافر باعث افزایش کارایی در به کارگیری I/O یا حافظه جانبی می گردد. از طرف دیگر بافرها بخشی از حافظه اصلی سیستم را اشغال می کنند و همچنین وقت بیشتری سیستم عامل باید صرف مدیریت آنها کند.

اغلب سیستم عامل خود بافر ایجاد می کند و این کار را توسط الکوریسم تخصیص مشخصی انجام می دهد و به خدمت برنامه نویسان خود بافر های مورد نیاز برنامه را ایجاد می کنند.

در سیستم هایی که از صفحه بندی حافظه برای اجرای برنامه هایشان استفاده می کنند مدیریت صفحات ، مدیریت بافرها را نیز بر عهده دارد.

زمانی که برنامه ای نیاز به بافر داشته باشد ، بسته به نوع برخورد سیستم برای تخصیص بافر ممکن است قسمتی از فضای حافظه که آزاد باشد گرفته و به آن اختصاص داده شود. یا اینکه از منطقه مخصوص بافرها ، یک بافر آزاد را انتخاب و به برنامه اختصاص دهد.

وقتی که درخواست ها برای بافر افزایش یابد ممکن است برای بافر جدید یکی از بافرهای قبلی از بین برود. برای این منظور راههای مختلفی می تواند وجود داشته باشد. آخرین بافری که استفاده شده است را پس گیرد. یا برنامه ای که اولویت پایین تری دارد بافر از آن گرفته شود. یا اجرای برنامه را به تاخیر بیاندازد.

انواع بافردهی :Buffering  

از نظر تعداد بافر هایی که به برنامه اختصاص داده می شود :

  • 1- بافردهی ساده Singel Buffering
  • 2- بافردهی مضاعف- دوگانهDouble Buffering
  • 3- بافردهی چندگانه Multiple Buffering

1- یک بافر در اختیار برنامه قرار داده می شود و در این حالت در زمانهایی که بافر در حال پر شدن است نمی توان از محتویات آن استفاده کرد وCPU زمان انتظاری را دارد. ( البته در سیستم های چند برنامه ای ، CPU می تواند اجرای دیگر برنامه ها را دنبال کند. )

 

2- هنگامی که CPU در حال پردازش بافر 1 می باشد بافر 2 در حال پر شدن است بعد از پر شدن بافر 2 به CPU ارسال می شود و بافر 1 پر می شود. این روش در پردازش فایل های بزرگ ( مثلاٌ خواندن تمامی رکوردها ) مورد نیاز است. زمانی که CPU برای پردازش یک بلاک ( بافر ) صرف می کند باید کمتر از زمان پر شدن بافر باشد.

CPU

2

1

 

3- بلاک ها قبل از نیاز به آنها خوانده شوند بدین ترتیب رکورد بعدی همواره در بافر قرار خواهد داشت. برای پردازش انبوه فایل ها واطلاعات به کار می رود. نحوه پیاده سازی این گونه بافرها می تواند به صورت صف چرخشی باشد. این اطلاعات باید به صورت ترتیبی باشد چون برای فایل های تصادفی امکان حدس رکورد بعدی وجود ندارد.

وقتی O به انتهای بافر می رسد دوباره از صفر شروع میکند.

چه موقعI  ,O  متوقف می شود ؟ (ورودی - خروجی صورت نگیرد؟ ) CPU داده ها را خیلی سریع بردارد بافر خالی شود - CPU در برداشت داده ها کند عمل کند و بافر پر شود

- پس از خواندن یک بلاک از بافر می تواند آن بافر را آزاد کند ولی اغلب نگهداشتن بافر مقرون به صرفه است ، چون اغلب به رکورد بعدی در بافر نیاز می باشد.

 

www.karshenasi.persianblog.ir

نویسنده : میلاد روشنی | ساعت ۱:۱٦ ‎ق.ظ روز شنبه ٢٠ شهریور ۱۳۸٩
پيام هاي ديگران () | لینک ثابت