Time of Update: 2018-12-05
Linux網路子系統中存在一些很重要的資料結構,貫穿整個子系統,主要有以下兩個: struct sk_buff:資料封包結構。所有的網路分層都會使用這個結構來儲存其前序、有關使用者資料,以及協調其他工作的其他內部資訊。 struct net_device:在Linux核心中,每種網路裝置都用這個資料結構表示,包括軟硬體的配置資訊。一、通訊端緩衝區:sk_buff結構 這可能是Linux網路代碼中最重要的資料結構,表示資料報文。這個結構定義在<include/linux/
Time of Update: 2018-12-05
虛擬設備虛擬設備是建立在一個或多個真實裝置之上的抽象,虛擬設備與真實裝置之間的對應關係可以是一對一、一對多、多對一的,有可能在其他虛擬設備之上建立虛擬設備。但並非所有組合都有意義,也並非所有組合都有核心支援。虛擬設備的使用情形有如下幾種:綁定(Bonding):一組真實裝置虛擬為一個虛擬設備,使其如同單一裝置來提高效能;802.1Q:這是一種VLAN標準,用VLAN前序擴充802.3/Ethernet幀頭,建立VLAN;橋接(Bridding):橋接介面就是橋接器的虛擬設備別名介面(aliasi
Time of Update: 2018-12-05
linux socket 綁定機制的研究 1. 概述:在多 link 環境中,如何保證資料在正確的 link 上傳輸是一個棘手的問題。 本文主要分析 linux socket 綁定機制的實現,從而協助開發人員更好的瞭解 socket 綁定的本質。2. linux kernel 提供給 user space 的介面linux 提供一個新的 setsockopt() 選項 SO_BINDTODEVICE 作為 user space
Time of Update: 2018-12-05
啟動引導程式設定檔 LILO /etc/lilo.conf GRUB /boot/grub/menu.lst 系統開機檔案核指令碼 主啟動控制檔案 /etc/inittab SysV啟動指令碼的位置 /etc/init.d、/etc/rc.d/init.d或/etc/rc.d SysV啟動指令碼連結的位置 /etc/init.d/rc?.d、/etc/rc.d/rc?.d或/etc/rc?.d 本地啟動指令碼 /etc/rc.d/rc.local、/etc/init.d/boot.local或/
Time of Update: 2018-12-05
安裝環境:RedHat EL5.4 i386 虛擬機器中測試安裝手冊:SVN_for_RedHat_安裝手冊.pdf系統安裝時選擇安裝了:全球資訊網伺服器(apache相關),所以有些模組可以不裝了。O(∩_∩)O~1 安裝包部分注意內容 1.) mod_dav_svn 預設不會安裝 2.) mod_dav_svn 的版本要和subversion 相同,或者同一系列的。 3.)預設安裝的軟體可能版本沒有手冊上高,但是保證第2條,svn一樣可以運行2 檢查與安裝 1.)
Time of Update: 2018-12-05
到現在我們很多人已經熟悉了 Linux 核心的版本編號系統,不過 Andries Brouwer 提醒了我們 實際上它是如何不規則的。Linux 的第一個公開版本是 1991 年 10 月的 0.02 版本。兩個月以後,在 1991 年 12 月,Linus 發布了 0.11 版本,這是第一個可以不依賴於 Minix 就可以使用的獨立核心。0.12 版本發布一個月以後,在 3 月,版本號碼跳到了 0.95,反映出系統正變得成熟。不僅如此,直到兩年後,也就是 1994 年 3
Time of Update: 2018-12-05
各位,我在編譯核心模組時有一個錯誤調了很久也沒解決,請那位仁兄幫忙看看,666 static __init int cbac_init(void)667 {668 struct cred *cred;669 670 if (!security_module_enable(&cbac_ops))671 return 0;672 673 printk(KERN_INFO "cbac: InitializE ");674 /
Time of Update: 2018-12-05
在ccs5 下載入c6x 的linux C6x鏡像檔案, run ,在console 裡面顯示核心boot資訊如下: 到NET 那一行就停止了:IN ccsv5 we load program "vmlinux-2.6.34-evmc6474.el-20111121-1" and in the console result showed like this:[C64+_0] Linux version 2.6.34-evmc6474.el-20111121 (root@192.168.1.107
Time of Update: 2018-12-05
Reactor是工作在同步模式下,Proactor工作在非同步模式下。高效能伺服器一定是工作在非同步模式下的。所以,ACE中有Proactor這個類組。ACE的特點是跨平台和屏蔽技術細節,Proactor應該是編寫一份代碼,同時可以在Linux和Windows及其它作業系統上運行。實際開發中,我們發現,Proactor編寫的服務程式在Windows下工作非常正常,在核心為2.6.X的Linux上就工作不正常,比如,客戶的Connect操作就不能返回,經過檢查,write和read必須成對出現
Time of Update: 2018-12-05
1. 指令碼#!/bin/bash# by cnwesleywang@gmail.com# http://www.wesleywang.netGOOD=$'/e[32;01m'WARN=$'/e[33;01m'BAD=$'/e[31;01m'HILITE=$'/e[36;01m'BRACKET=$'/e[34;01m'NORMAL=$'/e[0m'Usage="${BAD}Try something like${NORMAL} /"$0 install stardict/""if [ "$#"
Time of Update: 2018-12-05
1、源 http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz2、解壓縮 libflashplayer.so 到一個檔案夾,cd 進入檔案夾中。3、root使用者執行以下命令:mkdir /usr/lib/mozilla/pluginsmkdir /home/$(username)/.mozilla/pluginsmkdir -p /usr/lib/
Time of Update: 2018-12-05
一、記憶體緩衝 核心使用kmalloc和kfree函數來分配和釋放一個記憶體塊,與使用者空間libc庫中的malloc和free函數類似,但kmalloc具有不同的分配標誌來表示不同環境的分配記憶體的要求。 在核心子系統中,可能需要頻繁地分配和回收一定大小的記憶體,內惡化提供了相關的函數來預先分配一塊特殊的記憶體緩衝,作為記憶體池以作分配之用。子系統的記憶體塊分配和回收都對這個記憶體池中進行。 在核心網路子系統中維護有其專屬記憶體緩衝的有:
Time of Update: 2018-12-05
一、向量定義 在某些情況下,資料結構的末端定義一個可選的區塊,增加其靈活性: struct abc{ int age; char *name[20]; …… char placeholder[0]; }
Time of Update: 2018-12-05
引導期間的核心選項Linux運行使用者將核心配置選項傳遞給引導記錄,引導記錄再把選項傳給核心,進而通過引導配置參數微調核心。在系統引導期間,將調用parse_args兩次解析引導期間輸入的配置參數。parse_args函數解析的輸入字串參數是"變數名稱=值"的形式,根據解析出的關鍵字並啟用適當的處理函數。載入模組時,也會用到parse_args解析命令列參數。註冊關鍵字核心組件利用定義在include/linux/init.h中的__setup宏註冊關鍵字和相關聯的處理函數:__setup(st
Time of Update: 2018-12-05
緩衝區的複製和拷貝當一個緩衝區需要被特別處理時,可能需要修改sk_buff描述符的內容,但核心不需要完全拷貝sk_buff結構和相關聯的資料緩衝區。為了提高效率,核心可以只複製原始值,也就是拷貝sk_buff結構,然後增加資料緩衝區的引用計數,防止被釋放。 當一個資料包需要被傳輸給多個接受者,如協議處理常式或多個網路分流器時,就需要使用資料包複製技術。 sk_buff的複製沒有連結到任何錶,而且也沒有引用通訊端的擁有者。skb->cloned欄位在複製的和原來的結構豬都設定為1
Time of Update: 2018-12-05
linux下的oracle9i啟動和停止服務 ## 停止服務流程Sql代碼 su - oracle sqlplus /nolog conn /as sysdba shutdown immediate su - oraclesqlplus /nologconn /as sysdbashutdown immediate ## 啟動服務流程Sql代碼 su - oracle sqlplus /nolog conn /as sysdba startup su -
Time of Update: 2018-12-05
檔案系統是linux的一個十分基礎的知識,同時也是學習linux的必備知識。 本文將站在一個較高的視圖來瞭解linux的檔案系統,主要包括了linux磁碟分割和目錄、掛載基本原理、檔案儲存體結構、軟連結永久連結、和常見目錄的介紹。相信有了這些知識對於深入的學習linux會有一定的協助。文章例子主要是基於ubuntu發行版。
Time of Update: 2018-12-05
[tom@Agilysys:etc]$vi /etc/sudoers## Adding HOME to env_keep may enable a user to run unrestricted# commands via sudo.## Defaults env_keep += "HOME"Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin## Next comes the main part: which users can
Time of Update: 2018-12-05
我們先寫一個簡單的指令碼,執行以後再解釋各個變數的意義 # touch variable# vi variable 指令碼內容如下: #!/bin/shecho "number:$#"echo "scname:$0"echo "first :$1"echo "second:$2"echo "argume:$@"echo "show parm list:$*"echo "show process id:$$"echo "show precomm stat: $?"儲存退出 賦予指令碼執行許可權 #
Time of Update: 2018-12-05
Linux 中的alias address 作者: 小馬哥 rstevens (rstevens2008@hotmail.com)歡迎轉載,未經允許,請勿用於商業目的Linux 允許一個網路介面擁有多個 IPv4 地址,除了第一個地址外,其它的稱為 alias 地址 通過 ‘ifconfig’ 可以添加一個 alias 地址。例如以下命令,為 eth0 添加一個新的地址 192.168.2.2, # ifconfig eth0:0 192.168.2.2 用 ‘ifconfig’