Time of Update: 2018-12-04
一. 非強制中斷概況 非強制中斷是利用硬體中斷的概念,用軟體方式進行類比,實現宏觀上的非同步執行效果。很多情況下,非強制中斷和"訊號"有些類似,同時,非強制中斷又是和硬中斷相對應的,"硬中斷是外部裝置對CPU的中斷","非強制中斷通常是硬中斷服務程式對核心的中斷","訊號則是由核心(或其他進程)對某個進程的中斷"(《Linux核心原始碼情景分析》第三章)。非強制中斷的一種典型應用就是所謂的"下半部"(bottom half),它的得名來自於將硬體中斷處理分離成"上半部"和"下半部"
Time of Update: 2018-12-04
最近研究網路編程,最後發現還是unix/linux下相關資源比較多,研究起來方便,所以最近在安裝相關開發環境,第一步當然是安裝gcc。用rpm包安裝,我想很多人會,沒什麼好說的。這裡介紹從原始碼編譯安裝,我的安裝平台為fedora11-x86_64。 首先當然是下載相關原始碼了。我下載了gmp-4.3.2.tar.bz2,mpfr-2.4.2.tar.bz2,gcc-4.4.3.tar.bz2這三個包。gcc大家都認識,gmp,mpfr這兩個是gcc依賴的,官方描述為。
Time of Update: 2018-12-04
在為Linux開發應用程式時,絕大多數情況下使用的都是C語言,因此幾乎每一位Linux程式員面臨的首要問題都是如何靈活運用C編譯器。目前Linux 下最常用的C語言編譯器是GCC(GNU Compiler Collection),它是GNU項目中符合ANSI C標準的編譯系統,能夠編譯用C、C++和Object C等語言編寫的程式。GCC不僅功能非常強大,結構也異常靈活。最值得稱道的一點就是它可以通過不同的前端模組來支援各種語言,如Java、
Time of Update: 2018-12-04
網路遙控技術是指由一部電腦(主控端)去控制另一部電腦(被控端),而且當主控端在控制端時,就如同使用者親自坐在被控端前操作一樣,可以執行被控端的應用程式,及使用被控端的系統資源。 VNC(Virtual Network Computing)是一套由AT&T實驗室所開發的可操控遠端電腦的軟體,其採用了GPL授權條款,任何人都可免費取得該軟體。VNC軟體主要由兩個部分組成:VNC server及VNC viewer。使用者需先將VNC
Time of Update: 2018-12-04
這真是一個蛋疼的錯誤! 筆者經曆過幾次這個錯誤,一直也沒有注意,知道後來經常遇到這個錯誤,覺得應該總結出來,引以為戒,同時也為各位同仁們,增加錯誤庫,提高解決問題的速度。 這個錯誤,查一下就知道是段錯誤,一般是指標出錯,或者內容益處,反正就是一些不正常操作,系統無法執行下去了,就會產生這個錯誤。 廢話,這誰都知道,但是要根據具體問題,具體分析,說的那麼虛,誰知道到底為什嗎? 我遇到過幾次這種錯誤,印象最深的就是兩次: 1.在select的時候:
Time of Update: 2018-12-04
由於項目中需要用到MD5演算法,於是在網上找了好幾個md5演算法的源碼檔案,結果介面各不相同,很是頭疼。翻翻Linux的/usr/include目錄,發現/usr/include/openssl/下提供了md5.h,於是寫了個小代碼測試了一下:#include <stdio.h>#include <openssl/md5.h>#include <assert.h>#include <string.h>void PrintHex(char*
Time of Update: 2018-12-04
今天遇見一個超鬱悶的BUG,現象非常奇怪:delete pointer; 刪除一個指標的時候程式發生core dump,或者在此處掛死。 從原理上分析,new出來的一塊記憶體,會在記憶體的頭或者尾處加上一個標記,說明塊記憶體的大小。 我猜想,一定是指標越界,導致了開始或者末尾的這塊標記被破壞,所以delete發生掛死。 檢查了若干次後,也沒發現指標越界的情況。 而且單獨寫了一個程式來故意破壞new出來的記憶體塊的開頭和結尾,結果指標越界的時候,程式立即core
Time of Update: 2018-12-04
在Linux系統中,一般通過tcpdump進行抓取網路包,通過Wireshark工具可以開啟分析網路包。在使用tcpdump一般是需要使用root使用者。 預設不帶任何參數:直接啟動tcpdump將監視第一個網路介面上所有流過的資料包。tcpdump 指定網卡進行抓包:如果不指定網卡,預設tcpdump只會監視第一個網路介面,一般是eth0,下面的例子都沒有指定網路介面。tcpdump -i eth0 指定指定主機抓包:tcpdump
Time of Update: 2018-12-04
Windows與Linux中的換行是不一樣的,已經遇到過好幾次問題了~批量建立使用者的時候,新使用者不能登入,因為我的文本是在Windows下產生的,換行是Windows格式,而Linux中使用newusers命令匯入到passwd檔案,是直接複製過去的~不能一行一行的改啊~呵呵,剛剛學到了一招。 字元檔案在兩個系統之間拷貝之後,可以使用dos2unix或者是unix2dos命令來轉換,會將兩個系統中不同的東西轉換到目標系統的格式。在Linux中輸入命令之後,會提示安裝~很小很簡單~
Time of Update: 2018-12-04
centos6.4測試管用Linux裡面,模擬器可以直接識別,使用adb也沒有限制,但是手機插上usb之後,adb並不識別,顯示的是問號解決方案:1.電腦連手機後lsusb命令獲得手機編號[root@localhost wulong]# lsusbBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root
Time of Update: 2018-12-04
#include <unistd.h>; #include <sys/types.h>; main () { pid_t pid; pid=fork(); if (pid < 0) printf("error in fork!"); else if (pid == 0) printf("i am the child process,
Time of Update: 2018-12-04
一篇非常不錯關於彙編編程的總結http://www.acsu.buffalo.edu/~charngda/x86assembly.html<understanding strict aliasing> 一篇不錯的關於C/C++中aliasing的分析http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html<linux slub分配器淺析>http:/
Time of Update: 2018-12-04
http://blog.csdn.net/fuyangchang/article/details/2101085 #include <unistd.h>;#include <sys/types.h>;main (){ pid_t pid; pid=fork(); if (pid < 0) printf("error in fork!"); else if (pid == 0)
Time of Update: 2018-12-04
1,編譯核心,略2,將modules安裝到指定路徑,命令如下 make INSTALL_MOD_PATH=xxx modules_install 安裝完畢後,在xxx/lib/modules下會出現新核心的modules目錄
Time of Update: 2018-12-04
吼吼,文章名字很唬人啊。這裡只是記錄我在研究Linux Kernel原始碼時碰到的有意思的,而目前不知道為什麼的問題。 * * * * * 1)為什麼Interrupt handler不能睡眠,或者更嚴格的說,被調度(rescheduled) 目前引用最廣泛,也最容易理解的解釋是, 1)Interrupt context is time-critical because the interrupt
Time of Update: 2018-12-04
網上多數都說要在fstab中添加載入WINDOW分區代碼。我的系統是centos的,使用上面的方法後,在windows分區中無法執行sh指令檔。上面的方法不好用。使用下面的方法解決了問題。LINUX啟動後自動載入window分區,並保證開機後在window分區下可以執行linux指令碼,請修改/etc/rc.d/rc.local。比如我的window分區有兩個 ntfs格式的d盤,fat32格式的e盤,修改後內容如下:#!/bin/sh## This script will be
Time of Update: 2018-12-04
轉載自:http://blog.csdn.net/ritterliu/article/details/6686616本人機器是windows xp+ubuntu10.10,原來才裝ubuntu時純粹是為了玩玩,沒打算長用,就只分了10G的空間給它,經過一段時間的使用,覺得ubuntu相當好用,許多軟體的反應速度都比windows快,(可能是我的xp
Time of Update: 2018-12-04
看厭倦了Windows Vista跳票的新聞,我們一起來關注下國產作業系統。北京中科紅旗軟體技術有限公司昨天放出了紅旗Linux案頭5.0正式版的。作為國內最早樹起中文Linux大旗的先鋒廠商,紅旗軟體充分發揚“自由軟體”運動精神,致力於開發研製基於Linux的全線應用產品,令這一影響全球的新一代作業系統植根中國,並大放異彩。 紅旗Linux案頭版5.0(產品代號為Apatite),紅旗Linux案頭版5.0全球率先通過了LSB3.0測試認證,具備了Linux標準基礎的一切品質。Apat
Time of Update: 2018-12-04
linux x86 平台上的 ASE15.5 的 dat檔案,拷貝到windows x86 平台上的ASE15.5中,是可以使用的。 只需要簡單的修改master.dat中的device路徑即可。 通過更改sysdevices的phyname來實現。 將sysdatabases系統資料表中status - 64 之後, 利用dbcc checkdb,dbcc checkalloc,dbcc checkcatalog 檢查各個資料庫。 沒有錯誤。 說明:
Time of Update: 2018-12-04
1、硬碟安裝的linux,在系統圖形介面啟動後,可使用Ctrl+Alt+F1~6切換到字元介面,再用Ctrl+Alt+F7切換到圖形介面。 Ctrl+Alt+F7 字元到圖形 Ctrl+Alt+F6 圖形到字元 註: