㈠ 大數據所謂的分布式運算是指什麼
分布式計算是一種計算方法,和集中式計算是相對的。分布式計算將該應用分解成許多小的部分,分配給多台計算機進行處理。這樣可以節約整體計算時間,大大提高計算效率。
分布式計算可以分為以下幾類:
傳統的C/S模型。如HTTP/FTP/SMTP/POP/DBMS等伺服器。客戶端向伺服器發送請求,伺服器處理請求,並把結果返回給客戶端。客戶端處於主動,伺服器處於被動。
集群技術。一種稱集群的技術出現了,它把多台伺服器連接起來,當成一台伺服器來用。這種技術的好處就是,不但對客戶來說是透明的,對伺服器軟體來說也是透明的,軟體不用做任何修改就可以在集群上運行。
通用型分布式計算環境。如CORBA/DCOM/ RMI/ DBUS等,這些技術(規范)差不多都有具有網路透明性,被調用的方法可能在另外一個進程中,也可能在另外一台機器上。調用者基本上不用關心是本地調用還是遠程調用。
㈡ 如何將自己的電腦設置成FTP伺服器
打開 "控制面板",選擇"程序" -> "打開或關閉Windows資源",在彈出的窗體里找到 「Internet信息服務」,展開後選擇「Ftp伺服器",然後點擊"確定",此時Windows開始更新功能資源列表。
更新完成後,進入"控制面板" -> "系統和安全" -> "管理工具" ,雙擊 "Internet 信息服務(IIS)管理器"。
在彈出的窗體中右鍵點擊計算機名稱,選擇添加FTP站點。在彈出的對話框中輸入Ftp站點的名稱(例如"myFtp"),物理路徑(例如"d:myFtp"),點擊 "下一步".
在"IP地址"框中輸入本機的IP地址(例如我的本機IP地址為192.168.1.100),然後點"下一步",勾選允許所有用戶訪問,執行讀和寫的操作許可權。最後點擊完成。
設置防火牆,以便其它用戶通過區域網中其它計算機訪問本計算機中的Ftp資源。進入"控制面板" -> "系統和安全" - > "允許程序通過防火牆" -> 鉤上FTP及後面兩個框選上。
在IE地址欄中輸入"ftp :// 192.168.1.100 "(這個地址根據個人電腦實際情況是不同的),在彈出的身份認證對話框中輸入用戶名和密碼,點擊登陸即可訪問ftp資源。
FTP是文件傳輸協議使得主機間可以共享文件。 FTP 使用TCP 生成一個虛擬連接用於控制信息,然後再生成一個單獨的 TCP 連接用於數據傳輸。控制連接使用類似TELNET協議在主機間交換命令和消息。文件傳輸協議是TCP/IP網路上兩台計算機傳送文件的協議,FTP是在TCP/IP網路和INTERNET上最早使用的協議之一,它屬於網路協議組的應用層。FTP客戶機可以給伺服器發出命令來下載文件,上傳文件,創建或改變伺服器上的目錄。
FTP獨立許可權設置:許可權設置需要分兩部分來進行,即對FTP伺服器主目錄的許可權設置和對各個用戶文件夾的許可權設置。假設FTP伺服器的主目錄路徑為「F:/FTP」,先取消「FTP」組的用戶對「FTP」文件夾的「寫入 」許可權。右擊「FTP」文件夾,執行「屬性」命令。在打開的「FTP 屬性」對話框中切換至「安全」選項卡下,然後依次單擊「添加」→「高級」→「立即查找」按鈕,單擊選中「FTP」組並依次單擊「確定」按鈕回到「FTP 屬性」對話框。接著在「FTP的許可權」列表框中勾選「拒絕寫入」復選框。為了使「拒絕寫入」許可權僅對「FTP」文件夾有效,還需要單擊「高級」按鈕,在「FTP的高級安全設置」對話框中雙擊「許可權列表」中的「拒絕FTP寫入」選項,打開「FTP的許可權設置」對話框。在「應用到」下拉列表中選中「只有該文件夾」選項,連續單擊「確定」按鈕完成設置。
接著為每個用戶創建獨立的文件夾(以用戶名命名),並針對每個文件夾賦予相應用戶適當的許可權。以文件夾「xxxx」為例,在「xxxx屬性」對話框的「安全」選項卡下將用戶「xpzx」添加進來,並賦予其讀取和寫入的許可權。同理,對於其他文件夾,也只賦予相應用戶讀取和寫入的許可權。
需許可權保護的文件夾必須在NTFS分區中創建,FAT32分區內的資源無法設置許可權。
至此,設置工作就全部結束了。在任意一台機器上以用戶「xxxx」的身份登錄FTP伺服器,你會發現該用戶只能在「xxxx」文件夾中任意讀寫,而無法看到主目錄和其他用戶目錄的內容。
㈢ 何謂計算機網路的體系結構與網路協議
計算機協議及體系結構網路協議與層次結構
1.2.1網路體系結構
1.網路協議
通過通信信道和網路設備互聯起來的不同地理位置的多個計算機系統,要使其能協同工作實現信息交換和資源共享,它們之間必須具有共同的語言。交流什麼、怎樣交流及何時交流,都必須遵循某種互相都能接受的規則。
網路協議(Protocol)是為進行計算機網路中的數據交換而建立的規則、標准或約定的集
合。准確地說,它是對同等實體之間通信而制定的有關規則和約定的集合;
網路協議的三個要素: 、
l)語義(Semarlties)涉及用於協調與差錯處理的控制信息。
2)語法(Syntax)涉及數據及控制信息的格式、編碼及信號電平等。
3)定時(Timing)涉及速度匹配和定序等。
2.網路的體系結構及其劃分所遵循的原則計算機網路系統是一個十分復雜的系統。將一個復雜系統分解為若干個容
易處理的子系統。分層就是系統分解的最好方法之一。
在圖1-4所示的一般分層結構中,n層是n-l層的用戶,又是n+l層的服務提供者。n+1層雖然只直接使用了n層提供的服務,實際上它通過n層還間接地使用了n-1層以及以下所有各層的服務。、
層次結構的好處在於使每一層實現一種相對獨立的功能。分層結構還有利於交流、理解和標准化。
所謂網路的層次模型就是計算機網路各層次及其協議的 集合。層次結構一般以垂直分層模型來表示, 層次結構的要點:
1)除了在物理媒體上進行的是實通信之外,其餘各 對等實體間進行的都是虛通信。
2)對等層的虛通信必須遵循該層的協議。
3)n層的虛通信是通過n/n-l層間介面處n-l層提供的服務以及n-1層的通信(通常也
是虛通信)來實現的。
1.2.2網路體系結構
網路體系結構最常用的分為兩種:
OSI七層結構和TCP/IP(TramferControlProtocol/InternetProtocol,傳輸控制協議/網際協議)四層結構。TCP/IP協議是Internet的核心協議。
1.OSI/RM基本參考模型
開放系統互聯(OpenSystemIntercomectim)基本參考模型是由國際標准化組織(ISO)
制定的標准化開放式計算機網路層次結構模型,又稱ISO/OSI參考模型。"開放"這個詞表示能使任何兩個遵守參考模型和有關標準的系統可以進行互聯。
OSI/RM包括了體系結構、服務定義和協議規范三級抽象。OSI的體系結構定義了一個七層模型,用以進行進程間的通信,並作為一個框架來協調各層標準的制定gOSI的服務定義描述了各層所提供的服務,以及層與層之間的抽象介面和交互用的服務原語:OSI各層的協議規范,精確地定義了應當發送何種控制信息及何種過程來解釋該控制信息。
OSI/RM的七層參考模型結構包括:從下至上分別為物理層、數據鏈路層、網路層、傳輸層,
會話層、表示層和應用層。
2.Internet層次模型
Internet網路結構以TCP/IP協議層次模型為核心,
共分四層結構:應用層、傳輸層、網際層和網路介面層。TCP/IP的體系結構與ISO的OSI七層參考模型的對應關系如圖1-6所示。TCP/IP是Internet的核心,利用TCP/IP協議可以方便地實現各種網路的平滑、無縫連接。在TCP/IP四層模型中,作為最高層的應用層相當於OSI的5~7層,該層中包括了所有的高層協議,如常見的文件傳輸協議FTP(文件傳輸協議)、電子郵件SMTP,(簡單郵件傳送協議)、域名系統DNS(域名服務)、網路管理協議SNMP、訪問WWW的超文本傳輸協議HTTP、遠程終端訪問協議TELNET等。
TCP/IP的次高層為傳輸層,相當於OSI的傳輸層,該層負責在源主機和目的主機之間提供端到端的數據傳輸服務。這一層上主要定義了兩個協議:面向連接的傳輸控制協議TCP和無連接的用戶數據報協議UDP(UserDatagramProtocol)。
TCP/IP的第二層相當於OSI的網路層,該層負責將報文(數據包)獨立地從信源傳送到信宿,主要解決路由選擇、阻塞控制級網際互聯問題。這一層上定義了網際協議(InternetProtocol,IP協議)、地址轉換協議ARP(AddressResolutionProtocol)、反向地址轉換協議RARP(ReverseARP)和網際控制報文協議ICMP()等協議。
TCP/IP的最低層為網路介面層,該層負責將IP分組封裝成適合在物理網路上傳輸的幀格式並發送出去,或將從物理網路接收到的幀卸裝並遞交給高層。這一層與物理網路的具體實現有關,自身並無專用的協議。事實上,任何能傳輸IP報文的協議都可以運行。雖然該層一般不需要專門的TCP/IP協議,各物理網路可使用自己的數據鏈路層協議和物理層協議。
3.Internet主要協議
TCP/IP協議集的各層協議的總和亦稱作協議枝。給出了TCP/IP協議集與OSI參
考模型的對應關系。其中每一層都有著多種協議。一般來說,TCP提供傳輸層服務,而IP提供網路層服務。
(l)TCP/IP的數據鏈路層
數據鏈路層不是TCP/IP協議的一部分,但它是TCP/IP與各種通信網之間的介面。這些通信網包括多種廣域網和各種區域網。
一般情況下,各物理網路可以使用自己的數據鏈路層協議和物理層協議,不需要在數據鏈路層上設置專門的TCP/IP協議。但是,當使用串列線路連接主機與網路,或連接網路與網路時,例如用戶使用電話線接入網路肘,則需要在數據鏈路層運行專門的SLIP(SerialLineIP)協議的PPP(PointtoPointProtocol)協議。
(2)TCP/IP網路層
網路層最重要的協議是IP,它將多個網路聯成一個互聯網,可以把高層的數據以多個數據報的形式通過互聯網分發出去。
網路層的功能主要由IP來提供。除了提供端到端的報文分發功能外,IP還提供了很多擴充功能。例如:為了克服數據鏈路層對幀大小的限制,網路層提供了數據分塊和重組功能,這使得很大的IP數據報能以較小的報文在網上傳輸。
網路層的另一個重要服務是在互相獨立的區域網上建立互聯網路,即網際網。網間的報文來往根據它的目的IP地址通過路由器傳到另一網路。
IP的基本任務是通過互聯網傳送數據報,各個IP數據報之間是相互獨立的。主機上的IP層向傳輸層提供服務。IP從源傳輸實體取得數據,通過它的數據鏈路層服務傳給目的主機的IP層。IP不保證服務的可靠性,在主機資源不足的情況下,它可能丟棄某些數據報,同時IP也不檢查被數據鏈路層丟棄的報文。
在傳送時,高層協議將數據傳給IP層,IP層再將數據封裝為互聯網數據報,並交給數據鏈路層協議通過區域網傳送。若目的主機直接連在本區域網中,IP可直接通過網路將數據報傳給
目的主機;若目的主機在其他網路中,則IP路由器傳送數據報,而路由器則依次通過下一網路將數據報傳送到目的主機或再下一個路由器。即IP數據報是通過互聯網路逐步傳遞,直到終點 為止。
(3)TCP/IP傳輸層
TCP/IP在這一層提供了兩個主要的協議:傳輸控制協議(TCP)和用戶數據協議(UDP)。TCP提供的是一種可靠的數據流服務。當傳送有差錯數據,或網路故障,或網路負荷太
重不能正常工作時,就需要通過其他協議來保證通信的可靠。TCP就是這樣的協議,它對應於OSI模型的傳輸層,它在IP協議的基礎上,提供端到端的面向連接的可靠傳輸。
TCP採用"帶重傳的肯定確認"技術來實現傳輸的可靠性。簡單的"帶重傳的肯定確認"是指與發送方通信的接收者,每接收一次數據,就送回一個確認報文J發送者對每個發出去的
報文都留一份記錄,等到收到確認之後再發出下一報文。發送者發出報文時,啟動計時器,若計時器計數完畢,確認還未到達,則發送者重新發送該報文。
TCP通信建立在面向連接的基礎上,實現了一種"虛電路"的概念。雙方通信之前,先建立一條連接,然後雙方就可以在其上發送數據流。這種數據交換方式能提高效率,但事先建立連接和事後拆除連接需要開銷。
4.TCP/IP協議族中的其他協議
TCP/IP是網路中使用的基本的通信協議,是一系列協議和服務的總集。雖然從名字上看
τCP/IP包括兩個協議一一…傳輸控制協議(TCP)和網際協議(IP),但TCP/IP實際上是一組協議,包括了上百個各種功能的協議,如:遠程登錄、文件傳輸和電子郵件(PPP,ICMP,ARP/
RARP,UDP,FTP,HTTP,SMTP,SNMP,RIP,OSPF)等協議,而TCP協議和IP協議是保證數據完整傳輸的兩個最基本的重要協議。通常說TCP/IP是指TCP/IP協議族,而不單單是TCP和IP。TCP/IP依靠TCP和IP這兩個主要協議提供的服務,加上高層應用層的服務,共同實現了TCP/IP協議族的功能。
TCP/IP的最高層與OSI參考模型的上三層有較大區別,也沒有非常明確的層次劃分。其中FTP,TELNET,SMTP,DNS是幾種廣泛應用的協議,TCP/IP中還定義了許多別的高層協議。
(l)文件傳輸協議FTP
FTP(FileTransferProtocol):文件傳輸協議,允許用戶將遠程主機上的文件拷貝到自
己的計算機上。
文件傳輸協議是用於訪問遠程機器的專門協議,它使用戶可以在本地機與遠程機之間進行有關文件的操作。FTP工作時建立兩條TCP連接,條用於傳送文件,另一條用於傳送控制。
FTP採用客戶/伺服器模式,它包含FTP客戶端和FTP伺服器。客戶啟動傳送過程,而服 務器對其做出應答。客戶FTP大多有互動式界面,使客戶可以方便地上傳或下載文件。
(2)遠程終端訪問TELNET
Telnet(RemoteLogin):提供遠程登錄功能,用戶可以登錄到遠程的另一台計算機土,如同在遠程主機上直接操作一樣。
設備或終端進程交互的方訟,支持終端到終端的連接及進程到進程分布式計算的通信。
(3)域名服務DNS
DNS是一個域名服務的協議,提供域名到IP地址的轉換,允許對域名資源進行分散管理。(4)簡單郵件傳送協議SMTP
SMTP(SimpleMailTransferProtocol,簡單郵件傳輸協議),用於傳輸電子郵件。
互聯網標准中的電子郵件是基於文件的協議,用於可靠、有效的數據傳輸。SMTP作為應用層的服務,並不關心它下面採用的是何種傳輸服務,它可通過網路在TCP連接上傳送郵件, 或者簡單地在同一機器的進程之間通過進程通信的通道來傳送郵件。
郵件發送之前必須協商好發送者、接收者。SMTP服務進程同意為接收方發送郵件時,它將郵件直接交給接收方用戶或將郵件經過若干段網路傳輸,直到郵件交給接收方用戶。在郵件傳輸過程中,所經過的路由被記錄下來。這樣,當郵件不能正常傳輸時可按原路由找到發送者。
13網路互聯基礎
1.3.1IP地址
IP地址和域名是Internet使用的、符合TCP/IP協議規定的地址方案。這種地址方案與日常生活中涉及的電話號碼和通信地址相似,涉及到Internet服務的每一環節。IP協議要求所有Internet的網路節點要有統一規定格式的地址,簡稱IP地址。IP地址是運行TCP/IP協議的唯一標識符。TCP/IP協議是上層協議,無論下層是何種拓撲結構的網路,均應統一在上層IP地址上。任何網路接入Internet,均應使用IP地址。
IP地址是唯一的、全球識別的InterIEt網路地址,採用32位二進制(即4位元組)的格式。
在Internet上,每台計算機或網路設備都被分配一個IP地址,這個IP地址在整個InterIIet網路中是唯一的,保證了Internet成為全球開放互聯的網路系統。
1.3.2IP地址的格式和分類
IP地址可表達為二進制格式和十進制格式。二進制的IP地址為32位,分為4個8位二進制數。為書寫方便起見,常將每個位元組作為一段並以十進制數來表示,每段間用"."分隔,每段取值為0~255,。例如:135.111.5.27(二進制格式:10000111.01101111.00000101.00011011)就是合怯的IP地址。
IP地址由網路標識和主機標識兩部分組成。常用的IP地址有ATB,C三類,每類均規定
了網路標識和主機標識在32位中所佔的位數。這三類IP地址的格式表示範圍分別為:
A類地址:0.0.0.O~127.255.255.255
B類地址:128.0.0.O~191.255.255.255
C類地址:192.0.0.O~233.255.255.255
A類IP地址一般用於主機數多達160餘萬台的大型網路,前8位代表網路號,後3個8
位代表主機號。32位的最高位為Og十進制的第一組數值范圍為000~127。IP地址范圍為:001.x.y.z~126.x.y.z。
B類IP地址一般用於中等規模的各地區網管中心,前兩個8位二進制代表網路號,後兩個8位代表主機號。32位的最高兩位為10;十進制的第一組數值范圍為128~191。IP地址范圍為:128.x.y.Z~191.x.y.z。
C類地址一般用於規模較小的本地網路,如校園網、企業網、政府機構網等。前三個8位代表網路號,最後8位代表主機號。32位的最高3位為110,十進制第一組數值范圍為192~223。IP地址范圍為:192.x.y.z~223.x.y.z。一個C類地址可連接256個主機。
A類地址一般分配給具有大量主機的網路使用,B類地址通常分配給規模中等的網路使用,C類地址通常分配給小型區域網使用。為了確保唯→性,IP地址由世界各大地區的權威機構InterNIC()管理和分配。
1.3.3子網的劃分與掩碼
在Internet中,如果每個物理網路就要佔用一個網路號,是不夠用的。另外,如果每個單位增添新的物理網路(例如新建樓房或新部門中新建的網路)就要向Internet的NIC申請新網路號,也太麻煩,並且不便於IP地址的分配管理。
,
在IP地址的某個網路標識中,可以包含大量的主機(如A類地址的主機標識域為24位,B類地址的主機標識域為16位),而在實際應用中不可能將這么多的主機連接到單一的網路中, 這將給網路定址和管理帶來不便。為解決這個問題,可以在網路中引入"子網"的概念。
注意:這里的子網與前面所說的通信子網是兩個完全不同的概念。將主機標識域進一步劃分為子網標識和子網主機標識,通過靈活定義子網標識域的位數,可以控制每個子網的規模。將一個大型網路劃分為若干個既相對獨立又相互聯系的子網後,網路內部各子網便可獨立定址和管理,各子網間通過跨子網的路由器連接,這樣也提高了網路的安全性。
利用子網掩碼可以判斷兩台主機是否在同一子網中。子網掩碼與IP地址一樣也是32位二進制數,不同的是它的子網主機標識部分為全"。"。若兩台主機的IP地址分別與它們的子網掩碼相"與"後的結果相同,則說明這兩台主機在同一網中。
1.子網劃分
為使多個物理網路共用一個IP地址,可以採取把IP地址中主機號部分進一步劃分為子網號和主機號兩部分。例如:一個B類IP地址,可以把第三個位元組作為子網號,第四個位元組作為子網(物理網路)上主機號。
2.子網掩碼
IP路由選擇演算法是根據IP數據報報頭中目的地址的網路號,查找它的路由表,找到一個表項的目的網路號能與它匹配,然後用匹配上表項的中繼IP地址作為發送該數據報到達目的主機的下一個路由器地址。IP數據報報頭中目的地址的網路號是根據該地址最高位值來決定它是哪一類IP地址,網路號應佔用多少位。
劃分了子網後,就不能從地址的最高位值來判斷網路號佔用的位數了,用戶可以自行決定子網號佔用的位數。為了解決這個問題,必須使用子網掩碼(mask)子網掩碼是一個32位的數,其中取值為1的位,對應網路號或子&網號:取值為0的位,對應主機號。
㈣ 現在的雲存儲和ftp有什麼區別都是文件傳輸協議啊!區別在於哪裡
說白了就是雲存儲是把所有人的文件都放在一個ftp上,可以節省資源,統計數據等,相當於公共汽車,平常的FTP只保存你少數人的資源,相當於私家車
如下為網路
雲存儲是在雲計算(cloud computing)概念上延伸和發展出來的一個新的概念,是指通過集群應用、網格技術或分布式文件系統等功能,將網路中大量各種不同類型的存儲設備通過應用軟體集合起來協同工作,共同對外提供數據存儲和業務訪問功能的一個系統。 當雲計算系統運算和處理的核心是大量數據的存儲和管理時,雲計算系統中就需要配置大量的存儲設備,那麼雲計算系統就轉變成為一個雲存儲系統,所以雲存儲是一個以數據存儲和管理為核心的雲計算系統。
㈤ nfs ,ftp 和samba都有什麼區別
NFS:Network File System 是已故的Sun公司制定的用於分布式訪問的文件系統,它的本質是文件系統。主要在Unix系列操作系統上使用,基於TCP/IP協議層,可以將遠程的計算機磁碟掛載到本地,像本地磁碟一樣操作。
samba是Unix系統下實現的 Windows文件共享協議-CIFS,由於Windows共享是基於NetBios協議,是基於Ethernet的廣播協議,在沒有透明網橋的情況下(如VPN)是不能跨網段使用的。它主要用於unix和windows系統進行文件和列印機共享,也可以通過samba套件中的程序掛載到本地使用。
FTP的目的是在Internet上共享文件而發明的一種協議,基於TCP/IP。世界上絕大多數系統都會有支持FTP的工具存在,通用性很強。目前少有人把VPS修改成支持FTP組件的形式,主要是因為FTP一開始就不是為了文件系統而設計的。
三種協議雖然都可以支持文件共享,但是其功能點和側重點上面各有所不同,協議格式不同。Authentication(鑒定)也就是你說的登陸方式也會隨著協議的內容也有所不同。
標準的FTP協議的登陸密碼是用明文傳輸的,沒有加密,這會有很大的安全隱患,目前有FTPs(FTP on SSL/TLS)和sFTP(SSH FTP)等基於通信層進行加密的FTP協議,這樣會有更好的安全性。
NFS的鑒定機制是基於IP地址的,沒有密碼這種東西。是控制本地映射的用戶許可權來控制訪問者的許可權。
samba和windows那個是基本一致的。不過我不太熟悉,就不妄言了
㈥ 怎麼樣在Redhat Linux 下配置FTP,Web,Mysql服務(要具體的,最好完整的)
1,Linux下架FTP!!
Linux下一般最常用的工具wu-ftpd.
wu-ftpd的安裝非常容易,大多數版本的Linux中都包含了wu-ftpd的rpm軟體包,你可以在安裝Linux時指定裝入。如果你想自行編譯源代碼,也可以到ftp://ftp.wu-ftpd.org下載最新版本的源代碼包。
安裝好以後,可以用ckconfig命令來檢查是否已經正確安裝。在/etc/passwd中可以指定ftp用戶的登入目錄。
wu-ftpd主要有以下6個配置文件:
ftpaccess(主要配置文件,控制存取許可權)
ftpconvertions(配置文件壓縮/解壓縮轉換)
ftpgroups(設定ftp自己定義的群組)
ftphosts(設定個別的用戶許可權)
ftpservers(設定不同IP/Domain Name以對應到不同的虛擬主機)
ftpusers(設定哪些帳號不能用ftp連線)
下面我們來一一介紹。
⒈/etc/ftpaccess(wu-ftpd的主要配置文件)
class--定義群組,用法如下:
class<種類>;<用戶地址>;[<用戶地址>;……]
由class定義的群組用戶才可以連線進來,可以使用多層式的class來規范哪些群組的用戶能夠從哪些地方上來。這里有三個重要的種類,real、anonymous個guest。real如果沒有列在定義中,那麼這台機器中任何真實的一般用戶都無法用自己的帳號連上來。anonymous如果沒有在定義,就表示不讓沒有帳號的的人連上來。如果有定義guest,那麼guest群組的人就可以上來。另外<用戶地址>;是指ftp上來的用戶會用到的IP地址,則可自行設定。以下是一些例子:
class all real,guest,anonymous *
定義了一個名為all的class,包含三種人,所有IP的連線用戶(也就是所有人都包括了)
class local real localhost loopback
local這個class說,只有real的用戶可以從本機機器連上來
class remote guest,anonymous *
remote這個class包含了從任何地方上來的guest和anonymous用戶,但是real用戶不算
class rmtuser real !*.example.com
rmtuser這個class包含了從外面來的(除了example.com)真實用戶
autogroup--自動對應群組,用法如下:
autogroup[……]
當你定義好的那些同屬於一個class的用戶,一旦連線上來就會被對應到一個相應的群組下面,這樣你就可以用Unix的文件許可權對某一群人做限制。
deny--拒絕某些地址連線,用法如下:
deny<拒絕連線的地址>;<信息文件>;
禁止某些機器連線,並顯示<信息文件>;。例如:
deny 210.62.146.*:255.255.255.254 /etc/reject.msg
guestgroup--設定訪客群
guestuser--設定訪客帳號
realgroup--設定真實群組
realuser--設定真實帳號
nice--設定給某些class多少優先權,用法如下:
nice
在Linux中,nice的值是-20(最優先)到19(最後處理),這里你可以指定負的值來提高某class的優先順序。
defumask--設定某class的umask,用法如下:
defumask[]
umask是建立文件時該文件的的許可權掩碼
tcpwindow--設定tcpwindow的大小
keepalive--設定是否使用TCP SO_KEEPALIVE來控制斷線情形
timeout--設定連線超時,用法如下:
timeout accept<秒>;
接受連線超時,預設120秒
timeout connect<秒>;
連線建立超時,預設120秒
timeout data<秒>;
數據傳送超時,預設1200秒
timeout idle<秒>;
用戶發呆超時,預設900秒
file-limit--限制某class只能傳幾個文件,用法如下:
file-limit[][]
對某個class限制存取文件的數目,包含了in(上傳)、out(下載),total raw代表整個傳輸的結果,不光是數據文件。例如:
file-limit out 20 lvfour
限制lvfour這個class的用戶最多隻能下載20個文件
byte-limit--限制某class只能傳幾個位元組,用法跟file-limit相似
limit-time--限制一個連線只能持續多久,用法如下:
limit-time{*|anonymous|guest}<分鍾>;
為了避免有人掛在站上不下來,可以用這個方法限制用戶的上線時間,例如:
limit-time guest 5
讓guest帳號的用戶只能用5分鍾
limit--限制某class能同時幾人上線,用法如下:
limit<連線數目>;<時間區段>;<額滿信息文件>;
設定某個class在某一時間區段內最多能夠幾人同時上線,後面是當超過連線數目時要顯示的信息。例如:
limit all 32 Any /home/ftp/etc/toomanyuser.msg
限制所有連線在任何時間只能有32個用戶,超過則拒絕連線並顯示信息
limit levellone 5 Any2300-0600 /home/ftp/etc/toomanyuser.msg
限制levellone這個class的用戶在23:00到6:00這段時間內只能有5人連線
noretrieve--設定哪些文件不可下載
noretrieve[absolute/relative][class=]…[-][<文件名>;…]
absolute或relative指文件是用絕對路徑還是相對路徑
allow=retrieve--設定哪些文件可以下載
allow[absolute/relative][class=]…[-][<文件名>;…]
loginfails--設置登入錯誤可嘗試的次數
當用戶連線時可能打錯ID或密碼,這個設定可以讓他打錯幾次以後就斷線,避免有人用窮舉法猜測密碼。
private--設定線上是否可以執行SITE GROUP/SITE GPASS
當開放SITE GROUP與SITE GPASS指令時,可以用這兩個指令切換到/etc/ftpgroup的群組。一般而言我們不會用到這個功能,以避免安全漏洞。
greeting--顯示Server的版本信息,用法如下:
greeting
當用戶登入畫面顯示的server信息,full是預設值,包含版本號以及hostname,brief只有hostname,而terse只有「FTP server ready」的信息。
barnner--設定未進入Login畫面之前用戶看到的信息,用法如下:
banner<文件路徑>;
這里敘述了在用戶登入時,在還沒打ID/Password之前要出現的信息。文件路徑指的是相對於真實的路徑,而不是相對於ftp的根目錄。
host--設定ftp主機名
email--指定ftp管理者的email地址
message--信息文件的設定,用法如下:
message<文件>;{<何時>;{……}}
這里的文件的路徑是相對於ftp的根目錄的,「何時」是指當你做了什麼動作之後的反應,有幾個選擇:
login(登入時)
cwd=<目錄>;(進入某目錄時)
class 名稱是前面已經定義過的,允許你的信息只對哪些人發出。
而信息文件的內容除了文字以外,還可以使用以下一些事先定義好的代號:
%T(本機時間)
%F(目前分區所剩餘的空間)
%C(目前所在的目錄)
%E(管理者的E-mail)
%R(客戶端主機名稱)
%L(本機主機名稱)
%U(用戶名稱)
%M(與我相同class用戶允許多少人連線)
%N(與我相同class用戶目前有多少人連線)
%B(絕對磁碟限制大小,目前分區(單位blocks))
%b(preferred磁碟限制大小,目前分區(單位blocks))
%Q(目前已使用的blocks)
%I(最大可使用的inodes(+1))
%i(Preferred inodes限制)
%q(目前使用的indoes)
%H(超量使用磁碟空間的時間限制)
%h(超量使用文件數目的時間限制)
readme--通知用戶哪些README文件已經更新
log commands--記錄用戶所使用過的命令,用法如下:
log commands<用戶種類>;
log transfers--記錄用戶所傳輸的文件,用法如下:
log transfers<用戶種類>;<傳輸方向>;
設定有哪些類型的用戶傳輸文件需要記錄,包含了inbound(用戶上傳)和outbound(用戶下載),例如:
log transfers anonymous,guest inbound,outbound
log security--記錄安全性,用法如下:
log security<用戶種類>;
特別用於記錄某類用戶關於noretrive、notar等有關安全性的記錄
log syslog--記錄到系統的syslog文件
alias--設定目錄別名,用法如下:
alias<別名字元串>;<目錄>;
cdpath--設定cd更換目錄搜索順序
compress,tar--設定是否自動壓縮,用法如下:
compress[……]
tar[……]
定義哪些人可以執行壓縮以及tar
shutdown--通知用戶要關站了
shutdown<信息文件>;
如果信息文件存在的話,當這個文件指定的某時間以後,就會拒絕連線並切斷已有的連線,等時間一到就關機。這個信息文件的格式如下:
<年>;<月>;<日>;<時>;<分>;<拒絕倒數>;<斷線倒數>;<文字>;
daemon address--指定只監聽某個IP地址,用法如下:
daemon address
當你有許多IP的時候,使用這個選項將會取消其它任何虛擬FTP主機的設定。不設定的話,監聽所有IP。
virtual--設定虛擬FTP站台
wu-ftpd提供了虛擬主機的功能,也就是說,在同一台機器上提供了不同FTP站台,以主機名稱或IP來區分;當然你要用名稱的話,還需要跟DNS配合才行。virtual有很多個設定:
virtual
<路徑>;
可以是主機名或IP地址
root指的是ftp的根目錄,banner是歡迎信息,logfile指的是這個虛擬站台的log文件
以下是一些例子:
virtual virtual.com.bj root /home/ftp2
virtual virtual.com.bj banner /etc/vftpbanner.2
virtual virtual.com.bj logfile /etc/viftplog.2
virtual
<字母>;
用戶可以查到hostname跟管理者email,以下是一些例子:
virtual 210.62.146.50 hostname virtual.site.com.bj
virtual vritual.site.com.bj email [email protected]
virtual
allow<用戶>;[<用戶>;……]
virtual
deny<用戶>;[<用戶>;……]
很明顯,以上兩個選項是設定是否允許連線的,以下是一些例子:
virtual virtual.site.com.bj allow *
virtual virtual.site.com.bj deny badman
virtual
private
本虛擬站台拒絕anonymous用戶
defaultserver deny <用戶>;[<用戶>;……]
defaultserver allow <用戶>;[<用戶>;……]
當我們使用了虛擬主機,原先的deny,allow設定不知道要設哪個server,所以會無效,用defaultserver代表原來的主機
defaultserver private
主站台拒絕anonymous用戶
passive address--轉換IP數值
passive address<外部IP>;/cidr
passive ports--passive的ports范圍
passive ports
pasv-allow--允許使用pasv
pasv-allow[<地址>;……]
port-allow--允許使用port
port-allow[<地址>;……]
mailserver--指定Upload通知的mail伺服器
incmail--指定anonymous upload的email通知地址
virtual incmail--指定虛擬主機anonymous upload的email通知地址
defaultserver incmail--指定預設主機anonymous upload的email通知地址
mailfrom--通知的寄信人upload
virtual mailfrom--虛擬主機upload通知的寄信人
defaultserver mailfrom--預設主機upload通知的寄信人
chmod--設定是否可以改變文件許可權
delete--設定是否可以刪除文件
overwrite--覆蓋文件
rename--重命名文件
umask--允許設定umask
passwd-check--設定anonymous FTP的密碼檢查程度,用法如下:
passwd-check()
設定對anonymous ftp用戶的密碼是否檢查,none表示不檢查,trivial為包含@的任意密碼,rfc822則表示密碼要遵循RFC822格式,enforce表示密碼檢查不過不允許進入,warn表示密碼檢查不過只出現警告信息。
deny=email--拒絕特定的email當密碼
path-filer--攝定哪些文件名不可使用
path-filer<錯誤信息文件>;<允許字元>;<不允許字元>;
upload--設定upload許可權
upload[absloute/relative][class=]…[-]<設定的目錄>; >;[dirs/nodirs][d_mode]
用來對我們要設定的目錄做許可權設定:
absoulte/relative使用絕對路徑或是相對路徑
class=指定某個class
root-dir指的是對哪些root-dir的人,也就是chroot後的登入目錄,應用這個規則
設定的目錄指的就是我們要限制的目錄
yes/no指得是能否在此目錄下開新文件
owner,group指出是開出來的文件擁有者及群組
Mode指的是文件許可權
dirs/nodirs指的是能否開新目錄
d_mode設定建立新目錄時目錄的許可權,如果不設定會根據mode來設定
thoughput--控制下載速度
thoughput<子目錄列表>;<文件>;<遠端地址列表>;
對遠端的地址,控制他抓某個子目錄下的某些文件時的速度,例如:
thoughput /e/ftp * * oo - *
thoughput /e/ftp /sw* * 1024 0.5 *
thoughput /e/ftp sw* readme oo - *
thoughput /e/ftp sw* * oo - *.foo.com
以上的設定你是否能夠看出來呢?「oo」表示不限制bytes/sec,「-」或是「1.0」都是代表一倍。第一行的意思是說,在/e/ftp下面的文件不限制下載速度;第二行說,在/sw*下面的任何文件限速為1024bytes/sec*
0.5=512bytes/sec;第三行又把readme文件的限速取消;最後一行則對*.foo.com開放全速。
anonymous-root--對某class設定匿名用戶的根目錄
anonymous-root[]
guest-root--預設一個guest用戶根目錄
guest-root[]
其中用於指定uid的范圍
deny-uid,deny-gid--拒絕某段UID(GID)范圍
allow-uid,allow-gid--允許某段UID(GID)范圍
restricted-uid,restricted-gid--限制用戶不能離開他的登錄目錄
unrestricted-uid,unrestricted-gid--用戶可以離開他的登錄目錄
dns refuse_mismatch--設定DNS查到名稱與用戶設定不符的動作
dns refuse_mismatch<信息文件>;[override]
當用戶使用未注冊IP時,拒絕他的連線,override則是不理會錯誤而讓他連線,信息文件則是我們要給用戶看的。
dns refuse_no_reverse--設定無反查記錄拒絕連線
dns refuse_no_reverse<信息文件>;[override]
當用戶的IP反查無記錄時,拒絕他的連線
dns resolveoptions--設定DNS解析選項
dns resolveoptions[options]
這里可以設定DNS解析選項
⒉/etc/ftphosts
ftphosts文件其實跟ftpaccess裡面的access,deny很像,它是特別用來設定某些ID的連線,它沒有class定義,所以必須是真實用戶。
allow|deny<用戶>;<地址>;[<地址>;……]
以下是一些例子:
allow rose 140.0.0/8
deny jack 140.123.0.0:255.255.0.0
允許rose從140.*.*.*進來,拒絕jack從140.123.*.*上來
⒊/etc/ftpservers
這個文件控制了當你有不同的IP/hostname的時候,進來的連線使用哪一個配置文件。例如:
10.196.145.10 /etc/ftpd/ftpaccess.somedomain/
10.196.145.200 /etc/ftpd/ftpaccess.someotherdomain/
some.domain internal
10.196.145.20 /etc/ftpd/config/faqs.org/
ftp.some.domain /etc/ftpd/config/faqs.org/
⒋/etc/ftpusers
在這個文件里記錄的用戶禁止使用FTP
⒌/etc/ftpgroups
給SITE GROUP指令使用,線上切換group。SITE EXEC容易造成安全漏洞,一般我們都不開放。
⒍/etc/ftpconversions
用來做tar、compress、gzip等動作指令配置文件,只要用預設即可,如果你不開放即時壓縮打包,也可以把內容清除。
2,Linux操作系統近幾年有了蓬勃的發展,在整個世界范圍內得到了越來越多公司和團體的支持,尤其是最近IBM公司的鼎力支持,更是使Linux伺服器如虎添翼,更上一層樓
Linux操作系統近幾年有了蓬勃的發展,在整個世界范圍內得到了越來越多公司和團體的支持,尤其是最近IBM公司的鼎力支持,更是使Linux伺服器如虎添翼,更上一層樓。而在國內,Linux的應用也是方興未艾,眾多公司已經投入到Linux系統的研發和推廣工作中。一些優秀的Linux操作系統相繼出現,比如紅旗Linux等。但是我國的Linux應用水平還很低,熟悉Linux的人員嚴重缺乏,Linux專業人才的缺乏已成為Linux在國內應用和普及的瓶頸問題。據《開放系統世界》2003年第八期介紹,中國五年內Linux人才需求量將會超過120萬。而「1+1+1」工程的實施,也是間接地告訴我們這個問題的嚴重性。如此大好時機,我們干嗎還愣著不動呢!如果你是一位Linux愛好者,你可能已經掌握了基本的Linux的知識與操作,毫無疑問,你並不會去滿足這樣小小的成就。Linux為何如此的流行?其最大的特點莫過於功能強大,性能穩定的伺服器應用了。像WWW,MAIL,FTP,DNS和SMB等。在這篇文章中,我將以Redhat Linux 9為藍本,從Web伺服器的一些最基本的操作入手,從初學者使用的態度,讓讀者正確充分的認識Apache。好,現在就讓我們一起踏上征服Apache的自由之路吧。
Apache的主要特徵是:
. 可以運行上所有計算機平台;
. 支持最新的HTTP 1.1協議;
. 簡單而強有力的基於文件的配置;
. 支持通用網關介面CGI;
. 支持虛擬主機;
. 支持HTTP認證;
. 集成Perl腳本編程語言;
. 集成的代理伺服器;
. 具有可定製的伺服器日誌;
. 支持伺服器端包含命令(SSI)
. 支持安全Socket層(SSL)
. 用戶會話過程的跟蹤能力;
. 支持FastCGI;
. 支持Java Servlets。
安裝Apache
下面我們就開始漫漫征服Apache之旅,通過循序漸進的需求實例,一步步地學習使用Apache,從入門到精通。
系統需求
運行Apache不需要太多的計算資源。它在有6-10MB硬碟空間和8MB RAM的Linux系統上運行得很好。然而,只運行Apache可能不是你想做的事情。更可能的是,你想運行Apache來提供WWW服務、啟動CGI進程以及充分利用所有WWW能夠提供的令人驚奇的功能。在這種情況下,你需要提供反映負載要求的額外的磁碟空間和內存空間。也就是說,如果僅僅是啟動WWW服務並不需要太多的系統資源,但是想要能為大量的客戶提供服務就需要更多的系統資源。
獲取軟體
你可以在http://www.apache.org中獲得Apache的最新版。而幾乎所有的Linux發行版中均包含有Apache軟體包,你也可以直接使用它。
需要注意的是,Apache軟體包有兩種:一種是源代碼,下載後需要自己重新編譯;另一種是可執行文件,下載後只需解壓就可以使用。
安裝軟體
你可以通過以下三種方法安裝Apache伺服器。
1.如果你安裝的Linux版本中帶用Apache的話,就在選擇所要安裝的伺服器的時候,將httpd這個服務選上,Linux安裝程序將自動完成Apache的安裝工作,並做好基本的配置。
2.使用可執行文件軟體包,這比較適合那些對編譯工作不是太熟悉的初級用戶,因為它相對比較簡單。
下載軟體包apache_1.2.4.e.tar.gz
tar xvzf apache_1.2.4.e.tar.gz
這就完成了安裝工作,簡單吧!
如果你使用的是RedHat Linux的話,你也可以下載apache_1.2.4.rpm軟體安裝包,然後使用rpm -ivh apache_1.2.4.rpm命令安裝。
3.如果你想把Apache伺服器充分利用起來的話,就一定要自己編譯Apache定製其功能。
下載包含Apache源代碼的軟體包apache_1.2.4.tar.gz; 然後用tar命令將它解開; 將當前目錄改變為Apache源代碼發行版的src目錄; 將配置樣本文件(Configuration.tmpl)復制為Configuration文件;
編輯Configuration文件中的配置選項:
Makefile配置選項:一些編譯選項:
. "CC="一行指定用什麼編譯軟體編譯,一般為"CC=gcc";
. 如果需要將額外的標志(參數)指定給C編譯軟體,可以使用:
EXTRA_CFLAGS=
EXTRA_LFLAGS=
. 如果系統需要特殊的庫和包含文件,可以在這里指定它們:
EXTRA_LIBS=
EXTRA_INCLUDES=
. 如果你要改變代碼優化設置的話,你須將下面一句去掉注釋,然
後改成你所需要的值:
#OPTIM=-O2
Rule配置選項:用來決定需要什麼功能,一般情況下無需改變。
模塊配置:模塊是Apache的組成部分,它為Apache內核增加新功能。通過使用模塊配置,可以自定義在Apache伺服器中需要什麼功能,這個部分也是Apache靈活性的表現。模塊配置行如下所示:
AddMole moles/standard/mod_env.o
如果你需要Apache伺服器具備什麼功能,就將那個模塊用AddMole語句加到配置文件Configuration中去。
3,一、 MYSQL的基本概念
1、MYSQL的定義
MYSQL一種多用戶、多任務的資料庫伺服器軟體
2、MYSQL的特點
支持多平台,沒有內存漏洞,分布式處理
支持JAVA、PHP、PERL、支持數據類型
支持ODBC,支持SQL查詢
二、 安裝MYSQL的伺服器
1、 RPM方式MYSQL
#RPM –ivh MYSQL-3。23-3.i386.rpm
#RPM –ivh MYSQL-client-3.23-33.i386.rpm
#RPM-ivh MYSQL-Shared.3.23-33.i386.rpm
#Tpm -ivh MYSQL –server.3.23-33.i386.rpm
2.編譯安裝方式
#tar -xvzf mysql 3.23.tar.gz
# cd mysql-3.23
#/configure --prdfix=/usr/local
#make
#malke install
# cd/usr/local/bin/
#/mysql-install-db 初始資料庫系統。
系統庫作用:記錄伺服器的設置參數,存放用戶庫信息
安全選項
#safe-mysqld
㈦ 誰能提供一點電腦名詞的材料,要通俗易懂的!
RAID(獨立磁碟陣列)
一種將同一數據存放在多個硬碟上的不同位置的存儲方式。通過將數據置於多硬碟,能和諧地實施並行I/O 操作,提高了性能。過個硬碟同時延長了平均無故障工作時間(MTBF),存儲數據的也增強了容錯能力
IP存儲
通過INTERNET協議(IP)或乙太網的數據存儲。IP存儲使得性價比較好的SAN技術能應用到更廣闊的市場中。它利用廉價,貨源豐富的乙太網交換機,集線器和線纜來實現低成本,低風險基於IP的SAN存儲。
光纖通道(FC)
一種以雙向,串列方式通訊的高性能連接標准。就有效傳送大型數據文件而言。光纖通道擁有長距離連接和高帶寬等優勢。
SATA
SATA是取代ATA的新一代內部存儲器技術,也是ATA介面從並行匯流排到串列匯流排架構的自然發展,其初始速率為150MB/S,計劃達到600MB/S,採用點對點連接拓撲,每個通道獨立工作,不必共享介面帶寬,並增加了32位CRC錯誤校驗,通過硬體的支持以及連接器的設計器設計實現熱拔插,SATA還為主控DMA提供內部支持,消除了板載DMA控制器方面的瓶頸。
Value entry
Value entry(值項):帶有一個名稱的一個值的有序值。每個鍵都可包含任何數量的值項。每個值項都均由三部分組成:名稱,數據類型,數據。
★ 名稱:不包含反斜杠的字元、數字、代表符、空格的任意組合。同一鍵中不可有相同的名稱。
★ 數據類型:包括字元串、二進制、雙字三種。
字元串(REG_SZ):顧名思義,一串ASCII碼字元。如「HELLO WORLD」,是一串文字或片語。在注冊表中,字元串值一般用來表示文件的描述、硬體的標識等。通常它由字母和數字組成。注冊表總是在引號內顯示字元串。
二進制(REG_BINARY):如F03D990000BC,是沒有長度限制的二進制數值,在注冊表編輯器中,二進制數據以十六進制的方式顯示出來。
雙字(REG_DWORD):從字面上理解應該是Double Word,雙位元組值。由1-8個十六進制數據組成,我們以十六進制的方式來編輯。如:D1234567。
★ 數據:值項的具體值,它可以佔用到64KB。
Subkey
Subkey(子鍵):在某一個鍵(父鍵)下面出現的鍵(子鍵)。
HKEY
「根鍵」或「主鍵」,它的圖標與資源管理器中文件夾的圖標有點兒相象。Windows98將注冊表分為六個部分,並稱之為HKEY_name,它意味著某一鍵的句柄。
最高解析度
最高解析度是攝像頭所拍攝靜態圖像和所採集到動態圖像的所能達到的最大解析度,但一般在最高解析度下生成的圖片文件的數據量較大。
硬碟轉速
即Rotational speed。硬碟的轉速是指硬碟碟片每分鍾轉過的圈數,單位為RPM(RotationPerMinute)。一般硬碟的轉速都達到5400RPM(每分鍾5400轉),而部分硬碟如邁拓的金鑽系列則達到了7200RPM。有些SCSI介面的硬碟使用了液態軸承技術,轉速可達10000-15000RPM。上述的平均等待時間,為碟片旋轉一周所需時間的一半,主要就由硬碟轉速來決定。
SMbus
SMBus 是 System Management Bus 的縮寫,是1995年由Intel提出的,應用於移動PC和桌面PC系統中的低速率通訊。它主要是希望通過一條廉價並且功能強大的匯流排(由兩條線組成),來控制主板上的設備並收集相應的信息。
SMBus 為系統和電源管理這樣的任務提供了一條控制匯流排,使用 SMBus 的系統,設備之間發送和接收消息都是通過 SMBus,而不是使用單獨的控制線,這樣可以節省設備的管腳數。
使用 SMBus,設備還可以提供它的生產信息,告訴系統它的型號,部件號等,針對一些事件的保存它的狀態,報告不同類別的錯誤,接收控制參數,並返回它的狀態等。
SMBus 最適用於筆記本電腦上,檢測各元件狀態並更新硬體設置引腳 (pull-high 或 pull-low)。例如,將不存在的 DIMM 時鍾關閉,或檢測電池低電壓狀態。 SMBus 的數據傳輸率只有 100Kbit/s;這允許單一主機與 CPU 和多個主從硬碟通訊並收發數據。SMBus 也可用於免跳線設計的主板上。
DDR內存
DDR(Dual date rate) SDRAM 稱為"雙倍速率SDRAM",在133MHz的前端匯流排頻率下,帶寬可達2.128GB/S。它的工作原理是其能在控制時鍾觸發沿的上、下沿都能進行數據傳輸(而SDRAM只在控制時鍾的下降沿進行數據傳輸),因此在一次控制信號過程中,DDR SDRAM能進行兩次的數據交換,這也就是它為什麼又如此高的帶寬。
CPU內核
CPU的中間就是我們平時稱作核心晶元或CPU內核的地方,這顆由單晶硅做成的晶元可以說是電腦的大腦了,所有的計算、接受/存儲命令、處理數據都是在這指甲蓋大小的地方進行的。目前絕大多數CPU都採用了一種翻轉內核的封裝形式,也就是說平時我們所看到的CPU內核其實是這顆硅晶元的底部,它是翻轉後封裝在陶瓷電路基板上的,這樣的好處是能夠使CPU內核直接與散熱裝置接觸。這種技術也被使用在當今絕大多數的CPU上。而CPU核心的另一面,也就是被蓋在陶瓷電路基板下面的那面要和外界的電路相連接。現在的CPU都有以千萬計算的晶體管,它們都要連到外面的電路上,而連接的方法則是將每若干個晶體管焊上一根導線連到外電路上。例如Duron核心上面需要焊上3000條導線,而奔騰4的數量為5000條,用於伺服器的64位處理器Itanium則達到了7500條。這么小的晶元上要安放這么多的焊點,這些焊點必須非常的小,設計起來也要非常的小心。由於所有的計算都要在很小的晶元上進行,所以CPU內核會散發出大量的熱,核心內部溫度可以達到上網路,而表面溫度也會有數十度,一旦溫度過高,就會造成CPU運行不正常甚至燒毀,因此很多電腦書籍或者雜志都會常常強調對CPU散熱的重要性。
至於CPU內核的內部結構,就更為復雜了,CPU的基本運算操作有三超線程
即Hyperthreading Technology。HT技術就是利用特殊的硬體指令,把兩個邏輯內核模擬成兩個物理晶元,讓單個處理器都能使用線程級並行計算,從而兼容多線程操作系統和軟體並提高處理器的性能。操作系統或者應用軟體的多線程可以同時運行於一個處理器上,兩個邏輯處理器共享一組處理器執行單元,並行完成加、乘、負載等操作。在同一時間里,應用程序可以使用晶元的不同部分。雖然單線程晶元每秒鍾能夠處理成千上萬條指令,但是在任一時刻只能夠對一條指令進行操作。而「HT」技術可以使晶元同時進行多線程處理。當在支持多處理器的Windows XP或Linux等操作系統之下運行時,同時運行多個不同的軟體程序可以獲得更高的運行效率。這兩種方式都可使計算機用戶獲得更優異的性能和更短的等待時間。
:讀取數據、對數據進行處理、然後把數據寫回到存儲器上。對於由最簡單的信息構成的數據,CPU只需要四個部分來實現它對數據的操作:指令、指令指示器、寄存器、算術邏輯單元,此外,CPU還包括一些協助基本單元完成工作的附加單元等。
㈧ 分布式計算怎麼出現的
分布式計算可以分為以下幾類:
傳統的C/S模型。如HTTP/FTP/SMTP/POP/DBMS等伺服器。客戶端向伺服器發送請求,伺服器處理請求,並把結果返回給客戶端。客戶端處於主動,伺服器處於被動。這種調用是顯式的,遠程調用就是遠程調用,本地調用就是本地調用,每個細節你都要清楚,一點都含糊不得。
集群技術。近年來PC機的計算能力飛速發展,而伺服器的計算能力,遠遠跟不上客戶端的要求。這種多對一的關系本來就不公平,人們已經認識到靠提高單台伺服器的計算能力,永遠滿足性能上的要求。一種稱集群的技術出現了,它把多台伺服器連接起來,當成一台伺服器來用。這種技術的好處就是,不但對客戶來說是透明的,對伺服器軟體來說也是透明的,軟體不用做任何修改就可以在集群上運行。集群技術的應用范圍也僅限於此,只能提高同一個軟體的計算能力,而對於多個不同的軟體協同工作無能為力。
通用型分布式計算環境。如CORBA/DCOM/ RMI/ DBUS等,這些技術(規范)差不多都有具有網路透明性,被調用的方法可能在另外一個進程中,也可能在另外一台機器上。調用者基本上不用關心是本地調用還是遠程調用。當然正是這種透明性,造成了分布式計算的濫用,分布式計算用起來方便,大家以為它免費的。實際上,分布式計算的代價是可觀的,據說跨進程的調用,速度可能會降低一個數量級,跨機器的調用,速度可能降低兩個數量級。一些專家都建議減少使用分布式計算,即使要使用,也要使用粗粒度的調用,以減少調用的次數。
還其一些混合形式(SOAP?),這里不再多說。我們主要介紹第三種分布式模型,這類分布式模型即適用於企業級應用,也適用於桌面應用。有的專注於企業級應用(如CORBA),有的專注於桌面環境(如DBUS)。它們的實現原理都差不多,基本上都基於傳統的RPC或者仿RPC實現的,下面介紹一下它們的基本原理。
我們先看一下分布式的最簡模型:
在傳統的方法中,調用一個對象的函數很簡單:創建這個對象,然後調用它的函數就行了。而在分布式的環境中,對象在另外一個進程中,完全在不同的地址空間里,要調用它的函數可能有點困難了。
看看傳統的C/S模型的請求方式,客戶端把參數通過網路發給伺服器,伺服器根據參數要求完成相應的服務,然後把結果返回給客戶端,客戶端拿到結果了,一次請求算完成。由此看來,調用遠程對象似乎並不難,問題在於這種方式不是網路透明的,每一個細節你都要自己處理,非常復雜。
要簡化軟體的設計,當然是網路操作透明化,調用者和實現者都無需關心網路操作。要做到這一點,我們可以按下列方法:
在客戶端要引入一個代理(Proxy)對象。它全權代理實際對象,調用者甚至都不知道它是一個代理,可以像調用本地對象一樣調用這個對象。當調用者調用Proxy的函數時,Proxy並不做實際的操作,而是把這些參數打包成一個網路數據包,並把這個數據包通過網路發送給伺服器。
在伺服器引入一個樁(Stub)對象,Stub收到Proxy發送的數據包之後,把數據包解開,重新組織為參數列表,並用這些參數就調用實際對象的函數。實際對象執行相關操作,把結果返回給Stub,Stub再把結果打包成一個網路數據包,並把這個數據包通過網路發送給客戶端的Proxy。
Proxy收到結果數據包後,把數據包解開為返回值,返回給調用者。至此,整個操作完成了。怎麼樣,簡化吧。
Proxy隱藏了客戶端的網路操作,Stub隱藏了伺服器端的網路操作,這就實現了網路透明化。你也許會說,根本沒有簡化,只是把網路操作隔離開了,仍然要去實現Proxy和Stub兩個對象,一樣的麻煩。
沒錯。不過仔細研究一下Proxy和Stub的功能,我們會發現,對於不同對象,這些操作都差不多,無非就是打包和解包而已,單調重復。單調重復的東西必然有規律可循,有規律可循就可以用代碼產生器自動產生代碼。
像DCOM和CORBA等也確實是這樣做的,先用IDL語言描述出對象的介面,然後用IDL編譯器自動產生Proxy和Stub代碼,整個過程完全不需要開發人員操心。
打包和解包的專業術語叫做marshal和unmarshal,中文常用翻譯為列集和散集。不過這兩個詞太專業了,翻譯成中文之後更加讓人不知所雲。我想還是用打包和解包兩個詞更通俗一點。
在以上模型中,調用對象的方法,確實做到了網路透明化。讀者可以會問,我要訪問對象的屬性怎麼辦呢?對象的屬性就是變數,變數就一塊內存區域,內存區域在不同的進程里完全是獨立的,這看起來確實是一個問題。還記得很多關於軟體設計書籍裡面講過的嗎:不要暴露對象屬性,調用者若要訪問對象的屬性,通過get/set方法去訪問。這樣不行了嗎,對屬性的訪問轉換為對對象方法的調用。
OK,調用對象的方法和訪問對象的屬性都解決了。還有重要的一點,如何創建對象呢。因為實際的對象並不固定在某台機器上,它的位置可能是動態的。甚至Proxy本身也不知道Stub運行在哪裡。如果要讓調用者來指定,創建對象的過程仍未達到網路透明化。通常的做法是引入一個第三方中介,這個第三方中介是固定的,可以通過一定的方法找到它。第三方中介負責在客戶端的Proxy和伺服器的Stub之間穿針引線。第三方中介通常有兩種:一種是只負責幫客戶端找到伺服器,之後客戶端與伺服器直接通信。另外一種就是不但負責找到伺服器,而且負責轉發所有的請求。
以上的模型仍然不完整,因為現實中的對象並不是一直處理於被動的地位。而是在一定的條件下,會主動觸發一些事件,並把這些事件上報給調用者。也就是說這是一個雙向的動作,單純的C/S模型無法滿足要求,而要採用P2P的方式。原先的客戶端同時作為一個伺服器存,接受來自己伺服器的請求。像COM里就是這樣做的,客戶端要注冊對象的事件,就要實現一個IDispatch介面,給對象反過來調用。
自己實現時還要考慮以下幾點:
l 傳輸抽象層。分布可能是跨進程也可能是跨機器。在不同的情況下,採用不同的通信方式,性能會有所不同。做一個傳輸抽象層,在不同的情況下,可選用不同的傳輸方式,是一種好的設計。
l 文本還是二進制。把數據打包成文本還是二進制?打包成文本的好處是,可移植性好,由於人也可以看懂,調試方便。壞處是速度稍慢,打包後的數據大小會明顯變大。採用二進制的好處是,速度快,打包後的數據大小與打包前相差不大。壞處是不易調試,可移植性較差。
l 位元組順序和位元組對齊。若採用二進制方式傳輸,可移植性是個問題。因為不同的機器上,位元組順序和位元組對齊的方式都有些差異,在數據包中要加入這些說明,以提高可移植性。