Time of Update: 2018-12-03
Time of Update: 2018-12-03
http://apps.hi.baidu.com/share/detail/17204074getopt被用來解析命令列選項參數。就不用自己寫東東處理argv了。#include <unistd.h> extern char *optarg; //選項的參數指標 extern int optind, //下一次調用getopt的時,從optind儲存的位置處重新開始檢查選項。 extern int opterr,
Time of Update: 2018-12-03
root@ubuntu:~# route 核心 IP 路由表 目標 網關 子網路遮罩 標誌 躍點 引用 使用 介面 192.168.77.0 * 255.255.255.0 U 1 0 0 eth0 link-local * 255.255.0.0 U 1000 0 0
Time of Update: 2018-12-03
註:以下大部分內容摘自linux核心編程入門篇和linux核心完全注釋 在工作的這段時間,發現我的visio畫圖熟悉了點點,總喜歡把什麼源碼啊,結構啊之類的就當作流程圖來畫來理解,因為對於圖,有一個很直觀的認識,所以接下去也是以圖為中心。 關於linux核心體繫結構
Time of Update: 2018-12-03
註:以下大部分內容摘自linux核心編程入門篇和linux核心完全注釋
Time of Update: 2018-12-03
關於initramfs initramfs在編譯核心的同時被編譯並與核心串連成一個檔案,它被連結到地址__initramfs_start處,與核心同時被載入到ram中。initramfs被解析處理後原始的cpio包(壓縮或非壓縮)所佔的空間(&__initramfs_start- &__initramfs_end)是作為系統的一部分直接保留在系統中,不會被釋放掉。由於initramfs使用cpio包格式,所以很容易將一個單一的檔案、目錄、node編譯連結到系統中去,
Time of Update: 2018-12-03
關於藍芽協議棧體繫結構 底層硬體模組 RF1、利用2400M~2483.5M頻帶2、採用調頻方式傳輸資料,一共有79/EDR,40/BLE個hops,每秒3、採用GFSK(DQPSK和8DPSK)調製方式4、通道間隔(1MHZ/EDR模式,2MHZ/BLE模式) BB藍芽系統提供點對點或點對多點的串連,在串連中裝置共用物理通道,稱為piconet。一個裝置做為master,其他的裝置作為slave。pico網中最多可支援7個活動的slave。其他的處於非使用中。這些非活動slave仍需要保持與
Time of Update: 2018-12-03
註:以下大部分內容摘自linux核心編程入門篇和linux核心完全注釋 對於linux的整個體繫結構有了一定的瞭解,看了每個目錄的檔案整體概要,那麼就可以開始看核心的源碼了,首先那便是引導啟動了。關於磁軌,扇區等資訊在這有必要講一下磁軌和扇區等。1、扇區:不是扇形的,即不是兩個半徑之間的地區,而是個四邊形:兩個半徑為兩邊,兩個大小同心圓作為兩外兩邊。 2、磁軌 :磁軌不是線性,而是個地區,有兩個大小同心圓組成3、 柱面:不是面而是號碼相同的多個磁軌組成的柱體 4、 磁頭數:因為磁碟的雙面儲存性,
Time of Update: 2018-12-03
對於v4l2,上次是在調試收音機驅動的時候用過,其他也就只是用i2c配置一些寄存器就可以了。那時只是粗粗的瞭解了,把收音機當作v4l2的裝置後會在/dev目錄下產生一個radio的節點。然後就可以操作了。後來就沒怎麼接觸了。這周,需要調試下usb的網路攝影機。因為有問題,所以就要跟進,於是也就要開始學習下linux的v4l2了。看到一篇很不錯的文章,下面參考這篇文章,加上自己的一些見解,做一些總結把。 Video for
Time of Update: 2018-12-03
關於DLNA架構 1、Networking & Connectivity為瞭解決物理裝置連通問題,主要依賴於Ethernet,802.11,Ipv4協議棧,Ipv6協議棧。TCP/IP協議棧必須包含Ipv4,TCP,UDP,DHCP,Auto-IP,ARP,ICMP。2、Device
Time of Update: 2018-12-03
配置eth0的IP地址, 同時啟用該裝置#ifconfig eth0 192.168.1.110 netmask 255.255.255.0 up添加預設閘道。#route add default gw 192.168.1.1設定DNS,設定檔案/etc/resolv.conf nameserver xxx.xxx.xxx.xxx名字解析器 /etc/host.conf修改主機名稱 vi
Time of Update: 2018-12-03
在項目中和網路連接的模組中,要不停的去檢查網路是否正常,嘗試了很多的方法,最後終於找到了一個比較靠譜的方法,現在分享給大家。#include <string.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>#include <stdlib.h>#include
Time of Update: 2018-12-03
轉自:http://blog.csdn.net/racehorse/archive/2007/11/14/1884038.aspx看了《Linux裝置驅動程式》的前幾章,我結合這篇教程中給出的一個2.4版核心的字元驅動,自己編寫了一個2.6版核心的驅動程式,並且加上了詳細的注釋。這個程式很簡單,但是對初學者把握2.6版核心的字元驅動的脈絡應該有一定的協助,也可以算作我對《Linux裝置驅動程式》前幾章學習的一個小結。#globalvar.c#include <linux/module.h&
Time of Update: 2018-12-03
查看檔案許可權的語句: 在終端輸入: ls -l xxx.xxx (xxx.xxx是檔案名稱) 那麼就會出現相類似的資訊,主要都是這些: -rw-rw-r-- 一共有10位元 其中: 最前面那個 - 代表的是類型 中間那三個 rw- 代表的是所有者(user) 然後那三個 rw- 代表的是組群(group) 最後那三個 r-- 代表的是其他人(other) 然後我再解釋一下後面那9位元: r 表示檔案可以被讀(read) w 表示檔案可以被寫(write) x
Time of Update: 2018-12-03
眾所周知,C#是Microsoft推出的.NET語言,只能在.NET平台上運行,例如Win 9x、ME、NT、2000、XP和Win CE之類的作業系統。但是,現在卻有了一個叫做Mono的項目,它的目標就是把.NET及其程式設計語言移植到非Windows的平台上。現在,C#是唯一被移植到非Windows平台的.NET語言。 在任何一個平台(作業系統+硬體體系)上,編寫和運行程式的三個最根本的需求是庫、編譯器/解譯器、運行環境。庫以類和方法(函數)的形式提供常用的常式,簡化大型程式的編寫。.NET
Time of Update: 2018-12-03
我的系統原來是win2k + linux 9,今天為了調試一個問題把系統升級到Windows XP,自然無法啟動linux了,我試了loadlin和grub4dos覺得還是後者功能強大使用更方便。我下載了climbing版本的grub4dos,安裝後只做了一行改動就OK了,實在是方便:title Red Hat linux on(hd0,4)kernel (hd0,4)/boot/vmlinuz root=/dev/hda5為什麼是hd4,因為我的linux
Time of Update: 2018-12-03
最好的參考資料:1.師從互連網。2.UNP v2 Posix IPC的相關章節2、5、10、13。3.Linux man 命令。 先緬懷下 Stevens 大師。好那麼開始~~~~ 說點不打緊的,雖說Posix IPC 是標準的IPC,是以後趨勢,但是,現在大多數應用程式仍然在使用 System V IPC機制。這裡從APUE和《深入理解Linux核心架構》一點都沒介紹,ULK也只是介紹了Posix 訊息佇列。第一條:Posix IPC都使用 “Posix IPC 名字”進行標誌。
Time of Update: 2018-12-03
最好的參考資料:1.師從互連網。2.UNP v2 Posix IPC的相關章節3、6、11、14。3.Linux man 命令。 緬懷Stevens 大師~~~在《深入理解Linux核心架構》中作者說過:POSIX標準已經用更為現代的方式,引入了類似的結構(即Posix IPC)。我不討論Posix的相關機制了,因為大多數應用程式仍然在使用System V IPC 。第一條:System V IPC 的名字IPC鍵: 一個進程內可能同時使用多個同一種類
Time of Update: 2018-12-03
最好的參考資料:1.師從互連網。2.UNP v2 Posix IPC的相關章節 12。3.Linux man 命令。第一條:mmap函數的用途1.映射普通檔案到進程記憶體空間,進行記憶體映射IO。2.映射特殊檔案到進程記憶體空間,進行匿名記憶體映射IO。3.映射shm_open開啟Posix 共用記憶體區到進程的記憶體空間,可以在無親緣的進程間提供資料共用、IO。#include<sys/mman.h> void *mmap (void *__addr, size_t __len,
Time of Update: 2018-12-03
來源: ChinaUnix部落格 日期:2008.01.23 20:30 (共有0條評論) 我要評論 1. 調度資料成員(1) volatile long states;表示進程的目前狀態:? TASK_RUNNING:正在運行或在就緒隊列run-queue中準備啟動並執行進程,實際參與進程調度。? TASK_INTERRUPTIBLE:處於等待隊列中的進程,待資源有效時喚醒,也可由其它進程通過訊號(signal)或定時中斷喚醒後進入就緒隊列run-queue。?