Understanding.Linux.Network.Internals 讀書筆記 Chapte7 kernel comp init

宏標記       linux核心中絕大多數初始化函數和變數都使用了各種各樣的宏標記,形如;static int __init pci_porc_init(void){...} static char version[] __devinitdata=drv_name".."module_init(...)其中__init,module_init,__devinitdata就是宏標記宏標記有什麼作用?       

Understanding.Linux.Network.Internals 讀書筆記 Chapte8 network device

看完第8章以後再回頭看看第4 5 6 7的一些知識點就非常清楚了本章主要講裝置的註冊 登出 啟用 禁止 註冊裝置什麼時候註冊     1)載入驅動程式時(靜態編譯進核心的在啟動時註冊,動態模組載入的在載入時註冊)     2)插入熱插拔裝置時(插入時核心通知其裝置驅動註冊該裝置)裝置的註冊實際上是由pci_driver->probe函數執行來完成的(probe何時調用參考前幾章)

linux下make和makefile詳解

無論是在Linux還是在Unix環境中,make都是一個非常重要的編譯命令。不管是自己進行項目開發還是安裝應用軟體,我們都經常要用到make或make

分享Linux程式員Spence Murray的開發技巧

http://hi.baidu.com/xiehongpen/blog/item/113d3f520e2eeb501038c2a9.html Sppence Murray 是 Linux 開發高手之一,同時間長度期以來他一直是 UNIX 的堅定支援者。本文介紹的是 Murray 和他在 CodemonksConsulting 的同事在日常的 Linux 開發以及應用服務工作中用到的基本技術: shell 指令碼,相信 Linux的開發人員都會受益於這項有用而且通用的技術。    

linux下ip協議(V4)的實現(一)

linux下ip協議(V4)的實現(一)首先來看校正相關的一些結構: 1 net_device結構: 包含一個features的域,這個表示裝置的一些特性(比如控制校正),下面的幾個flag就是用來控制校正:  每個flags的介紹,注釋裡面都寫得很清楚,這裡就不一一解釋了。這裡要注意的是NETIF_F_HW_CSUM,他其實表示在硬體上為所有協議校正。 2 sk_buff:

請教各位老大,小弟剛開始接觸核心,現在正在看Linux下VLAN的實現。

 請教各位老大,小弟剛開始接觸核心,現在正在看Linux下VLAN的實現。1、哪裡可以找到VLAN實現的資料我這裡有的資料都是介紹Bridge的,對VLAN瞭解很少,有資料的兄弟能否共用,謝謝:)2、VLAN與Bridge實現的關係我理解應該先運行vlan_skb_recv()再送到橋或者IP層處理,但是2.6.16.20核心中,[size=10.5pt]netif_receive_skb()[/size]先運行了handle_bridge(),那麼VLAN是在什麼時候檢查的?3、跨VLAN的實

linux下ip協議(V4)的實現(五)

這次主要介紹一些ip層管理以及統計相關的東西. 首先來看 long-living ip peer information. 我們知道ip協議是無狀態的協議.這裡核心為了提升效能.為每個目的ip地址(換句話說,也就是和本機進行通訊過的主機)儲存了一些資訊. peer子系統一般是被tcp,或者routing子系統所使用. 這個資訊的資料結構是inet_peer,它是一棵avl樹,每個節點的key就是一個ip地址.由於是avl樹,因此每次搜尋都是O(lg n): Java代碼 struct inet_

在 Linux 平台及 IPv4 環境中構建 IPv6 測試環境

original link http://www.ibm.com/developerworks/cn/linux/l-cn-ipv6env/ 在 Linux 平台及 IPv4 環境中構建 IPv6 測試環境 蔣 瑩瀅, 軟體工程師, EMC蔣瑩瀅,IBM 公司軟體工程師,從事 UXSPI 相關軟體的研發和測試殷 一鳴 (yinym@cn.ibm.com), 軟體工程師, EMC殷一鳴,IBM 公司軟體工程師,從事 UXSPI 相關軟體的研發和測試簡介: 隨著互連網技術的不斷髮展,傳統的 IPv4

Understanding.Linux.Network.Internals 讀書筆記 Chapter 5 network device init

網路裝置初始化        如果要使一個網路裝置可用,它就必須能被核心正確識別並且與正確的裝置驅動關聯起來。首先,裝置驅動既可以做為核心模組動態載入,也可以是核心的一個靜態組件。其次,裝置可以在啟動時識別,也可以在運行時載入識別(熱插拔裝置 USB PCI

使用Linux內建的gssftp服務

original link http://www.banping.com/2010/01/12/linux_gssftp/ RedHat和CentOS都內建了一個gssftp服務,使用方式如下:[root@linux local]# cd /etc/xinetd.d[root@linux xinetd.d]# lschargen cups-lpd daytime-udp echo-udp gssftp krb5-telnet rsync

在linux平台下Asterisk環境搭建的過程

http://hi.baidu.com/denglish/blog/item/5d7eaa2a800251f3e6cd4012.html 在linux平台下Asterisk環境搭建的過程 1.首先,在搭建asterisk環境前要檢查linux中試否存在以下asterisk安裝的信賴包: gcc--libpri, zaptel,

教您如何安裝使用Mplayer(linux)

轉自:http://www.sudu.cn/info/index.php?op=article&id=278877(03年的,不過很詳細)教您如何安裝使用Mplayer        測試環境為:Red Hat Linux AS3在Linux環境中,您或許還在為沒有找到一款優秀的媒體播放軟體而苦惱,或許您曾經使用過Helix Player、RealPlayer或

Linux 靜態庫與共用庫

Linux 靜態庫與共用庫常用選項-c ※ 預先處理,只產生object檔案,產生.o檔案-o ※ 產生目標檔案,如果不帶此選項,將產生a.out-ansi ※ 支援 ansi C -include file ※ 指定include file名,相當在代碼中#include -IDir※ 指定標頭檔的路徑,如果標頭檔不在系統的預設路徑下,用此選項-I-※ 取消 -IDir,編譯器將不在上一個選項中搜尋標頭檔-g※ 產生調試資訊,否則 gdb 無法進行調試-Wall※ 產生警告資訊-O<0-

NX串連Linux

http://www.nomachine.com/比vnc圖形流暢N倍;佔用資源少服務端:CentOS 5.5 64位Hardware400 MHz processor128 MB RAM35 MB free disk space on your hard driveNetwork connection (either a LAN, or Internet link: dial-up (minimum 33.6 Kbps modem), broadband, cable, DSL,

linux ps 詳解

Linux ps要對進程進行監測和控制,首先必須要瞭解當前進程的情況,也就是需要查看當前進程,而ps命令就是最基本、同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行和啟動並執行狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等。總之大部分資訊都是可以通過執行該命令得到的。 ps

vmware linux掛載windows共用資料夾

linux掛載windows的共用資料夾命令為 mount -t cifs -o username=administrtor //192.168.1.5/123 /mnt/nand  有時會出現各種錯誤 比如 Host is dow, errno 112等。錯誤原因可能有以下幾點:1. vmware tools沒安裝。2.某些殺毒軟體阻滯網際網路共用.如nod32.3.linux主機ip設定不對, 導致不能ping通windows主機.4.windows主機的ip地址為虛擬網卡1或8的地址。

USB 磁碟機啟動LINUX

USB 磁碟機啟動LINUX一、安裝GRUB到隨身碟1、利用linux內建的fdisk工具格式化u盤為啟動盤1)、=> fdisk -l 查看u盤的掛載點,我的u盤掛載在 /dev/sdc, boot選項處溡有*號,說明當前我的u盤不是啟動盤2)、=> fdisk /dev/sdc 進入fdisk,格式化u盤a、輸命令m查看可用命令及說明:==> mb、依次輸入如下命令建立一個分區:==>n 增加一個新分區;==>p 設定該分區為主要磁碟分割;==>1

linux 查看哪些進程用了swap

如果系統的實體記憶體用光了,則會用到swap。系統就會跑得很慢,但仍能運行;如果Swap空間用光了,那麼系統就會發生錯誤。通常會出現“application is out of memory”的錯誤,嚴重時會造成服務進程的死結。所以要高度重視。swap查看有很多種方法,一一介紹下:freefree

linux中驅動非同步通知

驅動程式運行在核心空間中,應用程式運行在使用者空間中,兩者是不能直接通訊的。但在實際應用中,在裝置已經準備好的時候,我們希望通知使用者程式裝置已經ok,使用者程式可以讀取了,這樣應用程式就不需要一直查詢該裝置的狀態,從而節約了資源,這就是非同步通知。好,那下一個問題就來了,這個過程如何?呢?簡單,兩方面的工作。一 驅動方面:1. 在裝置抽象的資料結構中增加一個struct fasync_struct的指標2.

Linux下程式(進程)如何擷取自身的絕對路徑

#include <stdio.h>#include <unistd.h>int get_self_path(char *buf, int buf_len){    int ret = readlink("/proc/self/exe", buf, buf_len);        if (-1==ret)      goto FAIL_EXIT;    if (ret>=buf_len) goto FAIL_EXIT;     /*

總頁數: 3662 1 .... 767 768 769 770 771 .... 3662 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.