原创 深入理解TCP擁塞控制——從BIC到CUBIC

引言        網上的各種博文一提到tcp的擁塞控制,都是清一水的慢啓動,擁塞避免,快速重傳,呃...雖然沒什麼問題,但是這都9012年了,tcp的擁塞控制算法已經演變了很多了,在linux內核2.6.8中,就默認採用BIC擁塞控制算

原创 Nginx學習之路(八)Nginx中的事件驅動過程詳解-----以listenfd註冊過程爲例

Nginx的高效得益於它的事件驅動機制,整個事件驅動機制基本框架就是linux下的select,poll,epoll這幾個IO多路複用模式,但是nginx絕不單單只是使用它們這麼簡單,今天以epoll模式爲例,從nginx最開始的list

原创 Linux下磁盤的IO的各種機制

要說Linux下的IO過程,就要先說下Linux的地址空間問題,首先,Linux有一段虛擬內存,以32位x86系統爲例,虛擬內存爲2^32 即4G的內存空間,內核將這4G的空間分爲兩個部分,高位的1G字節(從虛地址0xC0000000到0

原创 centos7.0修改內核中tcp擁塞控制算法的方法

目前tcp擁塞控制算法已有很多種,典型的如tcp_reno,tcp_vegas,tcp_cubic等,很多擁塞控制算法是針對都是相應網絡情況的優化,比如tcp_bic和tcp_cubic就很適合長距離且高速低丟包的網絡情況,我們可以針對我

原创 用戶空間地址和內核空間地址說明

●    用戶程序編譯連接形成的地址空間在什麼範圍內?        ●    內核編譯後地址空間在什麼範圍內?        ●    要對外設進行訪問,I/O的地址空間又是什麼樣的?於是就有了這篇文章,從大概上把內存相關知識點介紹一下

原创 談談數據庫的ACID

談談數據庫的ACID                                                                                                             

原创 自旋鎖和互斥鎖的區別

POSIX threads(簡稱Pthreads)是在多核平臺上進行並行編程的一套常用的API。線程同步(Thread Synchronization)是並行編程中非常重要的通訊手段,其中最典型的應用就是用Pthreads提供的鎖機制(l

原创 GET和POST區別詳解

GET和POST是HTTP請求的兩種基本方法,要說它們的區別,接觸過WEB開發的人都能說出一二。最直觀的區別就是GET把參數包含在URL中,POST通過request body傳遞參數。你可能自己寫過無數個GET和POST請求,或者已經看

原创 讀寫鎖的實現方法

對於某個臨界資源的訪問,讀操作和寫操作是要區別對待的。讀操作可以多個線程同時進行,寫操作必須互斥進行。讀寫鎖:當已經被加了讀鎖時,其他的讀模式鎖請求仍然可以訪問,但是寫模式鎖不能訪問;當寫模式鎖加鎖時,其他的請求都不能訪問。本文嘗試用四種

原创 Linux下的sleep()和sched_yield()

阿里四面被問到了這個問題,一臉懵逼,下來也沒找到什麼闡述這個的文章,就自己查man來對比總結一下吧:sched_yield()的man手冊描述如下:DESCRIPTION       sched_yield()  causes  the 

原创 shell操作練習(編寫shell腳本完成統計文件中的每個月份設備的出現次數)

對於shell的操作一直不太熟,最近在做一個比賽,恰好用到了shell來處理一些數據,下面總結下shell的一些基本用法,並練習編寫shell腳本完成統計文件中的每個月份設備的出現次數首先有5個數據文件要做處理數據格式如圖先練習將5個數據

原创 聊一聊服務器和客戶端會話過程中的端口

之前在TCP/IP的網絡通信的學習中,主要關注的都是高併發,高性能的方面,忽略了一些基本的概念,特別是端口這個東西,這個東西在服務器開發過程中可能看起來也不是很麻煩,在服務器上就是一個bind(),在客戶端指定一下目標端口就行了,也沒有太

原创 淺談用戶態和內核態以及用戶空間和內核空間

要了解什麼是用戶態,什麼是內核態,我們需要先了解什麼是進程的用戶空間和內核空間:Linux虛擬內存的大小爲2^32(在32位的x86機器上),內核將這4G字節的空間分爲兩部分。最高的1G字節(從虛地址0xC0000000到0xFFFFFF

原创 深入理解噴泉碼------噴泉碼度分佈生成流程

引言        在上篇文章中我們講到了LT碼的編譯碼算法流程,這次我們着重來講度分佈生成流程,編譯碼算法是教會你怎麼用,但如果你想理解LT碼的核心原理,那麼你一定要對度分佈的生成有一點直觀的感覺。OK,這篇文章會盡量的從簡單的角度來引

原创 深入理解噴泉碼------噴泉碼的編譯碼算法詳解及實現

引言        噴泉碼不算一個特別新的碼字了,2002年Luby就提出了噴泉碼的概念,當年Luby也拿着這個東西去創業了,好像後面還是死掉了,但不管怎麼說,這個碼字還是十分有應用價值的,核心在於其編解碼算法理解簡單,實現也比較簡單,就