原创 linux shell中的管道執行

linux shell中管道發揮的作用是文件描述符重定向,例如 prog1 | prog2 | prog3,管道會將prog1的標準輸出重定向爲prog2的標準輸入,將prog2的標準輸出重定向爲prog3的標準輸入,prog1的標準輸入

原创 uboot中gd全局變量

在uboot源碼中,按照uboot代碼流程,進入第二階段的入口函數,start_armboot, 慕名奇妙的來了一個變量gd, 初始化如下: gd = (gd_t*)(_armboot_start - CFG_MALLOC_LEN -

原创 __devexit_p的功能

__devexit_p的功能 在看i2c驅動的時候,看到有如下代碼: .remove     = __devexit_p(i2c_gpio_remove), 這裏的__devexit_p有什麼作用呢? include/linux/in

原创 select poll區別

多路複用的方式是真正實用的服務器程序,非多路複用的網絡程序只能作爲學習或着陪測的角色。本文說下個人接觸過的多路複用函數:select/poll/epoll/port。kqueue的*nix系統沒接觸過,估計熟悉了上面四種,kqueue也

原创 OpenFlow安全:OpenFlow能否保護SDN

OpenFlow如何實現和保護軟件定義網絡?OpenFlow是實現軟件定義網絡(SDN)的協議。概括地說,SDN是一種新興的企業網絡方法, 它將控制平面從網絡硬件中解耦出來,由控制器軟件來管理網絡設備的行爲。很多人希望SDN能夠實現網絡硬

原创 Source Insight 添加 文件格式化命令

1. 下載Astyle.exe文件 http://d.119g.com/f/FB635F8C19491D1D.html      如,解壓後位置爲:"E:\installer\AStyle_2.03_windows\AStyle\bin\

原创 用GCC 展開 源文件

gcc -E -P 源文件 這個命令只處理源文件,把相關的代碼全部展開。

原创 lock_kernel

談到lock_kernel,首先應該參看源碼(此處所講的是2.6.11版本的內核)中的include/linux/smp_lock.h文件。具體請參見該文件,在此處就不列出源碼了 下面就開始分析了 #ifdef CONFIG_LOCK

原创 LINUX文件系統詳解

LINUX文件系統詳解   在LINUX系統中有一個重要的概念:一切都是文件。其實這是UNIX哲學的一個體現,而Linux是重寫UNIX而來,所以這個概念也就傳承了下來。在UNIX系統中,把一切資源都看作是文件,包括硬件設備。UNIX系統

原创 uboot的lowlevel_init.s解析

uboot版本爲201103rc1. 看了一下lowlevel_init.s裏面的代碼,發現最難懂的地方當屬這裏了: ldr r0, =SMRDATA ldr r1, _TEXT_BASE sub r0, r0, r1 ld

原创 ARM的AREA指令的使用

AREA指令指示彙編程序彙編新的代碼節或數據節。節是不可分的已命名獨立代碼或數據塊,它們由鏈接器處理。有關詳細信息,請參閱ELF節和AREA指令。 語法     AREA sectionname{,ATtr}{,ATtr}...

原创 __asm__ __volatile__("": : :"memory")

__asm__ __volatile__("": : :"memory");內存屏障(memory barrier) #define set_mb(var, value) do { var = value; mb(); } while (

原创 core dump

什麼叫Core Dump ? ---------------------------  當一個進程要異常終止時,可以選擇把進程的用戶空間內存數據全部保存到磁盤上,文件名通常是core,這叫做Core Dump。 進程異常終止通常是因爲有B

原创 mov和ldr/str的區別

ARM是RISC結構,數據從內存到CPU之間的移動只能通過L/S指令來完成,也就是ldr/str指令。比如想把數據從內存中某處讀取到寄存器中,只能使用ldr比如:ldr r0, 0x12345678就是把0x12345678這個地址中的值

原创 windows 開始-運行-命令大全

開始-運行-命令大全 1. gpedit.msc-----組策略 3. Nslookup-------IP地址偵測器 4. explorer-------打開資源管理器 5. logoff---------註銷命令 6. tsshut