YAFFSYAFFS(YYeettAAnnootthheerrFFllaasshhFFiilleeSSyysstteemm)是第一个专门为NANDFlash存储器设计的嵌入式文件系统,适用于大大容容量量的存储设备;并且是在GPL(GeneralPublicLicense)协议下发布的,可在其网站免费获得源代码。YAFFS中,文件是以固定大小的数数据据块块进行存储的,块的大小可以是512字节、1024字节或者2048字节。这种实现依赖于它能够将一个数据块头和每个数据块关联起来。每个文件(包括目录)都有有一个数数据据块块头头与之相对应,数数据据块块头头中保存了ECC(ErrorCorrectionCode)和文件系统的组织信息,用于错错误误检检测测和坏坏块块处处理理。充分考虑了NANDFlash的特点,YAFFS把这个数据块头存储在Flash的16字节备用空间中。当文件系统被挂载时,只须扫描存储器的备用空间就能将文件系统信息读入内存,并且驻留在内存中,不仅加加快快了文件系统的加加载载速速度度,也提提高高了文件的访访问问速速度度,但是增增加加了了内内存存的的消消耗耗。为了在节省内存的同时提高文件数据块的查找速度,YAFFS利用更高高效效的映映射射结结构构把文件位置映射到物理位置。文件的数据段被组织成树型结构,这个树型结构具有32字节的节点,每个内部节点都包括8个指向其他节点的指针,叶节点包括16个2字节的指向物理地址的指针。YAFFS在文件进行改写时总是先写入新的数据块,然后将旧的数据块从文件中删除。这样即使在修改文件时意外掉电,丢失的也只是这一次修改数据的最小写入单位,从而实现了掉掉电电保保护护,保证了数据完整性。结合贪贪心心算算法法的高效性和随机选择的平均性,YAFFS实现了兼顾损损耗耗平平均均和减小系统开销的目的。当满足特定的小概率条件时,就会尝试随机选择一个可回收的页面;而在其他情况下,则使用贪心算法来回收最“脏”的块。YAFFS文件系统是按层次结构设计的,分成以下4部分:yaffs_guts.c,文件系统的主要算法,这部分代码完全是用可移植的C语言编写的;yaffs_fs.c,LinuxVFS层的接口;NAND接口,yaffs_guts和NAND内存访问函数之间的包装层,例如调用Linuxmtd层或者RAM模拟层;可移植函数,服务的包装函数。最重要的一点是,为了获得更好的移移植植性性,YAFFS提供直接调用的模式,这才使得我们有机会来实现YAFFS文件系统在C51系统上的移植。JFFS2JFFS2是JFFS的后继者,由RedHat重新改写而成。JFFS2的全名为(闪存日志型文件系统第2版),其功能就是管理在上实现的日志型文件系统。与其他的存储设备存储方案相比,JFFS2并不准备提供让传统文件系统也可以使用此类设备的转换层。它只会直接在MTD设备上实现日志结构的文件系统。JFFS2会在安装的时候,扫描MTD设备的日志内容,并在RAM中重新建立文件系统结构本身。除了提供具有的日志结构文件系统,JFFS2还会在它管理的MTD设备上实现“”和“”等特性。RAMDISK内存虚拟硬盘(ramdisk)是指通过软件技术,将物理内存进行分割,将一部分内存通过虚拟技术转变为硬盘以较大幅度提升计算机数据读读取取速速度度和保保护护硬硬盘盘。技术优势1、对于计算机系统来说,内存的读取速速度度大约是硬盘的2200倍倍,使用内存虚拟硬盘能够快速有效地提高数据访问速度。2、传统的机机械械硬硬盘盘经过长期的读写会出出现现坏坏道道,而在使用过程中,IE缓存文件和系统缓存文件需要大量重重复复的的读读写写数据,长时间使用会造成硬盘损坏。而内存并不存在此类隐患。3、目前,由于软件的兼容性影响,32位系统依旧是未来一段时间的主流,而对于32位系统来说最大有效内存容量为3.25G,超出则无效。内存技术的发展使得现在大量用户内存超过3.25G上限,造成了资资源源浪费,而使用RAMDISK能够合合理理的的使使用用这一部分内存容量。近几年来,计算机的CPU、内存和显卡等主要配件的性能都提升得很快,而与之相对应的磁磁盘盘系系统统性性能能正越来越严重地成为整个电脑系统性能提升的瓶颈。虽然磁盘技术也从以前的ATA33发展到今天的ATA66/ATA100/ATA133。但是,这还是不能彻底解决磁盘瓶颈的问题,特别是在运行一些对数据存取速度要求很高的程序,如数字影像处理或玩3D游戏装入纹理数据时,受磁盘存取速度的影响,屏幕画面时常会出现延迟和停顿。幸好,一种能在PC平台上应用的、名为“RAMDisk”(RRAAMM驱驱动动器器)的技术应运而生,可解电脑玩家们的“燃眉之急”。所谓的RAM驱动器,实际上是把系系统统内内存存划划出出一一部部分分当当作作硬硬盘盘使使用用。对于操作系统来内存的存取速度远远大于机械磁盘,所以RAM驱动器肯定要比机械的硬盘快得多。你可以把整个应用程序都安装在RamDisk的驱动器中,然后用内存的速度运行它。使用RAM驱动器技术对于延延长长笔笔记记本本电电脑脑电电池池使用时间也是十分有利的,因为这样做可以减少访问“耗电大户”——硬盘的次数。CRAMFSCRAMFS()文件系统是专门针对闪存设计的压缩的文件系统,其容量上限为256M,采用,文件系统类型可以是EXT2或EXT3.如果使用来使用文件系统,那么在系统运行之后,首先得把flash上的文件全部中,构造ramdisk环境,才可以运行程序,但有一个致命的弱点,在正常情下,同样的代码不仅在flash占用了空间,而且还在ram中占用极大的空间,这违背了嵌入式中节省资源的原则.文件系统并不需要一次性地将文件系统中的所有内容解压到ram中,而只是是系统时,马上计算出该数据在cramfs中的位置,中,然后通过内存访问来获取数据,cramfs中的解压缩之后的内存中的数据存放位置都是由cramfs文件系统本身来管理,用户并不需要实现过程,因此增加了透明度,给开发人员节约了时间.cramfs拥有以下一些特性:1、采用实时解压缩方式,但的时候有。2、cramfs的数据都是经过处理、打包的,对其进先写操作有一定困难。所以cramfs操作,这个特性刚好适合嵌入式应用中使用Flash存储文件系统的场合。3、在cramfs中,默认文件最大不能超过16MB,可以通过修改cramfs-1.1/linux/cramfs_fs.h下的的大小来支持最大为256MB的单个文件,当然linux内核参数也要修改(include/linux/cramfs_fs.h)成相同的参数。4、(gid),但是mkcramfs只将gid的低8位保存下来,因此只有这8位是有效的。5、。但是cramfs并没有完全处理好,硬链接的文件属性中,链接数仍然为1.6、cramfs的目录中,这两项。因此,cramfs中的·目录的链接数通常也仅有一个。6、cramfs中,(timestamps)信息。当然,正在使用的文件由于inode保存在内存中,因此其时间可以,但是不会保存到cramfs文件系统中去。7、当前版本的cramfs只支持PAGE_CACHE_SIZE为4096的内核。因此,如果发现cramfs不能正常读写的时候,可以检查一下内核的。Ext3Ext3((TThhiirrddeexxtteennddeeddffiilleessyysstteemm))是一种日志式文件系统,是对ext2系统的扩展,它兼容ext2。日志式文件系统的优越性在于:由于文件系统都有快快取取层层参与运作,如不使用时必须将文件系统卸下,以便将快取层的资料写回磁盘中。因此每当系统要关机时,必须将其所有的文件系统全部shutdown后才能进行关机。如果在文件系统尚未shutdown前就关机(如停电)时,下次重开机后会造成文件系统的资料不一致,故这时必须做文件系统的重整工作,将不一致与错误的地方修复。然而,此一重整的工作是相当耗时的,特别是容量大的文件系统,而且也不能百分之百保证所有的资料都不会流失。为了克服此问题,使用所谓‘日志式文件系统(JournalFileSystem)。此类文件系统最大的特色是,它会将整个磁盘的写入动作完整记录在磁盘的某个区域上,以便有需要时可以回溯追踪。由于资料的写入动作包含许多的细节,像是改变文件标头资料、搜寻磁盘可写入空间、一个个写入资料区段等等,每一个细节进行到一半若被中断,就会造成文件系统的不一致,因而需要重整。然而,在日志式文件系统中,由于详细纪录了每个细节,故当在某个过程中被中断时,系统可以根据这些记录直接回溯并重整被中断的部分,而不必花时间去检查其他的部分,故重整的工作速度相当快,几乎不需要花时间。Ext3日志文件系统的特点:11、、高高可可用用性性系统使用了ext3文件系统后,即使在非正常关机后,系统也不不需需要要检检查查文文件件系系统统。宕机发生后,恢复ext3文件系统的时间只要数十秒钟。22、、数数据据的的完完整整性性ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。在保证数据完整性方面,ext3文件系统有2种模式可供选择。其中之一就是“同时保持文文件件系系统统及及数数据据的一一致致性性”模模式式。采用这种方式,你永远不再会看到由于非正常关机而存储在磁盘上的垃圾文件。33、、文文件件系系统统的的速速度度尽管使用ext3文件系统时,有时在存储数据时可能要多次写数据,但是,从总体上看来,ext3比ext2的性能还要好一些。这是因为ext3的日志功能对磁盘的驱动器读写头进行了优化。所以,文件系统的读写性能较之Ext2文件系统并来说,性能并没有降低。44、、数数据据转转换换由ext2文件系统转换成ext3文件系统非常容易,只要简单地键入两条命令即可完成整个转换过程,用户不用花时间备份、恢复、格式化分区等。用一个ext3文件系统提供的小工具ttuunnee22ffss,它可以将ext2文件系统轻松转换为ext3日志文件系统。另外,ext3文件系统可以不经任何更改,而直接加载成为ext2文件系统。55、、多多种种日日志志模模式式Ext3有多种日志模式,一种工作模式是对所有的文件数据及metadata(定义文件系统中数据的数据,即数据的数据)进行日志记录(data=jjoouurrnnaall模式);另一种工作模式则是只对metadata记录日志,而不对数据进行日志记录,也即所谓data=oorrddeerreedd或者data=writeback模式。系统管理人员可以根据系统的实际工作要求,在系统的工作速度与文件数据的一致性之间作出选择。大地小神补充:CPU如果要以大分类来分,只有两大类:一种是CISC(复杂指令集),另一种是RISC(简单指令集),一般的PC的CPU不管是AMD,INTEL,VIA都是属於CISC系列,的CPU是RISC的。CPU主记忆体的种类:记忆体()这个名词大家一定很熟,但想必应该对记忆体的功用不太了解,记忆体的主要功用是暂存资料其实电脑有很多资料都是靠记忆体来存取,记忆体基本上可以分成两类:RAM和ROM.RAM(RandomAccessMemory)中文译成随机存取记忆体,当他被使用时,系统可以从RAM上存取资料,而且需要电力来维持它的记忆,这种又可分DRAM和SRAM,DRAM()翻成动态随机存取记忆体,也就是一般电脑上的主记忆体,或视讯记忆体,而SRAM()翻成静态随机存取记忆体,因为SRAM的比DRAM,价格也比较高,所以电脑中以SRAM当快取记忆体,所谓的L2Cache和L1Cache就是这个东西,这些东西就是用来提高提高CPU的存取效率.(因为CPU的速度太快,所以需要一些快速的记忆体当桥梁,才不会因为CPU太快把资料处理完而在那歇著)ROM(ReadOnlyMemory)和RAM最大的差别在于电脑系统无法任意将资料写入ROM,而且也便可以长久保存资料,ROM又可分PROM,EPROM和FlachROM,其中主机板上的BIOS的资料就是存在FlachROM中.================