Time of Update: 2018-12-03
在一台伺服器上配置兩個tomcat應用 1,不能在/etc/profile裡面配置CATALINA_HOME環境變數 2,第一個tomcat的配置保持預設設定.修改第二個tomcat中conf目錄下面的server.xml檔案中的幾個選項 :<Connector port="9090" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
Time of Update: 2018-12-03
這段時間搞一個電容觸控螢幕,經過實驗摸索終於試出來了,因為以前是沒有專門搞過這塊的,這下積攢了十足的經驗。有兩個關鍵地方做下說明:(1)I2C器件讀寫函數。時序如下:根據特性,我沒有使用smbus的讀寫函數,還是用的I2C讀寫函數來處理:static struct i2c_client *g_client; //本I2C器件註冊的client端static int GW8158_read_register_packet(u8 bufp[13]) //讀13
Time of Update: 2018-12-03
一,引言 通常情況下,對函數庫的連結是放在編譯時間期(compile time)完成的。所有相關的對象檔案(object file)與牽涉到的函數庫(library)被連結合成一個可執行檔(executable file)。程式在運行時,與函數庫再無瓜葛,因為所有需要的函數已拷貝到自己門下。所以這些函數庫被成為靜態庫(static libaray),通常檔案名稱為“libxxx.a”的形式。 其實,我們也可以把對一些庫函數的連結載入延遲到程式啟動並執行時期(runtime)。
Time of Update: 2018-12-03
在Linux核心中何時使用spin_lock,何時使用spin_lock_irqsave很容易混淆。首先看一下代碼是如何?的。spin_lock的調用關係 spin_lock | + -----> raw_spin_lock |+------> _raw_spin_lock | +-------->
Time of Update: 2018-12-03
1,檔案類型 linux 檔案可以分6類,普通檔案(按內部結構可分為:文字檔,二進位檔案),目錄檔案,連結檔案,裝置檔案(根據訪問資料方式的不同可分為: 塊裝置檔案,字元裝置檔案),管道檔案(主要用於不同進程間的資訊傳遞),通訊端(socket)
Time of Update: 2018-12-03
【ptrace系統調用】 功能描述: 提供父進程觀察和控制另一個進程執行的機制,同時提供查詢和修改另一進程的核心影像與寄存器的能力。主要用於執行斷點調試和系統調用跟蹤。父進程可通過調用fork,接著指定所產生的子進程的PTRACE_TRACEME行為,最後使用exec等操作來初始化一個進程跟蹤。可替代的做法是,父進程通過PTRACE_ATTACH請求跟蹤一個現存進程的執行。當子進程被跟蹤時,每次接收到訊號都會停止執行,即使不對訊號進行處理(SIGKILL訊號除外)。父進程下次執行wait調用時,
Time of Update: 2018-12-03
1)Kobject Kobject 是Linux 2.6引入的新的裝置管理機制,在核心中由struct
Time of Update: 2018-12-03
§1)bus 系統中匯流排由struct bus_type描述,定義為:struct bus_type { char * name; 匯流排類型的名稱 struct subsystem subsys; 與該匯流排相關的subsystem struct kset drivers; 所有與該匯流排相關的驅動程式集合 struct kset devices; 所有掛接在該匯流排上的裝置集合 struct bus attribute * bus_attrs;
Time of Update: 2018-12-03
ln:該命令在檔案之間建立連結。這種操作實際上是給系統中已有的某個檔案指定另外一個可用於訪問它的名稱。對於這個新的檔案名稱,我們可以為之指定不同的存取權限,以控制對資訊的共用和安全性的問題。如果連結指向目錄,使用者就可以利用該連結直接進入被連結的目錄而不用打一大堆的路徑名。而且,即使我們刪除這個連結,也不會破壞原來的目錄。 格式:ln [選項] 目標 目錄 連結有兩種,一種被稱為永久連結(Hard Link),另一種被稱為軟連結即符號連結(Symbolic
Time of Update: 2018-12-03
接下來我們從例子著手,運行localhost:/home/XX/examples/lddbus#insmod lddbus.ko,此時再看/sys/bus/ 這時就多了一個檔案夾ldd。這表示系統中多了一種名叫ldd的匯流排類型。同時再看/sys/device/,也多出來一個ldd0的檔案夾,這表示系統中多了一個名叫ldd0的硬體。 在lddbus.c中, 定義了一個匯流排和硬體類型 struct bus_type ldd_bus_type = {
Time of Update: 2018-12-03
本文檔的Copyleft歸yfydz所有,使用GPL發布,可以自由拷貝,轉載,轉載時請保持文檔的完整性,嚴禁用於任何商業用途。msn: yfydz_no1@hotmail.com來源:http://yfydz.cublog.cn1. 前言 本文介紹linux核心中一些常用的資料結構和操作。 2. 雙向鏈表(list) linux核心中的雙向鏈表通過結構 struct list_head來將各個節點串連起來,此結構會作為鏈表元素結構中的一個參數:struct list_head { struct
Time of Update: 2018-12-03
1、中斷是一種電訊號,由硬體裝置產生,並直接送入中斷控制器的輸入引腳上。然後再由中斷控制器向處理器發送相應的訊號。處理器一經檢測到此訊號,便中斷自己的當前工作轉而處理中斷。此後,處理器會通知作業系統已經產生中斷,這樣,作業系統就可以對這個中斷進行適當的處理了。
Time of Update: 2018-12-03
(1)異常的概念
Time of Update: 2018-12-03
動態連結程式庫是一種通用的軟體組件技術,是多種作業系統中提供基本服務的方式。比如Win32核心就是3個DLL檔案構成。這種技術在Linux作業系統下也有對應的實現,就是Linux標準對象Standard Ojbect,對應的副檔名為.so。 下面通過一個簡單的例子開始介紹Linux標準對象。void show() { printf("Standard Object by gashero/n"); } 儲存為myso.c檔案,按照如下編譯: $ gcc -fPIC
Time of Update: 2018-12-03
今天繼續看第7章《下半部和推後執行的工作》。前天本來已經寫了《非強制中斷的實現》,但是沒儲存,所以今天又重新寫一次。 我們首先從頭說起。我們一般把中斷處理流程切為兩個部分或兩半。中斷處理常式是上半部(top half),對時間要求相對寬鬆的工作就是下半部(bottom half)的執行目標。
Time of Update: 2018-12-03
實現平台: Redhat9.0 作者: 呂岩 物理要求: 兩台普通PC,有串口 系統要求: linux 原理概括: 兩台linux PC其中一台做為server端,監聽COM1 也就是/dev/ttyS0 ,另一台利用minicom等終端工具通過串口線串連. 實現步驟: Server: 修改: /etc/inittab 增加一行,類似於: tty:2345:respawn:/sbin/agetty 115200 ttyS0 欄位"tty"是id
Time of Update: 2018-12-03
自旋鎖的名字來自它的特性,在試圖加鎖的時候,如果當前鎖已經處於”鎖定”狀態,加鎖進程就進行”旋轉”,用一個死迴圈測試鎖的狀態,直到成功的取得鎖。自旋鎖的這種特性避免了調用進程的掛起,用”旋轉”來取代進程切換。而我們知道環境切換需要一定時間,並且會使高速緩衝失效,對系統效能影響是很大的,所以自旋鎖在多處理器環境中非常方便。當然,被自旋鎖所保護的”臨界代碼”一般都比較短,否則就會浪費過多的CPU資源。
Time of Update: 2018-12-03
(1)概述 Executable and linking format(ELF)檔案是x86 Linux系統下的一種常用目標檔案(object file)格式,ELF檔案格式比較複雜,本文只是簡要介紹它的結構。有三種主要類型:(1)適於串連的可重定位檔案(relocatable file),可與其它目標檔案一起建立可執行檔和共用目標檔案。 (2)適於執行的可執行檔(executable file),用於提供者的進程映像,載入到記憶體執行。 (3)共用目標檔案(shared
Time of Update: 2018-12-03
本文拋開技術層次上來說說LINUX觸控螢幕裝置驅動原理
Time of Update: 2018-12-03
select系統調用是用來讓我們的程式監視多個檔案控制代碼(file descriptor)的狀態變化的。程式會停在select這裡等待,直到被監視的檔案控制代碼有某一個或多個發生了狀態改變。 檔案在控制代碼在Linux裡很多,如果你man某個函數,在函數傳回值部分說到成功後有一個檔案控制代碼被建立的都是的,如man socket可以看到“On success, a file descriptor for the new socket is returned.”而man 2