Time of Update: 2018-12-03
ps 文法:ps [options] [--help] 說明:顯示瞬間行程 (process) 的動態 參數:(常用的) -w 顯示加寬可以顯示較多的資訊 -l 顯示進程執行優先順序。 -a 列出所有行程 -u 顯示所有使用者進程。 -x 顯示所有tty進程。 輸出格式:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND PRI NI
Time of Update: 2018-12-03
ghost和g4l 安裝作業系統,速度太慢,整個過程太冗長乏味了。 安裝過程中,需要回答若干問題,系統需要安裝無數個軟體,建立和寫入無數的檔案。因為涉及到大量的檔案定位和讀寫,速度一定是快不起來的。
Time of Update: 2018-12-04
作者:劉洪濤,華清遠見嵌入式學院講師。四、在核心裡寫i2c裝置驅動的兩種方式前文介紹了利用/dev/i2c-0在應用程式層完成對i2c裝置的操作,但很多時候我們還是習慣為i2c裝置在核心層編寫驅動程式。目前核心支援兩種編寫i2c驅動程式的方式。下面分別介紹這兩種方式的實現。這裡分別稱這兩種方式為“Adapter方式(LEGACY)”和“Probe方式(new style)”。(1)
Time of Update: 2018-12-04
Linux中常見的記錄檔和命令 成功地管理任何系統的關鍵之一,是要知道系統中正在發生什麼事。Linux 中提供了異常日誌,並且日誌的細節是可配置的。Linux 日誌都以明文形式儲存,所以使用者不需要特殊的工具就可以搜尋和閱讀它們。還可以編寫指令碼,來掃描這些日誌,並基於它們的內容去自動執行某些功能。Linux 日誌儲存在 /var/log
Time of Update: 2018-12-04
教課數上的hash函數一般都是對模數取餘,模數一般就是hash表的長度(桶的個數),通常為了較好的散列性,還把模數調整為一個質數.那麼核心中的hash函數是什麼樣呢?以儲存pid的hash表的hash函數 hash_long為例, 隨便測試下其散列的隨機性.測試代碼:#include <stdio.h>#include <stdlib.h>#include <time.h>unsigned long hash_long(unsigned long val,
Time of Update: 2018-12-03
伺服器上加了一塊舊硬碟,打算格式化以後放點曆史資料,結果用fdisk 報錯: /dev/sda1 isapparently in use by the system; will not make a filesystem here! 一般來說,這種情況是該盤已經被系統使用或者掛載到其他地方,使用mount 和df –lh確認,這個盤沒有使用。 在我之前的blog裡有整理過一篇類似的文章:/dev/sdxx isapparently in use by the system;
Time of Update: 2018-12-03
環境:linux核心載入自己的製作的檔案系統。錯誤資訊有以下幾種:錯誤資訊1:Root-NFS: Server returned error -5 while mounting /mini2440/rootfsVFS: Unable to mount root fs via NFS, trying floppy.VFS: Cannot open root device "nfs" or unknown-block(2,0)Please append a correct "root=" boot
Time of Update: 2018-12-03
在linux下使用CMake構建應用程式 本文介紹了一個跨平台的自動化構建系統 CMake 在 linux 上的使用方法。 CMake 是一個比 automake更加容易使用的工具,能夠使程式員從複雜的編譯串連過程中解脫出來。文中通過一些例子介紹使用 CMake處理多源檔案目錄的方法、尋找並使用其他開發包的方法以及產生 debug 版和 release 版程式的方法。CMake 簡介 CMake 是一個跨平台的自動化建構系統,它使用一個名為
Time of Update: 2018-12-03
最近要做一個關於LTE的項目,模組廠家提供的驅動裡面有usb轉串口驅動,usb網卡驅動,項目還沒立項所以比較空,閑的蛋疼把usb轉串口驅動研究了一遍,本文盡量用畫圖把事情說明白,獻給各位糾結的童鞋。首先說一下linux的風格,個人理解1. linux大小結構體其實是物件導向的方法,(如果把struct 比作類,kmalloc就是類的執行個體化,結構體裡面的函數指標就是方法,還有重構,多態)2.
Time of Update: 2018-12-04
Linux網路編程socket選項之SO_LINGER,SO_REUSEADDR Linux網路編程中,socket的選項很多.其中幾個比較重要的選項有:SO_LINGER(僅僅適用於TCP,SCTP), SO_REUSEADDR. SO_LINGER 在預設情況下,當調用close關閉socke的使用,close會立即返回,但是,如果send buffer中還有資料,系統會試著先把send
Time of Update: 2018-12-04
NTFS-3g是一個開源軟體,它支援在Linux下面讀寫NTFS格式的分區。它非常的快速,同時也很安全。它支援Windows 2000、XP、2003和Vista,並且支援所有的符合POSIX標準的磁碟操作。 ntfs-3g的目的是為了持續的發展,各硬體平台和作業系統的使用者需要可靠的互連與支援ntfs的驅動,ntfs-3g可以提供可信任的、功能豐富的高 效能解決方案。經過了12年多的發展,ntfs-3g已經逐漸穩定。方法一:NTFS-3g的一個使用執行個體問題: # mount
Time of Update: 2018-12-04
free命令可以顯示Linux系統中閒置、已用的實體記憶體及swap記憶體,及被核心使用的buffer。在Linux系統監控的工具中,free命令是最經常使用的命令之一。本文介紹free命令的使用方法和數值解釋。在Windows系統中查看記憶體的使用方式很簡單,想必大家都已經耳熟能詳了,那麼在Linux系統如何查看記憶體使用量情況呢?下面和大家分享在Linux系統下查看記憶體使用量情況的free命令:51CTO編輯精選:Linux監控工具大全[root@scs-2 tmp]# free
Time of Update: 2018-12-04
我用的系統是Fedora髮型版的Linux系統,對其他版本的linux系統可能有一些地方有點差異。下面就以Fedora系統為例:1、安裝libtool輸入命令:yum install libtool2、安裝glproto:http://ftp.de.debian.org/debian/pool/main/x/x11proto-gl/x11proto-gl_1.4.15.orig.tar.gz解壓命令:tar -xvf x11proto-gl_1.4.15.orig.tar.gz進入:cd
Time of Update: 2018-12-04
Linux主機和VirtualBox虛擬機器區域網路互連本節我介紹一下如何Linux主和安裝在Linux上的VirtualBox的虛擬機器進行區域網路串連:1.啟動虛擬機器,選擇“更改網路連接”菜單,在網路連接1的串連方式中選擇Host-only Adapter,介面名稱選擇vboxnet0,並且勾選“接入網線”,然後在虛擬機器的ip設定中選擇自動擷取ip和dns,稍等一會,就會發現虛擬機器已經獲得到了ip和dns了,我ipconfig了一下,發現我的虛擬機器的ip是192.168.56.101
Time of Update: 2018-12-04
使用條件變數最大的好處是可以避免忙等。相當與多線程中的訊號。 條件變數是線程中的東西就是等待某一條件的發生和訊號一樣以下是說明,條件變數使我們可以睡眠等待某種條件出現。條件變數是利用線程間共用的全域變數進行同步的一種機制,主要包括兩個動作:一個線程等待"條件變數的條件成立"而掛起;另一個線程使"條件成立"(給出條件成立訊號)。為了防止競爭,條件變數的使用總是和一個互斥鎖結合在一起。條件變數類型為pthread_cond_t
Time of Update: 2018-12-04
本文可任意轉載,但必須註明作者和出處。【原創】手把手教你Linux下的多線程設計(四) --Linux下多線程編程詳解 原創作者:Frozen_socker(冰棍) E_mail:dlskyfly@163.com 線程同步
Time of Update: 2018-12-04
終於把uboot兩個階段的所有代碼都通讀了一遍。總體的感覺是uboot的代碼確實非常巧妙,讀好的代碼就如同讀一本好書,反覆讀,認真思考,及時總結,這才是王道!好了,廢話不多說,下面來總結我讀uboot的經驗,主要是給自己留個筆記,高手看到這篇文章完全可以飄過了~不送啊,謝謝~uboot啟動是從哪裡開始的呢?必須要看看lds檔案,就是連結檔案,這個檔案用於指導gcc的連結器如何連結我們程式的各個組成檔案中的各個段(section)。因為我學習的是smdk2410開發板,uboot.lds檔案就在b
Time of Update: 2018-12-04
《Linux裝置模型 (2)》和《Linux裝置模型
Time of Update: 2018-12-04
時間:2007-01-08作者:飄揚首發:http://www.piaoyang.org/blog Q Q: 47720194郵箱:piaoyang168#163.com=========================================序 言由於開發環境需要在linux-2.6核心上進行,於是準備對我的虛擬機器上的Linux系統升級。沒想到這一弄就花了兩天時間(反覆裝系統,辛苦啊~~),總算把Linux系統從2.4.20-8核心成功升級到了2.6.18核心。網上雖然有很多介紹L
Time of Update: 2018-12-04
tcp需要ack,可是為了效率,並不是每發送一個資料都要等待ack,而是儘可能利用視窗機制,積累發送ack的,當然在某些特殊情況下還是需要馬上發送ack的,比如接收到亂序的資料,這種情況下,雖然接收端可以將亂序的資料包暫存,但是接收方必鬚髮送一個ack號為按序的期望的序號的ack給發送端,另外就是接收視窗需要調整,此時就要立刻發送ack,否則則可以延遲發送ack,看一下linux的這方面的代碼:static void __tcp_ack_snd_check(struct sock *sk,