PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مقاله منظور از حافظه مجازی چیست؟



آبجی
1st November 2009, 12:45 PM
حافظه مجازی يکی از بخش های متداول در اکثر سيستم های عامل کامپيوترهای شخصی است . سيستم فوق با توجه به مزايای عمده، بسرعت متداول و با استقبال کاربران کامپيوتر مواجه شده است . اکثر کامپيوترها در حال حاضر از حافظه های محدود استفاده می نمايند. حافظه موجود در اکثر کامپيوترها یه منظور اجرای چندين برنامه بصورت همزمان توسط کاربر ، پاسخگو نبوده و با کمبود حافظه مواجه خواهيم شد. مثلا" در صورتی که کاربری بطور همزمان ، سيستم عامل ، يک واژه پرداز ، مرورگر وب و يک برنامه برای ارسال نامه الکترونيکی را فعال نمايد ، اندازه حافظه، ظرفيت قابل قبولی نبوده و کاربران قادر به استفاده از خدمات ارائه شده توسط هر يک از نرم افزارهای فوق نخواهند بود.

يکی از راهکارهای غلبه بر مشکل فوق افزايش و ارتقای حافظه موجود است . با ارتقای حافظه و افزايش آن ممکن است مشکل فوق در محدوده ای ديگر مجددا" بروز نمايد.

يکی ديگر از راهکارهای موجود در اين زمينه ، استفاده از حافظه مجازی است .

در تکنولوژی حافظه مجازی از فضای هارد ديسک استفاده می گردد. در چنين حالتی اطلاعات موجود در حافظه اصلی که کمتر مورد استفاده قرار گرفته اند ، از حافظه خارج و در محلی خاص بر روی هارد ديسک ذخيره می گردند. بدين ترتيب بخشی از حافظه اصلی آزاد و زمينه استقرار يک برنامه جديد در حافظه فراهم خواهد شد. عمليات ارسال اطلاعات از حافظه اصلی بر روی هارد ديسک بصورت خودکار انجام می گيرد. پس حافظه مجازی در واقعی حافظه نیست بلکه بخشی از فضای هارد دیسک است که اصطلاخا به آن حافظه مجازی گفته می شود.

آبجی
1st November 2009, 12:46 PM
مسئله سرعت

سرعت خواندن و نوشتن اطلاعات بر روی هارد ديسک بمراتب کندتر از حافظه اصلی کامپيوتر است . در صورتی که سيستم مورد نظر دارای عملياتی حجيم در رابطه با حافظه مجازی باشد ، کارآئی سيستم بشدت تحت تاثير قرار خواهد گرفت . در چنين مواردی لازم است که نسبت به افزايش حافظه موجود در سيستم ، اقدام گردد.
در مواردی که سيستم عامل مجبور به جابجائی اطلاعات موجود بين حافظه اصلی و حافظه مجازی باشد ( هارد ديسک ) ، باتوجه به تفاوت محسوس سرعت بين آنها ، مدت زمان زيادی صرف عمليات جايگزينی می گردد. در چنين حالتی سرعت سيستم بشدت افت کرده و عملا" در برخی حالات غيرقابل استفاده می گردد.

محل نگهداری اطلاعات بر روی هارد ديسک را يک Page file می گويند. در فايل فوق ، صفحات مربوط به حافظه اصلی ذخيره و سيستم عامل در زمان مورد نظر اطلاعات فوق را مجددا" به حافظه اصلی منتقل خواهد کرد. در ماشين هائی که از سيستم عامل ويندوز استفاده می نمايند ، فايل فوق دارای انشعاب swp است .

آبجی
1st November 2009, 12:46 PM
پيکربندی حافظه مجازی

ويندوز دارای يک برنامه هوشمند برای مديريت حافظه مجازی است . در زمان نصب ويندوز ، پيکربندی و تنظيمات پيش فرض برای مديريت حافظه مجازی انجام خواهد شد. تنظيمات انجام شده در اغلب موارد پاسخگو بوده و نيازی به تغيير آنها وجود نخواهد داشت .
در برخی موارد ( در ويندوز 98 ) لازم است که پيکربندی مديريت حافظه مجازی بصورت دستی انجام گيرد. برای انجام اين کار در ويندوز 98 ، گزينه System را از طريق Control panel انتخاب و در ادامه گزينه Performance را فعال نمائيد. در بخش Advanced setting ، گزينه Virtual memory را انتخاب نمائيد.

