信息隐藏嵌入式系统设计+文献综述(3)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

信息隐藏嵌入式系统设计+文献综述(3)


比较具体而言,C语言有如下特性:
编程灵活,可能出现在程序编程的任何阶段;理论上可实现的数据结构多样,可以实现现代编程语言需要的各种数据结构;没有严格的语法限制,程序员编程的自由度非常大,(不过这也有隐患,C语言没有指针保护机制,对程序的安全性有影响);可以像汇编语言拥有的功能那样,直接访问物理地址、操作硬件;可用范围大,在linux、windows、dos、Android等操作系统下均有良好表现;图形功能很强大,支持各种显示器件;等等。缺点在于,运算符的优先级很多、代码重用不多、难以支持大型程序。
2.2  U盘的FAT32文件系统
2.2.1简介
FAT32文件系统属于操作系统文件管理机制的一部分,FAT的含义是File Allocation Table,正是此机制的最大特点:文件分配表。FAT32,即表示文件分配表有32位,其最大单个文件的大小也是2的32次方比特即4GB(当然这也是其重要缺陷之一,不过可以通过操作系统的其他机制进行一定程度的弥补)。FAT32分区采用容量古锭为4KB的簇,也就是说任意一个文件都不会造成大于4KB的存储空间浪费,即很小的内部碎片。这一特点,一方面使得存储空间的使用非常高效,但是另一方面也使得FAT表太大(因为FAT表为每一簇建立一项,因为簇比较小,所以项比较多),不得不采用多级FAT表结构,最终会导致查找文件速度的降低。
虽然内部碎片问题得到了很好的解决,FAT32的外部碎片问题就不忍直视了。简单描述就是,由于文件存储是(逻辑上)连续存储的,在进行删除后原文件占据的空间被释放,再写入新的文件是可以使用。但是如果新的文件比被删除文件大,这片空间就不能被使用。FAT32没有自动整理硬盘碎片的机制,这就导致非常严重的外部碎片的问题。
由于以上描述的诸多问题,现在的PC机器中,FAT32存储机制已经被NTFS文件系统取代。本论文中更加关注U盘中FAT32文件系统的存储。
2.2.2  U盘存储的结构
 U盘最早由中国朗科公司发明。物理上来讲,U盘的存储元为EEPROM,这是一种非易失性的存储器。逻辑上来讲,U盘和硬盘类似,也有最基本的盘片、磁道、扇区、柱面等概念。
存储器一般来说有两种寻址模式:通过磁道、柱面、扇区为基本物理参数来进行寻址的方式成为CHS寻址模式。磁盘是由很多的盘片组成的,每个盘片都会被划分成若干个同心圆磁道,于是每个盘片的同心圆磁道可以形成一个面,被称为柱面,而每个盘片的磁道又会被划分成一定的区域,叫做扇区,扇区的容量通常为512字节,磁道,柱面和扇区是硬盘的基本物理参数。通过这3个参数寻址被称为CHS(Cylinder•Head•Sector)寻址模式,只以扇区为参数进行寻址方式叫做LBA(Logical Block Address)寻址模式。本文设计的U盘采用LBA方式。
2.3.2 U盘引导原理
•主引导记录MBR
主引导记录MBR(Master Boot Record)是U盘最前端的引导扇区,对U盘进行设置的内容也记录在此处。可以理解为U盘的第一扇区。主引导扇区大小为512字节,包含3个部分,即引导程序,分区表以及分隔标识。前446(偏移值为0H到1BDH)字节存放MBR的引导程序,之后的64个字节是DPT即硬盘分区表,最后两个字节为55AA,是分隔标志。对MBR的操作由操作系统的U盘驱动负责,所以不同的操作系统(win、linux、ios、Android等)都可以读取U盘。论文网
•扩展引导记录EBR
MBR分区表最多只有4项,为了弥补数量上的不足,出现了扩展引导分区表EBR,记录2项内容:当前逻辑驱动器、下一个逻辑驱动器。这个设置有点像链表结构。
2.3.3  U盘引导过程 (责任编辑:qin)