計算機網路是指將地理位置不同的具有獨立功能的多台計算機及其外部設備,通過通信線路連接起來,在網路操作系統,網路管理軟體及網路通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。
另外,從邏輯功能上看,計算機網路是以傳輸信息為基礎目的,用通信線路將多個計算機連接起來的計算機系統的集合,一個計算機網路組成包括傳輸介質和通信設備。
從用戶角度看,計算機網路是這樣定義的:存在著一個能為用戶自動管理的網路操作系統。由它調用完成用戶所調用的資源,而整個網路像一個大的計算機系統一樣,對用戶是透明的。
發展歷程
中國計算機網路設備製造行業是改革開放後成長起來的,早期與世界先進水平存在巨大差距;但受益於計算機網路設備行業生產技術不斷提高以及下游需求市場不斷擴大,我國計算機網路設備製造行業發展十分迅速。
近兩年,隨著我國國民經濟的快速發展以及國際金融危機的逐漸消退,計算機網路設備製造行業獲得良好發展機遇,中國已成為全球計算機網路設備製造行業重點發展市場。
Ⅱ 國家計算機網路安全管理法規
VB真想不到之六:有用的技術和沒用的指針
作者: AdamBear 來源:CSDN
關鍵字:VB、SafeArray、數值類型指針
難度:中級
參考文章:
1、2000年7月VBPJ Black Belt專欄文章《Modify a Varialbe's Pointer》
作者:Bill McCarthy
引言:
這真的是指針專題的最後一篇了(當然,以後肯定還會提到指針)。主要是來談談Bill McCarthy的文章《Modify a Varialbe's Pointer》的精華。關於這篇文章的東西,在我的《VB指針葵花寶典之SafeArray》里曾談到過,但那篇文章實際上沒有寫出SafeArray的精華,用SafeArray最妙的地方在於可以將一個變數建在指定的內存處,就象上一篇文章給出的那個字串類一樣。
正文:
Bill McCarthy在那篇《Modify a Varialbe's Pointer》里用SafeArray實現多進程的數組共享內存,他考慮了數組變數的類型,因此可以兼容大部分數值類型的數組,是一個非常不錯的東西。我這里不講它實現的具體方法,只是想和大家一起看看SafeArray還能做什麼。
修改SafeArray結構的pvData指針卻是一個非常有用的技術,通過修改pvData,就能夠通過數組直接訪問指定的內存。
和上一篇文章包裝字串指針類一樣,通過修改pvData,我們也可以包裝一些普通數值類型變數的指針類。
我在指針的第一篇文章里說過,要想實現C語言里'*'這個取指針所指變數值功能,必須要用CopyMemory。實際上,我說錯了,我們完全可以實現和C里一樣的指針,如下:
//C語言
Long L;
Long* pL = &L;
*pL = 12;
printf("L = %d *pL = %d", l, *pl);
'VB里
Dim pL As New pLong, L As Long
pL.Attach L
'也可以 pL.Ptr = VarPtr(L)
pL = 12
Debug.Print "L ="; L; " *pL ="; pL
結果都能夠通過修改pL指針,達到修改變數L的目的。
上面VB代碼里的pLong就是一個包裝好的Long型變數的指針類,下面看看如何來實現它:
Option Explicit
'********************************************************
'pLong.cls
'包裝一個Long型指針的類
'作者: 熊超 ID: AdamBear 2002年3月18日
'http://www.csdn.net/Author/AdamBear
' 你可以自由使用本類模塊,不過請保留本聲明
'********************************************************
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private m_Arr(0) As Long
'預設屬性
Public Property Get Data() As Long
Data = m_Arr(0)
End Property
Public Property Let Data(ByVal Value As Long)
m_Arr(0) = Value
End Property
Public Sub Attach(Target As Long)
Ptr = VarPtr(Target)
End Sub
Public Property Let Ptr(ByVal Target As Long)
Dim pSA As Long
'得到SafeArray結構指針pSA
CopyMemory pSA, ByVal VarPtrArray(m_Arr), 4
'這個指針偏移12個位元組後就是pvData指針
CopyMemory ByVal (pSA + 12), Target, 4
End Property
Public Property Get Ptr() As Long
Ptr = m_SA.pvData
End Property
Private Sub Class_Terminate()
CopyMemory ByVal VarPtrArray(m_Arr), 0&, 4
End Sub
要將它改成Byte的指針類,只需要將上面的代碼中m_Arr數組的類型,Data屬性和Attach方法中的參數類型改為Byte型即可。
當我們這樣做出pLong、pByte、pInteger後,我們就能夠玩點和C里一樣的花樣了。
Sub Main()
Dim pB As New pByte, B As Byte
Dim pI As New pInteger, I As Integer
Dim pL As New pLong, L As Long
'用Attach方法將經過類型檢查,直接用Ptr屬性則可以繞過類型檢查
pB.Attach B
pI.Attach I
pL.Attach L
'試試指針
B = 1
Debug.Print "B ="; B; " *pB ="; pB
pB = 1
Debug.Print "B ="; B; " *pB ="; pB
I = 1000
Debug.Print "I ="; I; " *pI ="; pI
pI = 2000
Debug.Print "I ="; I; " *pI ="; pI
L = 40000
Debug.Print "L ="; L; " *pL ="; pL
pL = 60000
Debug.Print "L ="; L; " *pL ="; pL
'試試C里的類型轉換
'用Integer指針訪問Long型變數
pI.Ptr = VarPtr(L)
Debug.Print "*pI ="; pI
End Sub
搞出這幾種普通數值類型的指針類有什麼用?基本上沒有什麼大用。不過是證明一種方法的可行性,和演示技術。這種技術還有什麼用,需要的時候還會再談。
後記:
本文的東西,可見CSDN共享軟體上的《內存共享和指針》,
指針的專題就到這兒了,下一篇准備開始著手寫VB和COM的一個系列文章,其間我准備翻譯一下《VB Design Patterns》,這是一本不錯的書。
9:43 添加評論 固定鏈接 引用通告 (0) 記錄它 VisualBASIC
固定鏈接http://vercetti706.spaces.live.com/blog/cns!A467CB278DD3361A!200.entry
添加評論VB真想不到系列五
VB真想不到之五:高效字串指針類
作者:AdamBear 來源:CSDN
關鍵字:VB、HCAK、字串指針、BSTR、效率、內存共享
難度:中級或高級
參考文章:
1、2000年7月VBPJ Black Belt專欄文章《Modify a Varialbe's Pointer》
作者:Bill McCarthy
2、1998年4月VBPJ Black Belt專欄文章《Play VB's Strings》
作者:Francesco Balena
引言:
本想以內存共享做為VB指針專題的最後一篇,寫著寫著發現字串的問題應該單獨談談。在內存共享的問題上,我尤其關心的是字串的共享,因為在我一個多月前發布的源碼里用的是《HardCore VB》里Bruce Mckinney提供的CShareStr類,它實現了字串的內存共享。但是Bruce也沒有突破局限,對字串的處理依然是CopyMemory的乾坤大挪移,尤其是還要進行討厭的ANSI/DBCS和Unicode的轉換。我在readme里說過它效率極低,應該採用Variant或Byte數組來實現,才能避免轉換。後來又想到可以用StrPtr來做,並在VC里用DLL共享節實現了可以不進行轉換的字串內存共享。不過在VC里我仍然需要用SysAllocString來建立VB能使用的BSTR。這都不是我想要的,我想要的東西要象VC里的CString的一樣,只要字串夠大,對其賦值就不用重新分配內存,還要象VC里CComBSTR類一樣可以Attach到一個特定BSTR。
知道該怎麼做,是在看了VBPJ上Bill McCarthy和Francesco Balena的兩篇文章之後。Bill用修改SafeArray描述結構實現了數組的內存共享,而Francesco則對字串指針進行深入的探討。但是Bill和Francesco的東西都沒有實現我想要的字串類。
方法知道了,實現並不難,所以我決定自己來包裝一個這樣的東西。
正文:
使用VB里的字串類型String有兩大不足:第一、它的分配是由VB運行時控制,我們不能將其分配在指定內存處;第二,任何一次對字串的賦值操作都要進行內存重新分配。要實現高效、靈活的字串處理,我們必須克服這兩大不足。
對於第一個問題,通過修改String變數里放著的BSTR描述符指針可以實現;對於第二個問題,可以用Mid語句(注意是語句而不是函數)來賦值。不詳細講了,直接看下面的這個類:
Option Explicit
'********************************************************
'clsBSTR.cls
'作者: 熊超 ID: AdamBear 2002年3月18日
'http://www.csdn.net/Author/AdamBear
' 你可以自由使用本類模塊,不過請保留本聲明
'********************************************************
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
'不要直接對sString賦值(可以用MID語句),將其設為公有僅為提高效率。
Public sString As String 'BSTR描述符指針
Private pStr As Long 'BSTR地址
Private nMaxLen As Long 'BSTR最大位元組數
'讓本字串指向特定地址
Public Sub Attach(Addr As Long, Optional nLen As Long)
pStr = Addr
'修改BSTR描述符指針,使其指向Addr
CopyMemory ByVal VarPtr(sString), Addr, 4
If IsMissing(nLen) Then Exit Sub
'設定最大字串位元組數
nMaxLen = nLen
End Sub
'還原本字串原BSTR描述符
Public Sub Detach()
CopyMemory ByVal VarPtr(sString), 0&, 4
End Sub
'讓本字串指向源字串
Public Sub AttachStr(sStr As String)
Attach StrPtr(sStr), LenB(sStr)
End Sub
'data為預設屬性
Public Property Let data(sVal As String)
Dim c As Long
c = LenB(sVal)
'超過最大字串數,拋出錯誤。
If c > nMaxLen Then Err.Raise vbObjectError + 3000, _
"CString::Let Data", "溢出"
'寫字串長度
CopyMemory ByVal (pStr - 4), c, 4
'寫字串
Mid(sString, 1) = sVal
End Property
'可以通過公有變數sString來讀字串,效率更高
Public Property Get data() As String
data = sString
End Property
Private Sub Class_Terminate()
Call Detach
End Sub
用法如下,假設我們已通過VitualAlloc,HeapAlloc,MapViewOfFile這樣的內存管理API得到了一個4k個位元組的可讀寫的內存地址baseAddr:
Dim sShare As New clsBSTR
'留下前4個位元組用於BSTR保存字串位元組數
sShare.Attach(baseAddr+4, 4096-4)
'下面的字串"Test"會直接寫到baseAddr+4位元組處
sShare = "Test"
Dim y As String
'讀字串時可以用sString屬性或預設屬性
y = sShare.sString
'用AttachStr方法Attach到一個字串。
'必須要先Detach
sShare.Detach
sShare.AttachStr(y)
sShare = "Hahaha"
Debug.Print y
'一旦AttachStr到字串y後,對sShare的修改就相當於對y的修改。
'並且以後對y的修改也只能用Mid語句
Mid(y, 1) = "xxxxx"
'不能直接賦值,這樣VB會將原來y所指(也是sShare所指)內存釋放,
' 重新分配y。這樣在訪問sShare時會出錯。
'y = "Test"
我也不在這里講這個類的詳細原理,可以參考我前面說的兩篇文章。
使用這個類有幾個需要注意的地方。
1、讀字串時可以用sString屬性來讀,更快。
讀sShare有兩種方法,一種是用預設屬性Data來讀,一種是直接用sString屬性來讀。用sString屬性不重新分配內存,要快得多。
2、不要直接給sString賦值,應使用預設的data屬性來賦值。
之所以把sString屬性暴露出來,是為了效率和方便。我們可以用Mid語句對其進行修改,但不要直接用"="來賦值。
3、注意Attach的第二個參數,表示字串的最大位元組數,不要讓它超過已經分配的內存。
4、用AttachStr將本字串對象Attach到某個字串(比如上面的y)上後,不能再對這個字串y重新賦值,也不能將其傳遞到會對其重新賦值的過程。
哇,這么多需要注意的問題,用起來豈不是更不方便。的確,用它的之前要考慮是不是必須的。因為建立這個類也一樣有開銷。所以還有一個需要注意的問題:
5、它主要的應用還是在於將字串安放在指定內存處。雖然它也可以讓同一個進程內幾個的字串達到共享的目的,但是如果只是兩三個很小的字串這樣時做反而慢了。
後計:
數組指針和字串指針我們已經談過了,對於普通的數值類型變數的指針沒有什麼Hack的必要,但是它關繫到一個有用的技術,下篇文章再談。
本文和下篇文章的代碼,以及用這個類來實現的共享內存的代碼,我會發布到CSDN共享軟體上,名字是《內存共享和指針》。
9:38 添加評論 固定鏈接 引用通告 (0) 記錄它 VisualBASIC
固定鏈接http://vercetti706.spaces.live.com/blog/cns!A467CB278DD3361A!199.entry
添加評論VB真想不到系列四
VB真是想不到系列之四:VB指針葵花寶典之SafeArray
作者:AdamBear 來源:CSDN
Ⅲ 國家計算機網路應急技術處理協調中心怎麼樣
1、國家互聯網應急中心全稱是國家計算機網路應急技術處理協調中心 ,其成立於2002年9月,是工業和信息化部領導下的國家級網路安全應急機構。
2、其致力於建設國家級的網路安全監測中心、預警中心、應急中心,以支撐政府主管部門履行網路安全相關的社會管理和公共服務職能,支持基礎信息網路的安全防護和安全運行,支援重要信息系統的網路安全監測、預警和處置。
3、CNCERT作為國家互聯網安全應急體系的核心技術協調機構,在協調國內安全應急組織(CERT)共同處理互聯網安全事件方面發揮著重要作用。 2003年,CNCERT在我國大陸31個省、自治區、直轄市成立分中心,完成了跨網路、跨系統、跨地域的公共互聯網網路安全應急技術支撐體系建設,形成了全國性的互聯網網路安全信息共享、技術協調能力。
不同地區每月按公務員的待遇發工資較高,需具有計算機高級一級技工證,工信部的計算機操作員,網路搭建工程師,計算機網路證明,最好有微軟的認證。
Ⅳ 有哪些有關國家計算機網路應急技術處理協調中心面試的經驗
面試最好正裝。注意麵試著裝的整潔、莊重、大方,比如衣服要潔凈合體、皮鞋要擦亮等,充分展現自己的精神風貌,給考官留下清爽、稱體、舒服的感覺。
要沉著冷靜,把握好分寸,突出自己的優勢。碩士一定要強調自己的科研能力。
要極其有禮貌,爭取良好的第一印象。坐下來後要保持挺拔的身姿,保持注意力的集中,不要左顧右盼或是經理分散,更沒有必要慌亂。面試完要說謝謝,要面帶微笑。
專業內容的論述時,回答問題要有層次感,以「總—分—總」為框架,運用好「首先、其次、再次」,「第一、第二、第三」之類的量詞,給考官留下思路清晰、思維縝密的印象。考生還應盡力可能從所聘職位的角度思考、分析和回答問題。
面試表達時,語言要流暢、語速要平穩、吐字要清楚,將想到的觀點充分、正確地表達出來。此外,回答問題的聲音一定要洪亮,充分體現個人的自信。
在候考室等待時,如果有與他人溝通的習慣或需求,可以與其他考生進行交流,緩解心情的緊張。但是,交流要適度,不可過分激動或興奮。如果環境不允許或是沒有這樣的意願,考生可以閉目養神、小睡片刻或是聽聽喜歡的音樂,放鬆自己的身心。
個人行為習慣:注意麵試禮儀的善始善終,離場時間向考官微微鞠躬,禮貌道別,滿懷自信地走出考場。切不可因發揮不好而自亂陣腳,以失敗者的頹廢形象離場,導致虎頭蛇尾、前功盡棄。
Ⅳ 有關國家計算機網路安全管理法規有什麼
有關於加強國際通信網路架構保護的若干規定、互聯網等信息網路傳播視聽節目管理辦法、《網路游戲管理暫行辦法》、《文化部關於網路音樂發展和管理的若干意見》等等諸如此類的法律法規。