Time of Update: 2015-01-19
標籤:程式崩潰 linux c++ 彙編 調試技術 在大型項目中,很容易出現版本不匹配的問題,其中導致的虛函數飄移的問題比較難解決。 在這裡,用一個例子來說明如何解決這種問題。建立三個源檔案:testso.h,testso.cpp,xuzhina_dump_c6_s3_ex.cpp。testso.h的代碼如下: 1
Time of Update: 2015-01-20
標籤:linux下的同步與互斥 談到linux的並發,必然涉及到線程之間的同步和互斥,linux主要為我們提供了幾種實現線程間同步互斥的 機制,本文主要介紹互斥鎖,條件變數和訊號量。互斥鎖和條件變數包含在pthread線程庫中,使用時需要包含 <pthread.h>標頭檔。而使用訊號量時需要包含<semaphore.h>標頭檔。 1.互斥鎖 型別宣告:pthread_mutex_t
Time of Update: 2015-01-18
標籤:1,禁止核心搶佔的函數是preempt_disable(),允許核心搶佔的方法是preempt_enable()2,真正的上鎖前,為何要調用preempt_disable()來關閉搶佔的case http://blog.csdn.net/kasalyn/article/details/11473885 [cpp] view
Time of Update: 2015-01-18
標籤:1,在/proc檔案系統下建立節點的APIhttp://www.cnblogs.com/ziziwu/archive/2011/10/20/2218975.html struct proc_dir_entry *create_proc_entry (const char *name, mode_t mode, struct proc_dir_entry *parent); 其中參數分別是 /proc 檔案名稱,掩碼,父目錄。[cpp] view
Time of Update: 2015-01-18
標籤:1,系統調用的概念:是使用者空間訪問核心的唯一手段,系統調用依靠軟體中斷實現,每個系統調用被賦予一個系統調用號,用來指明要執行哪個系統調用。2,系統調用的實現:系統調用是通過軟中端(SWI)實現的,SWI指令SWI指令的格式為:SWI{條件} 24位的立即數SWI指令用於產生軟體中斷,以便使用者程式能叫用作業系統的系統常式。作業系統在SWI的例外處理常式中提供相應的系統服務,指令中24位的立即數指定用
Time of Update: 2015-01-20
標籤: 本文主要簡介在X86體繫結構下和在ARM體繫結構下,Linux記憶體布局的概況,力求簡單明了,不過多深入概念,多以圖示的方式來記憶理解,一圖勝萬言。 Technorati 標籤: 記憶體 布局 X86體繫結構
Time of Update: 2015-01-18
標籤:點擊開啟連結一,linux非強制中斷的概念非強制中斷(softirq)常常表示可延遲函數的所有種類,目前linux上使用的非強制中斷個數是有限的,linux最多註冊32個,目前使用了10個,在interrupt.h中定義,中斷上下文:表示核心當前正在執行一個中斷處理常式或者一個可延遲函數。非強制中斷(即使同一類型的非強制中斷)可以並發運行在多個CPU上,因此非強制中斷是可重新進入函數必須使用自旋鎖保護其資料結構。一個非強制中斷不會去搶佔另外一個非強制中斷。非強制中斷和tasklet的區別由
Time of Update: 2015-01-18
標籤:1,Tasklet的概念tasklet是利用非強制中斷實現的一種下半部機制,tasklet由兩類非強制中斷的代表,HI_SOFTIRQ和TASKLET_SOFTIRQ,這兩個的區別是HI_SOFTIRQ類型的非強制中斷先於TASKLET_SOFTIRQ類型的非強制中斷先執行。tasklet由tasklet_struct結構表示,每個結構單獨代表一個tasklet,在interrupt.h中定義。 [cpp] view
Time of Update: 2015-01-18
標籤:1,如何禁止當前CPU上的所有中斷local_irq_save()和local_irq_restore()函數,[cpp] view
Time of Update: 2015-01-18
標籤:1,__attrubte__關鍵字的作用點擊開啟連結__attrubte__ ((packed)) 的作用就是告訴編譯器取消結構在編譯過程中的最佳化對齊,按照實際佔用位元組數進行對齊。struct str_struct{ __u8 a; __u8 b;&
Time of Update: 2015-01-18
標籤:linux核心————隊列linux核心——隊列定義: [cpp] view
Time of Update: 2015-01-18
標籤:一,linux時間管理基礎http://blog.csdn.net/droidphone/article/details/7975694http://blog.csdn.net/smilingjames/article/details/6205540linux所有時間基礎都是以低層硬體為基礎的,低層硬體有GPT和cpu local timer,比如GPT的時鐘源為13M HZlinux低層時間的架構分為clock source,clock event device,clock
Time of Update: 2015-01-18
標籤:一:工作隊列概念工作隊列可以把工作推後,交由一個核心線程去執行,工作隊列運行在進程上下文中,工作隊列運行重新調度甚至睡眠核心驅動程式一般將下半部分交給核心預設的工作者線程去做二:驅動中使用工作隊列的步驟1,聲明一個work_struct結構體[cpp] view plaincopy struct work_struct work; 2,動態建立一個由work指向的工作,處理函數為func[cpp] view
Time of Update: 2015-01-19
標籤:(1)writewrite命令用於給指定使用者發資訊,以Ctrl+D儲存結束,所在路徑為/usr/bin/write,其文法格式為:write [使用者名稱]註:只能給線上使用者發送。例:建立ws使用者,root遠程端向ws遠程端發送hello資訊。root端:[[email protected] cdrom]# write wshellows端:[[email protected] ~]$Message from [email protected] on
Time of Update: 2015-01-20
爛泥:Linux系統與windows系統檔案同步,爛泥linux本文由秀依林楓提供友情贊助,首發於爛泥行天下。 上篇文章中,我們介紹了有關Linux系統之間的檔案同步,這篇文章我們來介紹下,有關Linux系統與windows系統,以及windows系統與windows系統之間的檔案同步。 這篇文章我們需要分三個部分進行講解: 1、 windows系統同步檔案到Linux系統 2、 Linux系統同步檔案到windows系統 3、 windows與windows系統之間的檔案同步
Time of Update: 2015-01-20
CentOS 7 使用經驗分享由於公司這一期的產品準備支援的環境有CentOS 7、MySql 5.6、Java 8、Tomcat 8等等,並且因為人員嚴重不足,我本月的開發工作單位在原有的基礎上又加上了好多環境檢證的工作。 因為在這次環境檢證過程中遇到了不少困難,特此記錄一下。 重點:記錄CentOS 7與以往不同的地方 1.取消ifconfig,使用ip addr 查看IP地址。 2.使用firewalld 取代
Time of Update: 2015-01-20
Github - 修改語言統計前些日子看到有人提到這個問題,於是自己也試著解決了一番,在此記錄下來,希望對大家有協助。Github中建立一個repository後會出現一個統計使用語言的顏色條。就是下面這個東西: 似乎很多人遇到這個問題。建立了一個以某個語言為主工程,可是由於使用的第三方外掛程式都不是這個語言寫的,上傳後外掛程式使用的語言占的比例比主語言還要多。比如一個Java
Time of Update: 2015-01-20
安裝CentOS6.4作業系統虛擬機器安裝作業系統:CentOS 6.4 64bit實驗環境 平台環境WIN7 旗艦版 64bit虛擬機器軟體VM Virual Box 4.2安裝光碟片CentOS-6.4-x86_64-bin-DVD1.iso網卡設定雙網卡 前置語:今天安裝CentOS6.4作業系統,發現與CentOS6.2幾乎沒有任何差異,如下參考。更多安裝細節,建議參考CentOS6.2系統安裝文檔,地址連結如下:http://blog.csdn.net/
Time of Update: 2015-01-19
Linux普通使用者偽裝root使用者1 版本資訊系統版本:Red Hat EnterpriseLinux * 2 配置步驟2.1 添加新使用者添加新使用者。useradd username2.2 修改使用者密碼修改使用者密碼。passwd username2.3 修改passwd設定檔修改passwd檔案,將root的資訊賦予新使用者username。vi /etc/passwd
Time of Update: 2015-01-19
Linux學習筆記(6)Linux常用命令之協助命令與使用者管理命令,學習筆記常用命令(1)manman命令用於獲得命令或設定檔的協助資訊,英文原意為manual,所在路徑為/usr/bin/man,其文法格式為:man [命令或設定檔]注意:查看設定檔的協助資訊時無需絕對路徑。查看命令的協助資訊主要查看命令的用途(NAME)及相應的選項,而設定檔的協助主要是查看存放資訊(NAME)及其對應的格式。Linux中每個設定檔都有對應的格式。如查看ls命令的協助,man