با نمايش پنجره مربوط به Virtual Memory ، گزينه "Let me specify my own virtual memory setting" را انتخاب تا زمينه مشخص نمودن مکان و طرفيت حداقل و حداکثر فايل مربوط به حافظه مجازی فراهم گردد..در فيلد Hard disk محل ذخيره نمودن فايل و درفيلد های ديگر حداقل و حداکثر ظرفيت فايل را بر حسب مگابايت مشخص نمائيد. برای مشخص نمودن حداکثر فضای مورد نياز حافظه مجازی می توان هر اندازه ای را مشخص نمود . تعريف اندازه ائی به ميزان دو برابر حافظه اصلی کامپيوتر برای حداکثر ميزان حافظه مجازی توصيه می گردد.
ميزان حافظه موجود هارد ديسک که برای حافظه مجازی در نظر گرفته خواهد شد بسيار حائر اهميت است . در صورتی که فضای فوق بسيار ناچيز انتخاب گردد ، همواره با پيام خطائی مطابق "Out of Memory" ، مواجه خواهيم شد. پيشنهاد می گردد نسبت حافظه مجازی به حافظه اصلی دو به يک باشد. يعنی در صورتی که حافظه اصلی موجود 16 مگابايت باشد ، حداکثر حافظه مجازی را 32 مگابايت در نظر گرفت .

