系統崩潰,TCP協議棧

2021-08-21 07:12:25 字數 1237 閱讀 3004

上學那會兒,學的是譚浩強的c語言教材,書裡說「訪問空指標會造成系統崩潰」。我記得大學老師講到這裡的時候,我就會較真兒什麼是系統崩潰,老師便告訴我,訪問任意指標,系統的行為將會是未知的,訪問空指標系統會直接崩潰,我再問什麼是系統,如何崩潰的時候,老師說,系統就是作業系統,崩潰就是藍屏,司機之類的,反正就是系統不能繼續用了…

那是2023年左右,windows xp系統剛剛發布不到兩年,大紅大紫之時啊,我記得只要回到寢室,一有上機時間就會擺弄windows xp的各種特性,炫酷的ui真的不錯…

那時我們的c語言平台是turbo c,我用它寫了乙個訪問空指標的程式,看看能不能讓windows xp崩潰,然而,並不能。無論我寫乙個訪問什麼指標的程式,系統都不會崩潰,只是簡單的程式錯誤。

那個時候我還在機械工程系學習機械原理,也就不糾結計算機的事了。時間過了好多年後,我才第一次經歷了自己訪問空指標造成了linux作業系統崩潰,那一次,我第一次寫linux核心模組,寫的不好,所以作業系統就崩潰了…

所以,在教授或者學習c語言之前,最好先教授或者學習一些作業系統的基礎原理,否則,對於指標錯誤這種,就很難能描述清楚。即便是普通應用程式裡的指標,你想真正了解它,不也得先了解虛擬核心和mmu嗎?不然,當程式由於指標出現錯誤時,很難獲得乙個根源上的解釋。

我不知道現在大學的老師在講c語言系統崩潰的時候,還會不會說作業系統崩潰了,反正,跟我差不多時間上大學的人,遇到這個問題時,很多的老師都是在照本宣科作業系統崩潰

當我們提到「棧」這個詞時,我們說的是帶有後入先出這種行為的一種容器。也就是說,它的內容並不是乙個東西,而是多個層次化的東西層疊在一起,就像一摞盤子一樣。

協議棧,指的是符合某種分層模型約束的多個協議的層疊結構,比如tcp/ip,這是乙個典型的協議棧。但是注意,tcp/ip協議棧包含的是一族協議,其中有http,dns,tcp,udp,icmp,ip,arp,rip,ospf等等,而不是某乙個協議。

由於tcp名不副實的地位,人們經常會用「tcp協議棧」這個詞來代替tcp這乙個協議,有點喧賓奪主,這是不對的。tcp只是乙個協議,並不是乙個棧。如果非要硬將tcp協議棧指代tcp/ip協議棧,那就必須連帶著包含ip協議。

這就好比,沒有任何人可以被稱作人類一樣。如果要描述tcp,就說tcp好了,把「棧」字去掉。

TCP IP協議棧 之 TCP協議

1 tcp的特點 2 tcp資料格式 tcp在ip協議的基礎上進行傳輸資料,tcp資料在ip報文中的位置如下 ip頭部 20位元組 tcp頭部 20字 tcp資料 tcp報文包含頭部和資料兩部分,其資料格式如下 源埠號 16位 目的埠號 16位 序列號 32位 確認號 32位 頭部長度 4位 保留 ...

TCP IP協議棧設計 TCP設計實現小結

tcp ip協議棧設計 tcp設計實現小結 設計目的 在fpga上採用純verilog描述的方式,實現可定製裁剪的tcpip硬體協議棧,並加入超時重傳 滑動視窗等優化演算法,最終希望實現傳輸速率能超過200mhz的千兆乙太網。去年3月份,就開始了設計之旅,期間參考了眾多 網上也查了許多資料。經過一步...

TCP IP協議 TCP協議

今天算是對了tcp協議有個膚淺的理解了 儘管tcp和udp都是一樣的網路層ip,但是tcp卻和udp實現著不一樣的服務,tcp是乙個面向連線的,可靠地位元組流服務!面向連線是指 兩個使用tcp的程式要建立乙個tcp連線才能交換資料。tcp以以下方式提供可靠性 1 應用程式被分為tcp認為合適傳送的資...