你是否了解Linux中的Ramdisk与Initrd_第1页
你是否了解Linux中的Ramdisk与Initrd_第2页
你是否了解Linux中的Ramdisk与Initrd_第3页
你是否了解Linux中的Ramdisk与Initrd_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

你是否了解Linux中的Ramdisk与Initrd?Ramdisk简介先简单介绍一下ramdisk,Ramdisk是虚拟于RAM中的盘(Disk)。对于用户来说,可以把RAMdisk与通常的硬盘分区(如/dev/hda1)同等对待来使用,例如:redice#mkfs.ext2/dev/ram0

mke2fs1.38(30-Jun-2005)

Filesystemlabel=

OStype:Linux

Blocksize=1024(log=0)

Fragmentsize=1024(log=0)

2048inodes,8192blocks

409blocks(4.99%)reservedforthesuperuser

Firstdatablock=1

1blockgroup

8192blockspergroup,8192fragmentspergroup

2048inodespergroup

Writinginodetables:done

Writingsuperblocksandfilesystemaccountinginformation:done

Thisfilesystemwillbeautomaticallycheckedevery24mountsor

180days,whichevercomesfirst.

Usetune2fs-cor-itooverride.

redice#mount/dev/ram0/mnt/rd

redice#ls/mnt/rd

lost+found

redice#mount

/dev/hda2on/typeext3

procon/proctypeproc(rw)

/dev/ram0on/tmp/xxxtypeext2(rw)当然,Ramdisk与硬盘分区有其不同的地方,例如RAMdisk不适合作为长期保存文件的介质,掉电后Ramdisk的内容会随内存内容的消失而消失。Ramdisk的其中一个优势是它的读写速度高,可以被用作需要高速读写的文件。但在2.6版本后,Ramdisk的这一作用开始被tmpfs(Virtualmemoryfilesystemsupport)取代。回到上面的例子,我们格式化了一个ramdisk(/dev/ram0)并且将其mount到/mnt/rd目录下,那么这个Ramdisk有多大呢?先看一下:redice#df-h/dev/ram2

Filesystem

容量

已用可用已用%挂载点

/dev/ram0

7.8M

1.0K

7.4M

1%/mnt/rd从上面的信息看出,ramdisk有大约7.8M的可用空间。我们再试一下另外的文件系统,重新格式化成minix分区并挂接试一下:redice#umount/mnt/rd

redice#mkfs.minix/dev/ram0

2752inodes

8192blocks

Firstdatazone=90(90)

Zonesize=1024

Maxsize=268966912

redice#mount/dev/ram0/mnt/rd

redice#df-h/dev/ram0

Filesystem

容量

已用可用已用%挂载点

/dev/ram0

8.0M

1.0K

8.0M

1%/mnt/rd现在看出来了,的确是8M(这同时说明,EXT2文件系统本身要占用一定的存储空间,相比之下minix文件系统要少些),这个空间是在编译核心时就确定下来了,在配置Ramdisk时,有一个叫DefaultRAMdisksize的参数决定默认情况下Ramdisk的大小。可以通过核心命令行参数(ramdisk_size)来改变这个值,例如要设置Ramdisk的大小为16M,在grub中可以用:#grub.conf-

default=0

timeout=10

splashimage=(hd0,0)/grub/splash.xpm.gz

titleRediceLinux

root(hd0,0)

kernel/vmlinuzroroot=LABEL=/hdc=ide-scsiramdisk_size=16384

initrd/initrd这样,Ramdisk的大小就变成16M了。这个参数是Ramdisk直接编译到核心时才能使用的,如果Ramdisk编译为模块,则应该使用模块参数来设置Ramdisk的大小:redice#insmodrdrd_size=16384编译到核心时,可以通过下面的一些核心命令行参数来配置Ramdisk:·

ramdisk_size-ramdisk的大小(Kbytes);·

ramdisk-与ramdisk_size的作用相同;·

ramdisk_blocksize-ramdisk的块大小,默认情况为1024;当以模块的形式译时,模块支持以下几个加载参数:·

rd_size-同上面的ramdisk_size或ramdisk参数;·

rd_blocksize-同上面的ramdisk_blocksize;initrd上面已经提到,Ramdisk需要先格式化然后理能使用。那么,如果核心希望使用ramdisk该如何做呢?于是initrd产生了,initrd全称是initialRAMdisk,它提供一种让核心可以简单使用Ramdisk的能力,简单的说,这些能力包括:1.

格式化一个Ramdisk;2.

加载文件系统内容到Ramdisk;3.

将Ramdisk作为根文件系统;我们可以将initrd形像的比作NortonGhost备份的硬盘分区,而Linux启动阶段的Ramdisk相当于一个未格式化的硬盘分区,核心可以直接将initrd的内容释放到一个未初始化的Ramdisk里,这个过程与Ghost恢

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论