يکی از روش هائی که یه منظور بهبود کارائی حافظه مجاری پيشنهاد شده است ، ( مخصوصا" در موارديکه حجم بالائی از حافظه مجازی مورد نياز باشد ) در نظر گرفتن ظرفيت يکسان برای حداقل و حداکثر انداره حافظه مجازی است . در چنين حالتی در زمان راه اندازی کامپيوتر، سيستم عامل تمام فضای مورد نياز را اختصاص و در ادامه نيازی با افزايش آن همزمان با اجرای ساير برنامه ها نخواهد بود. در چنين حالتی کارآئی سيستم بهبود پيدا خواهد کرد .
يکی ديگر از فاکتورهای مهم در کارآئی حافظه مجازی ، محل فايل مربوط به حافظه مجازی است . در صورتی که سيستم کامپيوتری دارای چندين هارد ديسک فيزيکی باشد ، ( منظور چندين درايو منظقی نيست ) می توان حجم عمليات مربوط به حافظه مجازی را بين هر يک از درايوهای فيزيکی موجود توزيع کرد. روش فوق در موارديکه از حافظه مجازی در مقياس بالائی استفاده می گردد ، کارآئی مطلوبی را بدنبال خواهد داشت .

آبجی
4th November 2009, 10:44 AM
چطور حافظه مجازی کار می کند ؟ حافظه مجازی یا Virtual Memory یك روش نرم افزاری است كه جزوی از سیستم عامل‌ است و کمک بزرگی در افزایش قابلیت‌های حافظه و مدیریت آن با هزینه‌ای کم می‌کند.

امروزه کامپیوتر‌ها دارای 256مگابایت تا 1یا2گیگابایت RAM هستند . 256مگابایت برای سیستم عامل‌ها و برنامه‌هایی که اینروزها روی آن‌ها اجرا می‌شود کمترین میزان RAM است. ولی به هر حال تنها برای اجرا کردن سیستم عامل ویندوز و دو یا سه برنامه دیگر کافی است. با همین میزان RAM اگر چیزی به نام VirtualMemory وجود نداشت، هربار که این برنامه‌ها با هم اجرا می‌شدند RAM به راحتی پر می‌شد و دیگر حتی ماوس را هم نمی‌توانستید روی صفحه تکان دهید!

با استفاده از VirtualMemory کامپیوتر اطلاعاتی که روی RAM برای مدتی بدون استفاده مانده است را به هارد دیسک انتقال می‌دهد و با این کار فضای نسبتاً زیادی را برای سیستم خالی می‌کند.

این جابجایی به طور خودکار و توسط سیستم عامل انجام می‌شود و اگر از میزان اطلاعاتی که توسط RAM شما ذخیره می‌شود اطلاع داشته باشید، فکر می‌کنید که همان 256مگابایت RAM برای شما نامحدود است.
این برای شما از نظر اقتصادی هم به صرفه است چرا که هارد دیسک بسیار ارزان تر از RAM است.

سرعت ضبط کردن و خواندن هارد دیسک بسیار کمتر از RAM است و اساساً برای دسترسی به اطلاعات در مقیاس کوچک طراحی نشده است. به همین دلیل اگر سیستم شما بیش از حد به VirtualMemory اتکا کند، کاهش سرعت زیادی را مشاهده خواهید کرد. کلید این مشکل در فراهم کردن میزان RAM کافی است. با این حال تنها زمانی که کاهش سرعت را احساس خواهید کرد در باز و بستن برنامه‌هاست. به همین دلیل در صورت داشتن RAM کافی، VirtualMemory پاسخی مناسب برای نیاز‌های کامپیوتر شماست.
در غیر این‌صورت کامپیوتر باید اطلاعات را بین RAM و هارد دیسک مرتباً جابجا کند. این کار Thrashing نام دارد و سرعت کامپیوترتان را به شدت کاهش می‌دهد.

قسمتی از هارد دیسک که اطلاعات RAM را ذخیره می‌کند PageFile نام دارد و سیستم عامل اطلاعات را از این فایل به RAM می‌فرستد و از آن می‌گیرد. در سیستم عامل ویندوز این فایل‌ها پسوند«.SWP» دارند.
در اینجا به چگونگی تنظیم VirtualMemory به صورتی دستی می‌پردازیم.
سیستم عامل ویندوز دارای یک سری تنظیمات برای مدیریت VirtualMemory است. برای ورود به صفحه تنظیمات آن به Control Panel بروید و به System وارد شوید. در System به پرونده Advanced وارد شوید. اولین دکمه Settings را بزنید. وارد پرونده Advanced شوید. در قسمت Virtual Memory روی Change کلیک کنید. در حالت عادی پیش فرض سیستم مناسب است. اگر تنظیمات را روی System Managed Size قرار دهید سیستم عامل به طور خودکار مقدار مینیمم و ماکسیمم VirtualMemory را مشخص می‌کند. برای تنظیم دستی Custom Size را انتخاب کنید. همچنین می‌توانید درایو(Drive) مورد نظر خود را انتخاب کنید.
مینیمم مقدار برای Drive C 2مگابایت است. مقدار ماکسیمم محدودیتی ندارد ولی یک تنظیم معمول دو برابر مقدار RAM است. یعنی اگر 1گیگابایت RAM دارید مقدار ماکسیمم را روی 2 گیگابایت قرار دهید. اگر مقدار کمی را قرار دهید با پیغام خطاهای Out Of Memory روبرو می‌شوید. اگر این مقادیر را به طور دستی تنظیم می‌کنید و هر بار متوجه می‌شوید که باید مقدار ماکسیمم را افزایش دهید، آنگاه باید RAM را افزایش دهید.

یکی از ترفندهایی که می‌توانید استفاده کنید این است که میزان مینیمم و ماکسیمم را یکسان قرار دهید. این کار سیستم عامل را مجبور می‌کند مقدار PageFile را از همان ابتدا ثابت نگاه دارد. این کار از تغییر اندازه این فایل هنگام باز کردن برنامه‌ها جلوگیری می‌کند و سرعت سیستم را افزایش می‌دهد. این کار مخصوصاً در اجرای برنامه‌های گرافیکی تأثیر دارد.
روش دیگر، پخش کردن این فایل در درایو‌های مختلف است. این کار اصولاً هنگامی مناسب است که هارد دیسکی با ظرفیت بسیار بالا دارید.

منبع: فراسو

آبجی
4th November 2009, 10:44 AM
حافظه مجازی استاندارد

هموطن-ميزان حافظه موجود هارد ديسک که براي حافظه مجازي در نظر گرفته خواهد شد بسيار حائر اهميت است. در صورتيکه فضاي فوق بسيار ناچيز انتخاب گردد، همواره با پيام خطائي مطابق '' Out of Memory '' ، مواجه خواهيم شد.
پيشنهاد مي گردد نسبت حافظه مجازي به حافظه اصلي دو به يک باشد. يعني در صورتيکه مثلا حافظه اصلي موجود 16 مگابايت است، حداقل حافظه مجازي را 32 مگابايت در نظر بگيريد.

آبجی
4th November 2009, 10:44 AM
در زير مقاله‌اي وجود داره كه ميتونيد به كمك اون با استفاده از حافظه مجازي (Virtual Memory) سرعت كامپيوتر خودتون رو افزايش بدين و كارايي RAM رو بيشتر كنيد.
اين مقاله براي ويندوز XP نوشته شده.


حافظه مجازي چيست؟
يك توضيح ساده از حافظه مجازي اين است كه در پردازنده‌هاي intel 386 و بالاتر اين قابليت وجود دارد كه تا مقدار 4گيگابايت حافظه را آدرس دهي كرد، در حالت عادي اين مقدار از ظرفيت RAM بيشتر است.
بنابراين برنامه طوري طراحي شده كه سخت‌افزار قادر باشه از تمام اين مقدار حافظه استفاده كنه، در اينجا مفهوم حافظه مجازي شكل ميگيره، به اين صورت كه حافظه آدرس دهي ميشود و بعد آدرس‌ها در فايل‌هاي مجازي (Pages) ذخيره ميشن براي استفاده‌هاي بعدي.

Page Faults چيست؟
تنها اطلاعات و برنامه‌هايي كه در حال كاركردن هستند در RAM دخيره ميشن، بقيه برنامه‌ها در فايل‌هاي swap file (در ويندوز‌هاي 95/98/ME به عنوان Win386.swp نام‌گذاري ميشوند) يا page file (در ويندوز‌هاي NT شامل 2000 و XP به عنوان pagefile.sys نام‌گذاري ميشوند) ذخيره ميشوند، بنابراين وقتي سيستم ميخواهد به برنامه‌اي كه در RAM وجود ندارد دسترسي پيدا كند دچار وقفه‌اي ميشود كه Page Fault نام دارد.
بعضي اوقات ممكن است به خاطر وجود نداشتن برنامه يا دستور غلط برنامه براي دسترسي به فايل خطايي بروز كند و موجب نمايش "صفحه آبي" شود.

در مواقعي كه فشار برروي RAM زياد است ممكن است مقداري از فايل‌ها و اطلاعات كه مورد استفاده قرار نميگيرند وارد حافظه مجازي شوند كه اين ميتواند باعث شود كه RAM با قدرتي بيشتر از حد معمول عمل كند.

چه قسمت‌هايي در RAM بازگذاري ميشوند؟
اطلاعاتي كه در RAM بارگذاري ميشوند به دو دسته تقسيم ميشوند:

- The Non-Paged area قسمت‌هاي از سيستم كه بسيار مهم هستند و شامل كد‌هاي اصلي برنامه‌ها ميشوند هيچ‌وقت وارد حافظه مجازي نميشوند به اين قسمت در ويندوز XP عبارت "Non-Paged area" اختصاص داده شده.
گاهي اوقات برنامه‌هايي مثل Norton هم اطلاعات خود را در اين قسمت قرار ميدهند.

- The Page Pool كه براي ذخيره موارد زير استفاده ميشه:
» كد‌هاي برنامه‌ها
» صفحه‌هاي داده كه اطلاعات واقعي در آنها ثبت ميشه، و
» مقداري فضا براي ذخيره فايل‌هاي Cache

فايل‌هاي Page كجا هستند؟
فايل page در ويندوز XP فايلي است مخفي (Hidden) كه pagefile.sys نام دارد. اين فايل در هربار boot شدن دوباره ساخته ميشه و نيازي نيست كه در فايل‌هاي backup وجود داشته باشه.
براي ديدن اين فايل‌ها وارد Folder Option > View بشيد و تيك گزينه "Hide Protected mode System files" را برداريد يا گزينه "Show Hidden and System files" رو تيك بزنيد.

در سيستم‌هاي اوليه‌ي NT در هر درايو يك فايل page ساخته ميشد تا متناسب با برنامه مورد نظر به محل آن برنامه نزديكتر باشد، ولي در ويندوز XP فقط يك فايل وجود دارد.

كجا بايد مكان و اندازه اين فايل را تعيين كنيم؟
در مسير Control panel > System > Advance در قسمت Performance روي Setting كليك كنيد، در قسمت Advance مقدار اين حافظه در حال حاضر را نشان ميدهد.
حالا ميتوانيد روي Change كليك كنيد و با انتخاب درايو مورد نظر يكي از گزينه‌هاي"Custom" يا "System Managed" يا "No page file" را انتخاب كنيد.
با انتخاب گزينه Custom ميتوانيد مقدار دلخواهتون رو براي اين فايل تعيين كنيد.
قبل از رفتن به مرحله بعد روي Set كليك كنيد تا تنظيمات ذخيره شود.

آيا اين فايل بايد روي درايو C باشد؟
(منظور از درايو C درايوي است كه ويندوز روي آن نصب است) اگر فقط يك هارد داريد بهتر است كه مكان اين فايل درايو C باشد ولي اگر دو هارد يا بيشتر داريد بهتر است مكان اين فايل روي يكي از اين هارد‌ها باشد.

كار‌هاي بالا به شما كمك ميكنه كه سرعت سيستم خودتون رو افزايش بدين در صورتي كه واقعا به RAM شما فشار وارد ميشه و سرعت كامپيوترتون خيلي پايين اومده.
من خودم اين روش رو امتحان كردم و نتيجه خيلي خوبي هم گرفتم.
اين روش خيلي تاثير بيشتري از كار‌هايي مثل Defragment و Disk Cleanup و غيره ميتونه داشته باشه.

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

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد