原创 TCP重傳定時器

本文主要介紹linux內核中TCP的重傳定時器機制:用到的源代碼是2.6.38 在一個tcp連接中,如果一方過了rto時間內都沒收到對方的ACK,會

原创 上海快遞代理點信息-百度座標

圓通快遞 總共有 172 name:圓通快遞 addr:金沙江路1340弄57號d區4棟 lat:31.239829 lng:121.393897 name:圓通快遞 addr:上海市浦東新區上川路580號1號門 lat:31.27879

原创 Android讀取init.rc配置文件parse_config函數解析

Android源代碼版本:4.0.3 static void parse_config(const char *fn, char *s)函數在Android的init程序啓動過程中用於解析init.rc文件。init.rc文件是安卓系統的

原创 《Linux內核設計的藝術》總結: 進程1的創建

現在操作系統已經有了第一個用戶進程0,進程0是一個idle進程,現在它要去創建進程1 1. 通過系統調用fork創建進程1. if (!fork()

原创 《Linux內核設計的藝術》總結:設備環境初始化及激活進程0

現在main函數開始執行了,可真正意義上的說linux操作系統開始運行了。main函數將設置程序在操作系統下運行所需的環境並創建進程0,操作系統纔有了第一個進程。 1. 設置根設備和硬盤信息。之前在setup程序中加載了一些硬件信息並存儲

原创 在linux 4.x內核中增加系統調用

系統版本:deepin 2015.1 x64 內核版本:4.4.3 1. 下載內核源代碼 在www.kernel.org處下載相應的內核版本,解壓並進入源代碼根目錄。 2. 增加系統調用號 在系統調用入口表中增加一項: vim arch/

原创 Anddroid啓動service:restart_processes函數分析

init程序在最後的for循環中會重新啓動一些service,通過調用restart_processes函數,循環遍歷service list中的每一個service。如果service設置了SVC_RESTARTING標誌位,調用res

原创 TCP延遲確認定時器

TCP延遲確認定時器:TCP延遲確認定時器是指在一個TCP連接中,當一方收到另一端的數據之後,並不是立馬返回ACK進行確認。而是等待200ms(在linux-2.6.38內核實現中應該是40ms),如果這段時間內有新的數據要發往對方,本地

原创 上海地鐵站谷歌地圖經緯度信息

最近在研究上海地鐵數據,專門統計了上海地鐵站的經緯度信息。座標全部採集自谷歌地圖,可能有些許誤差。 七寶:31.155364678184498,121.34882432933009:station 三林:31.1433107997286

原创 上海各行政區域地鐵站分佈數量

首先是地鐵站代號 ST_NO,ST_NAME,ST_NAME_EN,LINE_NO,X,Y,TRANSFER_TAG,SERIAL_NO,ST_HORIZONTAL 0111,莘莊,Xinzhuang ,1,201,771,換乘站,28

原创 Android-4.0.3-init.c啓動源碼分析

作爲第一個內核啓動的進程,init進程初始了化安卓運行環境。執行了文件夾建立,文件系統掛載,全局property初始化,建立監聽 socket,根據init.rc文件啓動service,執行action,等一系列操作,下面來具體看看在An

原创 linux中TCP的socket、bind、listen、connect和accept的實現

首先介紹和服務器端相關的系統調用,依次爲socket->bind->listen->accept socket: 當服務器程序調用socket系統調用之後,內核會創建一個struct socket和一個struct sock結構,兩者可以

原创 TCP中的inet_hashinfo介紹

inet_hashinfo:這是一個類型爲tcp_hashinfo的全局變量,保存當前系統的各種狀態的tcp_sock(包括established,listen和bind).內核初始化調用tcp_init

原创 《Linux內核設計的藝術》總結:開機加電到main執行

開機加電到main執行: BIOS運行按下開機鍵之後計算機便開始運行。CPU一開始在16位的實模式下運行,尋址空間爲20位,也就是1MB。CPU執行的是內存中的指令,這時內存是空的,沒有可執行的指令。所以BIOS會首先將自身程序加載到物

原创 TCP中的send函數---tcp_sendmsg函數的實現

當應用層程序調用send發送數據之後,相應系統調用爲sys_sendmsg,在socket文件系統中,該調用指向inet_sendmsg。 不同的傳輸層協議inet_sendmsg的proto指向的操作也不一樣,而對於TCP協議,inet