原创 linux單網卡上配置雙IP

linux單網卡上配置雙IP /sysconfig/network-scripts在network-scripts下有一個ifcfg-eth0 複製ifcfg-eth0 爲ifcfg-eth0:1 然後用vi編輯進行編輯 vi ifcf

原创 nginx事件模塊之IO多路複用的選擇

nginx是基於事件驅動的,也就是說nginx內部都是通過事件的發生來驅動的,如果沒有事件,nginx就是阻塞在epoll_wait,select,sigsuspend等這樣的系統調用上。各種操作系統對事件的處理及管理都是不同的。而且每種

原创 redis源碼分析----序言

一直在redis的源碼,但是很少形成筆記,理解感覺不是很深,所以決定把自己看過的源碼形成文字,加深自己的理解。也希望能給想學習redis的童鞋一點幫助,如果在博文中有錯誤,希望大家能指出來,謝謝。 本系列博客的圖都是從redis設計與實現

原创 redis數據結構之對象

redis是一種nosql數據庫,redis操作數據庫都是通過相關命令來進行的。而且由於redis內存實現很多底層的數據結構,數據庫存儲的值也是這些數據結構。redis 每個命令都是對應相應的數據結構實現的。例如:LPUSH 和LLEN

原创 ipv6協議報文格式

一、ipv6的基本格式 ipv6報文格式從簡單性來看,比ipv4較簡單,而且ipv6的基本頭部的長度是固定的。相較與ipv4,ipv6去掉了一些頭部,把這些頭部全部弄到了後面的擴展投不中。ipv6的報文格式如下: version:4b

原创 鳥哥私房菜筆記一(計算機基礎)

計算機的組成 計算機是接受用輸入的指令和數據,經過中央處理器的數據和邏輯單元元算處理後,以產生或存儲爲有用的數據。計算機主要分爲三大部分:1、輸入設備;2、CPU;3、輸出設備,示意圖如下: 注:從圖中可以看出數據都是通過內存轉出去的

原创 TCP協議疑難問題集錦

原文出自:http://blog.csdn.net/dog250/article/details/6612496 1.網絡協議設計 ISO提出了OSI分層網絡模型,這種分層模型是理論上的,TCP/IP最終實現了一個分層的協議模型,

原创 rtl8139網卡驅動源碼解析

學習應該是一個先把問題簡單化,在把問題複雜化的過程。一開始就着手處理複雜的問題,難免讓人有心驚膽顫,捉襟見肘的感覺。讀Linux網卡驅動也是一樣。那長長的源碼夾雜着那些我們陌生的變量和符號,望而生畏便是理所當然的了。不要擔心,事情總有解決

原创 消息隊列

消息隊列分兩種:posix消息隊列和system v消息隊列。消息隊列是隨系統內核存在的,也就是說只要系統不重啓,已經創建的消息隊列是不會消失的。下面一對比的形式來說明posix和system v消息隊列。兩種消息隊列創建的時候指定的路徑

原创 va_start, va_end, va_list

1,當無法確定函數的所有實參的類型和數目時,可用省略號指定參數表 void foo(int i, ...) printf(fmt, .....) 2、函數參數的傳遞原理 函數參數是以數據結構:棧的形式存取的,從右至左入棧 #include

原创 struct rlimit

1、rlimit介紹 在Linux系統中,Resouce limit指在一個進程的執行過程中,它所能得到的資源的限制,比如進程的core file的最大值,虛擬內存的最大值等。 Resouce limit的大小可以直接影響進程的執行

原创 CPU AFFINITY

cpu 親和力就是指linux系統中能夠將一個或多個進程綁定到一個或者多個處理器上運行。 一個進程的cpu親合力掩碼決定了該進程將在哪個或者哪幾個CPU上運行,在一個多處理器系統中,設置CPU親合力的掩碼可能會獲得更好的性能。 一個CP

原创 鳥哥私房菜筆記二(硬件設備名及磁盤的分區)

硬件設備名 在linux系統中,每個設備都是當做文件來對待的。 各設備在linux的文件名如下:   磁盤分區 磁盤是由盤片,機械手臂,磁頭和主軸馬達組成,而數據就是寫在盤片上。盤片又可分爲扇區和柱面兩種單位,其中扇區每個爲512byt

原创 redis數據結構之整數集合

redis的整數集合實質上是動態的數組。reids的整數集合是可以根據整數的值,自動選擇用什麼長度來存儲的。例如:如果插入的值可以用int16_t類型來保存,那所有的元素都可以用int16_t類型來保存。所以可以看出保存的類型應該有這幾

原创 redis數據結構之字符串

redis字符串相對比標準c的字串是二進制安全的,也就是說如果redis的字符串中包含'\0'字符的話,還是能計算出相應字符串的長度。下面來看下redis字符串的定義: typedef char *sds; struct sdshdr