تبليغاتX
مجله دانش و كامپيوتر

مجله دانش و كامپيوتر
 

 

 

رم ديسک چيست؟

Ramdisk (Random access memory disk) بخشي از حافظه كامپيوتر است که همانند يک درايو يا پارتيشن هاردديسك، شبيه سازي شده و عمل مي‌كند. علت نياز به رم ديسک، بدين سبب است که گاهي اوقات به بعضي از فايل‌ها به طور دائم نياز داريم و براي بالا بردن سرعت دسترسي به فايل‌ها و اجراي برنامه‌هايمان، ناگزيريم که دستيابي به آن فايل‌ها را سرعت بخشيم و يا اينکه به لحاظ امنيتي و يا ظرفيتي، بعضي از فايل‌ها را كه نمي‌خواهيم برروي هاردديسک ذخيره شوند و فضاي آن را اشغال نمايند، در رم ديسك ذخيره مي‌كنيم. بدين منظور، در صورت داشتن حافظه فيزيکي کافي، مي‌توانيم فايل‌سيستم را بر روي حافظه ايجاد و استفاده نماييم. به اين فايل‌سيستم توليد شده در حافظه، Ramdisk گفته مي شود که در صورت Reboot يا Shutdown شدن سيستم و يا خاموش شدن آن به هر دليلي، فايل‌هاي موجود در آن از بين رفته و قابل دسترسي نخواهد بود. البته اين موضوع شايد يك ضعف تلقي شود، اما Ramdisk داراي فوائدي است كه اين ضعف را كمابيش در سايه قرار مي‌دهد.

همچنين توجه داشته باشيد كه به اندازه ظرفيت رم ديسک ايجاد شده، از ميزان حافظه (RAM) کامپيوتر کاسته خواهد شد. همچنين در بيشتر موارد با استفاده صحيح از رم ديسک، مي توان كارايي، سرعت اجرا و توان عملياتي سيستم را به حدي چشمگير و قابل توجه افزايش داد كه در حقيقت مي‌تواند همچون ارتقاء سخت‌افزار، موثر باشد. بنابراين ايجاد رم ديسك در اصل براي بالا بردن و بهينه سازي عملکرد سيستم مي‌باشد، زيرا خواندن و نوشتن اطلاعات بر روي رم ديسک، بسيار سريعتر از هارد ديسک، ديسک درايوهاي نوري و ساير حافظه‌هاي جانبي است. با اين وصف، رم ديسك اغلب به عنوان مکان ذخيره سازي براي فايل‌هاي موقت (Temporary Files) در نظر گرفته مي‌شود. آن هم براي اجراي سريعتر برخي از نرم‌افزارهايي كه براي اجرا، فايل‌هاي موقت (Temporary Files) زيادي توليد و يا ذخيره مي‌كنند، كه در اين وضعيت مي‌توان محل قرار‌گيري فايل‌هاي موقت و يا فولدر مربوط به آنها را به رم ديسك آدرس‌دهي نمود تا هم شاهد اجراي سرعت عملياتي بسيار بالايي باشيم و هم از لحاظ امنيتي، در وضعيت مطلوبتري قرار بگيريم.

در اين مقاله شما به صورت جامع و مفيد، با چگونگي ايجاد و استفاده از رم ديسك در سيستم‌هاي عامل خانواده ويندوز و لينوكس آشنا خواهيد شد.

Ramdisk در ويندوز و لينوكس

 


الف) Ramdisk در سيستم عامل‌هاي مايکروسافت

مايکروسافت در سيستم عامل‌هاي 16 و 32 بيتي(DOS يا WIN9x) خود،  امکان ايجاد رم ديسک را گنجانده است. طريقه ايجاد رم ديسک در داس و ويندوز 9x مشابه هم مي‌باشد و براي ايجاد آن بايد فايلconfig.sys  واقع در ريشه درايو C: را ويرايش نموده و يک سطر با مضمون «device=\ramdrive.sys /E» به آن اضافه نماييد تا همواره در زمان راه‌اندازي سيستم عامل، يک رم ديسک به اندازه درخواست شما ايجاد گردد.

در نمونه زير، پس از فعال‌سازي حافظه‌هاي فوقاني و گسترده (سطرهاي اول و دوم)، در سطر سوم به ميزان دو مگابايت رم ديسك از سيستم عامل درخواست شده است.

