电子科大 第7章 嵌入式Linux软件设计——文件系统
- 格式:pdf
- 大小:521.28 KB
- 文档页数:29


文章编号:1007—1423(2015)15—0063—04 DOI:10.3969 ̄.issn.1007—1423.2015.15.016
嵌入式Linux下文件管理系统的设计与实现
王文晶.胡艳慧
(山西大学商务学院信息学院,太原030031)
摘要:
目前的文件管理系统大多是基于Windows操作系统的,很少有针对Linux系统。针对目前计算机中文件信息不能有
效保护,易于泄露和篡改,设计基于IAnux系统的文件管理系统。该设计使用Java加密框架完整实现文件系统的加
密,同时利用校验技术对用户进行认证。通过测试,该加密文件系统在功能和性能上满足设计的目标,达到很好的试
验效果
关键词:
文件管理系统;Linux系统:加密框架
基金项目:
省级重点项目(No.201201 1013—2)
0 引言
近些年来.数据的加密越来越受人们的关注 入侵
者通过硬件设备以及计算机网络.对数据进行入侵篡
改.对数据的安全性提出更高的要求。最根本的原因是
由于计算机中大多数的数据以明文的形式存储.所以
使用数据加密技术可以对计算机中的数据进行有效保 护 加密文件系统目前已经成为对数据加密的一种有
效手段 加密文件系统可以防止管理员利用别的操作 系统窃取计算机中的数据_11
目前.加密基于Linux的文件加密系统主要有 AFS和TCFS 加密系统是对数据写操作和读操作进行
加密和解密.确保数据以密文形式存储。TCFS加密系
统对于不同的文件有不同的加密密钥.同时同一文件
的不同块实现不同秘钥 AFS文件加密系统对客户端
和服务器的对话加密 这些文件加密系统对数据进行
了一定程度的保护,但是保护不严密,同时性能低。由
于Java的可移植性强,源代码开放,所以本文设计了一
个基于嵌入式Linux系统下的文件安全保护系统.通过
对文件加密和解密.达到对系统文件的安全保护圈。 1 系统框架
加密文件系统模块主要包括文件保护模块、用户
基于Linux的嵌入式文件系统构建与设计
基于Linux的嵌入式文件系统构建与设计
一、文件系统:
文件系统(File system)指代贮存在计算机上的文件和目录。文件系统可以有不同的格式,叫做文件系统类型(file system types)。这些格式决定信息是如何被贮存为文件和目录。某些文件系统类型贮存重复数据,某些文件系统类型加快硬盘驱动器的存取速度。因此文件系统就是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。
上图是一个完整操作系统的文件系统构架,下文中将对文件系统中各个部件进行一定的介绍。
1.1 Linux系统文件类型:
● Linux系统中文件的类型包括:普通文件、目录文件、连接文件、设备文件、管道(FIFO)文件和套接字文件。
● 普通文件:是流式文件, ● 目录文件:用于表示表示和管理系统中的全部文件
● 连接文件:用于不同目录下文件的共享
● 设备文件:包括块设备文件和字符设备文件。块设备文件表示磁盘、关盘等,字符设备文件联系着按照字符进行操作的终端、键盘等设备。
● 管道(FIFO)文件:提供进程间通信的一种方式。
● 套接字(socket)文件和网络通信有关。
1.2 逻辑文件系统:
文件的逻辑结构是用户可见结构,即从用户角度观察到的文件系统。可以分为两大类:字节流式的无结构文件和记录式有结构文件。由字节流(字节序列)组成的文件是一种无结构文件或流式文件,不考虑文件内部的逻辑结构,只是简单地看作式一系列字节的序列,便于在文件任意位置添加内容。很多操作系统多采用这种形式,如UNIX/Linux、DOS、Windows等。由记录组成的文件称为记录式文件,记录是这种文件的基本信息单位,记录式文件通常用于信息管理。
1.3 虚拟文件系统:
Linux在传统的逻辑文件系统的基础上,增加了一个虚拟文件系统(Virtual File
嵌⼊式Linux中常见的⽂件系统及特点
1、Linux可⽀持的⽂件系统有多种,但是这么多种的⽂件系统都是基于Linux内核所提供的⽂件系统VFS的接⼝API。因此对于Linux内核级
别实现的⽂件系统只有VFS虚拟⽂件系统;
其余实现的⽂件系统都是调⽤VFS⽂件系统的API更上⼀层实现的;
2、Linux⽂件系统的组成结构:
1、 ⽤户层:⽤户层向外提供Linux内核所⽀持⽂件系统的VFS的API接⼝
内核层:内核实现了所说的各种⽂件系统
驱动层:驱动层是块设备的驱动程序
硬件层:硬件层是不同⽂件系统⽀持的存储器;
3、Linux启动时的⽂件系统:
硬件上电启动,各项硬件初始化后,第⼀个启动的⽂件系统时RootFS根⽂件系统,如果说根⽂件系统没有起来,系统出现异常、将重
启;
4、常⽤的⽂件系统运⾏、存储设备有:
DRAM、SDRAM以及ROM其中常使⽤flash;
5、根据不同的存储介质,常见的⽂件系统有:
基于Flash(Nor、Nand)的⽂件系统有:
jffs2:可读写,数据压缩、⽀持哈希表的⽂件系统,掉电保护;缺点:不适合使⽤在⼤容量的Nand Flash中,内存使⽤量太⼤极⼤降
低数据操作速度;
yaffs:读写速度快,占⽤内存⼩,实现内存访问异常处理;混合的垃圾回收算法;特别适合嵌⼊式设备使⽤;跨平台、⾃带Nand
芯⽚驱动
cramfs:只读的⽂件系统,执⾏速度快,内容⽆法扩充;⽂件系统健壮;
romfs:简单紧凑、只读、不⽀持动态擦写;较多使⽤在uclinux系统上;
基于RAM存储介质的⽂件系统:
ramdisk:将⼀部分固定⼤⼩的内存当做分区使⽤,不能真正算的上实际的⽂件系统,更像是⼀种机制,将实际的⽂件系统加载到
内存中;将⼀些经常被访问的⽽⼜不会更改的⽂件放⼊到内存中,达到提⾼系统效率的⽬的;同时还负责将内核镜像与⽂件系统⼀块加载到
内存中;
ramfs/tmpfs :基于内存的⽂件系统,⼯作于虚拟⽂件系统层,可以创建多个⽂件系统,可以指定每个⽂件系统最⼤使⽤内存;这种
嵌入式linux文件系统的实现及其简单应用
嵌入式Linux文件系统是指在嵌入式系统中运行的Linux操作系统所使用的文件系统。嵌入式系统通常具有资源有限的特点,需要对文件系统进行优化和裁剪。本文将介绍嵌入式Linux文件系统的实现以及其简单应用。
一、嵌入式Linux文件系统的实现
1.1 文件系统类型
嵌入式Linux文件系统主要有如下几种类型:
1.1.1 JFFS2文件系统
JFFS2(Journaling Flash File System 2)是一种Linux文件系统,专门用于闪存设备。相比于其他文件系统,JFFS2更适合用于嵌入式系统中。
1.1.2 ext2文件系统
ext2(Extended file system 2)是Linux中最常见的文件系统之一,它的优点是稳定性高,可靠性强。
1.1.3 ext3文件系统
ext3是ext2文件系统的升级版,在ext2的基础上增加了日志功能,使得文件系统更加可靠。
1.1.4 UBIFS文件系统
UBIFS(Unsorted Block Image File System)是一种专门用于闪存设备的文件系统,它可以在闪存设备上进行块级别操作,从而提高了文件系统的效率和可靠性。
1.2 文件系统优化
由于嵌入式系统资源有限,需要对文件系统进行优化,以提高系统的性能和稳定性。
1.2.1 压缩文件系统
压缩文件系统可以减小文件系统的体积,从而减少系统启动时间和占用资源。
1.2.2 只读文件系统
只读文件系统可以提高系统的稳定性,防止因文件系统损坏而导致的故障。
1.2.3 数据缓存
数据缓存可以加速文件系统的访问速度,提高系统的性能。
二、嵌入式Linux文件系统的简单应用
2.1 嵌入式Linux系统开发
在嵌入式Linux系统的开发过程中,需要选择适合系统特点的文件系统,并进行优化和裁剪。同时,需要选择合适的开发工具和调试工具,以提高开发效率和调试效果。