Time of Update: 2018-12-04
Linux多線程函數解析Linux多線程函數用得比較多的是下面的3個pthread_create(),pthread_exit(),pthread_join();它們都是在標頭檔<pthread.h>之中。編譯時間需要加靜態庫-lpthread 下面是函數的說明: pthread_create是UNIX環境建立線程函數 int pthread_create( pthread_t *restrict tidp, const pthread_attr_t
Time of Update: 2018-12-04
Linux裡面的misc雜項裝置是主裝置號為10的驅動裝置,它的註冊跟使用比較的簡單,所以比較適用於功能簡單的裝置。它有自己的裝置結構體: struct miscdevice { int minor; const char *name; const struct file_operations *fops; struct list_head list; struct device *parent; struct device
Time of Update: 2018-12-04
sudo su進入管理員模式,因為有時候使用su的時候總提示輸入密碼不正確。find ./ -name "Makefile"搜尋列出目前的目錄下檔案名稱為"Makefile"的檔案路徑grep -nr "test" ./在遞迴搜尋目前的目錄所有包括“test”的檔案perl -pi -e 's|str1|str2|g' `find ./ -type f`在目前的目錄下所有的檔案裡面把“str1”字串替換為"str2"cat file1查看檔案file1的內容head -10
Time of Update: 2018-12-04
在Linux核心學習-字元裝置驅動學習(一)中編寫字元裝置驅動的一種方法,但是需要手動建立裝置節點。有沒有能夠自動的建立裝置節點的呢?有!使用class_create()和device_create()函數可以自動建立節點。 class_create : 建立class class_destroy : 銷毀class class_device_create : 建立device
Time of Update: 2018-12-04
/* * Yao.GUET * http://blog.csdn.net/Yao_GUET * Linux下面一個簡單的虛擬platform驅動 */在Linux之中,約定如果裝置不屬於任何的匯流排,則可以把它註冊為虛擬platform裝置。下面就簡單來學習一下一個簡單的platform裝置是怎麼建立出來的。一般註冊platform驅動的步驟是:1,platform_device_create註冊一個裝置2,platform_driver_create註冊一個驅動。static struct
Time of Update: 2018-12-04
S3C6400 StatusFrom sandeep :Is there any work going on S3C64**? If yes I would like to help bring it up. I have an smdk64 board with me.please let me knowthanks, sandeep.From Harald Welte :Hi Sandeep,I think the status is more or less that Samsung
Time of Update: 2018-12-04
Linux0.01核心基本上分析完了,高版本的核心也看了一點。有一點心得與大家分享 一下吧!這裡我並不打算說具體的技術方面的東西,而是針對讀核心的方法,談談自己 的一點感受。 我前段時間主要看的是0.01版本的核心。Linux0.01是Linux的"祖師爺"Linus完成的最早 的一個Linux版本,其核心編譯後僅僅只有512K,麻雀雖小,五髒俱全,0.01包括了從軟 盤啟動、檔案系統、控制台管理的作業系統完整功能,並提供了不少標準的使用者介面, 具體有kernel,
Time of Update: 2018-12-04
Linux 0.11 核心中,在進行地址映射操作時,我們需要首先分清3 種地址以及它們之間的變換概念:a. 程式(進程)的虛擬和邏輯地址;b. CPU 的線性地址;c. 實際實體記憶體地址。虛擬位址(Virtual Address)是指由程式產生的由段選擇符和段內位移地址兩個部分組成的地址。因為這兩部分組成的地址並沒有直接用來訪問實體記憶體,而是需要通過分段地址變換機制處理或映射後才0 640K 1M核心模組 高速緩衝區虛擬盤主記憶體區顯存和BIOS
Time of Update: 2018-12-04
//擷取子網路遮罩的函數 QString GetLocalNetMask(){ int sock_netmask; char netmask_addr[50]; struct ifreq ifr_mask; struct sockaddr_in *net_mask; sock_netmask = socket( AF_INET, SOCK_STREAM, 0 ); if( sock_netmask == -1) {
Time of Update: 2018-12-04
用linux一段時間了,有時候想看看ls、cat、more等命令的原始碼,在下載的核心源碼中用cscope沒能找到,在網上搜尋了一下,將方 法總結如下:以搜尋ls命令源碼為例,先搜尋命令所在包,命令如下:lpj@lpj-linux:~$ which ls/bin/ls用命令搜尋該軟體所在包,代碼如下:lpj@lpj-linux:~$ dpkg -S /bin/lscoreutils:
Time of Update: 2018-12-04
Linux 下網路編程中的select #include <sys/select.h> #include <sys/time.h> int select (int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, const struct timeval * timeout); Return >0:就緒描述字的正數目 -1:出錯 0 :逾時 struct
Time of Update: 2018-12-04
1) fstat, stat, lstat 系統調用 #include<unistd.h> #include <sys/stat.h> #include<sys/types.h> // Linux系統不需要,UNIX需要 int fstat(intfildes,struct stat *buf);返迴文件描述符相關的狀態檔案的資訊,這些資訊被儲存在一個stat結構體中,stat結構體幾乎儲存了所有的檔案狀態資訊。int stat(const char
Time of Update: 2018-12-04
FROM:http://hi.baidu.com/godogood/blog/item/ab01875c1d1d2c45fbf2c033.html 我們就來安裝compiz fusion: 1、得到密匙 代碼:sudo wget http://download.tuxfamily.org/3v1deb/DD800CD9.gpg -O- | sudo apt-key add -2、添加源: 代碼: deb
Time of Update: 2018-12-04
//擷取本機IP地址函數QString GetLocalIp(){ int sock_get_ip; char ipaddr[50]; struct sockaddr_in *sin; struct ifreq ifr_ip; if ((sock_get_ip=socket(AF_INET, SOCK_STREAM, 0)) == -1) { printf("socket create
Time of Update: 2018-12-04
/etc/sysconfig/network-scripts/ifcfg-eth0該目錄下居然找不到無線網卡的設定檔,真奇怪# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+DEVICE=eth0 介面名稱BOOTPROTO=none 靜態配置,若該值為“dhcp”則為動態獲得,另外 static也是表示靜態ip地址BROADCAST=192.16
Time of Update: 2018-12-04
default=1timeout=5hiddenmenutitle windows xproot (hd0, 0)chainloader +1title ubuntu 9.10root (hd1, 1)kernel /boot/vmlinuz-2.6.31-15-generic ro root=/dev/sdb1### BEGIN AUTOMAGIC KERNELS LIST## lines between the AUTOMAGIC KERNELS LIST markers will be
Time of Update: 2018-12-04
linux下修改IP、DNS、路由命令列設定 ubuntu 版本命令列設定IP cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto
Time of Update: 2018-12-04
linux file locklinux的檔案鎖分為兩種:一種是advasory lock,只能保證進程內對同一個檔案鎖的互斥有效,但是多個進程可以同時對一個檔案加互斥的鎖,所以這種鎖是加在file 結構上;一種是mandatory lock,這種鎖可以保證多個進程無法對同一個檔案都加上互斥鎖,所以這種鎖是加在inode 結構上的。當加mandatroy lock時,如果已有進程在檔案上加了互斥鎖a,那麼進程建立的file_lock
Time of Update: 2018-12-04
# uname -a # 查看核心/作業系統/CPU資訊# head -n 1 /etc/issue # 查看作業系統版本# cat /proc/cpuinfo # 查看CPU資訊# hostname # 查看電腦名稱# lspci -tv # 列出所有PCI裝置# lsusb -tv # 列出所有USB裝置# lsmod # 列出載入的核心模組# env # 查看環境變數資源# free -m # 查看記憶體使用量量和交換區使用量# df -h # 查看各分區使用方式# du -sh <
Time of Update: 2018-12-04
linux訊號機制 訊號提供了一種通知進程系統事件發生的機制,它也是作為使用者進程之間通訊和同步的一種原始機制。在進程遷移的情況下,如何處理訊號呢?這部分介紹了MOSIX系統對訊號機制的處理。LINUX訊號機制訊號是非同步進程間通訊機制,是在軟體層次上對中斷機制的一種類比。LINUX核心的信號機制符合POSIX.4的規定,這是POSIX.1標準的一個超集。每個進程的task_struct結構中都有個指標sig,指向一個singal_struct結構,結構中的數組action[]相當於一個訊號向