原创 static_cast&dynamic_cast

stactic_cast用來執行任意明確定義的類型轉換,以及反變換。但其只是暴力轉換,並不負責保證轉換的安全性。1、基本數據類型之間的轉換,int->char,int->enum,char->int,int->float,float->i

原创 管程

1、what's this?1-1:將分散在各個進程中的臨界區集中管理起來,並將共享資源用數據結構抽象地表示出來;1-2:建立一個“祕書”程序來管理到來的訪問;1-3:祕書每次只讓一個進程來訪;這個祕書就是管程。更正式的定義:一個管程定義

原创 TCP客戶端與服務器函數調用過程及特殊情況

基本結構如下圖所示: 一般而言服務器是被動建立連接,服務器調用socket創建套接字,bind給socket分配具體的ip地址以及端口號,再調用listen函數將剛創建好的socket放入監聽隊列,之後調用accept等待指定地址(協議

原创 計算機網絡體系概述

1、計算機網絡概念將一些分散的、具有獨立設備的計算機系統,通過通信設備與線路連接起來,由功能完善的軟件實現資源共享和信息傳遞的系統。簡言之,計算機網絡就是一些互連的、自治的計算機系統的集合。目的:資源共享;組成單元:分佈在不同地理位置的多

原创 IP地址相關

定義:連接在Internet中的每一臺主機都分配了一個32比特的全球唯一的標識符,即ip地址。傳統的ip地址是分類的地址,A、B、C、D、E五類。一般討論前三類;A類網絡號佔據8個bit,第一位爲0,B類16個前兩位爲10,C類24個,前

原创 C/C++ 運算符優先級

原文鏈接:https://blog.csdn.net/skywalker_leo/article/details/6237222抄寫一遍,幫助記憶注:數字越小優先級越高。關於運算符優先級的兩點說明:1、同等級的運算符,運算次序由結合方向來

原创 Effective C++ 之學習:from 條款21 to ...

條款21:Don't try to return a reference when you must return an object觀點一:在使用引用的時候必須明確該引用指向誰,引用是常指針實現的,故而其所指向的對象肯定是唯一不可變的,

原创 TCP“三次握手”、“四次揮手”

TCP協議TCP協議是建立在不可靠的ip層之上實現的可靠的數據傳輸協議,它主要解決傳輸的可靠、有序、無丟失和不重複的問題。TCP是TCP/ip體系中非常複雜的一個協議,主要特點是:1、TCP是面向連接的傳輸層協議。2、每一條TCP連接只能

原创 死鎖相關

死鎖定義:如果一個集合內多個進程在運行過程中都在等待只能由集合內其他進程釋放的資源,則在無外力作用下,這些進程將永遠相互等待,即死鎖。產生死鎖的四個必要條件:互斥條件:進程互斥的使用資源(資源獨佔性);佔有和等待條件(部分分配條件):申請

原创 進程間的交互

進程間的交互分爲競爭關係、協作關係。1、競爭關係由於計算機內資源有限,或者說某幾個進程必須共享某些資源與變量,這時候就不可避免的會出現競爭,進程的相互競爭就會穿死鎖和飢餓問題,飢餓問題已解釋。死鎖問題是指一組進程如果都獲得了部分資源,還想

原创 進程間的通信

低級通信:交換信息量少且控制複雜,對用戶不透明。主要有信號通信機制、信號量和原語操作。高級通信:用戶直接用操作系統提供的通信命令傳輸大量數據,通信細節由操作系統完成,對用戶透明。主要有管道通信(共享文件通信機制)、共享存儲區通信機制、信箱

原创 計算機網絡體系結構

定義:計算機網絡的各層及其協議的集合合稱爲網絡的體系結構。協議:即規則的集合。爲進行網絡中數據交換(如數據格式及同步問題)而建立的規則、標準或約定稱爲網絡協議(network protocol)。協議由語法、語義和同步組成。語法規定了傳輸

原创 處理器調度

處理器調度算法設計從以下幾個方面着手:資源利用率、吞吐率、公平性、響應時間、週轉時間、截止時間的保證、優先權原則等等。cpu利用率 = cpu有效工作時間 / cpu總的運行時間cpu總運行時間 = cpu有效工作時間+cpu空閒等待時間

原创 進程與線程相關

1、進程與線程的概念進程是操作系統對併發執行的程序在執行過程中進行資源分配、系統調度的基本單位,是一個動態概念。與其對應的是程序,程序意味着一堆指令與數據的有序集合,是一個靜態概念。進程有三個基本狀態:就緒、運行、阻塞。進程的狀態轉換圖:

原创 static_cast&dynamic_cast

stactic_cast用來執行任意明確定義的類型轉換,以及反變換。但其只是暴力轉換,並不負責保證轉換的安全性。1、基本數據類型之間的轉換,int->char,int->enum,char->int,int->float,float->i