به هر وسيله اي كه توانايي حفظ اطلاعات را داشته باشد به گونه اي كه كاربر بتواند در هر زمان به داده هاي آن دستيابي(access) داشته باشد را حافظه مي گويند.
حافظه ها به دو دسته كلي تقسيم مي شوند: 1- حافظه اوليه (اصلي-درون ماشيني) كه پردازنده جهت اجراي برنامه ها مستقيماً با آن سرو كار دارد. 2- حافظه ثانويه (جانبي-برون ماشيني) كه جهت ضبط اطلاعات و فايلها به كار مي رود. ما در اين درس تنها با حافظه هاي جانبي سرو كار داريم.
از يك نظر مي توان گفت سيستم هاي كامپيوتري از دو بخش محيط درون ماشيني و محيط برون ماشيني تشكيل يافته اند. منظور از محيط درون ماشيني ، پردازنده، حافظه اصلي و عناصر داخلي كامپيوتر است و منظور از محيط برون ماشيني تجهيزات جانبي آن مثل هارديسك ، پرينتر و غيره مي باشد. ما در اين درس با ذخيره سازي اطلاعات بر روي تجهيزات برون ماشيني سرو كار داريم.
ويژگي هاي كلي حافظه
فرار و غير فرار: حافظه هايي كه با رفتن برق اطلاعات آنها از بين مي رود حافظه هاي فرار (Volatile) و آنهايي كه با رفتن برق داده هاي خود را حفظ مي كنند غير فرار (non valatile) مي باشند. حافظه هاي اصلي اغلب فرار و حافظه هاي جانبي غير فرار مي باشند.
خواندني يا خواندني نوشتني: بعضي حافظه ها مثل RAM يا هارديسك خواندني نوشتني هستند. ولي بعضي ديگر مثل CD-ROM فقط خواندني هستند. به خواندن اطلاعات از حافظه اصطلاحاً واكشي يا fetch گفته مي شود.
آدرس دهي: هر حافظه اي داراي يك شيوه آدرس دهي مي باشد كه به كمك آن خانه هايش دستيابي مي گردد.مثلاً حافظه RAM آرايه اي از بايتهاست كه هر كدام يك آدرس (عدد يكتا) دارند. يا هارديسك به صورت سه عدد (شماره سكتور، شماره شيار در سيلندر، شماره سيلندر) آدرس دهي مي شود، كه جلوتر شرح مي دهيم.
در حافظهRAM با n بيت خط آدرس، مي توان خانه را آدرس دهي كرد.
زمان دستيابي (Access time): از لحظه اي كه دستور خواندن و نوشتن داده مي شود تا هنگامي كه حافظه مورد نظر مورد دستيابي قرار مي گيرد را زمان دستيابي گويند. مثلاً زمان دستيابي حافظه هاي RAM حدود 120 نانو ثانيه و زمان دستيابي ديسك حدود 30 ميلي ثانيه است، يعني از اين نظر RAM در حدود 250 هزار برابر سريعتر از ديسك مي باشد.
نرخ يا سرعت انتقال (Transfer rate): مقدار اطلاعاتي است كه در واحد زمان از حافظه قابل انتقال است و يكي از واحدهاي آن بايت در ثانيه است. توجه كنيد نرخ انتقال از جنس سرعت است و در اين درس آن را با t (مخفف transfer) نشان مي دهيم. مواظب باشيد t نرخ انتقال را با t درس فيزيك كه زمان (time) بود اشتباه نگيريد.
سلسله مراتب حافظه ها
در كامپيوتر هاي امروزي عموماً سلسله مراتبي از حافظه ها (مثل cache، RAM و ديسك) استفاده مي شود. چند علت براي اين امر عبارتند از:
1-
حافظه هاي اصلي RAM در حال حاضر همچنان محدوديت ظرفيتي دارند.( مثلاً حدود 256MB يا 1GB).
2-
فقط بخشي از اطلاعات برنامه هاي در حال اجرا لازم است در حافظه اصلي قرار گيرد و لازم نيست تمام بخشهاي همه برنامه ها به حافظه RAM آورده شود.
3-
حافظه هاي سريع گران هستند.
4-
اندازه اطلاعاتي را كه انسان امروزي ذخيره مي كند خيلي زياد است و به صورت تصاعدي نيز زيادتر مي شود. حجم عظيم داده ها را نمي توان در حافظه اصلي نگهداري كرد.
5-
حافظه هاي درون ماشيني اغلب فرار مي باشندو داده هاي آنها با رفتن برق از بين مي رود.
6-
بسياري از برنامه ها به حافظه اي بيشتر از حافظه RAM نياز دارند. در اين حال مثلاً از بخشي از ديسك به عنوان حافظه مجازي استفاده مي شود.
7-
هنگامي كه چندين پردازش مي خواهند به صورت موازي به اطلاعاتي دسترسي داشته باشند مي توان آن اطلاعات را مثلاً بر روي ديسك به اشتراك گذاشت.
پس در عمل جهت بكار گيري مزاياي حافظه هاي درون ماشيني (سرعت زياد) و برون ماشيني (ظرفيت بالا،هزينه كم و مانا بودن) تركيبي از آن دو دركامپيوترها استفاده مي گردد.
در حافظه هاي درون ماشيني هزينه يك بايت (CPB=Ccet Per Byte)از حافظه هاي برون ماشيني بيشتر است.
در ليستي از حافظه ها كه در زير آمده به ترتيب ظرفيت ها افزايش يافته و سرعت و هزينه ها كاهش مي يابد:
1- ثبات 2- حافظه cache يا نهان 3- حافظه اصلي 4- حافظه فلاش (Flash) 5- ديسك مغناطيسي 6- ديسك نوري 7- نوار مغناطيسي
حافظه cache حافظه اي سريع از نوع SPAM (Static RAM) است كه بين CPU و حافظه اصلي كامپيوتر قرار مي گيرد و به عنوان وسيله اي سريع، رد و بدل بين حافظه و CPU را سرعت مي بخشد. حافظه اصلي از نوع DRAM ( Dynamic RAM) است.تذكر: ممكن است در آينده با رشد تكنولوژي و ارزان شدن حافظه هاي درون ماشيني ديگر از حافظه هاي برون ماشيني (جز براي موارد بايگاني) استفاده نشود ولي در حال حاضر به چنين وضعيتي نرسيده ايم.
منظور از ذخيره و بازيابي چيست؟
اين درس غالباً با دو عنوان مطرح مي گردد. يكي ذخيره و بازيابي اطلاعات
(Information Storage and Retrieval) و ديگري ساختار فايلها
(File structures).
منظور از ساختار فايل سازماندهي داده ها روي دستگاههاي ذخيره سازي ثانويه است. به عبارت ديگر اين درس به نحوه ذخيره داده ها در فايلها و عمليات لازم براي دستيابي به داده ها بر روي حافظه هاي جانبي مي پردازد.بهينه كردن طراحي ساختار فايلها ممكن است باعث گردد تا برنامه ها صدها بار سريعتر اجرا گردند.
امروزه اغلب براي ذخيره و بازيابي از حافظه ديسك استفاده مي گردد و مشكل اصلي در طراحي ساختار فايل، زمان نسبتاً زيادي است كه براي بازيابي اطلاعات از ديسك و به حداكثر رساندن احتمال وجود اطلاعات مورد نياز، در حافظه اصلي است.
در اين طراحي سعي بر آن است كه اطلاعات مورد نياز را در صورت اماكن تنها با يك بار مراجعه به ديسك بدست آوريم. زماني كه محتويات فايلها تغيير نمي كنند رسيدن به اين هدف چندان سخت نيست. ولي هنگامي كه فايلها بر اثر حذف و اضافه ، كوچك و بزرگ مي شوند حفظ اين ويژگي مشكل مي گردد.
بديهي است كه قبل از بررسي انواع ساختار فايلها لازم است كه شناخت كافي از حافظه هاي مورد استفاده براي فايلها را داشته باشيم.در فصلهاي اوليه كتاب، به بررسي اين موضوع مي پردازيم.
اگر فايلها فقط در حافظه اصلي نگهداري مي شدند نيازي به علم ساختار فايلها نبود. اين نياز از آنجا ناشي مي شودكه زمان دستيابي در حافظه هاي جانبي بسيار بيشتر از زمان دستيابي به حافظه اصلي است و از طرف ديگر زمان دستيابي براي همه داده ها در حافظه جانبي يكسان نمي باشد.
به طور كلي مهم ترين اهداف در اين درس افزايش سرعت و همچنين استفاده بهينه از فضاي ديسك مي باشد. يعني بايد كاري كنيم كه حداقل تعداد دستيابي به ديسك را براي بازيابي اطلاعات داشته باشيم.
برچسب ها:
بازیابی اطلاعات و پایگاه داده ها مقاله بازیابی اطلاعات و پایگاه داده ها پروژه بازیابی اطلاعات و پایگاه داده ها پایان نامه بازیابی اطلاعات و پایگاه داده ها