Linux網(wǎng)絡存儲器的設計
1、硬件設計
本文引用地址:http://www.ex-cimer.com/article/202516.htm硬件設計方框圖如圖1所示。
從圖1可看到,除CPU單元以外,網(wǎng)絡存儲器的實現(xiàn)主要包括兩個部分:I/O接口和存儲器接口。下面以CPU為中心,說明這兩個接口的主要功能。
①I/O接口。這里指CPU與Ethernet的接口(以太網(wǎng)接口)。它采用PCI的方式與以太網(wǎng)相連,是進入LAN(Local Area Network)的通道,在整個系統(tǒng)中負責發(fā)送或接收網(wǎng)絡上的數(shù)據(jù)包。
?、诖鎯ζ鹘涌?。包括兩個方面:一是RAM接口,主要存儲數(shù)據(jù),采用PCI接口方式;二是Flash接口,主要存儲操作系統(tǒng)及應用軟件,采用并口形式與CPU相連。
③磁盤冗余陣列卡(RAID)接口。包括與CPU的接口和與磁盤陣列的接口。磁盤陣列主要用來存儲網(wǎng)絡用戶資料,CPU通過磁盤陣列卡對磁盤陣列進行管理操作,允許一定的冗余來保證用戶數(shù)據(jù)的安全。
2、軟件設計
在整個軟件設計中,應選擇一個合適的操作系統(tǒng)。整個操作系統(tǒng)要求體積比較小、網(wǎng)絡功能比較強、適于裁減、能被嵌入到Flash中,并且有網(wǎng)絡管理和磁盤管理功能。針對這些要求,我們選擇Linux操作系統(tǒng)作為軟件平臺,對其內(nèi)核進行裁減,從而實現(xiàn)嵌入式網(wǎng)絡存儲器的功能。整個軟件實現(xiàn)可分為以下幾個部分。
2.1 Linux內(nèi)核的裁減
(1)Linux內(nèi)核簡介
Linux內(nèi)核主要由五部分構成:進程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡接口以及進程間通信。進程調(diào)度負責控制進程對CPU的訪問,調(diào)度程序使用一種策略確保所有的進程都能公平地訪問CPU,并且確保內(nèi)核在任意時刻能執(zhí)行必要的硬件操作。內(nèi)存管理負責管理系統(tǒng)的物理內(nèi)存,實現(xiàn)多進程安全地共享計算機的內(nèi)存;另外內(nèi)存管理支持虛擬內(nèi)存,使進程可以使用大于實際物理內(nèi)存的內(nèi)存地址空間,不用的內(nèi)存址空間被導出到文件系統(tǒng)中,并在需要使用時再導回到物理內(nèi)存中。虛擬文件系統(tǒng)通過將各種設備抽象為一種公共接口,屏蔽了各種硬件設備的細節(jié)。網(wǎng)絡接口實現(xiàn)了對各種網(wǎng)絡標準網(wǎng)絡硬件的訪問。進程間通信子系統(tǒng)實現(xiàn)了系統(tǒng)內(nèi)進程間的多種通信機制。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論