当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]Linux网络存储器的设计

 1、硬件设计

  硬件设计方框图如图1所示。


  从图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,并且确保内核在任意时刻能执行必要的硬件操作。内存管理负责管理系统的物理内存,实现多进程安全地共享计算机的内存;另外内存管理支持虚拟内存,使进程可以使用大于实际物理内存的内存地址空间,不用的内存址空间被导出到文件系统中,并在需要使用时再导回到物理内存中。虚拟文件系统通过将各种设备抽象为一种公共接口,屏蔽了各种硬件设备的细节。网络接口实现了对各种网络标准网络硬件的访问。进程间通信子系统实现了系统内进程间的多种通信机制。[!--empirenews.page--]

  (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服务器。

  ①NetBIOS协议:NetBIOS是一个对话层通信服务,通过一种公共的方法为访问提供应用程序,并且对整个网络提供服务。它是一个针对如何访问数据的规范,依靠更低一级的协议,如NetBEUI或TCP/IP等,提供实际传输服务的。NetBIOS规范把协议分成三种服务:名字服务、对话服务、数据报服务。名字服务主要校验该NetBIOS名字是唯一的,删除不再需要的NetBIOS名字,在NetBIOS名字基础上确定服务器的网络地址;对话服务在两个应用程序之间,提供横跨NetBIOS网络的实现通信通道;数据报服务提供广播信息或在应用程序之间发送信息而无需应答。由于NetBIOS和TCP/IP在主机命名方面使用的是完全不同的系统,前者以字符为基础,后者以数据为基础,所以必须把每个NetBIOS名字与IP地址进行匹配。

  Samba使用TCP/IP协议来传输NetBIOS,把NetBIOS名字解析或IP地址,通常通过三种匹配方式:第一种是把每个对IP地址的请求广播到节点名字解析的原始NetBIOS,依赖于每个客户机和服务器,通过网络去寻找对方;第二种使用本地文件,并加载进入高速缓冲存储器,以便每个客户机可以了解哪个名字解析成哪个IP地址;第三种使用NetBIOS名字服务(NBNS),一个NBNS是一个中央主机,它为一个工作组存储NetBIOS名字以及与其相对应的IP地址列表,因此,每个工作组上的NetBIOS节点都可以向NBNS请求为它们把名字解析成IP地址。

  ②SMB协议:SMB协议是一个通过网络提供并获得资源的协议,依赖于NetBIOS进行名字解析,为网络上使用资源提供一个标准的接口。SMB协议对服务器定义了两种安全模式:共享级和用户级。共享级服务器在硬盘设备上建立了一些可被访问的目录,用户需要一个密码来获得访问权。因此,网络上的任何用户只要知道服务器的名字、资源的名字以及密码就可以访问资源了。共享级服务器通过对同一个资源设定不同的密码,控制用户的访问权限。用户级服务器在硬盘设备上建立可被访问的目录,需要用户提供用户名及相应的密码来获得访问权。NT服务器和LM/U服务器采用这种方式而不支持共享级访问。相对共享级模式,用户级更容易管理用户。

  (2)Samba的配置

  一个Samba服务器实际包含了两个服务器程序:smbd和nmbd。Smbd是Samba的核心,负责建立对话进程、验证用户身份、提供对文件系统和打印机的访问机掉;nmbd实际网络浏览服务器的功能,作用是对外发布Samba服务器可以提供的服务。Nmbd可以使Samba服务器出现在Windows95或WindowsNT的“Network Neighborhood”(网络邻居)中,并且客户机可浏览到Samba服务器所共享的资源。启动Samba服务器进程时,可以完全不运行nmbd,这样客户只能看到Samba服务器的NetBIOS名字,却看不到Samba服务器所提供的服务。[!--empirenews.page--]

  在Samba的软件包中存在一个smb.cONf配置文件,其结构类似于Windows的*.ini文件。RedHat和Debian中,smb.conf文件的缺省位置是在/etc/下,所有的Samba程序都要参照这个配置文件。整个配置文件分为三节:[global]、[home]、[printers]。[global]节设置全局选项和一些缺省的服务选项;[home]节用来动态地映射到每个用户的home目录下;[printers]节用来设置将按照系统printcap文件配置的打印机共享至指定用户。其中每一节中的配置参数都是一个全局参数或是一个服务参数,全局参数影响或控制整个服务器,服务参数影响或控制服务器提供的某项服务。Samba的配置文件见网络补充版。 管理员可通过Samba的一些命令来管理用户及用户的访问权限,如添加用户、删除用户、改变目录的访问权限,也中直接修改smb.conf进行管理。

  2.3 不同结构网络之间文件共享的实现

  (1)NFS协议简介

  NFS网络文件系统是由Sun MicrosySTems公司最早实现的,用于在不同的操作系统、不同的网络结构及不同的传输协议之间共享文件。NFS协议组包括NFS、RPC、XDR。NFS本身没提供其它程序可调用的过程,它通过远程过程调用和通用外部数据表示来实现。远程过程调用为远程服务提供一个接口,包括主机地址、程序号及一个远端进程的进程号,而外部数据表示提供了一套通过网络描述数据类型的方法。在不同的操作系统中,文件系统的管理方式不同,对于目录树的深度、名字的使用以及路径的表示方法也都有不同的规定。有些操作系统的文件系统处于特定的目录下面,而有些操作系统用mount操作使所有的文件系统看起来在一个单独的目录下。尽管目录和文件在很多方面都比较类似,但是访问它们却须调用不同的程序,因此,NFS假定文件系统是分等级的,并且文件处于最低等级,NFS为目录提供一个标准的网络格式以便访问。在远程调用中,每次调用只返回一个目录,这样解决了不同文件系统之间结构不同的问题。

  (2)NFS服务的配置

  NFS服务器使用了5个守护进程来提供NFS服务。最基本的提供NFS服务的系统至少要运行nfsd用于处理NFS协议,而mountd用于处理客户的mount请求。此外,由于NFS使用RPC远程调用,其它三个RPC守护进程portmap、rpc_lockd、rpc_statd可以用来帮助提供更高效的服务。为了使其它系统也能使用Linux系统上的硬盘空间,在系统启动时,应载入NFS的守护进程。这需要在rc.conf中更改相应关的参数:nfs_server_enable、rpc_statd_enable、rpc_lockd.enable和portmap_enable,这些参数对应相应的守护进程。这样,系统启动之后就具备了能共享文件的能力 ,接下来的工作是通过更改/etc/exports文件来设置需要共享的目录以及这些目录的访问权了,以保证其安全性。Exports文件的设置如下:

  /usr/src/sys-maproot=guest1 ns host2

  /usr/ports-ro-network 202.114.1.0

  在这里我们使用绝对路径的方式定义了两个共享目录usr/src/sys和/usr/ports,并且对这两个目录的访问权限分别作了不同的限制,以保证其安全性。对于第一个目录,限制了客户机上的root用户等价于本机上的guest1用户,以避免客户机上的root用户拥有这个服务器上的root权力,进行非法操作,此后的ns和host2参数是主机名,只有ns和host2才能共享这个/usr/sys/src目录。第二行设置共享了/usr/ports目录,限制为只允许读取,并且也只有202.114.1.0网络上的计算机才能访问这个共享目录。在更改了exports文件之后,向mountd进程发送一个SIGHUP信号,使其重读exports文件的内容,这样关于exports文件的设置才开始生效。

  3、结 语

  本文提出了一个网络存储器的基本解决方案,实现了网络存储器的基本功能。整个系统易于安装,具有可靠性较高,跨平台、跨网络的优点;同时也存在着一些不足的地方,比如对用户、磁盘的管理不太方便,这些可通过数据库技术加以改进。

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Linux电脑输入poweroff退出操作系统后电源会自动切断,而嵌入式Linux如果没做特殊处理 输入poweroff关闭系统后电源依旧保持着。敲击键盘也不会有响应。原因是CPU和主板之间有着行业标准,比如ACPI(A...

关键字: Linux 电源 硬件IO

卫星通信系统将接入多个卫星网络,速度高达100Mb/秒 美国亚利桑那州凤凰城2022年10月19日 /美通社/ -- 霍尼韦尔(纳斯达克代码:HON)正在开发其新一代的JetWave卫星通信系统,将实现机上高速宽带互联...

关键字: 霍尼韦尔 卫星通信系统 网络 飞机

李宁官方微博19日发布声明称,近日,网络上出现对于“逐梦行”秀款部分产品的讨论,李宁公司对此高度关注。此次相关产品的设计及造型给大家带来了困惑和疑虑,我们表示诚挚的歉意。本次“逐梦行”秀款产品的设计以“飞行”为主题,从飞...

关键字: 防护 网络

据CNMO了解,有韩媒报道称,韩国将在下个月公布下一代网络战略,为6G移动通信的商业化做准备。据悉,战略中除了6G网络的智能化、融合和空间扩展的技术战略外,还将提出公私合营的合作方式。

关键字: 6G 网络 战略

前不久,一位意大利女航天员在网络上走红,因为她在海外社交平台上发布了一组太空摄影作品,并配上了中国著名书法家王羲之所著《兰亭集序》中一句描绘宇宙景观的古文。“仰观宇宙之大,俯察品类之盛,所以游目骋怀,足以极视...

关键字: 卫星 航天器 网络 MIDDOT

这两年来Wi-Fi 6无线网络得到了大家的认可,现在的手机及路由器几乎都支持了这一标准,速度超过家里的千兆带宽没问题,在下一代的无线就是Wi-Fi 7了,高通日前首次演示了Wi-Fi 7的实际速度,达到了5Gbps。

关键字: 5G 网络 高通Wi-Fi 7

工厂运用创新的工业4.0技术和循环经济能力,加速可持续的先进制造实践 上海2022年10月17日 /美通社/ -- 近日,伟创力宣布其位于巴西索罗卡巴(Sorocaba)的工厂已获准加入世界经济论坛全球灯塔网络(GLN...

关键字: 伟创力 网络 工业4.0 可持续发展

量子网络是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子网络。量子网络的概念源于对可逆计算机的研究。研究可逆计算机的目的是为了解...

关键字: 欧洲 量子计算机 网络

北京2022年10月14日 /美通社/ -- 近年来,WiFi技术在医疗场景中得到广泛应用,无论是无线查房、无线护理、无线输液,还是医护人员定位管理、特殊患者定位看护、婴儿防盗等医疗服务,无线网络都承担至关重要的角色。近...

关键字: 网络 联网 智慧医疗 智慧医院

北京2022年10月14日 /美通社/ -- 2022年10月14日,亚马逊云科技举办一年一度的中国合作伙伴峰会。本届峰会以"价值成就 探索无限"为主题,面向合作伙伴推出"3+3价值成就体系...

关键字: 亚马逊 网络 AC MARKET

嵌入式软件

15715 篇文章

关注

发布文章

编辑精选

技术子站

关闭