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