原创 TCP/IP:認識TCP

TCP和UDP都處在網絡模型的傳輸層,並且都使用相同的網絡層,TCP提供一種面向連接的、可靠的字節流服務。 TCP通過下列方式來提供可靠性: 應用數據被分割成TCP認爲最適合發送的數據塊,由TCP傳遞給IP的信息單位稱爲報文段或者段,對

原创 Socket編程指南

介紹   Socket 編程讓你沮喪嗎?從man pages中很難得到有用的信息嗎?你想跟上時代去編Internet相關的程序,但是爲你在調用 connect() 前的bind() 的結構而不知所措?等等…      好在我已經將這些事完

原创 內核的bootmem內存分配器

在內核啓動期間,夥伴系統內存管理器還沒有建立之前,內核此時也要分配內存以及創建一些用於建立內存管理等機制的數據結構,此時內存分配和管理就是由bootmem內存分配器來完成的。 bootmem的建立要求就是簡單,越簡單越好,因爲一旦夥伴系統

原创 淺析MySQL二進制日誌

一般情況下,二進制日誌更多的用於數據庫的同步,因爲二進制日誌記錄了數據庫的所有改變,可以使得SLAVE都可以執行同樣的更新,其實二進制日誌可以對數據庫作一個寫入回放,所以也可以用於統計或者即時恢復等其它的目的。 二進制日誌僅僅包含可能改變

原创 inet_ntoa在64位機器上出錯

inet_ntoa用法如下: char *inet_ntoa(struct in_addr in);就是將struct in_addr結構轉換爲IP地址的形式,struct in_addr這個結構應該不陌生吧,它的定義如下: struct

原创 Linux內核的Container_of機制

在內核的原碼文件 kernel.h文件中,定義了一個宏container_of,如下: /** * container_of - cast a member of a structure out to the containing st

原创 內核進程的複製

在通過fork系統調用創建進程時,最終會進入內核的do_fork函數,這個函數的大部分工作都是進程的複製,就是把大部分工作都委託給函數copy_process函數來完成。本博文主要討論進程的複製工作。 下面分成幾個段,所在代碼包含了整個c

原创 二進制日誌過濾器

二進制日誌過濾器可以通過兩個選項從二進制日誌中過濾語句:binlog-do-db和binlog-ignore-db 一,binlog-do-db 使用 binlog-do-db=db_name。使用這個選項後,主服務器會判斷當前的數據庫(

原创 Linux中tee命令的使用

tee命令的作用像字母T一樣,很形象的表示了它的功能:它把輸出的一個副本輸送到標準輸出,另一個副本拷貝到相應的文件中。如果需要在輸出到文件的同時,也把信息顯示到屏幕上輸出,那這個命令就再合適不過了。 一般格式如下: tee -a file

原创 日誌模塊的C語言實現

一,模塊接口 模塊接口比較簡單,因爲主要只有寫日誌的操作。 創建日誌模塊變量 log_t log_new(log_type_t type,const char *file, const char *facility);log_type_

原创 獲取數據庫元數據

MySQL 提供幾種辦法以使獲取關於數據庫和數據庫裏各種對象(也就是數據庫的元數據)的信息,如下: SHOW語句,如SHOW TABLES等等。INFORMATION_SCHEMA數據庫裏的數據表。命令行程序,如mysqlshow或者是

原创 Linux中find命令使用

Find命令的一般形式爲: find pathname -options [-print -exec -ok]參數說明如下: pathname:find命令所查找的目錄路徑。 -print:find命令將匹配的文件輸出到標準輸出。 -

原创 Linux內核線程

內核線程是直接由內核來啓動的進程,通常也稱爲守護進程,用於執行下列任務 內存頁很少使用時,換出。管理延時的動作。實現文件系統的事務日誌。週期性的將修改的內存頁與頁來源塊設備同步。其它。內核線程按照工作方式可以分爲兩種類型: 線程啓動後

原创 Makefile.am文件的實例講解

Makefile.am是一種比Makefile更高層次的編譯規則,可以和configure.in文件一起通過調用automake命令,生成Makefile.in文件,再調用./configure的時候,就將Makefile.in文件自動生

原创 Linux進程ID的內核管理

在進程創建的時候,Linux系統會分配一個號碼給當前這個進程,這個號碼在進程所在的命名空間中是唯一的,但在其它的兄弟進程中,這個號碼就不是唯一的了,也就是對於全局的命名空間來說,這個號不是全局唯一。這個號碼就是進程的ID號,簡稱爲PID。