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