当前位置:文档之家› ramdisk根文件系统制作

ramdisk根文件系统制作

ramdisk根文件系统制作
ramdisk根文件系统制作

制作ramdisk类型文件系统

ramdisk也就是内存盘的意思。

所谓的RAM驱动器,实际上是把系统内存划出一部分当作硬盘使用。对于操作系统来讲内存的存取速度远远大于机械磁盘,所以RAM驱动器肯定要比机械的硬盘快得多。你可以把整个应用程序都安装在ramdisk的驱动器中,然后用内存的速度运行它。使用RAM驱动器技术对于延长笔记本电脑电池使用时间也是十分有利的,因为这样做可以减少访问“耗电大户”——硬盘的次数。

Ram:内存,Disk:磁盘,在Linux中可以将一部分内存当作分区来使用,称之为Ramdisk。对于一些经常被访问、并且不会被更改的文件,可以将它们通过Ramdisk 放在内存中,能够明显地提高系统性能。Ramdisk工作于虚拟文件系统(VFS)层,不能格式化,但可以创建多个Ramdisk。虽然现在硬盘价钱越来越便宜,但对于一些我们想让其访问速度很高的情况下,Ramdisk还是很好用的。

如果对计算速度要求很高,可以通过增加内存来实现,使用ramdisk技术。一个A Ramdisk就是把内存假设为一个硬盘驱动器,并且在它的上面存储文件。假设有几个文件要频繁的使用,如果将它们加到内存当中,程序运行速度会大幅度提高,因为内存的读写速度远高于硬盘。划出部分内存提高整体性能,不亚于更换新的CPU。像Web服务器这样的计算机,需要大量读取和交换特定的文件。因此,在Web服务器上建立Ramdisk会大大提高网络读取速度。

从制作Ramdisk 根文件系统的方法上来说,是很简单的。

1.配置Linux内核支持Ramdisk类型的文件系统。

2.制作好根文件系统,使用之前实验案例制作好的根文件系统。

3.将制作好的根文件系统制作成Ramdisk类型文件系统。

4.下载到TPAD上使用测试。

实现

1.对内核进行配置,使得内核能够支持Ramdisk类型的文件系统,如图-9,图-10,图-11。

$ cd /home/tarena/workdir/tools/linux-2.6.35.7

$ make menuconfig

$ make zImage

$ cp arch/arm/boot/zImage /tftpboot

图-9

图-10

图-11

2.制作Ramdisk文件系统的过程,如图-12,图-13,图-14,图-15,图-16所示。 $ cd /home/tarena/workdir/tools/busybox-1.19.4/_install/dev

$ sudo mknod console c 5 1

$ sudo mknod null c 1 3

$ cd /home/tarena/workdir/tools/busybox-1.19.4

$ dd if=/dev/zero of=initrd.img bs=1k count=8192

$ sudo mkfs.ext2 -F initrd.img

$ sudo mkdir /mnt/initrd

$ sudo mount -t ext2 -o loop initrd.img /mnt/initrd

$ sudo cp _install/* /mnt/initrd -a

$ sudo umount /mnt/initrd

$ gzip --best -c initrd.img > ramdisk.img

$ sudo chmod 777 ramdisk.img

$ cp ramdisk.img /tftpboot

图-12

图-13

图-14

图-15

图-16

3.复位启动TPAD,进入到Uboot下修改TPAD的启动参数。

tarena# setenv bootcmd tftp 50008000 zImage \; tftp 50800000 ramdisk.img \; bootm 50008000

tarena# setenv bootargs root=/dev/ram rw init=/linuxrc initrd=0x50800000,8M console=ttySAC0,115200

tarena# saveenv

1,进入工作目录,建立需要的目录

$mkdir rdmnt// 新ramdisk挂载的目录

$mkdir rdimg// 产生的镜像文件的目录

$mkdir rdold // ramdisk旧文件目录

$mkdir rdold/tmp // 挂载旧ramdisk的目录

2,挂载旧的ramdisk

$mount -o loop rdold/ramdisk rdold/tmp

3,建立新的ramdisk,并初始化

$dd if=/dev/zero of=rdimg/ramdisk.img bs=1k count=15360

// 建立了一个15M的ramdisk镜像文件,并用/dev/zero设备初始化

4,为镜像文件建立文件系统

$mke2fs -F -v -m0 rdimg/ramdisk.img

5,挂载新的ramdisk

$mount -o loop rdimg/ramdisk.img rdmnt

6,拷贝需要的文件进入新的ramdisk

$cp -av rdold/tmp/* rdmnt

7,卸载旧的ramdisk

$umount rdold/tmp

8,卸载新的ramdisk

$umount rdmnt

9,把新的ramdisk制成压缩包

$gzip -9 rdimg/ramdisk.img ramdisk.gz

在此ramdisk.gz即为新建立的ramdisk镜像

为了方便建立笔者建立的两个shell脚本,其能快速建立需要的ramdisk镜像. shell脚本:createrd 建立新的ramdisk,并挂载拷贝好旧的文件.

#!/bin/sh

rm rdimg/*

mount -o loop rdold/ramdisk rdold/tmp

dd if=/dev/zero of=rdimg/ramdisk bs=1k count=15360

mke2fs -F -v -m0 rdimg/ramdisk

mount -o loop rdimg/ramdisk rdmnt

cp -av rdold/tmp/* rdmnt

umount rdold/tmp

shell脚本:completerd 卸载ramdisk并压缩(最后拷贝到目标目录)

#!/bin/sh

umount rdmnt

gzip -c -9 ramdisk > rdimg/ramdisk.gz

cp rdimg/ramdisk.gz /opt/LinuxShare

[注]脚本编辑好后,记着用 chmod +x filename 使之能够执行.

如何修改ramdisk文件系统

ramdisk 是一种基于内存的虚拟磁盘技术,采用ext2文件系统。ramdisk.gz是ramdisk 文件再压缩后的格式。

查看ramdisk.gz根文件系统,或者对原有的文件系统进行修改,只需解压,再把获得的镜像文件挂载即可。

步骤如下:

1)解压:

转到ramdisk.gz所在文件夹

#gunzip ramdisk.gz

注意,解压后会得到ramdisk镜像文件,该镜像文件会把原有的ramdisk.gz覆盖,因此如果想保留ramdisk.gz复制到其他文件夹后再解压。

2)挂载

#mkdir /mnt/loop

#mount –o loop ramdisk /mnt/loop //挂载镜像到loop目录 #cd /mnt/loop

这里可以看到, 就是ramdisk.gz成功加载后的目录

3)修改文件系统的内容

比如设置固定的IP地址,MAC地址。

4)umount /mnt/loop

卸载 /mnt/loop0.

5)重新压缩成.gz压缩文件

#gzip –v9 ramdisk //生成新的ramdisk.gz压缩文件

SuperSpeed Ramdisk_Plus设置及使用方法

SuperSpeed Ramdisk 10.0.1,此Ramdisk 正式支援Windows 7、且同时支援x86 和x64。首先还是最关心的x86 4GB 记忆体问题。为此32 位元Windows 7 必须开启PAE: Start ? All Programs ? Accessories ? Command Prompt 点右键,再点Run as administrator,执行以下命令。bcdedit /set pae forceenable 开启PAE 要重新开机才能生效。然后再开SuperSpeed Ramdisk。 软体介面点工具列的Memory 如图示。点Unmanaged。 点Configure。勾选Enable use of unmanaged memory。

若未能自动识别记忆体,就取消勾选下方的两项。手动输入:第一栏,电脑安装的记忆体容量(MB);第二栏肯定是写0。最后点OK,出现提示:就是说已经成功启用作业系统无法使用的那部分记忆体给ramdisk。 接下来将方才配置记忆体时开启的视窗关掉,添加ramdisk。软体介面点工具列最左边的加号图示。 点Next,指定ramdisk 的记忆体容量。我在这里指定512MB,先作为测试之用。因为本人的4GB 记忆体只能用 3.5GB,先将作业系统无法用到的0.5GB 指定为ramdisk,这512MB ramdisk 应该不会占用作业系统可用的记忆体,也就是说ramdisk 添加后,Task Manager 中显示的已使用记忆体的数量不变。 当删除或恢复ramdisk 时,是否清空旧有的ramdisk 内容(偶觉得应该是这么理解)。这项偶觉得勾选之会比较好。Ramdisk 的磁碟机代号,用R。

嵌入式Linux根文件系统制作

实训项目四-嵌入四Linux系统根文件系统制作一. 项目实施目的 了解 UP-CUP2440 型实验平台Linux 系统下根文件系统结构 掌握根文件系统的搭建过程 掌握busybox、mkcramfs等工具的使用方法 二. 项目主要任务 使用busybox生成文件系统中的命令部分,使用mkcramfs工具制作CRAMFS 格式的根文件系统。 分析根文件系统etc目录下重要配置文件的格式及语法,熟悉根文件系统的启动过程 三. 基本概念 1.文件系统基本概念 Linux的一个最重要特点就是它支持许多不同的文件系统。这使Linux非常灵活,能够与许多其他的操作系统共存。Linux支持的常见的文件系统有:JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。随着时间的推移, Linux支持的文件系统数还会增加。Linux是通过把系统支持的各种文件系统链接到一个单独的树形层次结构中,来实现对多文件系统的支持的。该树形层次结构把文件系统表示成一个整个的独立实体。无论什么类型的文件系统,都被装配到某个目录上,由被装配的文件系统的文件覆盖该目录原有的内容。该个目录被称为装配目录或装配点。在文件系统卸载时,装配目录中原有的文件才会显露出来。在Linux 文件系统中,文件用i节点来表示、目录只是包含有一组目录条目列表的简单文件,而设备可以通过特殊文件上的I/O 请求被访问。 2.常见的嵌入式文件系统 嵌入式Linux系统一般没有大容量的磁盘,多使用flash存储器,所以多采用基于Flash(NOR和NAND)的文件系统或者RAM内存的文件系统。 (1)Flash根据结构不同分为 NOR Flash和NAND Flash。基于flash的文件系统主要有: jffs2:RedHat基于jffs开发的文件系统。

busybox详解制作根文件系统

详解制作根文件系统 单击,返回主页,查看更多内容 一、FHS(Filesystem Hierarchy Standard)标准介绍 当我们在linux下输入ls / 的时候,见到的目录结构以及这些目录下的内容都大同小异,这是因为所有的linux发行版在对根文件系统布局上都遵循FHS标准的建议规定。 该标准规定了根目录下各个子目录的名称及其存放的内容: 制作根文件系统就是要建立以上的目录,并在其中建立完整目录内容。其过程大体包括: ?编译/安装busybox,生成/bin、/sbin、/usr/bin、/usr/sbin目录 ?利用交叉编译工具链,构建/lib目录 ?手工构建/etc目录 ?手工构建最简化的/dev目录 ?创建其它空目录 ?配置系统自动生成/proc目录 ?利用udev构建完整的/dev目录 ?制作根文件系统的jffs2映像文件 下面就来详细介绍这个过程。 二、编译/安装busybox,生成/bin、/sbin、/usr/bin、/usr/sbin目录

这些目录下存储的主要是常用命令的二进制文件。如果要自己编写这几百个常用命令的源程序,my god,这简直是一个噩梦!好在我们有嵌入式Linux系统的瑞士军刀——busybox,事情就简单很多。 1、从https://www.doczj.com/doc/578080129.html,/下载busybox-1.7.0.tar.bz2 2、tar xjvf busybox-1.7.0.tar.bz2解包 3、修改Makefile文件 175 ARCH ?= arm 176 CROSS_COMPILE ?= arm-linux- 4、make menuconfig配置busybox busybox配置主要分两部分。 第一部分是Busybox Settings,主要编译和安装busybox的一些选项。这里主要需要配置:

Ramdisk的制作硬件原理

Ramdisk的制作硬件原理 2011-07-15 By:平台组 Ramdisk是一种模拟的磁盘,其数据实际上存储在RAM 中,它使用一部分内存空间来模拟出一个磁盘,以块设备的方式来访问这片内存,Ramdisk对应的设备文件一般为/dev/ram%d 在/home/com_target_master/文件系统下没有mke2fs命令,1》 从mvl31_82xx_target/sbin/目录下,将mke2fs移植到/home/com_target_master/sbin目录下. 2》可能缺少两个库文件,从 mvl31_82xx_target/lib/libe2p.so.2.3 和libuuid.so.1.2 到 /home/com_target_master/lib/下 然后ln -s libe2p.so.2.3 libe2p.so.2 ln -s libuuid.so.1.2 libuuid.so.1 移植就成功了 3》 通过下面三组命令 使用下面一组命令就可以创建并挂载Ramdisk: mkdir /tmp/ramdisk0 //创建挂载点

mke2fs /dev/ram0 1024 //创建一个文件系统 mount /dev/ram0 /tmp/ramdisk0 //装载Ramdisk 如果想跟挂载的大小可以在后面跟参数。 mke2fs /dev/ram0 1024 大概是1M mke2fs [-cFMqrSvV][-b <区块大小>][-f <不连续区段大小>][-i <字节>][-N ][-l <文件>][-L <标签>][-m <百分比值>][-R=<区块数>][ 设备名称][区块数] 补充说明:mke2fs可建立Linux的ext2文件系统。 参数: -b<区块大小> 指定区块大小,单位为字节。 -c 检查是否有损坏的区块。 -f<不连续区段大小> 指定不连续区段的大小,单位为字节。 -F 不管指定的设备为何,强制执行mke2fs。 -i<字节> 指定"字节/inode"的比例。 -N 指定要建立的inode数目。 -l<文件> 从指定的文件中,读取文件西中损坏区块的信息。 -L<标签> 设置文件系统的标签名称。 -m<百分比值> 指定给管理员保留区块的比例,预设为5%。 -M 记录最后一次挂入的目录。 -q 执行时不显示任何信息。 -r 指定要建立的ext2文件系统版本。 -R=<区块数> 设置磁盘阵列参数。 -S 仅写入superblock与group descriptors,而不更改inode able inode bitmap以及block bitmap。 -v 执行时显示详细信息。 -V 显示版本信息。

liu改udhcpc配置+根文件系统制作

基于ubuntu12.06 Mini2440 256M 试验通过2013年4月8日星期一 1、获得simple.script #解压busybox tar jxvf busybox-1.5.0.tar.ba2 mv busybox-1.5.0 busybox cd busybox #添加交叉工具链 export PATH=/usr/local/arm/3.3.2/bin:$PATH make defconfig make menuconfig #配置时,我们基于默认配置,再配置它为静态编译,安装时不要/usr路径,把Miscellaneous Utilities #下的“taskset”选项去掉,不然会出错。 #如下: Busybox setting ->builds options ->[*] build busybox as a static binary ->installitation options ->[*] don’t use /usr Miscellaneous Utilities ―> [ ] taskset 保存退出。 #编译安装 make ARCH=arm CROSS_COMPILE=arm-linux- CONFIG_PREFIX=/root/build_rootfs/rootfs all install ARCH指定平台 CROSS_COMPILE指定交叉编译 CONFIG_PRRFIX指定安装的路径 或者直接修改Makefile文件 生成的udhcpc是一个链接在上面的安装目录/all/sbin 下 此时把busybox考到根文件系统的/bin下和把udhcpc拷到根文件系统的/sbin(其实原有的根文件系统里可能已经包含了udhcpc{这样该不该都行,或许吧})开机运行/sbin 下的udhcpc就可以自动获得IP。 关键点要把busybox目录下的examples/udhcp/simple.script 脚本文件做为default.script拷贝到根文件系统的/usr/share/udhcpc/default.script。没有则自己创建。

实验四 ramdisk 根文件系统的制作

实验四ramdisk根文件系统的制作 一.实验目的 1.熟悉根文件系统组织结构; 2.定制、编译ramdisk根文件系统。 二.实验设备 1.硬件:EduKit-IV 嵌入式教学实验平台、Mini2410 核心子板、PC 机; 2.软件:Windows 2000/NT/XP、Ubuntu 8.04、其他嵌入式软件包。 三.实验内容 利用6.3 中的已经完成的文件系统,生成一个根文件系统镜像。 四.实验原理 ramdisk是内核初始化的时候用到的一个临时文件系统,是一个最小的linuxrootfs系统,它包含了除内核以外的所有linux系统在引导和管理时需要的工具,做为启动引导驱动,包含如下目录: bin,dev,etc,home,lib,mnt,proc,sbin,usr,var。还需要有一些基本的工具:sh,ls,cp,mv……(位于/bin 目录中);必要的配置文件:inittab,rc,fstab……位于(/etc目录种);必要的设备文件:/dev/tty*,/dev/console,/dev/men……(位于/dev目录中);sh,ls等工具必要的运行库:glibc。1.制作ramdisk根文件系统映像 1)单击菜单应用程序->附件->终端打开终端,设置环境变量: $ source /usr/local/src/EduKit-IV/Mini2410/set_env_linux.sh $ source /usr/crosstool/gcc-3.4.5-glibc-2.3.6/arm-linux/path.sh 2)执行命令切换到ramdisk实验目录下: $cd $SIMPLEDIR/6.4-ramdisk 3)运行脚本文件: $ sudosh ramdisk-install.sh shell 脚本命令说明: #!/bin/bash # # ramdisk-install.sh - Make ramdiskfilesystem. # # Copyright (C) 2002-2007

RAMDisk使用教程图解

远不磨损的硬盘RAMDisk,也许有很多朋友不是很了解这种软件,不知道如何使用,那就看介绍吧. 近几年来,计算机的CPU、内存和显卡等主要配件的性能都提升得很快,而与之相对应的磁盘系统性能正越来越严重地成为整个电脑系统性能提升的瓶颈。虽然磁盘技术也从以前的ATA33发展到今天的ATA66/ ATA100/ATA133。但是,这还是不能彻底解决磁盘瓶颈的问题,特别是在运行一些对数据存取速度要求很高的程序,如数字影像处理或玩3D游戏装入纹理数据时,受磁盘存取速度的影响,屏幕画面时常会出现延迟和停顿。幸好,一种能在PC平台上应用的、名为“RAMDisk”(RAM驱动器)的技术应运而生,可解电脑玩家们的“燃眉之急”。 所谓的RAM驱动器,实际上是把系统内存划出一部分当作硬盘使用。对于操作系统来内存的存取速度远远大于机械磁盘,所以RAM驱动器肯定要比机械的硬盘快得多。你可以把整个应用程序都安装在RamDi sk的驱动器中,然后用内存的速度运行它。使用RAM驱动器技术对于延长笔记本电脑电池使用时间也是十分有利的,因为这样做可以减少访问“耗电大户”——硬盘的次数。 RamDisk内存盘的特性是把数据完全存储在内存中,所以一旦关闭计算机,就会导致内存盘中的数据完全丢失,这个特性使得内存盘特别适合于存储一些临时文件,如IE的缓存,Windows和应用程序运行时产生的临时文件,这些文件都适合放到内存盘上,从而减少硬盘上文件碎片的产生,并且不需要主动删除这些临时文件,一旦重新启动,这些垃圾文件就自动消失了。也正是这个特性,使得内存盘不适合存储重要的数据文档,因为一旦死机,这些东西就再也找不回来了。 安装使用内存盘大操作系统要求是windows2K以上,内存256兆以上。内存太小就不要使用内存盘了,否则会降低windows的运行效率。 一、Ramdisk的安装 Ramdisk绿色版下载地址:https://www.doczj.com/doc/578080129.html,/Soft/xtrj/200806/532.html

实验八 构建根文件系统

实验八构建根文件系统 一、实验目的 1、了解嵌入式Linux文件系统的作用和类型; 2、了解jffs2文件系统的优点和在嵌入式系统中的应用; 3、理解文件系统的挂载过程; 4、使用BusyBox制作一个根文件系统。 二、实验环境 预装redhat9.0(内核版本2.4.x)的pc机一台,XScale嵌入式实验箱一台(已构建嵌入式Linux系统),以太网线一根,交叉编译工具链,BusyBox软件包。 三、实验步骤 1、解压BusyBox软件包; 2、使用make menuconfig来配置BusyBox,修改交叉编译器前缀; Build Option [*] Build BusyBox as a static binary(no shared library) [*]Do you want to build BusyBox with a Cross ompile /usr/local/hybus-linux-R1.1/bin/arm-linux- Installation Option [*]Don't’t use /use Coreutils [*]ls

[*]cp [*]reboot [*]echo [*]mkdir [*]rm Editors [*]vi Login Utilities [*]getty 3、交叉编译BusyBox; make make install 4、建立BusyBox顶层目录结构 mkdir etc dev proc tmp lib var sys 5、在dev目录下创建必要的设备节点 (ram0,console,null,zero); mknod mdblock b 31 3 mknod console c 5 1 mknod null c 1 3 mknod zero c 1 5 cp –dpR /dev /_install/dev (假设busybox的安装目录为/_install)

基于busybox的根文件系统制作

龙源期刊网 https://www.doczj.com/doc/578080129.html, 基于busybox的根文件系统制作 作者:李飞,武金虎,石颖博 来源:《电脑知识与技术》2010年第17期 摘要:Busybox是构建嵌入式Linux文件系统的必备软件,它是所有文件和设备节点的起始点,是决定系统能否正常启动的关键。通过busybox-1.1.3为例,进行配置、编译、安装等过程,从而形成简单的根文件系统映像文件,为以后嵌入式Linux系统的移植打下了良好的开端。 关键词:Busybox;嵌入式Linux;Linux操作系统;根文件系统;cramfs 文件系统 中国分类号:TP316.81文献标识码:A文章编号:1009-3044(2010)17-4655-02 Making Root File System Based on Busybox LI Fei, WU Jin-hu, SHI Ying-bo (College of Computer Science and Information, Guizhou University, Guiyang 550025, China) Abstract: Busybox is an essentiaL software to buiLd an embedded Linux fiLe system. It is the starting node point of aLL the fiLes and devices and the key whether the system can have a normaL start. Taking busybox-1.1.3 for exampLe, making a simpLe root image system fiLe by configuration compiLation and instaLLation Lays a good foundation for migration of the embedded Linux system. Key words: busybox; embedded linux; Linux OS; root file system; cramfs file system 1 根文件系统结构 根文件系统是所有文件和设备节点的起始点,包括系统所必须的各种工具软件、库文件、 脚本、配置文件等一系列的文件。一个基本的Linux根文件系统包含有以下的目录:dev、proc、bin、etc、usr、Lib、temp、var、usr等等目录。其中dev是设备文件节点目录,proc是挂载proc文件系统所用的目录,bin目录下面包含了系统的基本命令,etc目录是系统启动脚本所在的目录,Lib是系统默认的动态链接库目录,usr是用户目录,temp是临时目录,用来保存临时文 件,var目录包含系统运行时要改变的数据。以上都是根文件系统所必须的目录 2 Busybox简介 熟练嵌入式Linux的朋友对busybox一定不会陌生,它是标准Linux工具的一个单个可执行实现,被形象的称为嵌入式Linux系统中的“瑞士军刀”,因为它将许多常用的UNIX工具和命令 结合到一个单独的可执行程序中。虽然busybox中的这些工具相对于GNU常用工具功能有所

固态硬盘、普通硬盘、Ramdisk虚拟的硬盘性能比较

Ramdisk使用心得 其实本文也不能说的上什么使用心得,为了很快得到结果我使用了业界公认的硬盘性能评估软件ATTO Disk Benchmark对我的固态硬盘、机械硬盘、映射到磁盘空间的内存进行测试。测试环境如下: ●Windows 10 家庭中文版64-bit ●Ramdisk软件使用AMD公司的Radeon RAMDisk的免费版,创建的虚拟硬盘大小为 512MB。 ●ATTO Disk Benchmark v3.05 ATTO Disk Benchmark的测试选项为 ●使用直接I/O(Direct I/O,根据帮助文件这是不使用系统缓存或缓冲,直接读写待 测试的硬盘) ●进行队列I/O测试(Overlapped I/O) 根据帮助文件,在这两个选项同时选中的时候可获得最佳的异步传输特性(maximum asynchronous performance)的结果。 按照科学实验的做法应该在实验条件相同的前提下做多次重复实验,不过这里为了图方便并没有“多次重复”(话说ATTO Disk Benchmark得出测试结果的时候应该已经是多次重复实验后的结果了吧)。 图1是对固态硬盘测试的结果,图2是普通硬盘的测试结果,图3是由内存虚拟的硬盘的测试结果。 结论: 1.写入测试:我的固态硬盘和普通硬盘在小文件写入方面没有太大区别,都是在110MB/s 左右达到瓶颈。而内存不知道因为什么原因并没有瓶颈效应,然而在各个文件大小写入实验中内存都击败了前两者,而且在块大小为512B以上的写入测试中内存以至少一个数量级的优势击败了固态硬盘。写入测试:内存>>固态硬盘or普通硬盘 2.读取测试:普通硬盘在110MB/s左右达到瓶颈,固态硬盘在540MB/s左右达到瓶颈。 至于内存再次完胜前两者至少一个数量级。读取测试:内存>>固态硬盘>普通硬盘 此外,内存的读写总体表现都是在1GB/s以上,这是前两者望尘莫及的。 影响半导体存储器读写速率的因素非常多,除了半导体器件的制造工艺外(这里不讨论使用磁介质的普通硬盘),现代计算机的总线结构必然会为内存作出很大的优化,以保证其快速的读写性能。不过对于用户体验方面,我觉得固态硬盘的速率足够了。

嵌入式 linux 根文件系统 rootfs

一、什么是文件系统(Filesystem) 文件系统是包括在一个磁盘(包括光盘、软盘、闪盘及其它存储设备)或分区的目录结构;一个可应用的磁盘设备可以包含一个或多个文件系统;如果您想进入一个文件系统,首先您要做的是挂载(mount)文件系统;为了挂载(mount)文件系统,您必须指定一个挂载点。 二、主要嵌入式采用的文件系统 * Linux 中,rootfs是必不可少的。PC 上主要实现有ramdisk和直接挂载HD(Harddisk,硬盘) 上的根文件系统;嵌入式中一般不从HD 启动,而是从Flash 启动,最简单的方法是将rootfs load 到RAM 的RAMDisk,稍复杂的就是直接从Flash 读取的Cramfs,更复杂的是在Flash 上分区,并构建JFFS2 等文件系统。 * RAMDisk将制作好的rootfs压缩后写入Flash,启动的时候由Bootloader load 到RAM,解压缩,然后挂载到/。这种方法操作简单,但是在RAM 中的文件系统不是压缩的,因此需要占用许多嵌入式系统中稀有资源RAM。 ramdisk就是用内存空间来模拟出硬盘分区,ramdisk通常使用磁盘文件系统的压缩存放在flash中,在系统初始化时,解压缩到SDRAM并挂载根文件系统, 在linux系统中,ramdisk有二种,一种就是可以格式化并加载,在linux内核2.0/2.2就已经支持,其不足之处是大小固定;另一种是2.4的内核才支持,通过,ramfs来实现,他不能被格式化,但用起来方便,其大小随所需要的空间增加或减少,是目前linux常用的ramdisk技术. * initrd是RAMDisk的格式,kernel 2.4 之前都是image-initrd,Kernel 2.5 引入了cpio-initrd,大大简化了Linux 的启动过程,附合Linux 的基本哲学:Keep it simple, stupid(KISS). 不过cpio-initrd作为新的格式,还没有经过广泛测试,嵌入式Linux 中主要采用的还是image-initrd。 * Cramfs是Linus 写的很简单的文件系统,有很好的压缩绿,也可以直接从Flash 上运行,不须load 到RAM 中,因此节约了RAM。但是Cramfs是只读的,对于需要运行时修改的目录(如:/etc, /var, /tmp)多有不便,因此,一般将这些目录做成ramfs等可写的fs。 * SquashFS是对Cramfs的增强。突破了Cramfs的一些限制,在Flash 和RAM 的使用量方面也具有优势。不过,据开发者介绍,在性能上可能不如Cramfs。这也是一种新方法,在嵌入式系统采用之前,需要经过更多的测试 三、建一个包含所有文件的目录 1。建一个目录rootfs用来装文件系统 2。mkdir bin devetc lib procsbintmpusrvar 3. ln -fs bin/busyboxlinuxrc(使用busybox)

在硬盘上制作根文件系统.doc

在硬盘上制作根文件系统 一、实验目标: 在硬盘上建立一个根文件系统,硬盘镜像文件的名称为:hdc-0.11.new.img 二、实验环境: 1、Vmware workation, bochs虚拟机,ultraedit编辑环境 2、用到的四个重要的镜像文件:bootimage-0.11-hd,hdc-0.1.img,并将他们放到 mylinux0.11文件夹中。 3、实验环境:redhat linux 三、实验理论依据: 1、Linux引导启动时,默认使用的文件系统是根文件系统。其中一般都包括以下一些子目录和文件: etc/ 目录主要含有一些系统配置文件; dev/ 含有设备特殊文件,用于使用文件操作语句操作设备; bin/ 存放系统执行程序。例如sh、mkfs、fdisk等; usr/ 存放库函数、手册和其它一些文件; usr/bin 存放用户常用的普通命令; var/ 用于存放系统运行时可变的数据或者是日志等信息。 存放文件系统的设备就是文件系统设备。Linux 0.11内核所支持的文件系统是MINIX 1.0文件系统。 2、inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬 盘、软盘、U盘... ... )被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode 值最快的找到相对应的文件。每一个文件开头都是一个inode。 做个比喻,比如一本书,存储设备或分区就相当于这本书,Block相当于书中的每一页,inode 就相当于这本书前面的目录,一本书有很多的内容,如果想查找某部份的内容,我们可以先查目录,通过目录能最快的找到我们想要看的内容。

ramdisk和initramfs文件系统制作V1.1

Ramdisk和initramfs文件系统制作 一、实验环境 操作系统:Ubuntu Linux2.6.38-8 内核源代码:Linux2.6.32 实验前准备:用Busybox制作好的rootfs文件夹(包含文件系统中的基本文件etc,lib,dev等,可以使用NFS挂载文件系统测试制作的rootfs是否能用) 二、ramdisk文件系统制作 1.重新为NAND Flash分区 在内核源码\linux-03.00.00.04\arch\arm\mach-omap2\board-am3517evm.c 中修改: static struct mtd_partition am3517evm_nand_partitions[]={ /*All the partition sizes are listed in terms of NAND block size*/ { .name="xloader-nand", .offset=0, .size=4*(SZ_128K), .mask_flags=MTD_WRITEABLE }, { .name="uboot-nand", .offset=MTDPART_OFS_APPEND, .size=15*(SZ_128K), .mask_flags=MTD_WRITEABLE }, { .name="params-nand", .offset=MTDPART_OFS_APPEND, .size=1*(SZ_128K) }, { .name="linux-nand",//存放内核 .offset=MTDPART_OFS_APPEND, .size=32*(SZ_128K) }, #if0 { .name="ubifs-nand", .size=MTDPART_SIZ_FULL, .offset=MTDPART_OFS_APPEND, }, #else//ramdisk+jffs2 { .name="ramdisk-nand",//存放制作好的ramdisk文件系统 .size=64*(SZ_128K),//8M .offset=MTDPART_OFS_APPEND, },

根文件系统制作

Linux根文件系统的制作 1. 根文件系统 文件系统是包括在一个磁盘(包括光盘、软盘、闪盘及其它存储设备)或分区的目录结构;一个可应用的磁盘设备可以包含一个或多个文件系统;如果您想进入一个文件系统,首先您要做的是挂载(mount)文件系统;为了挂载(mount)文件系统,您必须指定一个挂载点。 注:对于我们应用开发来说,购买开发板的时候,厂家会提供好现成的根文件系统和BootLoader等,如果需要,我们可以改变其中的命令而无需从头开始制作一个新的根文件系统。不过这儿的制作过程可以让我们更深一点理解Linux的文件系统。 2.主要的根文件系统 * Linux 中,rootfs 是必不可少的。PC 上主要实现有 ramdisk 和直接挂载 HD(Harddisk,硬盘)上的根文件系统;嵌入式中一般不从 HD 启动,而是从 Flash 启动,最简单的方法是 将 rootfs load 到 RAM 的 RAMDisk,稍复杂的就是直接从Flash 读取的 Cramfs,更复杂的是在 Flash 上分区,并构建 JFFS2 等文件系统。 * RAMDisk 将制作好的 rootfs 压缩后写入 Flash,启动的时候由 Bootloader load 到RAM,解压缩,然后挂载到 /。这种方法操作简单,但是在 RAM 中的文件系统不是压缩的,因此需要占用许多嵌入式系统中稀有资源 RAM。 ramdisk 就是用内存空间来模拟出硬盘分区,ramdisk通常使用磁盘文件系统的压缩存放在flash中,在系统初始化时,解压缩到SDRAM并挂载根文件系统, 在linux系统中,ramdisk 有二种,一种就是可以格式化并加载,在linux内核2.0/2.2就已经支持,其不足之处是大小固定;另一种是 2.4的内核才支持,通过,ramfs来实现,他不能被格式化,但用起来方便,其大小 随所需要的空间增加或减少,是目前linux常用的ramdisk技术. * initrd 是 RAMDisk 的格式,kernel 2.4 之前都是 image-initrd,Kernel 2.5 引入了 cpio-initrd,大大简化了 Linux 的启动过程,附合 Linux 的基本哲学:Keep it simple, stupid(KISS). 不过cpio-initrd 作为新的格式,还没有经过广泛测试,嵌入式 Linux 中主要采用的还是 image-initrd。 * Cramfs 是 Linus 写的很简单的文件系统,有很好的压缩绿,也可以直接从 Flash 上运行,不须 load 到 RAM 中,因此节约了 RAM。但是 Cramfs 是只读的,对于需要运行时修 改的目录(如: /etc, /var, /tmp)多有不便,因此,一般将这些目录做成ramfs 等可写的 fs。 * SquashFS 是对 Cramfs 的增强。突破了 Cramfs 的一些限制,在 Flash 和 RAM 的使用量方面也具有优势。不过,据开发者介绍,在性能上可能不如 Cramfs。这也是一种新方法,在嵌入式系统采用之前,需要经过更多的测试。 3.Ramdisk制作 RAMDisk的制作方法如下:

图解“虚拟硬盘”永不磨损的高速硬盘Ramdisk

“虚拟硬盘”让IE浏览再提速 有没有发觉打开一个网站的同时计算机在疯狂读盘呢,有没有发觉硬盘的速度已制约了你的浏览速度…… 随着宽带的普及,上网浏览的速度已越来越快,已不是像过去那样打开一个页面要等上半天。而与此同时,网站也越做越大,越做越豪华。有没有发觉打开一个网站的同时计算机在疯狂读盘呢,有没有发觉硬盘的速度已制约了你的浏览速度。 那如何提速呢,换更快的硬盘,不,我们来玩“虚拟硬盘”,用内存来模拟硬盘,大家知道,内存的速度不知比硬盘快多少倍,让我们来看看这块超级“硬盘”的威力吧。隆重向大家介绍我们的“英雄”RamDiskXP (下载地址:https://www.doczj.com/doc/578080129.html,/soft/116/116424.html) 提供RamDiskXP V1.8.200 FOR Windows 2K/XP 的注册码 Email:wswdddy@https://www.doczj.com/doc/578080129.html, Code:6B403D051CEBDFFDA7846A6C1E243118BE938AE5D8CE241E Email:ttdown@https://www.doczj.com/doc/578080129.html, Code:68472E0E0FE1E6C9A08F6D6E5E693D1AE1918AE1DBCE271C72 一、提速原理揭秘 首先来介绍一下浏览过程吧 1. 我们的计算机向网站服务器发出请求 2. 网站服务器响应我们的请求,并把文件发给我们的计算机,这些文件包括html文件,图片文件等。 3. 我们的计算机把这些文件存在硬盘中的Temporary Internet Files文件夹中,注意这步是我们提速的关键,由于这些文件是琐碎的,硬盘要花很长的时间来处理。 4. 然后我们的浏览器读取这些文件,并把它们显示在屏幕上。 大家注意到了硬盘的速度对3,4 步的完成有至关重要的作用。RamDiskXp将在内存中模拟一个硬盘,我们只要把Temporary Internet Files文件夹移至这个虚拟的硬盘即可。是不是很简单。 二、提速过程手把手 1. 首先当然是下载安装软件了,这里就不罗嗦了,要提醒的是Win98的用户也有相应的版本,可以去https://www.doczj.com/doc/578080129.html,/product_ramdisk.cfm下载。

SuperSpeed_Ramdisk_Plus完美利用win7 4G内存

SuperSpeed RamDisk是一款虚拟磁盘软体,支持的RamDisk磁碟机数量可以多达99个(虽然用不到),而且可以很方便的回存RamDisk中的资料,并让它开机时自动载入。之所以要使用记忆体来模拟磁盘,是因为电脑的主记忆体(内存)读写速度远远超过磁盘(硬盘)的读取速度。一般电脑的CPU再快,可能很多时候都是卡在磁盘读取速度上。所以透过RamDisk虚拟磁盘的帮助,我们可以将频繁读写资料的软体或服务放在RamDisk虚拟磁盘中,以便让这些资料读取的动作可以更快、更顺畅些。(当然,记忆体本来就是用来存取资料用的,这样做并不会伤记忆体),总结一下就是说内存的读取速度比硬盘快很多,ramdisk 可以把内存虚拟成硬盘,这样windows要把一些存入硬盘的临时文件(比如ie浏览网页的临时文件、windows 的虚拟内存)都存储在ramdisk中,加快了电脑的读取速度。 好了下面开始告诉大家如何完美利用win7 4G内存。 首先安装SuperSpeedRamDisk(链接在文章最后),然后打开软件界面点工具列的内存如图示。点未托管。 点配置。

勾选启用未托管内存的使用。 若未能自动识别内存,就取消勾选下方的两项。手动输入:第一栏,电脑安装的内存容量(MB);第二栏肯定是写0。最后点OK,出现提示:已经成功启用作业系统无法使用的那部分内存给ramdisk。点击确定就OK了

接下来将刚才配置内存时开启的视窗关掉,添加ramdisk(软体介面点工具列最左边的加号图示)。 点下一步,指定ramdisk 的内存容量。我在这里指定800M。因为我的4GB 内存只能用 2.95GB,先将作业系统无法用到的800MB(根据可用内存判断系统无法用到的内存大小再适当减小一点)指定为ramdisk,这800MB ramdisk 应该不会占用作业系统可用的内存(具体可视内存大小设置)。

定制最简linux和根文件系统(平台龙芯1B开发板)共13页word资料

版本历史 版本时间备注 V1.0 2013-08-28 创建 1. 前言 (2) 1.1. 开发板版本号 (2) 1.2. 工具链版本号 (2) 1.3. 参考文档及其版本号 (3) 1.4. 目标 (3) 2. 搭建开发环境 (3) 3. 制作根文件系统 (3) 3.1. 配置 (3) 3.1.1. 拷贝源码,并解压 (3) 3.1.2. 配置选项简述 (4) 3.2. 编译 (4) 3.3. 构建根文件系统 (5) 3.3.1. 建立系统根目录 (5) 3.3.2. 建立设备文件 (5) 3.3.3. 建立系统配置文件 (5) 4. 编译linux (7) 4.1. 配置 (8) 4.1.1. 首先拷贝源码,并解压 (8) 4.1.2. 不安装Ncurses (8) 4.1.3. 没有拷贝.config (8) 4.1.4. 不用修改Makefile (8) 4.1.5. 配置选项简述 (9) 4.2. 编译 (10) 5. 启动运行linux (11) 5.1. 拷贝vmlinux到tftp服务器目录下 (11) 5.2. 设置PMON的ip地址 (11) 5.3. 下载内核 (12) 5.4. 启动linux (12)

1.前言 很高心拿到了龙芯1B开发板。然后仔细的看了开发板光盘里的《1B开发板用户手册.pdf》。里面写得非常详细,并且都附有截图,很明了。从最开始装虚拟机到编译linux,制作根文件系统等等,连虚拟机软件和Ubuntu系统镜像都有。可以说这套开发板考虑得非常周到。 然后我就参照《1B开发板用户手册.pdf》编译了linux,制作了根文件系统,最后终于跑起来,进入了shell。 这里谈谈我的感想 ●用户手册更像一个工具书 就拿根文件系统来说吧。Cramfs,Jffs2,Yaffs2的制作步骤都有,这表示该手册很全面,但是如果是一个初学者的话,给的选择太多不一定是好事。这也是我想写这篇文档的原因。我想linux的配置尽量简单(除了串口驱动以外,其它的比如,网卡,声卡,触屏等都暂时不需要),根文件系统也尽量简单(手册中的已经很简单了,后面我们就参照手册),另外为了再简单一点我把根文件系统也选择内存文件系统,内核只下载到内存而不烧写到flash,同时PMON参数也不修改。这样做有个好处——任何时候我可以复位进入开发板预装的linux 和文件系统。这便于在我们遇到问题时参考。 ●制作根文件系统的章节还有点小小的问题需要改进 ?手册中的笔误Busybox配置过程中ionice错写为inoice ?没有新建目录/root和/var/log ?没有新建console和串口设备节点ttyS2 另外,说点题外话,回想以前读大学时,非常想学习嵌入式,但是感觉非常困难。现在看来,当时感觉困难的原因是入门太难了。为什么入门难,弄了很久连环境都没打起来,更别说编译linux,制作根文件系统了。 在这里我想说“朋友们,搭建环境只需要把开发板的工具链解压到指定目录就可以了。就相当于windows上的绿色软件一样,仅此而已,这比安装vs2019快多了,方便多了”。 既然开发环境搭建起来了,后面就是配置编译linux,制作根文件系统了(先不要管PMON 了,就像电脑一样,很少有人换bios,最多重装系统)。这也就是本篇文章的任务。 1.1. 开发板版本号 LS1B DEMO BOARD Schematic Revision 2.0即版本为2.0 1.2. 工具链版本号 版本为gcc-3.4.6-2f.tar.gz

qt课程设计实验报告

程序设计课程设计实验报告 (qt实验报告) 信息科学与技术学院 软件三班 高文博 201005070309 2011年5月

实验1:计算当初存入本金的钱数。(12题) 1.实验目的、要求 目的: 1)熟悉qt中的常用属性; 2)熟悉vbox hbox模型及怎样根据需求设计控件,边框等; 3)熟悉各个槽函数的使用,准确的将c++语言转换成qt语言,将控件功 能与函数结合起来。 要求: 1)掌握对控件的文本色,背景色等常用属性的设置。 2)掌握对控件、边框尺寸与结构的设置 3)掌握对函数的设置 2.实验设备 笔记本电脑,已安装Qt 开发环境。 3.实验内容、步骤 ●先在vc++上进行编译。 ●应用qt3.38进行编译,运行。 实验步骤: 1)根据题目需求在草纸上画出结构图; 2)根据草图用代码设计整体框架和控件; 3)在qt上运行; 4)运行成功后根据功能添加函数; 5)在头文件中添加头文件。 6)将添加的功能函数与功能控件相连; 7)分别对每个函数进行测试; 8)将整个程序在qt运行调试; 9)运行通过后给每个函数写注释; 实验代码如下所示 A (1)主框架结构代码 #include"gwbsave.h"

GwbSave::GwbSave(QWidget*parent,const char*name):QWidget(parent,name) { //?? vBox=new QVBoxLayout(this); vBox->setMargin(5); vBox->setSpacing(5); label=new QLabel("Please input the lilv:",this,"label"); vBox->addWidget(label); //?? hBox=new QHBoxLayout(this); hBox->setMargin(5); hBox->setSpacing(5); vBox->addLayout(hBox); le1=new QLineEdit(this,"le1"); hBox->addWidget(le1); //?,?? hBox2=new QHBoxLayout(this); hBox2->setMargin(5); hBox2->setSpacing(5); vBox->addLayout(hBox2); leResult=new QLineEdit(this,"leResult"); leResult->setReadOnly(true); leResult->setPaletteBackgroundColor(Qt::gray); hBox->addWidget(leResult);

相关主题
文本预览
相关文档 最新文档