DEVICE=C:\WINDOWS\HIMEM.SYS

  يا 

DEVICE=C:\DOS\HIMEM.SYS  

 

DEVICE=C:\WINDOWS\EMM386.EXE   يا 

DEVICE=C:\DOS\EMM386.EXE

 

DEVICEHIGH=C:\WINDOWS\RAMDRIVE.SYS 2048 /E

 يا  

DEVICEHIGH=C:\DOS\RAMDRIVE.SYS 2048 /E

بدين طريق پس از Restart سيستم و بوت مجدد آن، به اندازه 2048 کيلوبايت از حافظه سيستم، به عنوان رم ديسک در نظر گرفته خواهد شد. براي افزودن ميزان رم ديسک فقط عدد 2048 را به ميزان دلخواه تا 32767 بايت (32 مگابايت منهاي يک بايت) تغيير دهيد.

کاربراني که بنا هر دليلي هنوز از سيستم عاملDOS  يا ويندوز9x  استفاده مي‌کنند، براي آدرس‌دهي دايرکتوريTEMP   به رم ديسک، مي‌توانند سطر SET TEMP = D:\ (E:\,F:\,…)  را به فايل C:\AUTOEXEC.BAT  اضافه نمايند تا فايل‌هاي موقت در رم ديسک نوشته شوند.

تصوير زير نمونه‌اي از رم ديسک ايجاد شده در ويندوز 98 را نشان مي‌دهد.

 

در ويندوزهاي 2000 به بالا، براي استفاده از مزاياي رم ديسک، ابتدا بايد مقدمات لازم را فراهم سازيد. به همين خاطر ابتدا فايل ramdisk.exe را از آدرس زير دانلود نماييد: (حجم اين فايل 55 كيلوبايت است)

http://download.microsoft.com/download/win2000ddk/sample01/1/nt5/en-us/ramdisk.exe

از آنجاييکه اين فايل به صورت SFX(self extracting) مي‌باشد، با اجراي آن مي‌توانيد محتويات آن را در دايرکتوري دلخواه (مثلا C:\RAMDISK) Extract نماييد. اين فايل فشرده، حاوي فايل‌هاي زير مي‌باشد:

DEBUG.H , EULA.TXT , MAKEFILE , PNP.C , RAMDISK.C , RAMDISK.H , RAMDISK.HTM , RAMDISK.INF , RAMDISK.SYS , SOURCES  

که شامل فايل‌هاي سورس، سيستم، سرآيند و راهنماي رم ديسک مي‌شوند. فايل RAMDISK.HTM نيز حاوي راهنماي مختصري در مورد رم ديسک و نحوه نصب آن در ويندوز و همچنين توضيحات کوتاهي در مورد فايل‌هاي فوق است. براي نصب رم ديسک بر روي ويندوزهاي 2000 ، XP و Vista، بايد از طريق کنترل پنل (Control Panel)، و اجراي گزينهAdd Hardware اقدام نماييد. بدينگونه که پس از اجراي Add Hardware و کليک بر روي NEXT در صفحه اول ويزارد و جستجوي سخت‌افزار جديد توسط ويندوز، با انتخاب گزينه“Yes, I have already connected the hardware” به مرحله بعد مي‌رويد. در گام بعدي گزينهAdd a new hardware device را از بين گزينه‌هاي موجود در پنجرهInstalled hardware:   انتخاب و بر روي Next  کليک کنيد.

در مرحله بعدي ويزارد، گزينه زير را انتخاب نموده و به مرحله بعد برويد:

“Install the hardware that I manually select from a list (Advanced)”

در پنجره Common All Devices، گزينه Show All Devices  را انتخاب و بر روي Next کليک کنيد. پس از کليک بر روي گزينهHave Disk، فايل  C:\RAMDISK\RAMDISK.INF را از طريق Browse براي ويزارد آدرس‌دهي نموده و بر روي دکمهOpen  کليک کنيد. با انتخاب عنوانRamdisk Driver  در پنجره Model ، به مرحله بعد برويد.

