Time of Update: 2018-12-03
這個組譯工具是我看到的核心彙編裡較難懂的一個程式,很有幸在網上找到一篇文章便是分析該程式。結合他舉的兩個例子,能夠加深對該程式的理解。 註解:該檔案尾碼是.S而不是.s,使用這樣的尾碼可以讓as使用GNU編譯器的預先處理程式CPP(在linux-0.11中的每個makefile中有定義),這樣在組譯工具中就可以使用很多C語言的偽指令,例如,#include,#if等。 本程式的主要功能就是根據引起鍵盤中斷的按鍵掃描碼,調用已經編排成跳轉表(key_table)的相應掃描碼處理子程式,把掃描碼對應
Time of Update: 2018-12-03
《Linux核心修鍊之道》 之 高效學習Linux核心熱度 3已有 2894 次閱讀2010-7-23 09:01|個人分類:釋義Linux核心|關鍵詞:Linux 核心 修鍊
Time of Update: 2018-12-03
申明本文轉載自:http://vdata.blog.51cto.com/275084/60407 一、核心簡介 核心,是一個作業系統的核心。它負責管理系統的進程、記憶體、裝置驅動程式、檔案和網路系統,決定著系統的效能和穩定性。 linux的一個重要的特點就是其原始碼的公開性,所有的核心來源程式都可以在/usr/src/linux下找到,大部分應用軟體也都是遵循GPL而設計的,你都可以擷取相應的源程式碼。全世界任何一個軟體工程師都可以將自己認為優秀的代碼加入到其中,由此引發的一個明顯的好處就是
Time of Update: 2018-12-03
讓我們先看看相關宏/** * list.h * list_entry - get the struct for this entry * @ptr: the &struct list_head pointer. * @type: the type of the struct this is embedded in. * @member: the name of the list_struct within the struct. */#define list_entry(ptr,
Time of Update: 2018-12-03
轉自 http://hi.baidu.com/tantea/blog/item/24e1b1b5d6bd2e7e8bd4b29e.html時間函數 與 64位表示 (Windows/Linux)2010-06-04
Time of Update: 2018-12-03
參考:http://longer.spaces.eepw.com.cn/articles/article/item/60415http://imganquan.org/blog/?p=350網上找的,歸納一下: 雜項裝置(misc device)雜項裝置也是在嵌入式系統中用得比較多的一種裝置驅動。在 Linux 核心的include/linux目錄下有Miscdevice.h檔案,要把自己定義的misc
Time of Update: 2018-12-03
http://cloud.csdn.net/a/20120321/313378.html下面我將和大家分享一些學習Linux命令列的技巧,希望能對大家有所助益。如果在本文中遇到不太熟悉的命令,可以在終端中鍵入以下命令尋求協助。Man <command> Where there's a shell, there's a way. Linux入門必備瞭解bash:沒有必要鑽研長篇累牘的bash使用手冊,通過man bash學習即可。
Time of Update: 2018-12-03
http://www.wanweiwang.cn/faq/list.asp?unid=369 password authentication驗證方式,對於一些SSH clients (例如: SecureCRT)允許使用者「儲存」密碼,那麼如果你選擇了記憶密碼,就可以直接登入而不需要輸入密碼。freebsd預設情況下是keyboard-interactive authentication模式的,如果要使用password
Time of Update: 2018-12-03
linux deadline I/O調度演算法分析筆記deadline演算法的核心就是在傳統的電梯演算法中加入了請求逾時的機制,該機制主要體現在兩點:(1)請求逾時時,對逾時請求的選擇。(2)沒有請求逾時時,當掃描完電梯最後一個request後,準備返回時,對第一個request的選擇。基於以上兩點,平衡了系統i/o輸送量和回應時間。此外,該演算法開考慮到了讀操作對寫操作造成的饑餓。演算法核心資料結構:struct deadline_data { struct rb_root
Time of Update: 2018-12-03
文章來源:http://www.ibm.com/developerworks/cn/linux/l-scheduler/層級: 中級M. Tim Jones (mtj@mtjones.com), 顧問工程師, Emulex2006 年 9 月 07 日Linux 核心繼續不斷髮展並採用新技術,在可靠性、延展性和效能方面獲得了長足的發展。2.6 版本的核心最重要的特性之一是由 Ingo Molnar 實現的調度器。這個調度器是動態,可以支援負載平衡,並以恒定的速度進行操作 ——
Time of Update: 2018-12-03
unlink unlink(刪除檔案) 相關函數 link,rename,remove 表標頭檔 #include<unistd.h> 定義函數 int unlink(const char * pathname); 函數說明 unlink()會刪除參數pathname指定的檔案。如果該檔案名稱為最後連接點,但有其他進程開啟了此檔案,則在所有關於此檔案的檔案描述詞皆關閉後才會刪除。如果參數pathname為一符號串連,則此串連會被刪除。 傳回值 成功則返回0,失敗返回-1
Time of Update: 2018-12-03
1.GDB簡介: GNU 的調試器稱為 GDB,是一個互動式工具,工作在字元模式下。很多程式員習慣於圖形介面的程式開發,如 VC、VB 等整合式開發環境,但是在 UNIX/Linux 環境下,GDB 的功能更強大。 GDB 作為功能強大的調試工具,可完成如下的調試任務: (1)設定斷點。 (2)監視程式變數的值。 (3)程式的逐步執行。 (4)修改變數的值。 2.GDB的使用 GDB常用命令: a)載入應用程式: gdb test (載入應用程式)
Time of Update: 2018-12-03
使用一個命令來建立分類樹~ $ mkdir -p tmp/a/b/c 使用一個命令來定義複雜的分類樹~ $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a} 使用選項 -C 來解壓縮 .tar 封存檔案到指定目錄~ $ tar xvf -C tmp/a/b/c newarc.tar.gz 按順序執行多個命令~ $ cd / ; ls
Time of Update: 2018-12-03
sigset_t 號集及訊號集操作函數:訊號集被定義為一種資料類型: typedef struct { unsigned long sig[_NSIG_WORDS]; } sigset_t 訊號集用來描述訊號的集合,linux所支援的所有訊號可以全部或部分的出現在訊號集中,主要與訊號阻塞相關函數配合使用。下面是為訊號集操作定義的相關函數: int sigemptyset(sigset_t *set); int sigfillset(sigset_t *set); int
Time of Update: 2018-12-03
原文地址:http://blog.csdn.net/imtgj/article/details/7107489?reload鑒於最近有關cpu佔有率的一些問題涉及到linux核心的調度演算法,有必要進行瞭解。因此,寫了這篇文章。linux常見的任務有兩種,即時任務與非即時任務。即時任務的調度演算法是大家都非常熟悉的優先順序搶佔或優先順序搶佔加時間片兩種,其主要思想是效率優先。非即時任務的調度演算法是CFS(完全公平演算法),從名字就可以知道,其思想是公平優先,兼顧效率。由於我們使用上,即時任務比
Time of Update: 2018-12-03
現在最常用的處理序間通訊的方式有:訊號,訊號量,訊息佇列,共用記憶體。 所謂進程通訊,就是不同進程之間進行一些"接觸",這種接觸有簡單,也有複雜。機制不同,複雜度也不一樣。通訊是一個廣義上的意義,不僅僅指傳遞一些massege。他們的使用方法是基本相同的,所以只要掌握了一種的使用方法,然後記住其他的使用方法就可以了。 1. 訊號 在我學習的內容中,主要接觸了訊號來實現同步的機制,據說訊號也可以用來做其它的事 情,但是我還不知道做什麼。
Time of Update: 2018-12-03
#include <pthread.h>1、建立int pthread_create( pthread_t *tid, const pthread_attr_t *attr, void *(* func) (void *), void *arg );attr: 線程屬性包括:優先順序、初始棧大小,是否應該成為一個守護線程。預設設定,NULL後面是線程要執行的函數和參數成功返回 02、等待一個給定線程終止int pthread_join( pthread_t tid, void
Time of Update: 2018-12-03
OpenCV是Intel支援的開源電腦視覺庫。它由一系列C函數和少量C++類構成,實現了影像處理和電腦視覺方面的很多通用演算法。它不依賴於其它的外部庫—儘管也可以使用某些外部庫。 OpenCV使用BSD License,對非商業應用和商業應用都可以免費使用。 OpenCV的主要應用環境是Windows和Linux,對於嵌入式系統如arm-linux,很少有資料提到,因此將我在arm-linux編譯過程記錄下來和大家分享。預備工作: a. 安裝交叉編譯鏈 我使用的是arm-linux-gcc 4
Time of Update: 2018-12-03
1、線程資料
Time of Update: 2018-12-03
媽的,我在我自己的電腦上的vmware中裝個了RedHat,可不知道怎麼我的xp與RedHat死活就是通不了,搞了兩個多星期,一下班回來就不停地配ip,可就是不通,好不容易通了一下,可我的ssh又不知道怎麼總連不上,這幾吧破網路問題搞得我頭疼死了,今天不知道怎麼人品爆發了一回,一搞竟然通了。哈哈。。 趕緊記下來,免得以後又麻煩。 網路情況:pc機是用電信的網上網,不需要IP RedHat是裝在vmware中 詳細步驟: