原创 網絡連接時套接字對的變化狀態

                      TCP網絡連接的詳細過程     套接字對唯一標識一個網絡上的每個TCP連接。     一個TCP連接的套接字對是定義該連接的兩個端點的四元組:本地IP地址本地端口號(唯一標識一個進程,網絡通信

原创 虛擬地址、線性地址、物理地址(2)

1中講述了分段機制,那麼LUNIX中的段是什麼樣子的?       由於大多數硬件都不支持段機制只支持頁機制,爲了使LINUX具有更好的可移植性需要去掉段機制而只使用頁機制。80x86規定段機制是不可禁止的。因此不能繞過他而只給出線性地址

原创 物理地址、線性地址、虛擬地址(1)

                                    物理地址、線性地址、虛擬地址 OS充分挖掘硬件潛能。     OS開發者需要知道物理內存的地址也需要提供一套機制爲應用程序員提供另一個內存空間,這個內存空間的大小可以

原创 應用程序寫數據到套接字

        tcp輸出        每個TCP套接字都有一個發送緩衝區,可以用SO_SENDBUF套接字選項來更改該緩衝區的大小。        當某個應用程序調用write時,內核從該應用進程緩衝區中複製所有數據到套接字的發送緩衝

原创 變量的三個屬性

  變量的三個基本屬性:作用域、鏈接屬性、存儲持續性,這三個屬性決定了變量的可視性(他可以在什麼地方使用)和生命週期(它的值將保留多久)   四種基本的數據類型:整形、浮點型、指針、聚合類型   【1】變量的存儲持續性:根據數據保留在內

原创 三路握手和四次揮手

  這是我在書上拍的圖大家湊合看,圖雖不漂亮但是內容好啊       服務器調用socket,bind,listen,後處於LISTEN狀態(楨聽來自遠方TCP端口的連接請求)。稱之爲被動打開。       客戶端通過調用connec

原创 引用變量

    引用變量:引用已定義的變量的別名。     作用:用作函數形參,通過將引用變量用作形參,函數將使用原始數據而不是其副本,除指針外引用也爲函數處理大型數據結構提供了一種非常方便的途徑。     example,     int ra

原创 TIME_WAIT狀態存在的必要性

                                              TIME_WAIT狀態         是誰有TIME_WAIT狀態呢?爲什麼?         執行主動關閉的那一端、因爲可能不得不重傳最終那

原创 C語言基礎

轉義字符         如果把“寫入" "中將引起編譯器的誤解,因爲前兩個雙引號已經構成了一個字符串,而後一個則由於沒有與之對應的"而無法解釋。這個時候通常是在\後加一個字母來表示一些無法直接書寫的符號。在" "之內的\並不意味着\字符

原创 劍指offer1

                                              劍指offer1         C++         1.定義一個空的類型,裏面沒有任何數據和成員函數,對該類型求sizeof?       

原创 進程(1)

                                                                         進程 爲何有進程的存在???????? 多個程序在執行時都想佔用CPU,但CPU沒有分身術,

原创 友元函數

                                                                友元函數         友元函數:類的友元函數是非成員函數但是其訪問權限和友元函數一樣。         先

原创 初識OS

                什麼是OS?                 有的人說OS 就是電腦啓動的時候跑的那個大程序,上面寫着正在啓動windows。有的人說OS和CS有什麼區別。哈哈哈,那麼對於我們計算機專業的人來說我們必須對O

原创 簡單的併發服務器

                                     簡單的併發服務器 UNIX下編寫簡單的併發服務器最簡單的方法就是fork一個子進程來服務每個客戶。 pid_t    pid; int  listenfd, con

原创 爲什麼是三次握手而不是兩次握手爲什麼是四次揮手

                                           爲什麼是三次握手捏:::          三次握手可以簡單看做是客戶發送請求,服務器對客戶的請求進行確認,客戶對服務器的確認再進行確認。