پس از طي اين مراحل، عنوان سخت‌افزار شناخته شده به شما نمايش داده مي‌شود و از شما درخواست مي‌شود براي نصب آن بر روي Next کليک کنيد. پس از اين مرحله، ويندوز با کپي نمودن فايل فوق به آدرس %SystemRoot%\System32\Drivers ، موفقيت در نصب Ramdisk را به شما اعلام مي‌نمايد که در Restart بعدي کامپيوتر، شما مي‌توانيد رم‌ديسک ساخته شده را از طريقMy Computer  مشاهده و استفاده نماييد.

شکل زير، نمونه‌اي از رم ديسک ايجاد شده در ويندوزVista  را نشان مي‌دهد.

 

 

لازم به ذكر است، در ويندوزهاي 2000 به بالا، براي تغيير سايز رم ديسک، بايد از طريق ريجستري و با ويرايش  Dword موجود در آدرس زير که با عنوان  DiskSize مي‌باشد، تغييرات مربوط به اندازه درايو را انجام دهيد:

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Ramdisk\Parameters]

"BreakOnEntry"=dword:00000000

"DebugLevel"=dword:00000000

"DebugComp"=dword:ffffffff

"DiskSize"=dword:00100000

"DriveLetter"="Z:"

"RootDirEntries"=dword:00000200

"SectorsPerCluster"=dword:00000002

 

در نظر داشته باشيد که ارزش پيش‌فرض DiskSize به صورت هگزادسيمال ثبت شده است که با تغيير آن به دسيمال، مي‌توانيد ميزان حقيقي آن را به صورت بايت ثبت و تاييد نماييد تا در بوت بعدي سيستم، به همان ميزان از ظرفيت حافظه، به عنوان رم ديسک رزرو گردد.

بايد تاكيد نمود، يکي از مهمترين موارد استفاده از رم ديسک، ذخيره سازي فايل‌هاي موقت، کوکي‌ها و يا تاريخچه اينترنت اکسپلورر مي‌باشد. بدين طريق در اينترنت اکسپلور(نسخه IE 7.0) مي‌توانيد با تغيير دادن مسير Temporary Internet Files از طريق منويTools  و سپسInternet Options، تب General بخش Browsing History ، گزينه Setting  و سپس گزينه Move Folder… و در( نسخه IE 6.0 ) از منويTools  و سپس Internet Options ، تب General  ، بخشTemporary Internet Files و گزينه Setting  و سپس گزينه Move Folder…، آدرس محل ذخيره فايل‌هاي موقت اينترنت اکسپلورر را به رم ديسک تغيير دهيد.

ضمنا راحت‌ترين راه براي ايجاد تغييرات در مسير ذخيره فايل‌هاي موقت مربوط به اينترنت اکسپلورر، تغيير آدرس‌هاي ذخيره سازي اين فايل‌ها در ريجستري ويندوز مي‌باشد. بدين صورت كه با مراجعه به آدرس زير و تغيير آدرس Value Data رشته‌هاي(String)  Cache , Cookies , History به رم ديسک، محتويات آنها را در رم ديسک ذخيره نماييد.

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

همچنين شما مي‌توانيد آدرس دايركتوري Temp ويندوز را نيز از طريق Control Panel®Sysytem®Environment Variables®User variables for …®Edit به رم ديسك تغيير دهيد.

 

البته تاكيد مي‌شود، از رم ديسک فقط براي مواردي که در مقاله به آنها اشاره گرديد، استفاده نمي‌شود، بلکه با آن مي‌توانيد همان رفتاري را که با يک درايو هارديسکتان داريد، داشته باشيد. با اين تفاوت که فايل‌هاي ذخيره شده فقط تا زمان فعال بودن سيستم عامل موجود است، اما در عوض سرعت دسترسي به آنها و اجراي آنها، به طرز شگفت‌انگيزي سريع‌تر است.

همچنين ناگفته نماند، نسخه‌هاي تجاري متعددي از رم ديسك نيز وجود دارند كه امكانات بيشتري براي ايجاد هر ميزان رم ديسك (براساس ظرفيت حافظه و نسخه سيستم عامل) با قابليت تعيين نوع فايل سيستم و نوع كارآيي، در اختيار كاربران قرار مي‌دهند.

نمونه‌هايي از اين نوع نرم‌افزارها را در آدرس‌هاي زير مي‌توانيد دانلود نماييد:

http://www.superspeed.com/ramdisk.php

http://www.cenatek.com/product_page_ramdisk.php

 

 

 

ب) Ramdisk در سيستم عامل لينوکس

