比较具体而言,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盘引导过程
上一篇:基于C#的竖井挖掘系统上位机界面设计
下一篇:考虑检索词义多样性的图像检索系统设计

C#+sqlserver餐饮管理信息系统的设计+源代码

asp.net+sqlserver图书馆信息管...

jsp+oracle网上信访信息系统...

Android汽车原车信息读取App软件设计+源代码

asp.net多维度元信息支持的...

jsp+mysql毕业生就业信息跟踪管理系统设计

Android基于NFC的信息系统设计+源代码

天秤男婚后出轨能改好吗...

地方政府跨区域联合环境污染治理研究

哈萨克民歌中生态美學思想的表现【4092字】

中班幼儿“求助”型告状行为的访谈提纲

硅酸钇镥闪烁晶体的光学性能研究

无刷电机调速系统设计任务书

人性化的用户界面设计研究

建议全面开放生育政策,...

常用游戏对于小学生英语教学的影响

室外办公系统创新设计研究