原创 數據報網絡

主機到主機通信就是所謂的網絡服務模型。有兩類: 1:面向連接服務: 發送方向接收方發送控制分組進行握手,握手提醒發送方發送數據分組前,彼此通過發送控制分組進行握手,握手過程結束,兩個端系統之間會創建連接,可以不再收發數據分組,數據

原创 異構網絡如何互連

面臨問題: 網絡層提供了將分組一側的主機網絡傳輸到網絡另一側的主機端到端通信服務。但是網絡層直接連接的網絡可能是異構的,主要體現在計算機網絡在體系結構和通信協議方面具有很大差異。這些異構網絡無法進行直接通信。 解決方案:中繼系統

原创 TCP/IP 4層體系結構

TCP/IP體系結構 網絡接口層包括多種通信網如:以太網,電話網,同步數字系列等等 網際層只有一個網絡協議(IP),該協議支持多種網絡技術互聯形成一個邏輯網絡,提供主機到主機的端對端傳輸信道; 運輸層包括兩個主要協議: TCP/

原创 OSI 7層體系結構

國際標準化組織(International Organization for Standardization)定義的計算機互聯方法的體系結構稱爲開放系統互聯(OSI)open System Interconnection. ISO

原创 端到端原則

將網絡的某個特定功能放在哪個層次的中心比較好? 端到端原則 在因特網核心實現網絡功能會增加網絡的複雜性,降低因特網核心複雜性相當於提高網絡傳輸速率,增強網絡適應新興應用靈活性。所以將其放在因特網邊緣從而簡化因特網核心的實現。簡記:

原创 將單線程代碼多線程化遇到問題

1:對線程而言是全局變量,並不是對整個程序也是全局的; 解決方案: a:全面禁用全局變量; b:爲每個線程賦予私有全局變量 2:很多庫過程是不可重入的 解決方案:爲每個過程提供包裝器,改包裝器設置一個二進制位從標誌某個庫處於使用中

原创 用戶級線程和內核級線程具有的優缺點

用戶級線程 用戶空間管理線程,每個進程需要有專用的線程表,用來跟蹤進程中的線程,這個表和內核中的進程表類似,僅僅記錄各個線程的屬性,每個線程的程序計數器,堆棧,寄存器,狀態等。線程表由運行時系統管理。 優點1:快 堆棧指針和計

原创 怎樣避免競爭條件?

進程間通信主要研究以下幾個問題: (1):進程如何把信息傳遞給另一個 (2):在多個進程的活動中不會出現交叉 (3):進程執行順序正確性 1:競爭條件,兩個或多個進程讀寫某些共享數據,最後結果取決於進程運行的精確時序,稱爲競爭條件

原创 fork()函數和vfork()函數的區別

創建進程時主要用到一下兩個函數 1:fork()函數 a:如果執行成功,在父進程中將返回子進程(新創建的進程)的PID,類型爲pid_t,子進程將返回0,區別父進程; b:執行失敗返回-1; 子進程執行的位置爲fork()返回的位

原创 數字信號處理實驗

實驗一 MATLAB基礎 (標題,宋體四號,加粗,2倍行距,居中,大綱1級,段前1行段後0.5行) 1.MATLAB的啓動 (宋體小四,加粗,21磅行距,左對齊,大綱2級,段前0.5行,懸掛2字符) 有多種方式可啓動MATLAB,

原创 判斷今天第幾天

給定年月日,求今天是今年第幾天 #include<iostream> using namespace std; class Date { private: int year; int month; int day; pu

原创 你真的瞭解前置++和後置++嗎?

標語:人一定是能生存下去的,怎麼樣生存看你自己對生活質量的追求。 我們來看個阿里的筆試題 注意是在linux環境下 看到這樣的問題很多老鐵就會大喜,這個我初階學C的時候就會了,前置加加,先自加再運算,後置加加,先運算後加加。寫的

原创 淺談計算機中cpu位數和指針

在刷題的時候看到了騰訊筆試題的這個問題 先解釋最後的強轉: 賦值操作的本質是傳送數據,而數據類型則是告訴CPU數據傳送的數量是多少。 強制類型轉換,就是當傳輸的源數據和目的數據數量不一樣的時候,就需要告訴CPU如果數據太多的話哪

原创 尋找連續字符串問題

1:尋找一串字符中的連續數字串 這個問題我們想算法首先需要有個能夠記錄當前遍歷數字串的容器,然後還需要有個最大的相比。 直接上代碼 #include<iostream> #include<string> using namespa

原创 對象生成與消亡

派生類對象生成時,先執行基類構造函數,再執行派生類構造函數,消亡時,先執行自身析構函數,再執行基類析構函數。爲什麼? 執行期間會用到基類繼承來的值,因此要先構造基類; 消亡時,派生類自己的析構函數依然可能會用到派生類繼承的成員,因