سيستم عامل لينوکس نيز همچون سيستم عامل ويندوز، به ما اجازه مي‌دهد که بتوانيم بر روي حافظه‌، فايل‌سيستم ايجاد کنيم و در آن به مديريت فايل‌ها و دايرکتوري‌ها بپردازيم. در واقع هر آنچه که قبلا در باره رم ديسک در ويندوز تشريح شد، در مورد سيستم عامل لينوکس نيز صادق است؛ به استثناي مواردي که مختص لينوکس مي‌باشد.

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

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

 

در ادامه با نحوه ايجاد و استفاده از رم ديسک در لينوكس آشنا مي‌شويم:

استفاده و به کارگيري مستقيم فايل‌هاي /dev/ram*

مرحله اول:

معمولا هسته كرنل همه توزيع‌هاي فعلي لينوكس، به دليل فعال بودن پيش فرض قابليت لود ماژول مربوط به پشتيباني از رم ديسک در هنگام نصب سيستم عامل و يا کامپايل کرنل، از رم ديسک پشتيباني مي‌كنند. بنابراين ابتدا به آنچه که خود سيستم عامل به صورت بالقوه تدارک ديده است، نظري مي‌افکنيم. بدين منظور ابتدا از فايل‌هاي رابط رم ديسک در دايرکتوري /dev ليست مي‌گيريم.

[root@localhost~]#ls -l /dev/ram*

lrwxrwxrwx 1 root root     4 2007-11-20 20:22 /dev/ram -> ram1

brw-r----- 1 root disk 1,  0 2007-11-20 15:22 /dev/ram0

brw-r----- 1 root disk 1,  1 2007-11-20 15:22 /dev/ram1

brw-r----- 1 root disk 1, 10 2007-11-20 15:22 /dev/ram10

brw-r----- 1 root disk 1, 11 2007-11-20 15:22 /dev/ram11

brw-r----- 1 root disk 1, 12 2007-11-20 15:22 /dev/ram12

brw-r----- 1 root disk 1, 13 2007-11-20 15:22 /dev/ram13

brw-r----- 1 root disk 1, 14 2007-11-20 15:22 /dev/ram14

brw-r----- 1 root disk 1, 15 2007-11-20 15:22 /dev/ram15

brw-r----- 1 root disk 1,  2 2007-11-20 15:22 /dev/ram2

brw-r----- 1 root disk 1,  3 2007-11-20 15:22 /dev/ram3

brw-r----- 1 root disk 1,  4 2007-11-20 15:22 /dev/ram4

brw-r----- 1 root disk 1,  5 2007-11-20 15:22 /dev/ram5

brw-r----- 1 root disk 1,  6 2007-11-20 15:22 /dev/ram6

brw-r----- 1 root disk 1,  7 2007-11-20 15:22 /dev/ram7

brw-r----- 1 root disk 1,  8 2007-11-20 15:22 /dev/ram8

brw-r----- 1 root disk 1,  9 2007-11-20 15:22 /dev/ram9

lrwxrwxrwx 1 root root     4 2007-11-20 20:22 /dev/ramdisk -> ram0

در ليست فوق ملاحظه مي‌کنيد که تعداد 16 فايل از ram0 تاram15  (بعلاوه دو فايل از نوع لينك سمبوليك)، در دايرکتوري /dev  موجود مي‌باشند.

تاييد اين مطلب را از خروجي دستور[root@localhost~]# dmesg | grep RAMDISK مي‌توانيد دريابيد:

[root@localhost~]#dmesg | grep RAMDISK

RAMDISK driver initialized: 16 RAM disks of 16384K size 4096 blocksize

 

مرحله دوم:

براي استفاده از اين فايل‌ها، بايد آنها به حالت بالفعل درآوريد. به همين خاطر آنها را فرمت مي‌کنيم. براي فرمت هر يک از رم ديسک‌ها، مي‌توانيد همانند نمونه زير عمل کنيد:

[root@localhost~]# mke2fs -m 0 /dev/ram0

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

4096 inodes, 4096 blocks

0 blocks (0.00%) reserved for the super user

First data block=0

1 block group

32768 blocks per group, 32768 fragments per group

4096 inodes per group

Writing inode tables: done                            

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 35 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

 

 

مرحله سوم:

