時間複雜度是指執行算法所須要的計算工做量,由於整個算法的執行時間與基本操做重複執行的次數成正比,因此將算法中基本操做的次數做爲算法時間複雜度的度量,通常狀況下,按照基本操做次數最多的輸入來計算時間複雜度,而且多數狀況下咱們去最深層循環內的語句所描述的操做做爲基本操做。c++
這是爲了用來區分隊空與隊滿的狀況。若是不空一個位置,則判斷隊空和隊滿的條件是同樣的。程序員
二叉排序樹又稱二叉查找樹,它或者是一顆空樹,或者知足一下性質的二叉樹:算法
① 若左子樹不空,則左子樹上全部結點的值均小於根節點的值;數據庫
② 若右子樹不空,則右子樹上全部結點的值均大於根節點的值;編程
③ 左右子樹也分別是二叉排序樹。數組
原理步驟:瀏覽器
若根結點的關鍵字值等於查找的關鍵字,成功。緩存
若子樹爲空,查找不成功。
定義:
給定n個權值做爲n個葉子結點,構造一棵二叉樹,若帶權路徑長度達到最小,稱這樣的二叉樹爲最優二叉樹,也稱爲哈夫曼樹(Huffman tree)。
構造方法:
假設有n個權值,則構造出的哈夫曼樹有n個葉子結點。 n個權值分別設爲 w一、w二、…、wn,則哈夫曼樹的構造規則爲:
(1) 將w一、w二、…,wn當作是有n 棵樹的森林(每棵樹僅有一個結點);
(2) 在森林中選出兩個根結點的權值最小的樹合併,做爲一棵新樹的左、右子樹,且新樹的根結點權值爲其左、右子樹根結點權值之和;
(3)從森林中刪除選取的兩棵樹,並將新樹加入森林;
(4)重複(2)、(3)步,直到森林中只剩一棵樹爲止,該樹即爲所求得的哈夫曼樹。
特色:
① 權值越大的結點,距離根節點越近;
② 樹中沒有度爲一的結點。
應用:
哈夫曼編碼,減小編碼的長度。哈夫曼編碼就是長度最短的前綴編碼。
散列(哈希)表:
根據關鍵碼值(Key value)而直接進行訪問的數據結構。根據給定的關鍵字來計算出關鍵字在表中的地址,以加快查找的速度。
衝突:指的是多個關鍵字映射同一個地址的狀況。
解決辦法:
(1) 開放定址法
① 線性探查法(產生堆積問題);
② 平方探查法(不能探查到哈希表上全部的地址,但至少能探查到一半的地址)
(2) 鏈地址法
把全部的同義詞用單鏈錶鏈接起來。
補充(常見的哈希函數構造方法)
直接定址法,數字分析法,平方取中法,除留餘數法。
深度優先搜索遍歷
基本思想:首先訪問出發點V,並將其標記爲已訪問;而後選取與V鄰接的未被訪問的鄰接頂點W,訪問W;再選取與W鄰接的未被訪問的頂點訪問,以此類推。當一個頂點全部的鄰接頂點都被訪問過期,則依次退回最近被訪問過的頂點,若該頂點還有其餘鄰接頂點未被訪問,則從這些頂點中去一個頂點進行上述的過程,直至圖中全部頂點都被訪問過爲止。
廣度優先搜索遍歷
基本思想:首先訪問起始頂點V,而後選取與V鄰接的所有頂點w1,w2,….,wn進行訪問,再一次訪問與w1,w2,…
,wn鄰接的所有頂點(不包括已訪問過的頂點),以此類推,直至全部頂點都被訪問過爲止。
該算法能夠求得某一頂點到其他各頂點的最短路徑。
算法思想:設有兩個頂點集合S和T,其中集合S中存放的是圖中已找到最短路徑的頂點,集合T中存放的是圖中的剩餘頂點。
初始狀態時,集合S中只包含源點V0,而後不斷從集合T中選取到頂點V0路徑最短的頂點Vu並加入集合S中。集合S每加入一個新的頂點Vu,都要修改V0到集合T中各個頂點的最短路徑的長度值。不斷重複這個過程,直至集合T中的頂點所有併入到S中爲止。
O(n) 鏈表是順序存儲,故(1+n)/2。
① 鄰接矩陣:是圖的順序存儲結構,用兩個數組分別存儲數據元素(頂點)信息和數據元素之間的關係(邊/弧)的信息。圖的鄰接矩陣表示是惟一的,無向圖的鄰接矩陣是對稱的。
② 鄰接表:是圖的鏈式存儲結構,由單鏈表的表頭造成的頂點表和單鏈表其他結點所造成的邊表兩部分組成。
③ 十字鏈表:有向圖的另外一種鏈式存儲結構。
④ 鄰接多重表:無向圖的鏈式存儲結構。
不必定是不惟一。咱們能夠取圖中任一頂點進行深度遍歷。
圖:由結點的有窮集合V和邊的集合E組成。
類別:有向圖和無向圖。
頂點的度:出度和入度。
有向徹底圖和無向徹底圖: 如有向圖有n個頂點,則最多有n(n-1)條邊,則稱爲有向徹底圖;
若無向圖有n個頂點,則最多有n(n-1)/2條邊,則稱爲無向徹底圖。
路徑:相鄰頂點序偶所構成的序列。
簡單路徑:序列中的頂點和路徑不重複出現的路徑。
迴路:路徑中第一個頂點和最後一個頂點相同的路徑。
連通: 無向圖中,若是Vi到Vj有路徑,則稱這兩個頂點連通。若是圖中任意兩個頂點之間都連通,則稱改圖爲連通圖。
有向圖中,若是Vi到Vj有路徑,則稱這兩個頂點連通。若是圖中每一對頂點Vi和Vj,從Vi到Vj和Vj到Vi都有路徑,則稱改圖爲強連通圖。
一個有 n 個結點的連通圖的生成樹是原圖的極小連通子圖,且包含原圖中的全部 n 個結點,而且有保持圖聯通的最少的邊。若是在最小生成樹中添加一條邊,一定成一個環。
相關算法:
① 普里姆算法
② 克魯斯卡爾算法
N個結點的最小生成樹有幾個結點,幾條邊:n個結點,n-1 條邊。
平衡二叉樹又稱AVL樹,是一種特殊的二叉排序樹,其左右子樹都是平衡二叉樹,且左右子樹的高度差的絕對值不超過1.
平衡因子: 左子樹高度減去右子樹高度的差。
平衡調整: 先找到失去平衡的最小子樹,即以距離插入結點最近,且平衡因子絕對值大於1的結點最爲根節點的子樹,分爲LL,LR,RL,RR四中調節方式。
① 順序存儲結構:用一個數組來存儲一顆二叉樹,二叉樹中的結點值按照編號依次存入一個一維數組中。適用於徹底二叉樹,若用於通常的二叉樹則會浪費大量存儲空間。
Lchild | Data | Rchild |
---|---|---|
② 鏈式存儲結構:二叉樹中的每個結點用一個鏈結點來存放。
① B+樹全部有效數據全在葉子節點,而B-樹全部節點分散在樹中,B-樹中的關鍵字不重複。
② B+樹種有幾個關鍵字就有幾個子樹,B-樹中具備n 個關鍵字的節點含有(n+1)棵子樹。
③ B+樹有兩個指針,根指針和只想最小節點的指針,葉子節點鏈接成一個不定長的線性鏈表
④ B+樹中,每一個節點(除根節點外)中的關鍵字個數n 的取值範圍是⌈m/2⌉<=n<=m,根節點n 的取值
⑤ 範圍是2<=n<=m。B-樹中,每一個節點(除根節點外的全部最底層非葉子節點)中的關鍵字取值範圍是
⑥ ⌈m/2⌉-1<=n<=m-1,根節點n 的取值範圍是1<=n<[m-1]。
⑦ B+樹中的全部非葉子節點僅僅起到索引的做用,節點中的每一個索引項只包含對應子樹的最大關鍵字和
指向該子樹的指針,不含有該關鍵字對應記錄的存儲地址。而在B-樹中,每一個關鍵字對應記錄的存儲
地址。
又稱二分查找,基本思路:
在當前的查找區間[low…high]中,首先肯定mid=(low+high)/2,而後拿關鍵字與mid比較,若相等則查找成功,返回該位置,不然肯定新的查找區間, mid>K,[low…mid-1]
mid<K,[mid+1…high]
直至查找自區間長度小於1時查找結束。
適用範圍:順序結構存儲並按照關鍵字大小有序排列。
時間複雜度:O(log2N)
若一棵二叉樹至多隻有最下面的兩層上的結點的度數能夠小於2,而且最下層上的結點都集中在該層最左邊的若干位置上,則此二叉樹成爲徹底二叉樹。
徹底二叉樹特色:
葉子結點只可能在最大的兩層上出現, 對任意結點, 若其右分支下的子孫最大層次爲L,則其左分支下的子孫的最大層次必爲L 或 L+1;
堆是一種數據結構,能夠把堆當作一個徹底二叉樹,而且這個徹底二叉樹知足:
任何一個非葉節點的值都不大於(或不小於)其左右子樹的結點的值。若父親大孩子小,則爲大頂堆,若父親肖孩子大,則爲小頂堆。
做用:應用於堆排序。
如何實現:把數組弄成一個環,讓rear和front指針沿着環走,這樣就能夠產生循環隊列。
好處:循環隊列是順序隊列的改進,在順序隊列中,在元素進隊的時候,rear要向後移動,元素出隊的時候,front也要向後移動,這樣通過一系列的出隊和入隊操做以後,兩個指針最後會達到數組的末端,此時雖然隊中已經沒有元素了,可是仍是不能讓元素入隊,即出現了「假溢出」的現象。循環隊列就能避免出現這個現象。
(森林,不能說樹)(不惟一,由於鄰接表可能不惟一)
2的n次方減一(2n-1)
遞增有序序列
有向無環圖
隊列是一種操做受限的線性表,只容許隊尾入隊,在隊頭進行出隊。最大的特色是先進先出。
節點循環,DFS或者BFS。
排序方法 | 時間複雜度 | 空間複雜度 | 穩定性 | |||
---|---|---|---|---|---|---|
平均狀況 | 最壞狀況 | 最好狀況 | ||||
插入排序 | 直接插入 | O(n2) | (n2) | O(n) | O(1) | 穩定 |
折半插入 | O(n2) | O(n2) | O(n2) | O(1) | 穩定 | |
希爾排序 | O(nlog2n) | O(nlog2n) | O(1) | 不穩定 | ||
交換排序 | 冒泡排序 | O(n2) | O(n2) | O(n) | O(1) | 穩定 |
快速排序 | O(nlog2n) | O(n2) | O(nlog2n) | O(log2n) | 不穩定 | |
選擇排序 | 簡單選擇 | O(n2) | O(n2) | O(n2) | O(1) | 不穩定 |
堆積排序 | O(nlog2n) | O(nlog2n) | O(nlog2n) | O(1) | 不穩定 | |
其餘排序 | 二路歸併 | O(nlog2n) | O(nlog2n) | O(nlog2n) | O(n) | 穩定 |
基數排序 | O(d(n+r)) | O(d(n+r) | O(d(n+r)) | O(r) | 穩定 |
各種排序的算法詳見書本。(須要說出每一個算法的基本思想)
① 進程是動態的,程序是靜止的。進程是程序的執行,程序是有序代碼的集合。
② 進程是暫時的,程序是永久的。進程是一個狀態變化的過程,程序能夠長久保存。
③ 進程和程序的組成不一樣:進程包括程序,數據和進程控制塊。
④ 進程和程序是密切相關的。經過屢次執行,一個程序能夠對應多個進程;經過調度關係,一個進程能夠包括多個程序。
⑤ 進程能夠建立其餘進程,可是程序不能造成新的程序。
① 調度:線程是獨立調度的基本單位,進程是資源擁有的基本單位。在同一進程中,線程的切換不會引發進程切換。在不一樣進程中進行線程切換,將會引發進程切換。
② 擁有資源:進程是擁有資源的基本單位,而線程不擁有系統資源(除了少許資源,好比棧,程序計數器,寄存器),不過線程能夠訪問其隸屬進程的系統資源。
③ 併發性:在引入線程的操做系統中,不只進程之間能夠併發執行,並且同一個進程內的多個線程之間也能夠併發執行,能提升系統的吞吐量,系統的併發性也更好。
④ 系統開銷:在建立進程和撤銷進程時,系統都要爲之分配或回收資源,因此操做系統爲進程付出的系統開銷遠大於建立線程或撤銷線程的開銷。
⑤ 同步和通訊:多線程之間的同步和通訊容易實現。
微內核操做系統能有效地支持多處理機運行,很是適用於分佈式系統環境。
什麼是微內核操做系統到如今沒有一致公認的定義,可是能夠從四個方面對微內核操做系統進行描述:
① 足夠小的內核:在微內核操做系統中,內核是指精心設計的,能實現現代OS最基本核心功能的部分,並不是是一個完整的OS,而只是OS中最基本的部分。
② 基於C/S模式:將操做系統中最基本的部分放入內核中,而把操做系統的絕大部分功能都放於微內核外面的一組服務器中實現。
③ 應用「極致與策略分離」原理:在傳統OS中,講極致放在OS的內核的較低層,把策略放在內核的較高層中。而在微內核OS中,一般把機制放在OS的微內核中,這樣纔有可能將內核作得很小。
④ 採用面向對象技術。
① 進程(線程)管理
② 低級存儲器管理
③ 中斷和陷入處理
優勢:
① 提升了系統的可擴展性
② 加強系統的可靠性
③ 可移植性
④ 提供了對分佈式系統的支持
⑤ 融入了面向對象技術
① 中斷方式是在數據緩衝寄存器滿以後發出中斷,要求CPU進行,而DMA方式則是在所要求傳送的數據塊所有傳送結束時要求CPU 進行中斷處理。這就大大減小了CPU進行中斷處理的次數。
② 中斷方式的數據傳送是在中斷處理時由CPU控制完成的,而DMA方式則是在DMA控制器的控制下,不通過CPU控制完成的。這就排除了CPU因並行設備過多而來不及處理以及因速度不匹配而形成數據丟失等現象。
軟中斷:
一、編程異常一般叫作軟中斷
二、軟中斷是通信進程之間用來模擬硬中斷的一種信號通信方式。
三、中斷源發中斷請求或軟中斷信號後,CPU 或接收進程在適當的時機自動進行中斷處理或完成軟中斷信號
對應的功能
四、軟中斷是軟件實現的中斷,也就是程序運行時其餘程序對它的中斷;而硬中斷是硬件實現的中斷,是程序運
行時設備對它的中斷。
硬中斷:
一、硬中斷是由外部事件引發的所以具備隨機性和突發性;軟中斷是執行中斷指令產生的,無外部施加中斷
請求信號,所以中斷的發生不是隨機的而是由程序安排好的。
二、硬中斷的中斷響應週期,CPU 須要發中斷回合信號(NMI 不須要),軟中斷的中斷響應週期,CPU 不
需發中斷回合信號。
三、硬中斷的中斷號是由中斷控制器提供的(NMI 硬中斷中斷號系統指定爲02H);軟中斷的中斷號由指
令直接給出,無需使用中斷控制器。
四、硬中斷是可屏蔽的(NMI 硬中斷不可屏蔽),軟中斷不可屏蔽。
區別:
一、軟中斷髮生的時間是由程序控制的,而硬中斷髮生的時間是隨機的
二、軟中斷是由程序調用發生的,而硬中斷是由外設引起的
三、硬件中斷處理程序要確保它能快速地完成它的任務,這樣程序執行時纔不會等待較長時間。
① 最佳置換算法(OPT):在預知一個進程的頁面號引用串的狀況下,每次都淘汰之後再也不使用的貨之後最遲再被使用的頁面。該算法不能實現,只能做爲一個標準來衡量其餘置換算法的優劣。
② 先進先出算法(FIFO):每次老是淘汰最早進入內存的頁面,也就是將在內存中駐留時間最長的頁面淘汰。(可能會產生Belady異常,缺頁次數隨着分配的物理塊的增長而增長)。
③ 最近最少使用算法(LRU):選擇最近最少未被使用的頁面淘汰,其思想是用之前的頁面引用狀況來預測未來會出現的頁面引用狀況。利用了局部性原理。
④ 時鐘置換算法(CLOCK):是LRU和FIFO的折中,具體方法略。
⑤ 工做集算法
⑥ 工做集時鐘算法
⑦ 第二次機會算法
⑧ 最近未使用(NRU)
磁盤調度算法目的:使磁盤的平均尋道時間最少。
調度算法 | 算法思想 | 優勢 | 缺點 |
---|---|---|---|
先來先服務算法FCFS | 按照進程請求訪問磁盤的前後順序進行調度。 | 簡單,公平。 | 未對尋道進行優化,平均尋道時間較長,僅適用於磁盤請求較少的場合。 |
最短尋道時間優先算法SSTF | 選擇與當前磁頭所在磁道距離最近的請求做爲下一次服務的對象。 | 較FCFS有較好的尋道性能以及較少的尋道時間。 | 會致使飢餓現象 |
掃描(電梯調度)算法SCAN | 在磁頭當前移動方向上選擇與當前磁頭所在磁道距離最近的請求最爲下一次服務的對象。 | 具備較好的尋道性能,並且防止了飢餓現象。 | 存在一個請求恰好被錯過而須要等待好久的情形。 |
循環掃描算法CSCAN | 規定磁頭單向移動,如自裏向外移動,當磁頭移動到最外的磁道時當即返回到最裏磁道,如此循環進行掃描。 | 兼顧較好的尋道性能,防止飢餓現象,同時解決了一個請求等待時間過長的問題。 | 可能出現磁臂長時間停留在某處不懂的狀況(磁臂黏着)。 |
N-Step-SCAN 算法,對SCAN 算法的優化。 | 將磁盤請求隊列分紅若干個 長度爲N 的子隊列,磁盤調度 將按照FCFS 依次處理這些子 隊列,而每處理一個隊列時又 是按照SCAN 算法,對一個隊列處理後再處理其餘隊列,將 新請求隊列放入新隊列。 | 無磁臂黏着。 | |
FSCAN 算法,對SCAN 算法 的優化。 | 將請求隊列分紅兩個子隊列, 將新出現請求磁盤IO 的進程 放入另外一個子隊列。 | 無磁臂黏着。 |
信號量是一個肯定的二元組(s,q),其中s是一個具備非負初值的整型變量,q是一個初始狀態爲空的隊列。整型變量s表示系統中某類資源的數目,當其值大於0時,表示系統中當前可用資源的數目;當其值小於0時,其絕對值表示系統中因請求該類資源而被阻塞的進程數目。
信號量分類:
① 整型信號量:所謂整型信號量就是一個用於表示資源個數的整型量
② 記錄型信號量(資源信號量):就是用一個結構體實現,裏面包含了表示資源個數的整型量和一個等待隊列。
信號量的應用:
① 實現進程同步
② 實現進程互斥
信號量的值除了初值外,僅能由這PV原語加以改變。P、V 操做以原語形式實現,保證了對信號量進行操做過程當中不會被打斷或阻塞。P 操做至關於申請資源,V 操做至關於釋放資源。P操做和V操做一定成對出現,但未必在同一個進程中。
Struct semaphore{ Int count; queueType queue; }; Wait (semaphore s) // P { s.count --; if(s.count<0) { 阻塞該進程; 將該進程插入等待序列s.queue; } } signal (semaphore s) // V { s.count ++; if(s.count<=0) { 從等待隊列s.queue取出第一個進程p; 將p插入就緒隊列; } }
操做系統(Operating System,簡稱OS)是管理和控制計算機硬件與軟件資源的計算機程序,是直接運行在「裸機」上的最基本的系統軟件,任何其餘軟件都必須在操做系統的支持下才能運行。操做系統是用戶和計算機的接口,同時也是計算機硬件和其餘軟件的接口。操做系統的功能包括管理計算機系統的硬件、軟件及數據資源,控制程序運行,改善人機界面,爲其它應用軟件提供支持等,使計算機系統全部資源最大限度地發揮做用,提供了各類形式的用戶界面,使用戶有一個好的工做環境,爲其它軟件的開發提供必要的服務和相應的接口。
操做系統理論研究者有時把操做系統分紅四大部分:
驅動程序是最底層的、直接控制和監視各種硬件的部分,它們的職責是隱藏硬件的具體細節,並向其餘部分提供一個抽象的、通用的接口。
內核是操做系統之最內核部分,一般運行在最高特權級,負責提供基礎性、結構性的功能。
支承庫是一系列特殊的程序庫,它們職責在於把系統所提供的基本服務包裝成應用程序所可以使用的編程接口(API),是最靠近應用程序的部分。例如,GNU C運行期庫就屬於此類,它把各類操做系統的內部編程接口包裝成ANSI C和POSIX編程接口的形式。
外圍是指操做系統中除以上三類之外的全部其餘部分,一般是用於提供特定高級服務的部件。例如,在微內核結構中,大部分系統服務,以及UNIX/Linux中各類守護進程都一般被劃歸此列。
棧:運算器出棧壓棧
隊列:進程管理
樹:目錄管理
表格:優先級的設置
系統調用提供了用戶程序和操做系統之間的接口,應用程序經過系統調用實現其他OS的通訊,並取得它的服務。系統調用不只可供全部的應用程序使用,並且也可供OS自己的其它部分,如命令處理程序。
系統調用的處理步驟(三步):
首先,將處理機狀態由用戶態轉爲系統態;而後由硬件和內核程序進行系統調用的通常性處理,即首先保護被中斷進程的CPU環境,將處理機狀態字PSW、程序計數器PC、系統調用號、用戶棧指針以及通用寄存器內容等壓入堆棧;再而後將用戶定義的參數傳送到指定的地址保存起來。
其次,分析系統調用類型,轉入相應的系統調用處理子程序。(經過查找系統調用入口表,找到相應處理子程序的入口地址轉而去執行它。)
最後,在系統調用處理子程序執行完後,應恢復被中斷的貨設置新進程的CPU現場,而後返回被中斷進程或新進程,繼續往下執行。
基於局部性原理,應用程序在運行以前,僅將那些當前要運行的少數頁面或段先裝入內存即可運行,其他部分暫時留在盤上。程序運行時,若是它要訪問的頁已調入內存,即可繼續執行下去;但若是程序要訪問的頁或段還沒有調入內存(即缺頁),此時程序應利用請求調入功能將它們調入內存,以使程序能繼續執行下去。若是此時內存已滿,沒法裝入新的頁或段,則須要利用頁面置換功能,將內存中暫不使用的頁面或段調至盤上,騰出空間用於頁面調入內存,是程序繼續執行下去。這樣,就實現了大的用戶程序能在較小的內存空間裏運行,也能夠在內存中同時裝入更多的進程使它們併發運行。從用戶角度出發,該系統的內存容量比實際內存容量大不少,故成這樣的存儲器爲虛擬存儲器。
相關算法:
頁面置換算法
① 最佳置換算法(OPT):在預知一個進程的頁面號引用串的狀況下,每次都淘汰之後再也不使用的貨之後最遲再被使用的頁面。該算法不能實現,只能做爲一個標準來衡量其餘置換算法的優劣。
② 先進先出算法(FIFO):每次老是淘汰最早進入內存的頁面,也就是將在內存中駐留時間最長的頁面淘汰。(可能會產生Belady異常,缺頁次數隨着分配的物理塊的增長而增長)。
③ 最近最少使用算法(LRU):選擇最近最少未被使用的頁面淘汰,其思想是用之前的頁面引用狀況來預測未來會出現的頁面引用狀況。利用了局部性原理。
④ 時鐘置換算法(CLOCK):是LRU和FIFO的折中,具體方法略。
⑤ 工做集算法
⑥ 工做集時鐘算法
⑦ 第二次機會算法
⑧ 最近未使用(NRU)
存儲管理的主要任務是爲多道程序的運行提供良好的環境,方便用戶使用存儲器,提升存儲器的利用率以及從邏輯上擴充存儲器,故應具備如下功能:
① 內存的分配和回收:實施內存的分配,回收系統或用戶釋放的內存空間。
② 地址變換:提供地址變換功能,將邏輯地址轉換成物理地址。
③ 擴充內存:藉助於虛擬存儲技術活其餘自動覆蓋技術,爲用戶提供比內存空間大的地址空間,從邏輯上擴充內存。
④ 存儲保護:保證進入內存的各道做業都在本身的存儲空間內運行,互不干擾。
TLB 的做用是在處理器訪問內存數據的時候作地址轉換。TLB 的全稱是Translation Lookaside Buffer,能夠翻譯作旁路緩衝,是一個具備並行查詢能力的特殊高速緩衝寄存器。TLB中存放了一些頁表文件,文件中記錄了虛擬地址和物理地址的映射關係。當應用程序訪問一個虛擬地址的時候,會從TLB 中查詢出對應的物理地址,而後訪問物理地址。TLB 一般是一個分層結構,使用與Cache 相似的原理。處理器使用必定的算法把最經常使用的頁表放在最早訪問的層次。
補充:應用程序從用戶編寫的源文件到內內存中執行的進程大體分爲三個階段,通過編譯程序將源代碼便覺得若干個目標模塊,在經過連接程序將編譯好的目標模塊以及所需的庫函數連接到一塊兒,造成完整的裝入模塊,最後經過裝入程序將這些裝入模塊裝入內存並執行。(編譯,連接,裝入)
裝入方式:
① 絕對裝入:在編譯時就知道程序將要駐留在內存的物理地址,編譯程序產生含有物理地址的目標代碼,不適合多道程序設計。
② 可重定位裝入:根據內存當前狀況,將裝入模塊裝入到內存的適當位置,地址變換一般在裝入時一次完成,以後再也不改變,也稱靜態重定位。當操做系統爲程序分配一個以某地址爲起始地址的連續主存區域後,重定位時將程序中指令或操做數的邏輯地址加上這個起始地址就獲得了物理地址。
③ 動態運行裝入:容許程序運行時在內存中移動位置,把裝入模塊裝入到內存後的全部地址都是相對地址,在程序執行過程當中每當訪問到相應指令或數據時,纔將要訪問的程序或數據的相對地址轉換爲物理地址。動態重定位的實現要依靠硬件地址變換機構。
① 靜態連接:在程序運行以前,先把各個目標模塊及所需庫連接爲一個完整的可執行程序,之後再也不拆開。
② 裝入時動態連接:將應用程序編譯後所獲得的一組目標模塊在裝入內存時採用邊裝入邊連接的連接方式。
③ 運行時動態連接:知道程序運行過程當中須要一些模塊時,纔對這些模塊進行連接。
覆蓋技術:把一個大的程序劃分爲一系列覆蓋,每一個覆蓋是一個相對獨立的程序單位,把程序執行時並不要求同時裝入內存的覆蓋組成一組,成爲覆蓋段,這個覆蓋段分配到同一個存儲區域,這個存儲區域成爲覆蓋區,它與覆蓋段一一對應。覆蓋段的大小由覆蓋段中最大的覆蓋來肯定。(爲了解決內存容量過小的問題,打破了必須將一個程序所有信息裝入內存後才能運行的限制)
交換技術:把暫時不用的某個程序及數據部分從內存移到外存中去,以便騰出必要的內存空間;或者把指定的程序或數據從外存讀到相應的內存中,並將控制權交給他,讓其在系統上運行的一種內存擴充技術。處理器的中級調度就是採用交換技術。
區別:
① 與覆蓋技術相比,交換技術不要求程序員給出的程序段之間的覆蓋結構;
② 交換技術主要在進程和做業之間進行,覆蓋技術主要在同一個進程或做業中進行;
③ 覆蓋技術只能覆蓋於覆蓋程序段無關的程序段,交換進程由換出和換入兩個過程組成。
① 單一連續分配(靜態分配)
② 固定分區分配(分區大小能夠不等,但事先必須肯定,運行時不能改變)
③ 動態分區分配
P131詳細
① 首次適應算法First Fit
② 循環首次適應算法Next Fit
③ 最佳適應算法Best Fit
④ 最差適應算法Worst Fit
在分區管理方式下,系統運行一段時間後,內存中會出現至關一部分的碎片,拼接技術是解決碎片問題的方法。
即將存儲器中全部已分配分區移動到主存的一端,使原本分散的多個小空閒區連成一個大的空閒區,這種經過移動把多個分散的小分區拼接成一個大分區的方法即爲拼接技術。
所謂原子操做是指不會被線程調度機制打斷的操做;這種操做一旦開始,就一直運行到結束,中間不會有任何 context switch (切換到另外一個線程)。
內部碎片:分配給做業的存儲空間中未被利用的部分。
外部碎片:系統中沒法利用的小存儲塊,好比經過動態內存分配技術從空閒內存區上分配內存後剩下的那
部份內存塊。
(1)界限寄存器
上下界寄存器方法
基址、限長寄存器方法
(2)存儲保護鍵:給每一個存儲塊分配一個單獨的存儲鍵,它至關於一把鎖。
爲了便於在內存中找到進程的每一個頁面所對應的物理塊,系統爲每一個進程創建一張頁面映射表。
頁表由頁表項組成,頁表項有頁號和塊號組成,根據頁表項就能夠找到每一個頁號對於物理內存中物理塊的塊號。
段寄存器是由於對內存的分段管理而設置的。計算機須要對內存分段,以分配給不一樣的程序使用(相似於硬盤[分頁。在描述內存分段時,須要有以下段的信息:1.段的大小;2.段的起始地址;3.段的管理屬性(禁止寫入/禁止/執行/系統專用等)。須要用8個字節(64位)存儲這些信息,但段寄存器只有16位,所以段寄存器中只能存儲段號(segment selector,也譯做「段選擇符」),再由段號映射到存在內存中的GDT(global (segment) descriptor table,全局段號記錄表),讀取段的信息。
進程樹是一個形象化的比喻,好比一個進程啓動了一個程序,而啓動的這個進程就是原來那個進程的子進程,依此造成的一種樹形的結構,咱們能夠在進程管理器選擇結束進程樹,就能夠結束其子進程和派生的子進程。
一個進程是一個程序對某個數據集的執行過程,是分配資源的基本單位。做業是用戶須要計算機完成的某
項任務,是要求計算機所作工做的集合。一個做業的完成要通過做業提交、做業收容、做業執行和做業完
成4 個階段。而進程是對已提交完畢的程序所執行過程的描述,是資源分配的基本單位。
其主要區別以下。
(1)做業是用戶向計算機提交任務的任務實體。在用戶向計算機提交做業後,系統將它放入外存中的做業等
待隊列中等待執行。而進程則是完成用戶任務的執行實體,是向系統申請分配資源的基本單位。任一進程,
只要它被建立,總有相應的部分存在於內存中。
(2) 一個做業可由多個進程組成,且必須至少由一個進程組成,反過來則不成立。
(3) 做業的概念主要用在批處理系統中,像UNIX 這樣的分時系統中就沒有做業的概念。而進程的概念則
用在幾乎全部的多道程序系統中進程是操做系統進行資源分配的單位。在Windows 下,進程又被細化爲線
程,也就是一個進程下有多個能獨立運行的更小的單位。
① 先來先服務調度FCFS
② 短做業優先調度SJF
③ 優先級調度Priority
④ 時間片輪轉調度RR
⑤ 高響應比優先調度
⑥ 多級隊列調度
⑦ 多級反饋隊列調度
死鎖: 是指兩個或兩個以上的進程在執行過程當中,因爭奪資源而形成的一種互相等待的現象,若無外力做用,它們都將沒法推動下去。此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的進程稱爲死鎖進程。
① 系統資源不足
② 進程推動順序不當
① 互斥條件:指進程對所分配到的資源進行排它性使用,即在一段時間內某資源只由一個進程佔用。
② 請求和保持條件:指進程已經保持至少一個資源,但又提出了新的資源請求,而該資源已被其它進程佔有,此時請求進程阻塞,但又對本身已得到的其它資源保持不放。
③ 不剝奪條件:指進程已得到的資源,在未使用完以前,不能被剝奪,只能在使用完時由本身釋放。
④ 環路等待條件:指在發生死鎖時,必然存在一個進程——資源的環形鏈,即進程集合{P0,P1,P2,···,Pn}中的P0 正在等待一個P1 佔用的資源;P1 正在等待P2 佔用的資源,……,Pn 正在等待已被P0佔用的資源。
① 預防死鎖:這是一種較簡單和直觀的事先預防的方法。方法是經過設置某些限制條件,去破壞產生死鎖的四個必要條件中的一個或者幾個,來預防發生死鎖。預防死鎖是一種較易實現的方法,已被普遍使用。可是因爲所施加的限制條件每每太嚴格,可能會致使系統資源利用率和系統吞吐量下降。
② 避免死鎖:該方法一樣是屬於事先預防的策略,但它並不須事先採起各類限制措施去破壞產生死鎖的的四個必要條件,而是在資源的動態分配過程當中,用某種方法去防止系統進入不安全狀態,從而避免發生死鎖。
③ 檢測死鎖:這種方法並不須事先採起任何限制性措施,也沒必要檢查系統是否已經進入不安全區,此方法容許系統在運行過程當中發生死鎖。但可經過系統所設置的檢測機構,及時地檢測出死鎖的發生,並精確地肯定與死鎖有關的進程和資源,而後採起適當措施,從系統中將已發生的死鎖清除掉。
④ 解除死鎖:這是與檢測死鎖相配套的一種措施。當檢測到系統中已發生死鎖時,須將進程從死鎖狀態中解脫出來。經常使用的實施方法是撤銷或掛起一些進程,以便回收一些資源,再將這些資源分配給已處於阻塞狀態的進程,使之轉爲就緒狀態,以繼續運行。
等待時間給進程推動和響應帶來明顯影響時成爲進程飢餓。
飢餓並不表明系統一點死鎖,但至少有一個程序的執行被無限期地推遲。
差異:
① 進入飢餓的進程能夠只有一個,可是死鎖必須大於等於兩個;
② 出於飢餓狀態的進程能夠是一個就緒進程,可是死鎖狀態的進程一定是阻塞進程。
一、段是信息的邏輯單位,分段的目的是爲了更好地實現共享,根據用戶的須要劃分,所以段對用戶是可見的;頁是信息的物理單位,是爲了管理主存的方便而劃分的,分頁是爲了實現非連續分配,以便解決內存碎片問題,或者說分頁是因爲系統管理的須要,其對用戶是透明的。
二、段的大小不固定,由它所完成的功能決定;頁的大小固定(通常爲4K),由系統決定,將邏輯地址劃分爲頁號和頁內地址是由機器硬件實現的。
三、段向用戶提供二維地址(段號+段內地址);頁向用戶提供的是一維地址(頁號)
四、段是信息的邏輯單位,便於存儲保護和信息的共享,頁的保護和共享受到限制。
主要思想是避免系統進入不安全狀態,在每次進行資源分配時,它首先檢查系統是否有足夠的資源知足要求,若是有,則先試行分配,並對分配後的新狀態進行安全性檢查。若是新狀態安全,則正式分配上述資源,不然拒絕分配上述資源。這樣就保證系統始終處於安全狀態,從而避免死鎖現象的發生。
獨立磁盤冗餘陣列(RAID,redundant array of independent disks,redundant array of inexpensive disks)是把相同的數據存儲在多個硬盤的不一樣的地方(所以,冗餘地)的方法。經過把數據放在多個硬盤上,輸入輸出操做能以平衡的方式交疊,改良性能。由於多個硬盤增長了平均故障間隔時間(MTBF),儲存冗餘數據也增長了容錯。
文件控制塊
集線器(多端口) 中繼器(兩個端口) 物理層
TCP是面向鏈接的協議,而UDP是無鏈接的協議。這意味着當一個客戶端和一個服務器端經過TCP發送數據前,必須先創建鏈接,創建鏈接的過程也被稱爲TCP三次握手。
TCP提供交付保證,這意味着一個使用TCP協議發送的消息是保證交付給客戶端的,若是消息在傳輸過程當中丟失,那麼它將重發。UDP是不可靠的,它不提供任何交付的保證,一個數據報包在運輸過程當中可能會丟失。
消息到達網絡的另外一端時多是無序的,TCP協議將會爲你排好序。UDP不提供任何有序性的保證。
TCP速度比較慢,而UDP速度比較快,由於TCP必須建立鏈接,以保證消息的可靠交付和有序性,他須要作比UDP多的事。這就是爲何UDP更適用於對速度比較敏感的應用。TCP適合傳輸大量數據,UDP適合傳輸少許數據。
TCP是重量級的協議,UDP協議則是輕量級的協議。一個TCP數據報的報頭大小最少是20個字節,UDP數據報的報頭固定是8個字節。TCP報頭中包含序列號,ACK號,數據偏移量,保留,控制位,窗口,緊急指針,可選項,填充項,校驗位,源端口和目的端口。而UDP報頭只包含長度,源端口號,目的端口號,校驗和。
TCP有流量控制和擁塞控制。UDP沒有流量控制和擁塞控制。
TCP是字節流的協議,無邊界記錄。
UDP發送的每一個數據報是記錄型的數據報,所謂的記錄型數據報就是接收進程能夠識別接收到的數據報的記錄邊界。
TCP應用場景:效率要求相對低,但對準確性要求相對高的場景。由於傳輸中須要對數據確認,重發,排序等操做,相比之下效率沒有UDP高。舉幾個例子:文件傳輸、郵件傳輸、遠程登陸。
UDP應用場景:效率要求相對高,對準確性要求相對低的場景。舉幾個例子:QQ聊天、QQ視頻,網絡語音電話(即時通信,要求速度高,可是出現偶爾斷續不是太大問題,而且此處徹底不能夠使用重傳機制)、廣播通訊(廣播、多播)
傳統交換機從網橋發展而來,屬於OSI第二層即數據鏈路層設備。它根據MAC地址尋址,經過站表選擇路由,站表的創建和維護由交換機自動進行。路由器屬於OSI第三層即網絡層設備,它根據IP地址進行尋址,經過路由表路由協議產生。交換機最大的好處是快速,因爲交換機只須識別幀中MAC地址,直接根據MAC地址產生選擇轉發端口算法簡單,便於ASIC實現,所以轉發速度極高。但交換機的工做機制也帶來一些問題。
1.迴路:根據交換機地址學習和站表創建算法,交換機之間不容許存在迴路。一旦存在迴路,必須啓動生成樹算法,阻塞掉產生迴路的端口。而路由器的路由協議沒有這個問題,路由器之間能夠有多條通路來平衡負載,提升可靠性。
2.負載集中:交換機之間只能有一條通路,使得信息集中在一條通訊鏈路上,不能進行動態分配,以平衡負載。而路由器的路由協議算法能夠避免這一點,OSPF路由協議算法不但能產生多條路由,並且能爲不一樣的網絡應用選擇各自不一樣的最佳路由。
3.廣播控制:交換機只能縮小衝突域,而不能縮小廣播域。整個交換式網絡就是一個大的廣播域,廣播報文散到整個交換式網絡。而路由器能夠隔離廣播域,廣播報文不能經過路由器繼續進行廣播。
4.子網劃分:交換機只能識別MAC地址。MAC地址是物理地址,並且採用平坦的地址結構,所以不能根據MAC地址來劃分子網。而路由器識別IP地址,IP地址由網絡管理員分配,是邏輯地址且IP地址具備層次結構,被劃分紅網絡號和主機號,能夠很是方便地用於劃分子網,路由器的主要功能就是用於鏈接不一樣的網絡。
5.保密問題:雖然說交換機也能夠根據幀的源MAC地址、目的MAC地址和其餘幀中內容對幀實施過濾,但路由器根據報文的源IP地址、目的IP地址、TCP端口地址等內容對報文實施過濾,更加直觀方便。
6.介質相關:交換機做爲橋接設備也能完成不一樣鏈路層和物理層之間的轉換,但這種轉換過程比較複雜,不適合ASIC實現,勢必下降交換機的轉發速度。所以目前交換機主要完成相同或類似物理介質和鏈路協議的網絡互連,而不會用來在物理介質和鏈路層協議相差甚元的網絡之間進行互連。而路由器則不一樣,它主要用於不一樣網絡之間互連,所以能鏈接不一樣物理介質、鏈路層協議和網絡層協議的網絡。路由器在功能上雖然佔據了優點,但價格昂貴,報文轉發速度低。
近幾年,交換機爲提升性能作了許多改進,其中最突出的改進是虛擬網絡和三層交換。
劃分子網能夠縮小廣播域,減小廣播風暴對網絡的影響。路由器每一接口鏈接一個子網,廣播報文不能通過路由器廣播出去,鏈接在路由器不一樣接口的子網屬於不一樣子網,子網範圍由路由器物理劃分。對交換機而言,每個端口對應一個網段,因爲子網由若干網段構成,經過對交換機端口的組合,能夠邏輯劃分子網。廣播報文只能在子網內廣播,不能擴散到別的子網內,經過合理劃分邏輯子網,達到控制廣播的目的。因爲邏輯子網由交換機端口任意組合,沒有物理上的相關性,所以稱爲虛擬子網,或叫虛擬網。虛擬網技術不用路由器就解決了廣播報文的隔離問題,且虛擬網內網段與其物理位置無關,即相鄰網段能夠屬於不一樣虛擬網,而相隔甚遠的兩個網段可能屬於不一樣虛擬網,而相隔甚遠的兩個網段可能屬於同一個虛擬網。不一樣虛擬網內的終端之間不能相互通訊,加強了對網絡內數據的訪問控制。
交換機和路由器是性能和功能的矛盾體,交換機交換速度快,但控制功能弱,路由器控制性能強,但報文轉發速度慢。解決這個矛盾的技術是三層交換,既有交換機線速轉發報文能力,又有路由器良好的控制功能。
在第三層交換技術出現以前,幾乎沒有必要將路由功能器件和路由器區別開來,他們徹底是相同的:提供路由功能正在路由器的工做,然而,如今第三層交換機徹底可以執行傳統路由器的大多數功能。做爲網絡互連的設備,第三層交換機具備如下特徵:
1.轉發基於第三層地址的業務流;
2.徹底交換功能;
3.能夠完成特殊服務,如報文過濾或認證;
4.執行或不執行路由處理。
第三層交換機與傳統路由器相比有以下優勢:
1.子網間傳輸帶寬可任意分配:傳統路由器每一個接口鏈接一個子網,子網經過路由器進行傳輸的速率被接口的帶寬所限制。而三層交換機則不一樣,它能夠把多個端口定義成一個虛擬網,把多個端口組成的虛擬網做爲虛擬網接口,該虛擬網內信息可經過組成虛擬網的端口送給三層交換機,因爲端口數可任意指定,子網間傳輸帶寬沒有限制。
2.合理配置信息資源:因爲訪問子網內資源速率和訪問全局網中資源速率沒有區別,子網設置單獨服務器的意義不大,經過在全局網中設置服務器羣不只節省費用,更能夠合理配置信息資源。
3.下降成本:一般的網絡設計用交換機構成子網,用路由器進行子網間互連。目前採用三層交換機進行網絡設計,既能夠進行任意虛擬子網劃分,又能夠經過交換機三層路由功能完成子網間通訊,爲此節省了價格昂貴的路由器。
4.交換機之間鏈接靈活:做爲交換機,它們之間不容許存在迴路,做爲路由器,又可有多條通路來提升可靠性、平衡負載。三層交換機用生成樹算法阻塞形成迴路的端口,但進行路由選擇時,依然把阻塞掉的通路做爲可選路徑參與路由選擇。
物理層
數據鏈路層(PPP、HDLC、CSMA/CD)
網絡層(IP、ARP(IP→MAC)/RARP(MAC→IP)、ICMP)
傳輸層(TCP、UDP)
會話層
表示層
應用層(telnet 2三、FTP 20<數據>+21<控制>、SMTP 16一、DNS、SNMP、DHCP、HTTP 80)
TCP/IP是四層(網絡接口層、網際層、運輸層、應用層)
均等
IPV4是32位;IPV6是128位
單工:又稱爲單向通訊,即只能有一個方向的通訊而沒有反方向的交互。例:無線電廣播,電視廣播
半雙工:又稱爲雙向交替通訊,即通訊的雙方均可以發送信息,但不能雙方同時發送(固然也就不能同時接受)。
全雙工:又稱爲雙向同時通訊,即通訊的雙方能夠同時發送和接受信息。
備註:單工只要一條信道,而半雙工和全雙工需都須要兩條信道(每一個方向各一條)。
假如當咱們訪問一個網站時,在知道網站IP的狀況下,貓訪問的是實際網卡地址,因此須要經過APD廣播,經過工做站將此信息轉達給互聯網全部的貓(路由器)
當互聯網的貓收到這個廣播時會檢查廣播包裏的IP是否與本身的IP一致,若是一致則返回給指定貓本身的網卡地址
那麼此時雙方會在本身內部造成一個鏈表將其記錄下來,讓IP與網卡地址造成映射,保存起來,便於下次通信!
那麼下次在通信時,當咱們要訪問一個IP時,貓會在本身的鏈表裏檢查這個IP是否已經擁有對應的MAC地址,若是有則在包頭裏將IP更改成MAC地址,這樣在對方路由器無需獲取IP地址,能夠直接根據貓網卡中的MAC地址進行校驗,當下次對方IP地址變動時,貓也會重複上面的步驟,經過APD廣播從新獲取IP地址對應的MAC地址!
好比對方本來是193.2,後來更換成了193.1,這樣發送時,貓在本身鏈表裏找不到對應的MAC地址了,因此直接在發送一個APD廣播,此時對方返回本身的MAC地址,貓發現本來鏈表裏的193.2對應着這個MAC地址,因此就會直接將鏈表裏193.2換成193.1!
爲何貓使用MAC地址?
答:這是以太網的一種協議,貓必須遵照,由於IP地址是隨機變化的,有可能在大家通信的過程當中IP地址就發生了變化,因此爲了肯定正確性必須使用MAC地址!
假如使用IP地址,你的IP地址是193.2,通信過程當中忽然換成了193.1,而193.2分配給另一我的了,那麼另一我的就會收到這個信息,可是MAC地址是惟一的,因此當地址變動時貓能在鏈表裏查出來,並從新經過APD廣播獲取新的IP地址!
上面說過貓會接受全部的包,但不是本身的不處理,其實咱們能夠在貓的設置頁面將其貓的網卡設置成混雜模式便可接受全部包,可是接受了也不會被處理,由於包裏的大多使用的是TCP/IP/UDP協議,這些協議須要socket套接字,不能保證機器下socket套接字是一致的,因此即使收到了,也不知道給哪一個進程,因此直接就廢棄了,可是咱們能夠編寫一些抓包工具來抓到全部包,並分析!
注意當咱們若是想要訪問國外網站時,是沒有辦法將包轉發到國外線路上的,緣由很簡單:
運營商會修改邊界轉發工做站的工做模式,在解析你發送的包,若是包裏包含敏感IP則使工做站不轉發此包!
由於訪問國外服務器是有特定的路線的,這也是爲何部分國外網站能夠訪問,可是部分不讓訪問的緣由!
若是想訪問國外的網站須要特定的服務器轉接,注意,大陸是能夠訪問香港服務器,而香港服務器能夠訪問國外網站,因此咱們能夠在香港設立服務器,而且在訪問香港的服務器進行轉接!
因爲IP層是不可靠的,所以TCP須要採起措施使得傳輸層之間的通訊變得可靠。中止等待協議就是保證可靠傳輸,以流量控制爲目的的一個協議。其工做原理簡單的說就是每發送一個分組就中止發送,等待對方的確認,在收到確認後再發送下一個分組,若是接受方不返回應答,則發送方必須一直等待。
細節描述:①若是發送方若是一段時間仍沒有收到確認,就認爲剛纔發送的分組丟失了,於是重傳前面發送過的分組。
②若是接收方的確認分組丟失或者因其餘緣由,收到了重傳分組,則:丟棄這個重傳分組,而且向發送方發送確認。
DNS(域名系統),將網址解析成IP地址。
DHCP(動態主機設置協議),是一個局域網的網絡協議,使用UDP協議工做,主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP地址,給用戶或者內部網絡管理員做爲對全部計算機做中央管理的手段。
FTP(文件傳輸協議),FTP客戶機能夠給服務器發出命令來下載文件,上載文件,建立或改變服務器上的目錄。
TELNET(遠程終端協議),能將用戶的擊鍵傳到遠程主機,同時也能將遠程主機的輸出經過TCP鏈接返回到用戶屏幕。
數據鏈路層在物理層提供的服務的基礎上向網絡層提供服務,將原始的、有差錯的物理線路改進成邏輯上無差錯的數據鏈路,從而向網絡層提供高質量的服務。功能主要有:①鏈路管理;②封裝成幀;③透明傳輸;④差錯檢測
域內:
①RIP (路由信息協議)。距離矢量協議;16跳;收斂速度慢;適用小規模網絡;僅和鄰居交換信息,且交換的是整個路由表,按固定時間週期性交換;實現簡單,開銷小;傳輸層使用UDP;RIP報文限制大小爲512字節。
②OSPF(開放最短路由協議)。鏈路狀態協議;基於IP;向自治域中全部路由器發送信息(防洪法),且發送的是鏈路狀態表(LSA),觸發更新;更新過程收斂快;根據代價選擇最佳路由;支持多路徑負載均衡。
域間:
BGP(外部網關協議)是不一樣AS之間的路由器之間交換路由信息的協議。
載頻之間保留了必定的保護間隔,使得相鄰的頻帶不會相互重疊,這樣傳輸過程當中不一樣頻率的各路信號便不會相互干擾,並且在接收端能夠很容易的利用帶通濾波器把各路信號再分割開來,恢復到多路複用前的分路狀況。
層 | 傳輸單位 | 任務 | 功能 | 設備 | 協議 |
---|---|---|---|---|---|
物理層 | 比特 | 透明地傳輸比特流 | 爲數據端設備提供傳送數據通路 | 集線器 中繼器 | |
數據鏈路層 | 幀 | 將網絡層傳下來的IP數據報組成幀 | ① 鏈路的創建,拆除,分離; ② 幀定界和幀同步 ③ 差錯檢測 | 交換機 網橋 | PPP、HDLC、ARQ |
網絡層 | 數據包 | ①將傳輸層傳下來的報文段封裝成分組 ②選擇適當的路由,是傳輸層傳下來的分組可以交付到目標主機 | 爲傳輸層提供服務; 組包和拆包; 路由選擇; 擁塞控制。 | 路由器 | ICMP ARP RARP IP IGMP |
傳輸層 | 報文段 TCP,UDP | 負責主機兩個進程之間的通訊 | 爲端到端提供可靠的傳輸服務; 爲端到端鏈接提供流量控制、差錯控制、服務質量等管理服務。 | TCP UDP | |
會話層 表示層 應用層 | 應用層 | 提供系統與用戶的接口 | 文件傳輸; 訪問和管理; 電子郵件服務。 | FTP、SMTP POP三、HTTP DHCP、RIP、BGP |
局域網:
①CSMA/CD(帶衝突檢測的載波偵聽多路訪問協議),每個站在發送數據以前要先檢測一下總線上是否有其餘計算機在發送數據,若是有,則暫時不發送數據,以避免發生衝突;若是沒有,則發送。而且計算機在發送數據的同時邊檢測信道上是否有衝突發生。若是有,則採用截斷二進制指數類型退避算法來等待一段隨機時間後再次重發。總的來講,可歸納爲「先聽後發,邊聽邊發,衝突停發,隨機重發」。
廣域網:
①PPP(點對點協議),面向字節;不須要的功能:糾錯(PPP協議只負責檢錯)、流量控制(由TCP負責)、序號(PPP協議是不可靠傳輸協議,故不須要對幀進行編號)、多點線路(PPP協議是點對點的通訊方式)、半雙工或單工(PPP只支持全雙工鏈路)。
②HDLC(高級數據鏈路控制協議),面向比特;標記字段(01111110),地址字段(全1是廣播,全0爲無效);控制字段(根據前兩位取值能夠將HDLC幀劃分爲三類(無奸細):信息幀,監督幀,無編號幀),信息字段,幀檢驗序列FCS(CRC循環冗餘碼)
物理層:集線器,中繼器(均不能隔離衝突域和廣播域)
數據鏈路層:交換機(轉發/學習機制、存儲轉發、隔離衝突域不能隔離廣播域),網橋
網絡層:路由器(隔離衝突域和廣播域)
滑動窗口協議,是TCP使用的一種流量控制方法。該協議容許發送方在中止並等待確認前能夠連續發送多個分組。因爲發送方沒必要每發一個分組就停下來等待確認,所以該協議能夠加速數據的傳輸。
PPP
協議點到點協議(Point to Point Protocol,PPP)是爲在同等單元之間傳輸數據包這樣的簡單鏈路設計的鏈路層協議。 [1] 這種鏈路提供全雙工操做,並按照順序傳遞數據包。設計目的主要是用來經過撥號或專線方式創建點對點鏈接發送數據,使其成爲各類主機、網橋和路由器之間簡單鏈接的一種共通的解決方案。PPP具備如下功能:
(1)PPP具備動態分配IP地址的能力,容許在鏈接時刻協商IP地址;
(2)PPP支持多種網絡協議,好比TCP/IP、NetBEUI、NWLINK等;
(3)PPP具備錯誤檢測能力,但不具有糾錯能力,因此ppp是不可靠傳輸協議;
(4)無重傳的機制,網絡開銷小,速度快。
(5)PPP具備身份驗證功能。
(6) PPP能夠用於多種類型的物理介質上,包括串口線、電話線、移動電話和光纖(例如SDH),PPP也用於Internet接入。
在 TCP-IP 協議集中它是一種用來同步調製鏈接的數據鏈路層協議(OSI模式中的第二層),替代了原來非標準的第二層協議,即 SLIP。除了 IP 之外 PPP 還能夠攜帶其它協議,包括 DECnet 和 Novell 的 Internet 網包交換(IPX)。
個域網、局域網、城域網、廣域網
見前題
網絡安全因爲不一樣的環境和應用而產生了不一樣的類型。主要有如下幾種:
一、系統安全
運行系統安全即保證信息處理和傳輸系統的安全。它側重於保證系統正常運行。避免由於系統的損壞而對系統存儲、處理和傳輸的消息形成破壞和損失。避免因爲電磁泄露,產生信息泄露,干擾他人或受他人干擾。
二、網絡的安全
網絡上系統信息的安全。包括用戶口令鑑別,用戶存取權限控制,數據存取權限、方式控制,安全審計,計算機病毒防治,數據加密等。
三、信息傳播安全
網絡上信息傳播安全,即信息傳播後果的安全,包括信息過濾等。它側重於防止和控制由非法、有害的信息進行傳播所產生的後果,避免公用網絡上大雲自由傳輸的信息失控。
四、信息內容安全
網絡上信息內容的安全。它側重於保護信息的保密性、真實性和完整性。避免攻擊者利用系統的安全漏洞進行竊聽、冒充、詐騙等有損於合法用戶的行爲。其本質是保護用戶的利益和隱私
p2p見文章 p2p詳解
DHCP
動態主機配置協議
傳輸層(TCP)、數據鏈路層(ARQ)
頻分複用:給每一個信號分配惟一的載波頻率並經過單一媒體來傳輸多個獨立信號的方法。
時分複用:把多個信號複用到單個硬件傳輸信道,它容許每一個信號在一個很短的時間使用信道,接着再讓下一個信號使用。
波分複用:就是光的頻分複用。用一根光纖同時傳輸多個頻率很接近的光載波信號。
碼分複用:碼分複用是用一組包含互相正交的碼字的碼組攜帶多路信號。每個用戶能夠在一樣的時間使用一樣的頻帶進行通訊。因爲各用戶使用通過特殊挑選的不一樣碼型,各用戶之間不會形成干擾,所以這種系統發送的信號有很強的抗干擾能力。
兩端都檢測到衝突,均中止發送數據,等待一個隨機時間再重發。
見高分筆記P27
實際上CSMA/CD的工做流程與人際間通話很是類似,能夠用如下7步來講明。
第一步:載波監聽,想發送信息包的節點要確保沒有其餘節點在使用共享介質,因此該節點首先要監聽信道上的動靜(即先聽後說)。
第二步:若是信道在必定時段內寂靜無聲(稱爲幀間縫隙IFG),則該節點就開始傳輸(無聲則講)。
第三步:若是信道一直很忙碌,就一直監視信道,直到出現最小的IFG時段時,該節點纔開始發送它的數據(有空就說)。
第四步:衝突檢測,若是兩個節點或更多的節點都在監聽和等待發送,而後在信道空時同時決定當即(幾乎同時)開始發送數據,此時就發生碰撞。這一事件會致使衝突,並使雙方信息包都受到損壞。以太網在傳輸過程當中不斷地監聽信道,以檢測碰撞衝突(邊聽邊說)。
第五步:若是一個節點在傳輸期間檢測出碰撞衝突,則當即中止該次傳輸,並向信道發出一個「擁擠」信號,以確保其餘全部節點也發現該衝突,從而摒棄可能一直在接收的受損的信息包(衝突中止,即一次只能一人講)。
第六步:多路存取,在等待一段時間(稱爲後退)後,想發送的節點試圖進行新的發送。
這時採用一種叫二進制指數退避策略(Binary Exponential Back off Policy)的算法來決定不一樣的節點在試圖再次發送數據前要等待一段時間(隨機延遲)。
第七步:返回到第一步。
實際上,衝突是以太網電纜傳輸距離限制的一個因素。例如,若是兩個鏈接到同一總線的節點間距離超過2500米,數據傳播將發生延遲,這種延遲將阻止CSMA/CD的衝突檢測例程正確進行 [2] 。
傳統地,路由器工做於OSI七層協議中的第三層,其主要任務是接收來自一個網絡接口的數據包,根據其中所含的目的地址,決定轉發到下一個目的地址。所以,路由器首先去掉數據包的二層頭,取出目的IP地址,在轉發路由表中查找它對應的下一跳地址,若找到,就在數據包的幀格前添加下一個MAC地址,同時IP數據包頭的TTL(Time To Live)域也減一,並從新計算校驗和。當數據包被送到輸出端口時,它須要按順序等待,以便被傳送到輸出鏈路上。
時延是指一個報文或分組從一個網絡的一端傳送到另外一個端所須要的時間。它包括了發送時延,傳播時延,處理時延,排隊時延。(時延=發送時延+傳播時延+處理時延+排隊時延)通常,發送時延與傳播時延是咱們主要考慮的。對於報文長度較大的狀況,發送時延是主要矛盾;報文長度較小的狀況,傳播時延是主要矛盾。
帶寬又叫頻寬,是指在固定的的時間可傳輸的資料數量,亦即在傳輸管道中能夠傳遞數據的能力。在數字設備中,頻寬一般以bps表示,即每秒可傳輸之位數。在模擬設備中,頻寬一般以每秒傳送週期或赫茲 (Hz)來表示(指經過的頻率的寬度)。
網絡中存在太多的數據包致使數據包被延遲或丟失,從而下降了整個網絡的傳輸性能,這種狀況叫作擁塞。若是產生網絡擁塞,則網絡的性能明顯降低,整個網絡的吞吐量將隨着輸入負荷的增大而降低。
擁塞控制:可分爲閉環控制和開環控制。開環控制是在設計網絡時事先將有關擁塞的因素考慮到,力求網絡在工做時不產生擁塞。閉環擁塞是基於反饋環路的概念。
擁塞控制的4種算法:
① 慢開始算法
② 擁塞避免算法
③ 快重傳算法
④ 快恢復算法
工做原理:發送數據前,先偵聽信道是否空閒,若空閒,則當即發送數據,在發送數據時,邊發送邊繼續偵聽,若偵聽到衝突,則當即中止發送數據,等待一段隨機時間,再從新嘗試。(先聽後發,邊發邊聽,衝突停發,隨機延遲後重發。)
電信網,廣播電視網,互聯網。
① 語義:對構成協議元素的含義的解釋;
② 語法:數據域控制信息的結構和格式;
③ 同步:規定事件的執行順序。
電路交換 | 報文交換 | 分組交換 | |
---|---|---|---|
創建被雙方獨佔物理通路 (創建鏈接) | 須要 | 不要求 | 不要求 |
數據交換單位 | 比特流 | 報文 | 分組 |
傳輸方式 | 比特流直接到達 | 存儲轉發 | 存儲轉發 |
每一個分組沿着規定路徑 | 是 | 不是 | |
分組按序到達 | 是 | 不是 | |
優勢 | 通訊時延小; 實時性強; 適用範圍廣; 控制簡單; 避免衝突。 | 無需創建鏈接; 動態分配路線; 可靠性高; 線路利用率高; 可提供多目標服務。 | 加速傳輸; 簡化存儲管理; 減小出錯概率和重發數據量。 |
缺點 | 創建鏈接時間長; 信道利用率低; 缺少統一標準; 靈活性差。 | 因爲存儲轉發方式致使轉發時延; 對報文大小沒有控制,須要較大的存儲緩存空間。 | 存在傳輸時延; 工做量大,可能出現分組失序,丟失等狀況。 |
與報文交換相比較,分組交換的優勢和缺點以下。
① 加速傳輸:由於分組交換是逐個傳輸,因此能夠使後一個分組的存儲操做與前一個分組的轉發操做並行,這種流水線式傳輸方式減小了報文的傳輸時間,此外,傳輸一個分組所需的緩衝區比傳輸一個報文所需的緩衝區小得多,這樣因緩衝區不足而等待發送的概率及等待的時間也必然減小。
② 簡化了存儲管理:分組的長度固定,相應的緩衝區大小也固定。
③ 減小出錯概率和重發數據量:由於分組較短,其出錯概率必然減小,因此每次重發的數據量也就大大減小,這樣不只提升了可靠性,也減小了傳輸時延。
① 存在傳輸時延:儘管與報文交換相比的傳輸時延較短,可是與電路交換相比仍然存在存儲轉發時延,並且對其結點交換機的處理能力有更高的要求。
② 當分組交換採用數據報服務時,可能出現失序、丟失或重複分組,分組到達的目的地的結點時,要對分組按編號進行排序工做,工做量較大。
流量控制就是要控制發送方數據傳輸的速率,使接收方來得及接收。
數據鏈路層:相鄰結點的流量控制,
傳輸層:端到端的流量控制,利用滑動窗口機制在TCP鏈接上實現流量控制。
碼分多路複用,既共享信道的頻率,又共享時間,是一種真正的動態複用技術。
原理:
二層交換技術是發展比較成熟,二層交換機屬數據鏈路層設備,能夠識別數據包中的MAC
地址信息,根據MAC 地址進行轉發,並將這些MAC 地址與對應的端口記錄在本身內部的
一個地址表中。
三層交換機就是具備部分路由器功能的交換機
三層交換技術就是二層交換技術+三層轉發技術。傳統交換技術是在OSI 網絡標準模型第
二層——數據鏈路層進行操做的,而三層交換技術是在網絡模型中的第三層實現了數據包的
高速轉發,既可實現網絡路由功能,又可根據不一樣網絡情況作到最優網絡性能。
頻帶之間會有足夠長的隔離頻帶
ACK
NAT(私網地址的部署)
IPv6的地址長度爲128位,是IPv4地址長度的4倍。因而IPv4點分十進制格式再也不適用,採用十六進制表示。IPv6有3種表示方法。
1、冒分十六進制表示法
格式爲X:X:X:X:X:X:X:X,其中每一個X表示地址中的16b,以十六進制表示,例如:
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
這種表示法中,每一個X的前導0是能夠省略的,例如:
2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A
2、0位壓縮表示法
在某些狀況下,一個IPv6地址中間可能包含很長的一段0,能夠把連續的一段0壓縮爲「::」。但爲保證地址解析的惟一性,地址中」::」只能出現一次,例如:
FF01:0:0:0:0:0:0:1101 → FF01::1101
0:0:0:0:0:0:0:1 → ::1
0:0:0:0:0:0:0:0 → ::
3、內嵌IPv4地址表示法
爲了實現IPv4-IPv6互通,IPv4地址會嵌入IPv6地址中,此時地址常表示爲:X:X:X:X:X:X:d.d.d.d,前96b採用冒分十六進制表示,而最後32b地址則使用IPv4的點分十進制表示,例如::192.168.0.1與::FFFF:192.168.0.1就是兩個典型的例子,注意在前96b中,壓縮0位的方法依舊適用 [11] 。
IPv6報文的總體結構分爲IPv6報頭、擴展報頭和上層協議數據3部分。IPv6報頭是必選報文頭部,長度固定爲40B,包含該報文的基本信息;擴展報頭是可選報頭,可能存在0個、1個或多個,IPv6協議經過擴展報頭實現各類豐富的功能;上層協議數據是該IPv6報文攜帶的上層數據,多是ICMPv6報文、TCP報文、UDP報文或其餘可能報文。
IPv6的報文頭部結構如圖:
版本號 | 表示協議版本.值爲6 |
---|---|
流量等級 | 主要用於QoS |
流標籤 | 用來標識同一個流裏面的報文 |
載荷長度 | 代表該IPv6包頭部後包含的字節數,包含擴展頭部 |
下一報頭 | 該字段用來指明報頭後接的報文頭部的類型,若存在擴展頭,表示第一個擴展頭的類型,不然表示其上層協議的類型,它是IPv6各類功能的核心實現方法 |
跳數限制 | 該字段相似於IPv4中的TTL,每次轉發跳數減一,該字段達到0時包將會被丟棄 |
源地址 | 標識該報文的來源地址 |
目的地址 | 標識該報文的目的地址 |
IPv6
報文中再也不有「選項」字段,而是經過「下一報頭」字段配合IPv6擴展報頭來實現選項的功能。使用擴展頭時,將在IPv6報文下一報頭字段代表首個擴展報頭的類型,再根據該類型對擴展報頭進行讀取與處理。每一個擴展報頭一樣包含下一報頭字段,若接下來有其餘擴展報頭,即在該字段中繼續標明接下來的擴展報頭的類型,從而達到添加連續多個擴展報頭的目的。在最後一個擴展報頭的下一報頭字段中,則標明該報文上層協議的類型,用以讀取上層協議數據 [12] 。
搜索引擎的原理,能夠分爲四步:從互聯網上抓取網頁、創建索引數據庫、在索引數據庫中搜索排序、對搜索結果進行處理和排序。
利用可以從互聯網上自動收集網頁的蜘蛛系統程序,自動訪問互聯網,並沿着任何網頁中全部URL爬到其餘網頁,重複這個過程,並把爬過的全部網頁收集回來。
由分析索引系統程序對收集回來的網頁進行分析,提取相關網頁信息(包括網頁所在URL、編碼類型、頁面內容包含的關鍵詞、關鍵詞位置、生成時間、大小、與其餘網頁的連接關係等),並根據必定的相關度算法進行大量的複雜計算,獲得每個網頁針對頁面內容中及超鏈中每個關鍵詞的相關度(或重要性),而後利用這些相關信息創建網頁索引數據庫。
當用戶輸入關鍵詞後,由搜索系統程序從網頁索引數據庫中找到符合該關鍵詞的全部相關網頁。由於所用相關網頁針對該關鍵詞的相關度早已計算好,因此只需按照現成的相關數值排序,相關度越高,排名越靠前。最後由頁面生成系統將搜索結果的連接地址和頁面內容摘要等內容組織起來返回給用戶。
全部相關網頁針對該關鍵詞的相關信息在索引庫中都有記錄,只需綜合相關信息和網頁級別造成相關數值度,而後進行排序,相關度越高,排名越靠前。最後由頁面生成系統將搜索結果的連接地址和頁面內容摘要等內容組織起來返回給用戶。
加密技術通常分爲對稱式加密以及非對稱式加密兩類。採用的比較普遍的是對稱式加密,主要特色是加密和解密使用同一個密鑰。而非對稱式加密在進行加密時則使用了兩個密鑰,加密和解密過程當中分別使用不一樣的密鑰,這兩個密鑰分別爲「公鑰」以及「私鑰」,想要能正常完成加密解密過程,就必需配對使用,而在使用過程當中,「公鑰」是公開的,「私鑰」則必須由發送人保密,同時只能由持有人全部。對稱式的加密方法若是用於經過網絡傳輸加密文件,那麼無論使用任何方法將密鑰告訴對方,都有可能被竊聽,而非對稱式的加密方法則具備必定的優越性,由於它包含有兩個密鑰,且僅有其中的「公鑰」是能夠被公開的,接收方只須要使用本身已持有的私鑰進行解密,這樣就能夠很好的避免密鑰在傳輸過程當中產生的安全問題。
保密性(secrecy),又稱機密性,是指我的或團體的信息不爲其餘不該得到者得到。在電腦中,許多軟件包括郵件軟件、網絡瀏覽器等,都有保密性相關的設定,用以維護用戶資訊的保密性,另外間諜檔案或黑客有可能會形成保密性的問題。
數據完整性是信息安全的三個基本要點之一,指在傳輸、存儲信息或數據的過程當中,確保信息或數據不被未受權的篡改或在篡改後可以被迅速發現。在信息安全領域使用過程當中,經常和保密性邊界混淆。以普通RSA對數值信息加密爲例,黑客或惡意用戶在沒有得到密鑰破解密文的狀況下,能夠經過對密文進行線性運算,相應改變數值信息的值。例如交易金額爲X元,經過對密文乘2,能夠使交易金額成爲2X。也稱爲可延展性(malleably)。爲解決以上問題,一般使用數字簽名或散列函數對密文進行保護。
數據可用性是一種以使用者爲中心的設計概念,易用性設計的重點在於讓產品的設計可以符合使用者的習慣與需求。以互聯網網站的設計爲例,但願讓使用者在瀏覽的過程當中不會產生壓力或感到挫折,並能讓使用者在使用網站功能時,能用最少的努力發揮最大的效能。基於這個緣由,任何有違信息的「可用性」都算是違反信息安全的規定。所以,世上很多國家,不管是美國仍是中國都有要求保持信息能夠不受規限地流通的運動舉行。
網絡安全主要有系統安全、網絡的安全、信息傳播安全、信息內容安全。具體以下:
運行系統安全即保證信息處理和傳輸系統的安全,側重於保證系統正常運行。避免由於系統的崩演和損壞而對系統存儲、處理和傳輸的消息形成破壞和損失。避免因爲電磁泄翻,產生信息泄露,干擾他人或受他人干擾。
網絡上系統信息的安全,包括用戶口令鑑別,用戶存取權限控制,數據存取權限、方式控制,安全審計。安全問題跟踩。計算機病毒防治,數據加密等。
網絡上信息傳播安全,即信息傳播後果的安全,包括信息過濾等。它側重於防止和控制由非法、有害的信息進行傳播所產生的後果,避免公用網絡上大雲自由傳翰的信息失控。
網絡上信息內容的安全側重於保護信息的保密性、真實性和完整性。避免攻擊者利用系統的安全漏洞進行竊聽、冒充、詐騙等有損於合法用戶的行爲。其本質是保護用戶的利益和隱私。
它能加強機構內部網絡的安全性。Internet防火牆負責管理Internet和機構內部網絡之間的訪問。在沒有防火牆時,內部網絡上的每一個節點都暴露給Internet上的其它主機,極易受到攻擊。這就意味着內部網絡的安全性要由每個主機的堅固程度來決定,而且安全性等同於其中最弱的系統。
在這個網絡生態系統內,每一個網絡用戶均可以相互信任彼此的身份,網絡用戶也能夠自主選擇是否擁有電子標識。除了可以增長網絡安全,電子標識還可讓網絡用戶經過建立和應用更多可信的虛擬身份,讓網絡用戶少記甚至徹底不用去記那些煩人的密碼。
CA中心採用的是以數字加密技術爲核心的數字證書認證技術,經過數字證書,CA中心能夠對互聯網上所傳輸的各類信息進行加密、解密、數字簽名與簽名認證等各類處理,同時也能保障在數字傳輸的過程當中不被不法分子所侵入,或者即便受到侵入也沒法查看其中的內容。
分類 | 做用範圍 | 使用範圍 | 拓撲結構 |
---|---|---|---|
局域網,城域網,廣域網,互聯網 | 公用網,專用網 | 星狀,網狀,總線,樹形,令牌環 |
多路複用:當傳輸介質的帶寬超過了傳輸單個信號所需的帶寬時,經過在一條介質上同時攜帶多個傳輸信號的方法來提升傳輸系統的利用率。
多路複用技術能把多個信號組合在一條物理信道上進行傳輸,使多個計算機或終端設備共享信道資源,提升信道利用率。
頻分多路複用FDM | 全部用戶在一樣的時間佔用不一樣的帶寬資源 爲了防止子信道之間的干擾,相鄰信道之間要加入保護頻帶 |
---|---|
時分多路複用 TDM,STDM 統計時分複用 | 全部用戶在不用的時間佔用相同的頻帶資源; 統計時分複用是一種動態的時間分配,又稱異步時分複用。 |
波分多路複用 DWDM | 每一個用戶在同一時間使用一樣的頻帶進行通訊 |
碼分多路複用 CDMA | 既共享信道頻率,又共享時間。 |
信道共享技術又稱爲多點接入(multiple access)技術,包括隨機接入和受控。
從層次上講,信道共享是由數據鏈路層的媒體接入控制MAC子層來完成的。總的來講,在計算機網絡中使用的信道共享技術能夠分爲三種,即隨機接入、受控接入和信道複用。
① 隨機接入,特色是全部的用戶均可以根據本身的意願隨機地向信道上發送信息。當兩個或兩個以上的用戶都在共享的信道上發送信息的時候,就產生了衝突(collision),它致使用戶的發送失敗。隨機接入技術主要就是研究解決衝突的網絡協議。隨機接入實際上就是爭用接入,爭用勝利者能夠暫時佔用共享信道來發送信息。隨機接入的特色是:站點可隨時發送數據,爭用信道,易衝突,但可以靈活適應站點數目及其通訊量的變化。典型的隨機接入技術有ALOHA、CSMA、CSMA/CD。將會在後面章節中詳細介紹。
② 受控接入,特色是各個用戶不能隨意接入信道而必須服從必定的控制。又可分爲集中式控制和分散式控制。
集中式控制的主要方法是輪詢技術,又分爲輪叫輪詢和傳遞輪詢,輪叫輪詢主機按順序逐個詢問各站是否有數據,傳遞輪詢主機先向某個子站發送輪詢信息,若該站完成傳輸或無數據傳輸,則向其臨站發輪詢,全部的站依次處理完後,控制又回到主機。
分散式控制的主要方法有令牌技術,最典型的應用有令牌環網,其原理是網上的各個主機地位平等,沒有專門負責信道分配的主機,在環狀的網絡上有一個特殊的幀,稱爲令牌,令牌在環網上不斷循環傳遞,只有得到的主機纔有權發送數據。
③ 信道複用,指多個用戶經過複用器(multiplexer)和分用器(demultiplexer)來共享信道,信道複用主要用於將多個低速信號組合爲一個混合的高速信號後,在高速信道上傳輸。其特色是須要附加設備,並集中控制,其接入方法是順序掃描各個端口,或使用中斷技術。
ICMP(Internet Control Message Protocol)Internet控制報文協議。它是TCP/IP協議簇的一個子協議,用於在IP主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡自己的消息。這些控制消息雖然並不傳輸用戶數據,可是對於用戶數據的傳遞起着重要的做用。
咱們平常使用最多的ping,就是響應請求(Type=8)和應答(Type=0),一臺主機向一個節點發送一個Type=8的ICMP報文,若是途中沒有異常(例如被路由器丟棄、目標不迴應ICMP或傳輸失敗),則目標返回Type=0的ICMP報文,說明這臺主機存在,更詳細的tracert經過計算ICMP報文經過的節點來肯定主機與目標之間的網絡距離。 [5]
這三種報文的格式是同樣的,目標不可到達報文(Type=3)在路由器或主機不能傳遞數據報時使用,例如咱們要鏈接對方一個不存在的系統端口(端口號小於1024)時,將返回Type=三、Code=3的ICMP報文,它要告訴咱們:「嘿,別鏈接了,我不在家的!」,常見的不可到達類型還有網絡不可到達(Code=0)、主機不可到達(Code=1)、協議不可到達(Code=2)等。源抑制則充當一個控制流量的角色,它通知主機減小數據報流量,因爲ICMP沒有恢復傳輸的報文,因此只要中止該報文,主機就會逐漸恢復傳輸速率。最後,無鏈接方式網絡的問題就是數據報會丟失,或者長時間在網絡遊蕩而找不到目標,或者擁塞致使主機在規定時間內沒法重組數據報分段,這時就要觸發ICMP超時報文的產生。超時報文的代碼域有兩種取值:Code=0表示傳輸超時,Code=1表示重組分段超時。 [5]
時間戳請求報文(Type=13)和時間戳應答報文(Type=14)用於測試兩臺主機之間數據報來回一次的傳輸時間。傳輸時,主機填充原始時間戳,接收方收到請求後填充接收時間戳後以Type=14的報文格式返回,發送方計算這個時間差。一些系統不響應這種報文。
點到點協議(Point to Point Protocol,PPP)是爲在同等單元之間傳輸數據包這樣的簡單鏈路設計的鏈路層協議。 [1] 這種鏈路提供全雙工操做,並按照順序傳遞數據包。設計目的主要是用來經過撥號或專線方式創建點對點鏈接發送數據,使其成爲各類主機、網橋和路由器之間簡單鏈接的一種共通的解決方案。PPP具備如下功能:
基於字符傳輸
(1)PPP具備動態分配IP地址的能力,容許在鏈接時刻協商IP地址;
(2)PPP支持多種網絡協議,好比TCP/IP、NetBEUI、NWLINK等;
(3)PPP具備錯誤檢測能力,但不具有糾錯能力,因此ppp是不可靠傳輸協議;
(4)無重傳的機制,網絡開銷小,速度快。
(5)PPP具備身份驗證功能。
(6) PPP能夠用於多種類型的物理介質上,包括串口線、電話線、移動電話和光纖(例如SDH),PPP也用於Internet接入。
域名系統(服務)協議(DNS)是一種分佈式網絡目錄服務,主要用於域名與 IP 地址的相互轉換,以及控制因特網的電子郵件的發送
DHCP(動態主機配置協議)是一個局域網的網絡協議。指的是由服務器控制一段lP地址範圍,客戶機登陸服務器時就能夠自動得到服務器分配的lP地址和子網掩碼。默認狀況下,DHCP做爲Windows Server的一個服務組件不會被系統自動安裝,還須要管理員手動安裝並進行必要的配置。
DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)一般被應用在大型的局域網絡環境中,主要做用是集中的管理、分配IP地址,使網絡環境中的主機動態的得到IP地址、Gateway地址、DNS服務器地址等信息,並可以提高地址的使用率。
DHCP協議採用客戶端/服務器模型,主機地址的動態分配任務由網絡主機驅動。當DHCP服務器接收到來自網絡主機申請地址的信息時,纔會向網絡主機發送相關的地址配置等信息,以實現網絡主機地址信息的動態配置。DHCP具備如下功能:
保證任何IP地址在同一時刻只能由一臺DHCP客戶機所使用。
DHCP應當能夠給用戶分配永久固定的IP地址。
DHCP應當能夠同用其餘方法得到IP地址的主機共存(如手工配置IP地址的主機)。
DHCP有三種機制分配IP地址:
自動分配方式(Automatic Allocation),DHCP服務器爲主機指定一個永久性的IP地址,一旦DHCP客戶端第一次成功從DHCP服務器端租用到IP地址後,就能夠永久性的使用該地址。
動態分配方式(Dynamic Allocation),DHCP服務器給主機指定一個具備時間限制的IP地址,時間到期或主機明確表示放棄該地址時,該地址能夠被其餘主機使用。
手工分配方式(Manual Allocation),客戶端的IP地址是由網絡管理員指定的,DHCP服務器只是將指定的IP地址告訴客戶端主機。
三種地址分配方式中,只有動態分配能夠重複使用客戶端再也不須要的地址。
DHCP消息的格式是基於BOOTP(Bootstrap Protocol)消息格式的,這就要求設備具備BOOTP中繼代理的功能,並可以與BOOTP客戶端和DHCP服務器實現交互。BOOTP中繼代理的功能,使得沒有必要在每一個物理網絡都部署一個DHCP服務器。RFC 951和RFC 1542對BOOTP協議進行了詳細描述。
層 | 設備 | 工做原理 | 其餘 |
---|---|---|---|
物理層 | 集線器,中繼器 | 中繼器:做用就是講已經衰竭得不完整的信號通過整理,從新產生出完整的信號再繼續傳送。(放大器放大的是模擬信號) | 集線器不能分割衝突域 |
集線器Hub:即多端口的中繼器,假設一臺8個接口的集線器鏈接8臺計算機,計算機1發送信息給計算機8,計算機1的網卡會將信息經過雙絞線傳送到集線器中,集線器將信息進行廣播,其餘7個端口的計算機接收到廣播時,會對信息進行檢查,若是是本身的則接受不然不予理睬。 | |||
數據鏈路層 | 交換機,網橋 | 網橋:網橋至少有兩個端口,每一個端口與一個網段鏈接,網橋每從一個端口接收到一個幀,就先暫存在緩存中,若該幀未出現差錯,且欲發往的目的地MAC地址屬於另外一個網段(同一網段無需轉發,應該丟棄),則經過查找轉發表,從相應端口發出。 | |
交換機:實質上是一個多端口網橋,每一個端口都直接與主機或集線器相連,而且通常都工做在全雙工方式。當主機須要通訊時,交換機能同時連通許多對的端口,使每一對相互通訊的主機都能像獨佔通訊媒體同樣,進行無衝突地傳輸數據,通訊完成後斷開鏈接、 | |||
網絡層 | 路由器 | 路由器的主要做用是轉發數據包,經過查詢其的路由信息表,將每個IP數據包由一個端口轉發到另外一個端口。 |
設備名稱 | 隔離衝突域 | 隔離廣播域 |
---|---|---|
集線器 | ||
中繼器 | ||
交換機 | ||
網橋 | ||
路由器 |
層 | 傳輸單位 | 任務 | 功能 | 設備 | 協議 |
---|---|---|---|---|---|
物理層 | 比特 | 透明地傳輸比特流 | 爲數據端設備提供傳送數據通路 | 集線器 中繼器 | |
數據鏈路層 | 幀 | 將網絡層傳下來的IP數據報組成幀 | ① 鏈路的創建,拆除,分離; ② 幀定界和幀同步 ③ 差錯檢測 | 交換機 網橋 | PPP、HDLC、ARQ |
網絡層 | 數據包 | ①將傳輸層傳下來的報文段封裝成分組 ②選擇適當的路由,是傳輸層傳下來的分組可以交付到目標主機 | 爲傳輸層提供服務; 組包和拆包; 路由選擇; 擁塞控制。 | 路由器 | ICMP ARP RARP IP IGMP |
傳輸層 | 報文段 TCP,UDP | 負責主機兩個進程之間的通訊 | 爲端到端提供可靠的傳輸服務; 爲端到端鏈接提供流量控制、差錯控制、服務質量等管理服務。 | TCP UDP | |
會話層 表示層 應用層 | 應用層 | 提供系統與用戶的接口 | 文件傳輸; 訪問和管理; 電子郵件服務。 | FTP、SMTP POP三、HTTP DHCP、RIP、BGP |
隨機通道存儲器(random access memory)。通常用來存放各類現場的輸入輸出數據、中間計算結果、與外存交換的信息以及做爲堆棧。通常分爲雙極型RAM和MOS RAM(又分爲靜態SRAM、動態DRAM)。
雙極型RAM以晶體管的觸發器做爲基本存儲電路,因此管子多,速度快、功耗大、集成度較低、成本高,通常用於高速計算機或者cache。
MOS RAM通常分爲靜態SRAM和動態DRAM。靜態RAM用由六管構成的觸發器做爲基本電路,集成度適中,功耗適中,速度較快,不須要刷新電路(爲了維持數據,動態RAM中須要一個刷新電路,在短週期內對全部基本存儲單元進行充電,維持電平狀態,來達到數據的保存)。
動態DRAM基本存儲電路用單管線路組成(電平靠電容存儲,如通常計算機中的內存),集成度高,功耗低,成本比SRAM低,因爲靠電容的電荷保持電平,因此須要刷新電路(典型要求每隔1ms刷新一次)。
總的說RAM使用晶體管打開或關閉通往位於交點處的電容器來訪問電路。它有以下特性:A、易揮發B、速度快C、成本高,即不易製做大容量的RAM。因此這類存儲器通常用在計算機設備的內存部分,並且每每容量不會很大。
read-only memory,只讀存儲器。通常用來存放固定的程序以及存放各類常數、函數表。通常分爲掩摸ROM、可編程的ROM(PROM)和可重複擦除的ROM三種(按出現時間順序排列)。
掩摸ROM:由廠家固化一次性程序,不可擦寫。原理是:由晶體管構成,‘0’:存儲單元經過晶體管導通連地,上電後該單元視爲‘0’電平。‘1’:與‘0’邏輯相反,存儲單元沒有晶體管接地。出現時間最先。
PROM:可編程rom,自己不帶有程序,只容許用戶進行一次擦寫操做,出現時間較晚。
可擦寫可編程rom:有紫外線擦除(EPROM,70年代初)、電擦除(EEPROM)以及FLASH(閃存)。他們都是能夠屢次重複擦寫的ROM。
EPROM原理是經過擊穿絕緣層向浮空柵注入電子進行寫操做;利用紫外線使浮空柵電子泄露進行擦操做。
EEPROM:原理與EPROM類似,在絕緣層間加入隧道二極管,因而能夠經過電場做用,使浮空柵帶上電子或消去。
上圖是一位全加器示意圖:Ai、Bi是兩個二進制加數,Ci-1是上一級加法器的進位,Si是本級一位加法輸出,Ci是加法進位。真值表以下:
Si=Ai⊙Bi⊙Ci-1
Ci=(Ai⊙Bi)Ci-1+AiBi(⊙表示異或邏輯)
芯片組(Chipset)是構成主板電路的核心。必定意義上講,它決定了主板的級別和檔次。它就是"南橋"和"北橋"的統稱,就是把之前複雜的電路和元件最大限度地集成在幾顆芯片內的芯片組。芯片組是整個身體的神經,芯片組幾乎決定了這塊主板的功能,進而影響到整個電腦系統性能的發揮,芯片組是主板的靈魂。芯片組性能的優劣,決定了主板性能的好壞與級別的高低。這是由於目前CPU的型號與種類繁多、功能特色不一,若是芯片組不能與CPU良好地協同工做,將嚴重地影響計算機的總體性能甚至不能正常工做。
北橋芯片****:提供對CPU類型和主頻的支持、系統高速緩存的支持、主板的系統總線頻率、內存管理(內存類型、容量和性能)、顯卡插槽規格,ISA/PCI/AGP插槽、ECC糾錯等支持;
南橋芯片****:提供了對I/O的支持,提供對KBC(鍵盤控制器)、RTC(實時時鐘控制器)、USB(通用串行總線)、Ultra DMA/33(66)EIDE數據傳輸方式和ACPI(高級能源管理)等的支持,以及決定擴展槽的種類與數量、擴展接口的類型和數量(如USB2.0/1.1,IEEE1394,串口,並口,筆記本的VGA輸出接口)等;
三類:電位觸發、主從觸發、邊沿觸發
中斷源產生中斷請求,CPU通常要先屏蔽該中斷源的中斷,防止錯誤的中斷嵌套->CPU對現場進行保存,存儲斷點程序地址並將當前數據壓入棧中->PC指向對應的中斷入口,轉入執行中斷向量指向的中斷服務程序->完成中斷響應後,恢復現場,程序回到斷點處,將棧中的數據從新讀出->從新開中斷。
中斷傳輸:中斷式傳送是指處理器進行的各類處理。執行主程序時,輸入設備準備好數據,或者輸出設備已把數據輸出,向處理器發出中斷申請,使處理器停止當前程序的執行,轉向中斷服務程序,讀取輸入設備的數據,或者把數據送往輸出設備。
無條件傳送和查詢傳輸:程序控制傳送分爲無條件傳送(同步傳送)和程序查詢傳送(條件傳送、異步傳送)。無條件傳送只對固定的外設(如開關、繼電器、7段顯示器等)在規定的時間用IN或OUT指令進行信息的傳輸,實質是用程序定時同步傳送數據。條件查詢的條件是在執行輸入或輸出指令前,要先查詢接口中狀態寄存器的狀態。輸入時,由它只是要輸入的數據是否已準備就緒;而輸出時,由它只是輸出設備是否空閒,由此條件決定執行輸入或輸出。
能夠看出,從CPU的角度看,中斷的響應相對查詢來講是被動的、實時的,如網絡的通信請求,鍵盤、鼠標的操做等等。查詢則通常用於主動的、可控的場合,一般在須要輸入/輸出數據時,對外設的狀態進行查詢,以防衝突。而不少外設的速度是很慢的(如打印機),CPU就會長時間處於等待的狀態,沒法進行其餘操做,這就下降了CPU的效率,因此檢測到這類設備忙碌的狀態時,咱們會用設置中斷的方法避免這種等待,提升CPU的使用率。
中斷是難以或者沒法預測的,查詢的操做是用戶在程序中制定的,因此通常是能夠控制的。
USB好像是同步的。
PC機的串口是異步的,即UART,採用RS-232標準。
異步通訊:它用一個起始位表示字符的開始,用中止位表示字符的結束來構成一幀。它的傳輸幀是由起始位、內容和中止位構成的。每一個字符可能還包含有奇偶校驗位。波特率通常在50-9600 baud 。數據信號傳輸速率單位是 字符/秒 或 bps 。
同步通訊:爲了提升速度,去掉異步通訊中使用的起始位和中止位,而在數據塊開始前使用一段同步字符指示通訊開始,同步通訊對整塊數據進行傳輸,速度較快,一般爲幾十到幾百Kbaud。
電路的輸出僅由該時刻電路的輸入決定的電路,稱爲組合邏輯電路。
上面那句是概念性的東西,具體在數字電路組合邏輯部分。
郎豔峯上的EDA技術用的FPGA就是組合邏輯控制的一種,不過那個過低端了。。
程序的特色是:爲了達到必定目的,程序按照必定的邏輯關係一條一條地執行,程序執行的快慢取決於機器週期的快慢、CPU的性能以及軟件算法的優劣等。
一、速度上:組合邏輯電路由用戶制定好邏輯關係後,輸入信號通過電路的響應,直接得出結果,很大程度上是純硬件的響應,所以在時刻間隙內能夠完成可能須要經過多條程序才能完成的算法,不難看出,組合邏輯電路設計的控制單元比程序控制的單元具備更快的處理速度,並且系統越複雜,組合邏輯在速度上的優點越明顯。
二、複雜度上:組合邏輯電路是由設計者按照本身的設想將衆多邏輯器件組合而成的,對於較爲複雜的系統,設計一個邏輯電路每每須要龐大的工做量,檢驗和仿真等都是費時費力的工程。在這一點上,程控的方法顯得方便的多,程序結構的有條不紊是它在設計複雜度上佔優點的主要因素。一個無比複雜的邏輯結構可能只須要設計者爲CPU設計一些精煉的算法就能夠實現,在對處理速度沒有十分苛刻的要求狀況下,經過程序設計會大大地減輕設計者的工做量。
三、成本:通常來講,大型可編程邏輯器件的成本要比一些較爲高端的處理器或單片機高得多,並且工做量通常比較大,花費的工比較多。
總的來講,工程設計上,要綜合實際應用的要求和成本,設計者要儘可能選擇全方位的設計方案。
接口:接口是位於主機和外設之間的一種緩衝電路,包括了硬件電路和軟件控制,如今接口一般爲可編程的大規模集成電路芯片。
端口:接口電路一般有三種寄存器:數據輸入輸出緩衝寄存器、控制寄存器、狀態寄存器。這些寄存器稱爲(數據、控制、狀態)端口。對I/O設備的訪問,就是經過對端口訪問實現的,每一個端口賦予一個惟一的地址碼,稱爲端口地址。
端口的編址:獨立編址和統一編址。統一編址是將端口當作存儲器單元,與內存統一編址,內存和端口的操做指令是統一的,因此指令功能強,可是端口占用了存儲器的地址空間,使存儲器容量減小。
獨立編址也稱爲I/O映射編址,即端口和內存分開各自獨立地擁有本身的地址空間,端口不佔用存儲器空間。
80x86採用獨立編址。
I/O端口地址譯碼:一、用邏輯門電路進行譯碼二、用譯碼器進行譯碼三、比較器譯碼四、PROM(可編程rom)和GAL(通用邏輯陣列)。
指當出現須要時,CPU暫時中止當前程序的執行轉而執行處理新狀況的程序和執行過程。即在程序運行過程當中,系統出現了一個必須由CPU當即處理的狀況,此時,CPU暫時停止程序的執行轉而處理這個新的狀況的過程就叫作中斷。
在響應中斷時,CPU執行兩個連續的中斷響應週期,每一個週期都輸出中斷響應信號/INTA,第一個週期CPU使0~15位的地址總線(8086有20根地址總線)浮空,第二個週期被響應的外設向數據總線輸送一個字節的中斷向量號,然後CPU讀取中斷向量號,轉向中斷服務程序,響應中斷。
有些不可屏蔽中斷是能夠打斷其它中斷的。如掉電、復位等。
咱們把要求計算機執行的各類操做用命令的形式寫下來,就是指令。
一般一條指令對應着一種基本操做,其具體的功能是由設計人員賦予它的指令系統決定的。一臺計算機能執行什麼樣的操做,能作多少種操做,是由設計計算機時所規定的指令系統決定的。一條指令,對應着一種基本操做。計算機所能執行的所有指令,就是計算機的指令系統,這是計算機所固有的。
指令一般分爲操做碼和操做數兩部分。操做碼錶示計算機執行什麼操做;操做數指明參加操做的數的自己或操做數所在的位置。
時鐘週期是計算機中最小、最基本的時間單位,在一個時鐘週期內,CPU通常只能完成一個基本操做。
什麼是總線週期,以及三者的關係以下:
執行一條指令的時間稱爲指令週期,每一個指令週期中又劃分爲一個個總線週期。雖然各條指令的指令週期有很大的差異,但它們仍然是由如下一些基本的總線週期組成的:一、存儲器讀/寫總線週期;二、輸入輸出端口(IO口)讀/寫總線週期;三、中斷相應週期。
8086構架的CPU每一個總線週期有四個子狀態T1~4,每一個狀態時間爲一個時鐘週期(是8086處理動做的最小單位)
採用馮·諾依曼體系構架,即數據和程序統一放在同一塊存儲器裏。80X86CPU是由幾個獨立的不一樣功能部件構成的:執行部件、指令部件、總線部件和地址部件。其中,8086只有執行部件和總線部件。
8086是16位處理器,採用40引腳封裝,分別有16位數據線,以及20位地址線(其中16根與數據線公用),可尋址1MB空間的內存。
中斷信號線:INTR(輸入)、NMI(輸入)、/INTA(輸出、三態);
系統復位:RESET,輸入;準備好:READY,輸入;測試:/TEST,輸入;
時鐘:CLK,輸入;
電源:Vcc;
底線:GND;
讀選通:/RD,輸出;
寫選通:/WD,輸出;
模式選擇信號:MN/~MX,最小/最大工做模式控制信號,輸入。高電平工做於最小模式,組成單處理器系統;低電平工做於最大模式,組成多處理器系統。
IA-32結構的CPU一般有四種主要的尋址方式:當即數尋址,寄存器操做數尋址,(前面兩類比較簡單,跟單片機差很少),IO端口尋址(在第10題裏說過)和存儲器操做數尋址。如下是存儲器操做數尋址方式詳解:
8086採用段尋址方式,有4個16位段寄存器:CS:代碼段寄存器;DS:數據段寄存器;SS:堆棧段寄存器;ES:附加段寄存器(第二個數據段)。
8086把1MB的存儲空間分爲若干段,每段用一個段寄存器標識。每一個段的起始值(段基值)按以下方法得出:
段基值=(段寄存器內容)16=(段寄存器內容)10H (即左移四位)。
8086的物理地址造成方法:段地址:偏移;即在段基址的基礎上加上偏移地址量。偏移地址量存放在IP(代碼指針),SP(堆棧指針),SI(源變址寄存器),DI(目的變址寄存器)四個寄存器中,或使用一個有效地址EA,該EA地址的內容就是偏移量。
80286開始有了實地址、保護方式兩種不一樣的存儲器管理模式,日後的CPU物理存儲空間逐漸加大,也都擁有這兩種管理模式。實地址方式相似於8086相似的物理地址生成。保護方式下,CPU可提供必定大小的虛擬存儲空間,這個大小通常比物理地址空間大得多。執行程序時,若相應的程序段未調入內存,則向操做系統發出中斷,把所須要的程序段和數據從外存調入內存,因此用戶能夠不受實際物理空間大小的限制,有利於開發大規模的程序。
程序控制傳送分爲無條件傳送(同步傳送)和程序查詢傳送(條件傳送、異步傳送)。條件查詢的條件是在執行輸入或輸出指令前,要先查詢接口中狀態寄存器的狀態。輸入時,由它只是要輸入的數據是否已準備就緒;而輸出時,由它只是輸出設備是否空閒,由此條件決定執行輸入或輸出。
CALL(LCALL)指令執行時,進行兩步操做:
(1)將程序當前執行的位置IP,加1壓入堆棧中;
(2)轉移到調用的子程序。
RET指令:從堆棧的棧頂取得在執行call指令時壓入的代碼地址值,繼續執行以前的程序。
中斷雖然是對設備實時地進行了響應,可是仍是須要經過CPU對數據進行讀寫操做,致使數據的傳輸速率受到影響,並且執行中斷響應要執行多條指令,這樣仍是下降了CPU的效率。DMA是直接存儲器訪問技術,它能夠避開CPU,讓CPU暫停對總線的控制,獨自佔用總線達到對外設和內存之間的數據傳輸,傳輸結束時,釋放總線並通知CPU從新控制總線。如此一來,數據的傳輸速率基本只受限於存儲器的性能。
PC機中通常都設有DMA控制器來提升數據的吞吐率,減輕CPU負擔,提升操做系統運行速度。
DMA的通常過程以下:
一、向CPU發出hold信號;
二、當CPU返回HLDA信號後,接管和控制總線,進入DMA方式;
三、發出地址信息,能對存儲器尋址以及能修改地址指針;
四、發出讀、寫等控制信號;
五、決定傳送的字節數,判斷DMA傳送是否結束;
六、發出DMA結束信號,使CPU恢復正常工做狀態。
高速緩衝存儲器:比主存儲器體積小但速度快,用於保有從主存儲器獲得指令的副本。極可能在下一步爲處理器所需的專用緩衝器。通常採用SRAM技術。
在計算機存儲系統的層次結構中,介於中央處理器和主存儲器之間的高速小容量存儲器。它和主存儲器一塊兒構成一級的存儲器。高速緩衝存儲器和主存儲器之間信息的調度和傳送是由硬件自動進行的。
主要由三大部分組成:
Cache存儲體:存放由主存調入的指令與數據塊。
地址轉換部件:創建目錄表以實現主存地址到緩存地址的轉換。
替換部件:在緩存已滿時按必定策略進行數據塊替換,並修改地址轉換部件。
電子線路設計:審題並制定方案->藉助CAD或者EDA技術進行模擬仿真->電子線路要進行器件選型->電子線路要制板->加工->測試->總結
集成電路設計:審題並制定方案->設計驗證和基礎器件設計->生產->測試->總結
PC機的CPU是單純的處理器,它提供的是豐富的I/O口資源和高速的處理速度,它自己沒有太多資源,這讓它沒法單獨運行,可是具備極高的可擴展性,結合大量外設(如存儲器、DMA、各類控制器等)同它構成完整的系統可以發揮出它的巨大做用,通常用在高端的場合。現在的CPU主頻可高達3G赫茲以上,功耗大,組成的設備體積大,功能強,資源多。它在系統中起數據處理和任務調度的做用。
單片機在一塊芯片上集成了包括CPU、存儲器、AD/DA在內的許多外設,CPU同外設的接口都由廠家統一規劃,集成度高,性能穩定,使用者只須要操做CPU對各外設的寄存器進行操做便可。單片機的引腳多被外設佔用,所以IO口的資源頗有限,可擴展性不高,並且它片內的CPU性能通常不會過高,現在高端的單片機雖然運用32位處理器,但工做頻率最高只有百兆赫茲,處理速度不快,適用於一些小體積、低功耗、低要求、低成本的場合。單片機在系統中通常做爲核心的控制器,外圍電路通常不須要添加不少其它設備。
PC的CPU通常採用馮·諾依曼結構,單片機中通常採用哈佛構架(程序和數據存放在不一樣的存儲器中)。
N****型半導體:在本徵半導體中摻入少許五價元素(如磷P),成爲N型半導體。因爲摻入雜質後,電離能力大大增強,電離產生自由電子,因此摻入的雜質稱爲施主雜質,留下的帶正電的離子稱爲施主離子。這種摻有施主雜質的、以電子導電爲主的半導體,稱爲N型半導體。N型半導體中,多子是自由電子,少子是空穴。
P****型半導體:在本徵半導體中摻入少許三價元素(如硼B),成爲P型半導體。如硼一類的三價元素,起着接受電子的做用,稱爲受主雜質,電離後不可移動的負離子稱爲受主離子。摻有受主雜質的半導體中,空穴的濃度遠遠大於自由電子的濃度,因此空穴成爲多子,自由電子成爲少子,這種摻有受主雜質的半導體稱爲P型半導體。
兩種載流子的運動:擴散運動、漂移運動。擴散運動是載流子由高濃度向低濃度擴散引發的,這樣造成的電流稱爲擴散電流。漂移運動是在電場的做用下,載流子沿着電場方向(自由電子逆電場方向)運動形成的,這樣造成的電流稱爲漂移電流。
PN****結原理:P、N型半導體結合後,因爲兩邊載流子相互吸引。在交界處附近,載流子都被束縛在晶體的晶格上沒法參與導電,因而造成了一個電荷數目相等、極性相反的空間電荷區(耗盡層)。空間電荷區存在內建電場,電場的方向由N指向P(由於N中電離出電子,餘下的是正離子,帶正電)。因爲這個內建電場的做用,兩邊多子的擴散受到抑制,而同時也出現了少子的漂移。當擴散電流和漂移電流達到平衡時,空間電荷區達到平衡狀態,從而造成PN結。
PN****結單向導電原理:PN結是處於一個平衡的狀態,這個狀態的緣由是因爲內建電場的做用。因此很明顯,若是在PN結的兩端加上電壓,將會打破這個平衡。一、正向電壓(P->N,表示P接正極,N接負極):正向電壓與內建電場的方向相反,因而抑制了PN結兩方少子的漂移運動,擴散電流大於漂移電流,產生正向電流。當正向電壓加大時,勢壘電場(內建電場)會進一步減少,正向電流進一步擴大。二、反向電壓(N->P):反之,當加上反向電壓後,內建電場受到加強,勢壘電壓增大,漂移電流增大,可是因爲漂移電流的產生源於PN結兩邊的少子,數量不多,因此該漂移電流也很小,PN結處於反向截止狀態,這時電路中的電流稱爲反向電流。當反向電壓不是很高時,幾乎全部的少子均參與了漂移運動,因此當反向電壓再變大時,反向電流幾乎不增大,故反向電流又稱爲反向飽和電流。但PN結對溫度比較敏感,若是溫度上升,PN結中少子數量急劇增長,反向電流也會迅速變大。
傳遞函數(系統函數)有並聯型,串聯型和反饋型。並聯型的n個系統函數等效於將這n個系統函數相加成一個系統函數,串聯型等效於相乘。
研究系統的輸入控制系統狀態的能力。
給定起始狀態,若是能找到允許的輸入量(控制矢量),在有限時間內把系統的全部狀態引向零狀態,則稱系統徹底可控。若只有部分知足該條件,則稱爲不徹底可控。(LTI線性時不變系統中,也指從零狀態引向任一狀態。)
研究系統的輸出觀測系統狀態的能力。
給定輸入(控制)後,若是能再有限時間內根據系統輸出惟一地肯定系統的起始狀態,則稱系統徹底可觀。亦存在不徹底可觀。
基準電壓?PCB佈線格局?轉換時間?額額額額額額額。第一個不知道。。。
DAC主要由數字寄存器、模擬電子開關、位權網絡、求和運算放大器和基準電壓源組成。數據存入數字寄存器中,控制模擬電子開關通斷,在位權網絡中造成於輸入電壓(電流)成比例關係的比例結構,經過運放進行運算輸出。(具體內容數電上有)
漸進穩定嘛,就是一個反饋系統,它的輸入響應一開始是呈減幅震盪的,但最終漸漸地趨向於一個穩定值,或者在這個值左右小幅震盪。好比說一個PID算法控制電機轉速的系統,電機的轉速就是漸進穩定,趨向於預約轉速的。
波長λ是波在傳播時,同一波線上兩個相鄰的、相位差爲2π的質點之間的距離。λ=波速u*週期T
波在波源移向觀察者時接收頻率變高,而在波源遠離觀察者時接收頻率變低。或者說,當觀察者向波源移動時,頻率變高,反之亦然。
一、點對點、廣播(點對多點)、多點對多點(路由)。 (我以爲是= =`)
二、頻分複用(FDM)、時分多址(TDMA)、碼分多址(CDMA)。若是問到正交頻分複用(OFDM),自求多福吧,呵呵。
若是一個信號含有的最高的頻率份量是Fh,在用頻率爲Fs的抽樣信號對該信號進行採樣時,採樣後信號的頻譜會做Fs週期的週期延拓,若是Fs<2*Fh的話,就會致使信號在頻譜上出現混疊,這樣就沒法準確恢復出原信號。
奈奎斯特定律即:對連續信號採樣時,抽樣信號的頻率要不小於被採樣信號主瓣頻率的兩倍。即:
Fs >= 2 * Fh
單工:一方只能發送,一方只能接收。
半雙工:在同一時間,只可以由一方發送,另外一方接收。
全雙工:通訊雙方能夠同時向對方發送和接收數據。
基帶傳輸/頻帶傳輸/數字傳輸
並行傳輸/串行傳輸
異步傳輸/同步傳輸
單工/半雙工/全雙工傳輸