首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于Linux的嵌入式网络存储器设计

基于Linux的嵌入式网络存储器设计

随 着现代信息社会的高速发展,各种类型的数据也呈几何指数级地增长,如何更有效、更方便、更完全地存取管理这些数据,成为人们关注的一个问题。新的网络存储 技术的出现,给了人们一个很好的解决方案。它把存储设备直接连接到网络上,作为一个瘦的网络客户终端设备给用户提供网络存储服务,而且,Web技术的发展 也为其方便、可靠的管理提供了技术保障。
1 硬件设计
除CPU单元以外,网络存储器的实现主要包括两个部分:I/O接口和存储器接口。下面以CPU为中心,说明这两个接口的主要功能。
①I/O接口。这里指CPU与Ethernet的接口(以太网接口)。它采用PCI的方式与以太网相连,是进入LAN(Local Area Network)的通道,在整个系统中负责发送或接收网络上的数据包。
②存储器接口。包括两个方面:一是RAM接口,主要存储数据,采用PCI接口方式;二是Flash接口,主要存储操作系统及应用软件,采用并口形式与CPU相连。
③磁盘冗余阵列卡(RAID)接口。包括与CPU的接口和与磁盘阵列的接口。磁盘阵列主要用来存储网络用户资料,CPU通过磁盘阵列卡对磁盘阵列进行管理操作,允许一定的冗余来保证用户数据的安全。
2 软件设计
在 整个软件设计中,应选择一个合适的操作系统。整个操作系统要求体积比较小、网络功能比较强、适于裁减、能被嵌入到Flash中,并且有网络管理和磁盘管理 功能。针对这些要求,我们选择Linux操作系统作为软件平台,对其内核进行裁减,从而实现嵌入式网络存储器的功能。整个软件实现可分为以下几个部分。
2.1 Linux内核的裁减
(1)Linux内核简介
Linux 内核主要由五部分构成:进程调度、内存管理、虚拟文件系统、网络接口以及进程间通信。进程调度负责控制进程对CPU的访问,调度程序使用一种策略确保所有 的进程都能公平地访问CPU,并且确保内核在任意时刻能执行必要的硬件操作。内存管理负责管理系统的物理内存,实现多进程安全地共享计算机的内存;另外内 存管理支持虚拟内存,使进程可以使用大于实际物理内存的内存地址空间,不用的内存址空间被导出到文件系统中,并在需要使用时再导回到物理内存中。虚拟文件 系统通过将各种设备抽象为一种公共接口,屏蔽了各种硬件设备的细节。网络接口实现了对各种网络标准网络硬件的访问。进程间通信子系统实现了系统内进程间的 多种通信机制。
(2)Linux内核的配置
Linux 系统的内核采用单块结构,可以动态地加载和卸载模块。系统利用内核模块的可动态装载和卸载功能,可灵活地在内核中添加新的组件或卸载不再需要的内核组件。 因此在具体实现过程中,可以针对要实现的功能对其内核进行裁减,以缩小体积。根据网络存储器的硬件实现框图可以知道,整个系统的硬件接口只包括PCI和 IDE两种接口。在对Linux内核进行配置时,可把Floppy、SMP、MTRR、SCSI及所有的Block Device和Character Device移除,只留下old IDE Device、PCI。另外,文件系统在内核中占了相当大的比例,VFS简化了档案系统的设计,Buffer cache、Directory cache增加了系统的效率;但这些对嵌入式系统用处不大,可以移除,内核会减小20KB左右,或者跳过整个VFS,直接将文件系统写成一个Driver 的型式,这样文件系统可由230KB缩减至50KB左右。在配置Linux内核时,网络协议的支持是必不可少的。现在,大多数网络都是以TCP/IP协议 为基础的,并且一般的工作站所选用的操作系统为Windows或Linux系统,因此,要实现其网络功能,并能够在不同平台下实现文件共享,应该选择对 TCP/IP协议、NFS以及Samba协议的支持。

2.2 不同平台下文件共享的实现
现 代PC机中广为流行的操作系统有两种:Windows和Linux。这两种操作系统是依赖于完全不同的技术来提供网络服务的:Linux操作系统是以传输 控制协议/网络协议(TCP/IP)、网络文件系统(NFS)以及网络信息服务(NIS)为基础,提供网络服务的;而Microsoft则依赖于 NetBIOS和服务信息块(SMB)来提供把数据从服务器传输至客户机的服务。因此,我们选用Samba工具来实现这两种不同平台下的文件共享。
(1)Samba简介
Samba 从根本上消除了Windows与Linux之间的屏障,可以提供以下4个方面的服务:共享资源和打印机、名字解析、浏览、用户身份认证。通过让 NetBIOS(Windows网络邻居的通信协议)和SMB(Server Messege Block)两个协议运行于TCP/IP通信协议之上实现文件共享,并且使用NetBEUI协议,可以让Windows通过网络邻居看到Linux服务 器。                                 
继承事业,薪火相传
返回列表