پس از اتمام عمليات فرمت رم ديسک، مي‌توان آن را به يک دايرکتوري يا همانmount point  متصل نمود. در نمونه زير، ابتدا يک دايرکتوري به نام ram0 در/mnt  ساخته مي‌شود و سپس رم ديسک مورد نظر به آن متصل مي‌شود.

[root@localhost]# mkdir /mnt/ram0

[root@localhost]# mount –t auto /dev/ram0 /mnt/ram0

از دستور زير براي کنترل وضعيت مونت رم ديسک استفاده مي‌کنيم:

[root@localhost]# mount | grep ram0

/dev/ram0 on /mnt/ram0 type ext2 (rw)

از دستور زير نيز براي ملاحظه خصوصيات و ظرفيت رم ديسک استفاده مي‌شود:

[root@localhost]# df -h | grep ram0

Filesystem            Size  Used Avail Use% Mounted on

/dev/ram0              16M   24K   16M   1% /mnt/ram0

اكنون رم ديسك آماده شده، و شما مي‌توانيد از آن همانند ساير ديسك‌ها استفاده کنيد؛ در آن فايل‌ها را کپي، منتقل، پاک، ويرايش و يا ايجاد نماييد.

[root@localhost] # cp path/filename1 /mnt/ram0 

[root@localhost] # mv path1/filename /mnt/ram0

[root@localhost] # rm /mnt/ram0/filename

[root@localhost] # gedit /mnt/ram0/filename – vi /mnt/ram0/filename

[root@localhost] # cat > /mnt/ram0/newfilename – touch /mnt/ram0/newfilename

 

در صورت مونت هر يک از فايل‌هاي ram* (در برخي از توزيع‌ها)، يک پيوند براي دسترسي به آن در دسکتاپ ايجاد خواهد شد. ضمنا براي مديريت آيکن‌هاي صفحه دسکتاپ، از دستور gconf-editor و پيمودن مسير زير مي‌توانيد استفاده نماييد.

gconf-editor ® apps ® nautilus ® desktop

 

Unmount نمودن رم ديسک

آنمونت نمودن رم ديسک، همانند آنمونت نمودن يک پارتيشن يا حافظه جانبي ديگر است که با دستوري مشابه دستور زير، مي‌توانيد آن را آنمونت نماييد:

[root@localhost]# umount –v /mnt/ram0

/dev/ram0 umounted

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

 

ساخت اتوماتيک رم ديسک در هنگام اجراي سيستم عامل با استفاده از فايل‌هاي /dev/ram*

چنانچه مي‌خواهيد در زمان بوت سيستم عامل، رم ديسک به طور اتوماتيک فرمت و مونت شود، مي‌توانيد اين کار را با افزودن دستورات زير به فايل /etc/rc.local انجام دهيد.

/sbin/mke2fs –q –m 0 /dev/ram0

/bin/mount /dev/ram0 /mnt/ram0

 

بدين ترتيب پس از اجراي سيستم عامل، ملاحظه خواهيد نمود كه رم ديسك فرمت و مونت شده و آماده بهره‌‌‌برداري است.

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

همچنين اگر بخواهيد مجددا کرنل را نصب نماييد، در هنگام پيکربندي کرنل که با دستور make menuconfig  يا make gconfig انجام مي‌دهيد، از طريق منوي Device Drivers و سپس گزينه Block devices --->  ، ماژول مربوط به رم ديسک (RAM disksupport) را فعال نماييد که در اين صورت تعداد و مقدار رم ديسکي که قرار است پشتيباني شود، نمايش داده مي‌شود. سپس بايد مراحل بعدي مربوط به نصب کرنل را ادامه دهيد تا بتوانيد از رم ديسک استفاده نماييد. جهت اطلاع بيشتر، يک نمونه از كد منبع رم ديسک لينوکس را در آدرس زير مي‌توانيد ملاحظه نماييد:

http://www.ibiblio.org/pub/historic-linux/distributions/redhat/4.1/i386/live/usr/src/linux-2.0.27/drivers/block/rd.c

 

استفاده از فايل سيستم‌هاي ramfs و يا tmpfs

