Ⅰ 計算機網路基礎。
解:
5、C 語法 用來規定信息格式;語義 用來說明通信雙方應當怎麼做;用於協調與差錯處理的控制信息。時序是對事件發生順序的詳細說明。(也可稱為「同步」)。
6、A
7、D 資源共享是最終目的,也是主要目的。
8、A 說白了:物理層一般指網路設備,數據鏈路層一般指鏈接線路。
9、B 區域網全稱 Local Area Network,簡稱 LAN。
10、B 主機名書寫方式採用層次型命名體系,類似郵政系統的地址書寫,由它所屬的各級域與分配給該主機的名字共同構成,頂級域名放在最右邊,主機名放在最左邊,名字間用「.」隔開。可以說www的下一段就是主機名了。
三、1、頻分復用(FDM,Frequency Division Multiplexing)就是將用於傳輸信道的總帶寬劃分成若干個子頻帶(或稱子信道),每一個子信道傳輸1路信號。頻分復用要求總頻率寬度大於各個子信道頻率之和,同時為了保證各子信道中所傳輸的信號互不幹擾,應在各子信道之間設立隔離帶,這樣就保證了各路信號互不幹擾(條件之一)。頻分復用技術的特點是所有子信道傳輸的信號以並行的方式工作,每一路信號傳輸時可不考慮傳輸時延,因而頻分復用技術取得了非常廣泛的應用。頻分復用技術除傳統意義上的頻分復用(FDM)外,還有一種是正交頻分復用(OFDM)。
Ⅱ 什麼叫正交
正交最早出現於三維空間中的向量分析。 在三維向量空間中, 兩個向量的內積如果是零, 那麼就說這兩個向量是正交的。
換句話說, 兩個向量正交意味著它們是相互垂直的。若向量α與β正交,則記為α⊥β。
和正交有關的數學概念非常多, 比如正交矩陣, 正交補空間,施密特正交化法, 最小二乘法等等。
另外在此補充正交函數系的定義:在三角函數系中任何不同的兩個函數的乘積在區間[-π,π]上的積分等於0,則稱這樣的三角函數組成的體系叫正交函數系。
例如:三角函數系{1,cosx,sinx,cos2x,sin2x,……,cosnx,sinnx,……}
在區間[-π,π]上正交,就是指在三角函數系⑴中任何不同的兩個函數的乘積在區間[-π,π]上的積分等於0,即
∫[-π->π]cosnxdx=0
∫[-π->π]sinnxdx=0
Ⅲ 什麼叫正交什麼叫反交
正反交是相對的 ,如果表現型為A的作父本 ,表現型為a的作母本為正交 那麼a做父本A作母本時就叫反交。
細胞質遺傳基因全部來自母本,正反交的基因型不一樣,所以正反交的表現型不一樣。所以正反交的表現型不一樣的是細胞質遺傳。細胞核遺傳時來自父母的基因各一半, 對於純合親本而言,正反交的基因型相同 ,所以正反交的表現型相同。所以正反交的表現型相同的是細胞核遺傳。
在實踐中,正反交常用於判斷某性狀的遺傳方式是細胞核遺傳還是細胞質遺傳,在細胞核遺傳中,也可利用正反交判斷是常染色體遺傳還是伴性遺傳。具有相對性狀的兩個親本雜交,若正交和反交的子代性狀表現相同,則該性狀屬於細胞核遺傳,由常染色體上的等位基因控制,
例如高莖豌豆和矮莖豌豆雜交,正交和反交F1均為高莖;若正交和反交的結果不同,子代性狀在雌雄性中的比例並不都是1:1,表現出交叉遺傳的特點則該性狀屬於細胞核遺傳,由X染色體上的等位基因控制,例如紅眼果蠅和白眼果蠅正反交;若正交和反交的子代性狀表現不相同,且子代總表現出母本性狀,則該性狀屬於細胞質遺傳,例如紫茉莉的正反交實驗遺傳。為了保證實驗結果的可靠性,應該選擇多對符合要求的親本進行正反交。
(3)計算機網路中正交的意思擴展閱讀:
正反交 實驗創始人是孟德爾。
孟德爾(1822.7.20-1884.1.6),奧地利帝國生物學家。出生於奧地利帝國西里西亞海因策道夫村,在布隆(Brunn)(今捷克的布爾諾)的修道院擔任神父,是遺傳學的奠基人,被譽為現代遺傳學之父。他通過豌豆實驗,發現了遺傳學三大基本規律中的兩個,分別為分離規律及自由組合規律。
Ⅳ 正交是什麼意思
正交是垂直的意思。
正交是線性代數的概念,是垂直這一直觀概念的推廣。作為一個形容詞,只有在一個確定的內積空間中才有意義。
若內積空間中兩向量的內積為0,則稱它們是正交的。如果能夠定義向量間的夾角,則正交可以直觀的理解為垂直。
這也就是說,正交變換保持向量的長度不變,也保持兩個向量之間的角度不變。
Ⅳ 正交振幅調制(QAM)的摘要
本章主要介紹區域網、廣域網,以及OSI各層主要功能及其工作原理這些基本的計算機網路通信技術,同時還將介紹計算機網路數據通信中常見的技術指標和參數。這些都是我們平常進行各種網路工程施工和系統設計的基礎和前提。本節是調制方式中QAM正交振幅調制。 4.QAM正交振幅調制(Quadrature Amplitude Molation)
QAM(Quadrature Amplitude Molation)就是用兩個調制信號對頻率相同、相位正交的兩個載波進行調幅,然後將已調信號加在一起進行傳輸或發射。在NTSC制和PAL制中形成色度信號時,用的就是正交調幅方式將兩個色差信號調制到色度副載波上。
QAM也可用於數字調制。數字QAM有4QAM、8QAM、16QAM、32QAM等調制方式。其中,16QAM和32QAM廣泛用於數字有線電視系統。下面以16QAM為例介紹其原理。
圖3-34給出了16QAM調制器框圖及星座圖。作為調制信號的輸入二進制數據流經過串—並變換後變成四路並行數據流。這四路數據兩兩結合,分別進入兩個電平轉換器,轉換成兩路4電平數據。例如,00轉換成–3,01轉換成–1,10轉換成1,11轉換成3。這兩路4電平數據g1(t)和g2(t)分別對載波cos2πfct和sin2πfct進行調制,然後相加,即可得到16QAM信號。
QAM調制效率高,要求傳送途徑的信噪比高,適合有線電視電纜傳輸。在美國,正交調幅通常用在地面微波鏈路,不用於國內衛星,歐洲的電纜數字電視採用QAM調制,而加拿大的衛星採用正交調幅。QAM是幅度、相位聯合調制的技術,它同時利用了載波的幅度和相位來傳遞信息比特,因此在最小距離相同的條件下,QAM星座圖中可以容納更多的星座點,即可實現更高的頻帶利用率,目前QAM星座點最高已可達256QAM。
PSK只利用了載波的相位,它所有的星座點只能分布在半徑相同的圓周上。當星座點較多時,星座點之間的最小距離就會很密,非常容易受到雜訊干擾的影響。調制技術的可靠性可由相鄰星座點之間的最小距離來衡量,最小距離越大,抵抗雜訊等干擾的能力越強,當然前提是信號的平均功率相同。當雜訊等干擾的幅度小於最小距離的1/2時,解調器不會錯判,即不會傳輸誤碼;當雜訊等干擾的幅度大於最小距離的1/2時,將傳輸誤碼。因此PSK一般只用在8PSK以下,常用的是BIT/SK和QPSK。當星座點進一步增加時,即需要更高的頻帶利用率時,就要採用QAM調制。在PSK中I信號和Q信號互相不獨立,為了得到恆定的包絡信號,它們的數值是受到限制的,這是PSK信號的基本特性。如果去掉這一限制,就得到正交幅度調制QAM。作為一個特例,當每個正交信號只有兩個數值時,QAM與4-PSK完全相同。當M>4時QAM的信號星座呈正方形分布,而不再像PSK那樣沿著一個固定的圓周分布。
Ⅵ 正交交換網路,名詞解釋
果然沒屏蔽啊,我正在給朋友找這個題,好久都沒找到,偏的很,找到了順便發你。
有幾個別的題,找到了,。順便給你吧,分要給我啊。
符號不好打,看清楚
雙線性變換法設計IIR數字低通濾波器的基本步驟 :
1,確定數字低通濾波器的技術指標:通帶截止頻率ωp(注釋:p在ω右下角,符號不好打)、通帶衰減ap(注釋:p在右下角)、阻帶截止頻率ωs、阻帶衰減as(注釋:s在右下角)
2,將數字低通濾波器的技術指標轉換成模擬低通濾波器的技術指標。如果採用脈沖響應不變法,邊界頻率的轉換關系為Ω=ω/t
如果採用雙線性變換法,邊界頻率的轉換關系為
Ω=2/Ttg(1/2ω)
3,按照模擬低通濾波器的技術指標設計模擬低通濾波器。
4,將模擬濾波器Ha(s)(注釋:a在右下角),從s平面轉換到z平面,得到數字低通濾波器系統函數H(z)。
柵欄效應
對采樣信號的頻譜,為提高計算效率,通常採用FFT演算法進行計算,設數據點數為
N = T/dt = T.fs
則計算得到的離散頻率點為
Xs(fi) , fi = i.fs/N , i = 0,1,2,…,N/2
這就相當於透過柵欄觀賞風景,只能看到頻譜的一部分,而其它頻率點看不見,因此很可能使一部分有用的頻率成分被漏掉,此種現象被稱為柵欄效應.
最小相位延時系統:零極點都在z平面單位圓內的因果系統稱為最小相位系統。記為Hmin(z)。在具有相同幅頻特性的同階系統中,最小相位系統具有最大的相位,最小的延時。
簡述頻率抽樣設計法中關於頻率抽樣的兩種方法
1,簡單隨機抽樣:簡單隨機抽樣法,又稱純隨機抽樣,它是按隨機原則直接從總體N個單位中抽取n個單位作樣本,這種抽樣方式能使總體中每一個單位有同等機會被抽中,這種方式是抽樣中最基本的,也是最簡單的方式。
2,系統抽樣:又叫做等距抽樣法或機械抽樣法。按事先規定順序依次進行隨機抽樣來估計昆蟲密度的方法。系依據一定的抽樣距離,從母體中抽取樣本。 由於系統抽樣法操作簡便,實施起來不易出錯,因而在生產現場人們樂於使用它。 如在某道工序上定時去抽一件產品進行檢驗,就可以看做是系統抽樣法的一個例子.
Ⅶ 關於碼分復用的正交問題
數據通信系統或計算機網路系統中,傳輸媒體的帶寬或容量往往超過傳輸單一信號的需求,為了有效地利用通信線路,希望一個信道同時傳輸多路信號,這就是所謂的多路復用技術(MultiplexiI1g)。採用多路復用技術能把多個信號組合起來在一條物理信道上進行傳輸,在遠距離傳輸時可大大節省電纜的安裝和維護費用。頻分多路復用FDM (Frequency Division Multiplexing)和時分多路復用TDM (Time Di-vision MultiplexiIIg)是兩種最常用的多路復用技術。 舉個例最簡單的例子: 從A地到B地 坐公交2塊。打車要20塊 為什麼坐公交便宜呢 這里所講的就是「多路復用」的原理。 1 .頻分復用 (FDM) 頻分復用按頻譜劃分信道,多路基帶信號被調制在不同的頻譜上。因此它們在頻譜上不會重疊,即在頻率上正交,但在時間上是重疊的,可以同時在一個信道內傳輸。在頻分復用系統中,發送端的各路信號m1(t),m2(t),…,mn(t)經各自的低通濾波器分別對各路載波f1(t),f2(t),…,fn(t)進行調制,再由各路帶通濾波器濾出相應的邊帶(載波電話通常採用單邊帶調制),相加後便形成頻分多路信號。在接收端,各路的帶通濾波器將各路信號分開,並分別與各路的載波f1(t),f2(t),…,fn(t)相乘,實現相干解調,便可恢復各路信號,實現頻分多路通信。為了構造大容量的頻分復用設備,現代大容量載波系列的頻譜是按模塊結構由各種基礎群組合而成。根據國際電報電話咨詢委員會(CCITT)建議,基礎群分為前群、基群、超群和主群。①前群,又稱3路群。它由3個話路經變頻後組成。各話路變頻的載頻分別為12,16,20千赫。取上邊帶,得到頻譜為12~24千赫的前群信號。②基群,又稱12路群。它由4個前群經變頻後組成。各前群變頻的載頻分別為84,96,108,120千赫。取下邊帶,得到頻譜為 60~108千赫的基群信號。基群也可由12個話路經一次變頻後組成。③超群,又稱60路群。它由5個基群經變頻後組成。各基群變頻的載頻分別為420,468,516,564,612千赫。取下邊帶,得到頻譜為312~552千赫的超群信號。④主群,又稱300路群。它由5個超群經變頻後組成。各超群變頻的載頻分別為1364,1612,1860,2108,2356千赫。取下邊帶,得到頻譜為812~2044千赫的主群信號。3個主群可組成 900路的超主群。4個超主群可組成3600路的巨群。頻分復用的優點是信道復用率高,允許復用路數多,分路也很方便。因此,頻分復用已成為現代模擬通信中最主要的一種復用方式,在模擬式遙測、有線通信、微波接力通信和衛星通信中得到廣泛應用。 2.時分多路復用 若媒體能達到的位傳輸速率超過傳輸數據所需的數據傳輸速率,則可採用時分多路復用TDM技術,也即將一條物理信道按時間分成若干個時間片輪流地分配給多個信號使用。每一時間片由復用的一個信號佔用,而不像FDM那樣,同一時間同時發送多路信號。這樣,利用每個信號在時間上的交叉,就可以在一條物理信道上傳輸多個數字信號。這種交叉可以是位一級的,也可以是由位元組組成的塊或更大的信息組進行交叉。如圖2.12(b)中的多路復用器有8個輸入,每個輸入的數據速率假設為9.616ps,那麼一條容量達76.8kbps的線路就可容納8個信號源。該圖描述的時分多路復用四M方案,也稱同步(Synchronous)時分多路復用TDM,它的時間片是預先分配好的,而且是固定不變的,因此各種信號源的傳輸定時是同步的。與此相反,非同步時分多路復用1DM允許動態地分配傳輸媒體的時間片。 時分多路復用TDM不僅僅局限於傳輸數字信號,也可以同時交叉傳輸模擬信號。另外,對於模擬信號,有時可以把時分多路復用和頻分多路復用技術結合起來使用。一個傳輸系統,可以頻分成許多條子通道,每條子通道再利用時分多路復用技術來細分。在寬頻區域網絡中可以使用這種混合技術。 3.波分多路復用 (WDM) 光的波分多路復用是指在一根光纖中傳輸多種不同波長的光信號,由於波長不同,所以各路光信號互不幹擾,最後再用波長解復用器將各路波長分解出來。所選器件應具有靈敏度高、穩定性好、抗電磁干擾、功耗小、體積小、重量輕、器件可替換性強等優點。光源輸出的光信號帶寬為40nm,在此寬頻基礎上可實現多個通道感測器的大規模復用。 4 碼分多址(CDMA) 碼分多址通信原理: 碼分多址(CDMA,Code-DivisionMultiple Access)通信系統中,不同用戶傳輸信息所用的信號不是靠頻率不同或時隙不同來區分,而是用各自不同的編碼序列來區分,或者說,靠信號的不同波形來區分。如果從頻域或時域來觀察,多個CDMA信號是互相重疊的。接收機用相關器可以在多個CDMA信號中選出其中使用預定碼型的信號。其它使用不同碼型的信號因為和接收機本地產生的碼型不同而不能被解調。它們的存在類似於在信道中引入了雜訊和干擾,通常稱之為多址干擾。 在CDMA蜂窩通信系統中,用戶之間的信息傳輸是由基站進行轉發和控制的。為了實現雙工通信,正向傳輸和反向傳輸各使用一個頻率,即通常所謂的頻分雙工。無論正向傳輸或反向傳輸,除去傳輸業務信息外,還必須傳送相應的控制信息。為了傳送不同的信息,需要設置相應的信道。但是,CDMA通信系統既不分頻道又不分時隙,無論傳送何種信息的信道都靠採用不同的碼型來區分。 類似的信道屬於邏輯信道,這些邏輯信道無論從頻域或者時域來看都是相互重疊的,或者說它們均佔用相同的頻段和時間。 更為詳細的、更為系統的介紹 CDMA是碼分多址(Code-DivisionMultiple Access)技術的縮寫,是近年來在數字移動通信進程中出現的一種先進的無線擴頻通信技術,它能夠滿足市場對移動通信容量和品質的高要求,具有頻譜利用率高、話音質量好、保密性強、掉話率低、電磁輻射小、容量大、覆蓋廣等特點,可以大量減少投資和降低運營成本。 CDMA最早由美國高通公司推出,近幾年由於技術和市場等多種因素作用得以迅速發展,目前全球用戶已突破5000萬,我國也在北京、上海等城市開通了CDMA電話網。 CDMA的技術持點 1.CDMA是擴頻通信的一種,他具有擴頻通信的以下特點: (1)抗干擾能力強。這是擴頻通信的基本特點,是所有通信方式無法比擬的。 (2)寬頻傳輸,抗衰落能力強。 (3)由於採用寬頻傳輸,在信道中傳輸的有用信號的功率比干擾信號的功率低得多,因此信號好像隱蔽在雜訊中;即功率話密度比較低,有利於信號隱蔽。 (4)利用擴頻碼的相關性來獲取用戶的信息,抗截獲的能力強。 2.在擴頻CDMA通信系統中,由於採用了新的關鍵技術而具有一些新的特點: (1)採用了多種分集方式。除了傳統的空間分集外。由於是寬頻傳輸起到了頻率分集的作用,同時在基站和移動台採用了RAKE接收機技術,相當於時間分集的作用。 (2)採用了話音激活技術和扇區化技術。因為CDMA系統的容量直接與所受的干擾有關,採用話音激活和扇區化技術可以減少干擾,可以使整個系統的容量增大。 (3)採用了移動台輔助的軟切換。通過它可以實現無縫切換,保證了通話的連續性,減少了掉話的可能性。處於切換區域的移動台通過分集接收多個基站的信號,可以減低自身的發射功率,從而減少了對周圍基站的干擾,這樣有利於提高反向聯路的容量和覆蓋范圍。 (4)採用了功率控制技術,這樣降低了平準發射功率。 (5)具有軟容量特性。可以在話務量高峰期通過提高誤幀率來增加可以用的信道數。當相鄰小區的負荷一輕一重時,負荷重的小區可以通過減少導頻的發射功率,使本小區的邊緣用戶由於導頻強度的不足而切換到相臨小區,使負擔分擔。 (6)兼容性好。由於CDMA的帶寬很大,功率分布在廣闊的頻譜上,功率話密度低,對窄帶模擬系統的干擾小,因此兩者可以共存。即兼容性好。 (7)COMA的頻率利用率高,不需頻率規劃,這也是CDMA的特點之一。 (8)CDMA高效率的OCELP話音編碼。話音編碼技術是數字通信中的一個重要課題。OCELP是利用碼表矢量量化差值的信號,並根據語音激活的程度產生一個輸出速率可變的信號。這種編五馬方式被認為是目前效率最高的編碼技術,在保證有較好話音質量的前提下,大大提高了系統的容量。這種聲碼器具有8kbit/S和13kbit/S兩種速率的序列。8kbit/S序列從1.2kbit/s到9.6kbit/s可變,13kbit/S序列則從1.8kbt/s到14.4kbt/S可變。最近,又有一種8kbit/sEVRC型編碼器問世,也具有8kbit/s聲碼器容量大的特點,話音質量也有了明顯的提高。 CDMA存在的問題 (1)在小區的規劃問題上,雖然CDMA無需頻率規劃,但它的小區規劃卻並非十分容易。由於所有的基站都使用同一個頻率,相互之間是存在干擾的,如果小區規劃做得不好,將直接影響話音質量和使系統容量打折扣,因而在進行站距、天線高度等方面的設計時應當小心謹慎。 (2)其次,在標準的問題上,CDMA的標准並不十分完善。許多標准都仍在研究才四制定之中。如A介面,目前各廠家有的提供IS一634版本0,有的支持Is-634版本。還有的使用Is-634/TSB-80。因此對於系統運營商來說,選擇統一的A介面是比較困難的。 (3)由於功率控制的誤差所導致的系統容量的減少。 CDMA的發展:在3G中的應用 第三代移動通信系統(簡稱3G)的技術發展和商用進程是近年來全球移動通信產業領域最為關注的熱點問題之一。目前,國際上最具代表性的3G技術標准有三種,分別是TD-SCDMA、WCDMA和CDMA2000。其中TD-SCDMA屬於時分雙工(TDD)模式,是由中國提出的3G技術標准;而 WCDMA和CDMA2000屬於頻分雙工(FDD)模式,WCDMA技術標准由歐洲和日本提出,CDMA2000技術標准由美國提出 5.空分多址 (SDMA) 空分多址 空分多址(SDMA),也稱為多光束頻率復用。它通過標記不同方位的相同頻率的天線光束來進行頻率的復用。 SDMA系統可使系統容量成倍增加,使得系統在有限的頻譜內可以支持更多的用戶,從而成倍的提高頻譜使用效率。
Ⅷ 計算機網路中,什麼是多路復用,十分復用和頒分復用
時分多路復用
若媒體能達到的位傳輸速率超過傳輸數據所需的數據傳輸速率,則可採用時分多路復用TDM技術,也即將一條物理信道按時間分成若干個時間片輪流地分配給多個信號使用。每一時間片由復用的一個信號佔用,而不像FDM那樣,同一時間同時發送多路信號
頻分復用按頻譜劃分信道,多路基帶信號被調制在不同的頻譜上。因此它們在頻譜上不會重疊,即在頻率上正交,但在時間上是重疊的,可以同時在一個信道內傳輸多路復用數據通信系統或計算機網路系統中,傳輸媒體的帶寬或容量往往超過傳輸單一信號的需求,為了有效地利用通信線路,希望一個信道同時傳輸多路信號,這就是所謂的多路復用技術(MultiplexiI1g)。
Ⅸ 計算機網路系統分層結構的優點是什麼
1、分層結構將應用系統正交地劃分為若干層,每一層只解決問題的一部分,通過各層的協作提供整體解決方案。大的問題被分解為一系列相對獨立的子問題,局部化在每一層中,這樣就有效的降低了單個問題的規模和復雜度,實現了復雜系統的第一步也是最為關鍵的一步分解。
2、分層結構具有良好的可擴展性,為應用系統的演化增長提供了一個靈活的框架,具有良好的可擴展性。增加新的功能時,無須對現有的代碼做修改,業務邏輯可以得到最大限度的重用。同時,層與層之間可以方便地插入新的層來擴展應用。
3、分層架構易於維護。在對系統進行分解後,不同的功能被封裝在不同的層中,層與層之間的耦合顯著降低。因此在修改某個層的代碼時,只要不涉及層與層之間的介面,就不會對其他層造成嚴重影響。
(9)計算機網路中正交的意思擴展閱讀:
體系結構:
計算機網路是一個復雜的具有綜合性技術的系統,為了允許不同系統實體互連和互操作,不同系統的實體在通信時都必須遵從相互均能接受的規則,這些規則的集合稱為協議(Protocol)。
系統指計算機、終端和各種設備。實體指各種應用程序,文件傳輸軟體,資料庫管理系統,電子郵件系統等。互連指不同計算機能夠通過通信子網互相連接起來進行數據通信。
互操作指不同的用戶能夠在通過通信子網連接的計算機上,使用相同的命令或操作,使用其它計算機中的資源與信息,就如同使用本地資源與信息一樣。計算機網路體系結構為不同的計算機之間互連和互操作提供相應的規范和標准。
Ⅹ 計算機基礎知識都包括哪些
基礎知識重要,但是具體來說,哪些點重要呢?
今天我就試圖總結一下,也歡迎大家補充。
信息的表示和處理
計算機如何表示整數:有符號數和無符號數,尤其是如何用補碼表示負數,數字的取值范圍。
計算機如何表示浮點數,為什麼小數的二進製表示法只能近似表示十進制小數。
數值的轉換、移位
這幾點非常重要,因為幾乎所有的編程語言都有數據類型,而最基本數據類型必然包括整數和浮點數。
搞不清這些表示和運算,在編程中就會遇到一些稀奇古怪的問題。
從匯編層面理解程序的執行
順序、分支、循環、函數調用、數組、結構體等在匯編層面是怎麼實現的,寄存器和內存是怎麼使用的。
理解了這些其實也就理解了馮諾依曼計算機體系結構,這是計算機學科一個基礎性的東西。
知道程序在底層是怎麼運轉的, 對於學習各種虛擬機有很大的幫助,比如JVM,它要解析執行的是位元組碼,位元組碼本質上要表達的就是這些東西,只不過有所擴展。
理解了棧幀,就能理解函數調用的本質,遞歸,以及尾遞歸的實現。還有安全相關的概念,如緩沖區溢出這個臭名卓著的漏洞及其防範辦法。
進程和線程
程序員必備的知識,不了解這個,簡直是無法編程。
需要掌握進程的地址空間,代碼在哪裡,堆在哪裡,棧在哪裡。
要准確理解進程和線程之間的關系,為什麼說進程是擁有資源的基本單位, 線程是CPU調度的基本單位?
進程切換和線程切換之間的區別和聯系。
他們是如何創建,執行,有哪些狀態,狀態之間的轉換。 由此會涉及到並發和並行,線程之間的競爭和合作。
鎖的本質(硬體層面),樂觀鎖,悲觀鎖,死鎖等問題。
線程的實現方式,用戶級線程和內核級線程的對應方式。
在編程的過程中,有些知識點會直接使用,如多線程編程,鎖。 還有一些概念能用到很多地方,例如CAS,不僅僅是編程語言的概念,還能在更新資料庫時使用。再比如你理解了線程的實現方式,迅速就能掌握go語言中並發的手段:goroutine。
存儲器的層次結構
Tomcat用了多線程執行請求,Redis用了單線程來處理請求,Node.js也用了單線程來,這是為什麼? 秘密都在存儲器的層次結構。
人類製造的計算機設備之間有著巨大的速度差異:
總之,CPU超級快,內存比較快,硬碟非常慢,網路更慢, 這個速度差異是IT行業的一個核心問題,人類想了很多辦法試圖去彌補這個差異:多線程,緩存,非同步,多路復用,硬體層面的DMA。
記著下面這張圖,每當你遇到某個軟體的特性的時候,想一想和它有什麼關系:
數據結構和演算法
它的重要性我羅嗦過很多次了,不用再重復了, 我就舉個最簡單的例子: 理解了B+ Tree才能理解MySQL的InnoDB的索引,理解了索引才能更好地優化查詢,對吧?
計算機網路
現在的程序基本上都是網路程序, 所以這也是一個必備的基礎知識,學習計算機網路的一大好處就是和工作直接相關,能直接使用,比較有動力。
HTTP協議肯定跑不掉,TCP,UDP也得會,尤其是TCP可靠傳輸的原理:如何在一個不可靠的網路中進行可靠的傳輸, 這是無數前輩總結的經驗,一定得掌握。
要理解什麼是通信協議,也許某一天你自己就需要定製一個協議來傳輸數據。
分組交換是什麼意思? 協議分層的本質是什麼? 什麼叫無狀態的協議?
Socket相關的編程更是重點,尤其是涉及到伺服器端高並發的時候,如何維持和處理這些海量的socket, epoll等技術就得上場了。
還有非常重要的HTTPs的基本原理,也是網路安全的精華所在:對稱加密,非對稱加密,消息摘要,數字證書,中間人攻擊。
資料庫
不多說,關系模型、範式、SQL、索引、事務等知識都得掌握,尤其是要了解他們的實現方式。
分布式的基礎知識
這些已經偏向應用層面了,但是現在很多系統都是分布式的了,分布式就變成了一種基礎知識。
系統通信:RPC, 消息隊列等
負載均衡的原理
CAP原理,BASE原理,冪等性,一致性模型(強一致性,最終一致性.....)和相關協議(兩階段提交,Raft,Paxos......)
數據分片:取模演算法,一致性Hash,虛擬桶
基本的設計思想
下面這幾種設計思想對我影響很大,需要大家特別注意。但是掌握起來卻很不容易,需要在實踐中不斷地體會:
正交:各個概念之間可以獨立變化
抽象:拋棄細節,找到本質和共性
《深入理解計算機系統》一書中提到:「指令集是對CPU的抽象, 文件是對輸入/輸出設備的抽象, 虛擬存儲器是對程序存儲的抽象, 進程是對一個正在運行的程序的抽象, 而虛擬機是對整個計算機(包括操作系統、處理器和程序)的抽象。 如果你對這句話透徹理解了,說明對計算機系統的認識已經很深刻了。
分層:我只想和我的鄰居打交道, 如網路協議,Web應用開發。
分而治之:大事化小,小事化了,架構設計必備。
關鍵點來了,怎麼學習呢?
我原來的方式是先看書,看了很多書,數據結構,操作系統,匯編,網路...... 這種辦法的最大問題就是枯燥(嗯,那時候還沒有碼農翻身這樣用故事講解技術的文章)。
理論多,實踐少,很多知識點體會不深, 等到參與的項目多了,Coding多了,這些知識點才慢慢地鮮活起來。
一種更加有效的辦法是從工作中用到的知識點出發,從這個知識點向外擴展,由點到線,由線到面,然後讓各個層次都連接起來,形成一個立體的網路。
切記,學習是一個螺旋上升的過程,想要上升就得深度思考,多問幾個為什麼。
比如工作中用到了Redis,你在學習過程中發現這個Redis用了單線程來處理讀寫請求,為什麼要這么做? 對於成千上萬的請求它是如何處理的? 然後再聯想一下別的軟體:Tomcat為什麼不這么干? 想回答這些問題,需要發掘很多基礎知識。
這樣做的次數多了,積累到一定程度,量變就會引起質變,整個系統就被你看透了,你的知識又擴大了一圈,更多的疑問出現了......