گذشته از تمام مواردي که در مورد رم ديسک در لينوکس گفته شد، مي‌توانيد به صورت‌هاي ديگر نيز از رم ديسك استفاده نماييد كه از روش‌هاي پيشين بهينه‌تر و راحت‌تر مي‌باشد. به عنوان نمونه با استفاده از دستور زير مي‌توانيد فايل /dev/ramdisk را با فرمت ramfs به يك دايركتوري مونت نماييد و از همان مزاياي رم ديسك بهره‌مند شويد.

[root@localhost~]#mount –t ramfs /dev/ramdisk /mnt/ramfs

براي آنمونت آن نيز از دستور زير استفاده مي‌کنيم:

[root@localhost~]#umount –v /mnt/ramfs

/dev/ram0 umounted

 

همانگونه که ملاحظه مي‌کنيد، پيام سيستم عامل در مورد آنمونت /mnt/ramfs  ، اشاره به فايل/dev/ram0  دارد. بنابراين در نظر داشته باشيد چنانچه بخواهيد به طور همزمان از ram0 و هم از /dev/ramdisk استفاده نماييد و هر دوي اينها را همزمان به يک دايرکتوري مونت نماييد، در صورت آنمونت، فقط اطلاعات مربوط به /dev/ramdisk از بين خواهد رفت و از نظر استفاده از رم ديسک نيز، موردي که اخيراً مونت شده است، مقدم خواهد بود.

اما فايل سيستم tmpfs  (برخلاف رم ديسک(/dev/ram*) که قابليت انتقال به swap را نداشته و فقط از حافظه فيزيکي استفاده مي‌کند)، فايل سيستمي است که فايل‌ها را در حافظه مجازي مي‌نويسد و استفاده از آن راحت‌تر و داراي انعطاف بيشتري (خصوصا در تغيير سايز) است. بنابراين چنانچه ظرفيت رم ديسك براي شما اهميت دارد، پيشنهاد مي‌شود از فايل سيستم tmpfs استفاده نماييد. به عنوان مثال، دستور زير، سايز فايل سيستم از نوع tmpfs را به 128 مگابايت افزايش مي‌دهد.

 [root@localhost~]#mount –t tmpfs –o size=128M tmpfs /mnt/tmpfs

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

 

استفاده از فايل سيستم tmpfs كه به دايركتوري /dev/shm مونت مي‌شود

براي ايجاد آن، بايد در فايل /etc/fstab مشخصات آن را براي سيستم عامل معرفي نماييد. نمونه زير، فضايي با ظرفيت 32 مگابايت را به دايرکتوري /dev/shm مونت خواهد نمود:

tmpfs          /dev/shm       tmpfs             size=32m               0     0

در Restart بعدي، براي به روز‌آوري فايل سيستم‌هاي ثبت شده در فايل /etc/fstab  ، مي‌توانيد از دستور #mount –a استفاده نماييد. حال خروجي دستور df براي نمايش ميزان فضاي /dev/shm به شرح زير خواهد بود:

[root@localhost~]#df –h /dev/shm

 

Filesystem            Size  Used Avail Use% Mounted on

tmpfs                 32M   0M   32M   0%  /dev/shm

به خاطر داشته باشيد كه هرچه در دايرکتوري /dev/shm کپي نماييد، بعد از Restart کامپيوتر يا آنمونت نمودن آن، اثري از آن نخواهيد ديد.

 

سخن آخر

آنچه که در مورد رم ديسک در لينوکس گفته شد، در مورد رم ديسک ابتدايي (Initial RAM Disk(initrd)) که در هنگام بوت سيستم ايجاد مي‌شود تا به پروسه بوت سيستم کمک کند، صادق نيست، زيرا initrd فايل سيستمي است که حاوي تعدادي از فايل‌هاي اجرايي، سيستمي و درايورهايي است که در زمان بوت سيستم موقتا مونت مي‌شود تا به پروسه بوت سيستم کمک نموده و تا زمان دستيابي و مونت فايل سيستم root  باقي مي‌ماند و بعد از آنمونت شدن نيز، حافظه مربوط به آن آزاد مي‌شود. بحث در مورد initrd يک مبحث جداگانه و مفصلي مي‌طلبد که در اين مبحث نمي‌گنجد.

اميد است که اين مقاله مورد استفاده شما خوانندگان عزيز قرار گرفته باشد.

موفق باشيد

 

موسي حيدري


 دانش و كامپيوتر
تمامی حقوق این سايت محفوظ است | طراحی : پیچک
قالب وبلاگقالب میهن بلاگ