Time of Update: 2018-12-03
此文以ubuntu為例step1:安裝apache21)查看 查看apache是否已安裝:apachectl -v 若安裝顯示Server version: Apache/2.2.22 (Ubuntu)2)安裝 若未安裝,鍵入這條命令:sudo apt-get install apache23)檢驗 成功安裝後,在瀏覽器鍵入http://主機ip/ 若顯示It
Time of Update: 2018-12-03
linux下的進程通訊手段基本上是從Unix平台上的進程通訊手段繼承而來的。而對Unix發展做出重大貢獻的兩大主力AT&T的貝爾實驗室及BSD(加州大學伯克利分校的伯克利軟體發布中心)在處理序間通訊方面的側重點有所不同。前者對Unix早期的處理序間通訊手段進行了系統的改進和擴充,形成了“system V IPC”,通訊進程局限在單個電腦內;後者則跳過了該限制,形成了基於套介面(socket)的處理序間通訊機制。Linux則把兩者繼承了下來,示:示: 其中,最初Unix IPC包括:管道、
Time of Update: 2018-12-03
Here in this post I will explain how to compile and install Linux Kernel 3.0 and Linux Kernel 3.1 in Ubuntu. Linux Kernel 3.0.1 is the latest stable release and you can download it from kernel.org. If you are new to Linux then I strongly recommend
Time of Update: 2018-12-03
1.訪問codesourcery官方網站下載最新的ARM交叉編譯工具鏈,當前最新版本是arm-2009q3:http://www.codesourcery.com/sgpp/lite/arm/portal/package5383/public/arm-none-linux-gnueabi/arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz22.解壓$ tar -jxvf
Time of Update: 2018-12-03
Linux下hello.ko核心模組製作的全過程1. linux系統用的是Redflag 6.0 SP1 :ftp://ftp.redflag-linux.com/pub/redflag/dt6sp1/SP1/redflag-6-sp1.iso,
Time of Update: 2018-12-03
linux下安裝virtualbox的一般方法1. 下載安裝檔案,我們就下載所有linux下都可以用的安裝檔案 下載連結:http://dlc.sun.com.edgesuite.net/virtualbox/4.1.0/VirtualBox-4.1.0-73009-Linux_x86.run2. 安裝virtualbox 命令列裡進入VirtualBox-4.1.0-73009-Linux_x86.run所在的檔案夾,執行命令:sh
Time of Update: 2018-12-03
1, 安裝 Module-Init-ToolsModule-Init-Tools 的內容安裝的程式:depmod, insmod, insmod.static, lsmod (連結到 insmod), modinfo, modprobe (連結到 insmod), rmmod (連結到 insmod)簡要描述depmod建立一個可載入核心模組的依賴關係檔案,modprobe 用它來自動載入模組。insmod向正在啟動並執行核心載入模組 insmod.staticinsmod
Time of Update: 2018-12-03
1,Boot Loader 編譯環境搭建第一步: 在編譯Boot Loader之前,首先要確保已經安裝了交叉編譯工具鏈,可以利用which arm-linux-gcc 命令進行檢測.進入/mnt/cdrom/Toolchain 目錄下,將xscalev1_liod_qt_2.3.7.tar.gz 工具鏈解壓到/usr/local/ 目錄下面,如2
Time of Update: 2018-12-03
出發點:Android電視棒實現DLNA功能採用JAVA版本的cyberlink的話,缺點明顯,SSDP協議裝置發現有延時(有時還發現不了裝置)體驗差,基於Linux電視棒可以控制硬體成本在100元以下,而且c語言實現的cyberlink DLNA協議棧不存在裝置發現不了的情況,本文記錄記錄linux下實現dlna碰到的一攬子問題1. DLNA的DMR方案方案1: MediaGateForCC
Time of Update: 2018-12-03
基於OS的電子類產品通常會把kernel燒到norfash裡,因為可以按位元組進行讀寫,但是norflash的價格要比nand flash的價格貴,而且nand flash是基於塊讀寫的,如一次性讀寫512位元組(block).如果是MLC的nand flash是按頁讀取的,一頁差不多有4K byte, 那如何基於nand flash啟動內容呢? 這裡的實現步驟如下:1. 目前部分nand flash controller晶片會預設把nand
Time of Update: 2018-12-03
實現web server時,通過建立一個線程池來並發處理用戶端的http請求,代碼如下: for(i = 0; i < THREAD_POOL_SIZE; i++){pthread_create(&thread_pool[i], NULL, (void*)&worker, (void*)i);pthread_detach(thread_pool[i]);} 線程並發處理如下:void* worker(int n){struct server_struct *request;
Time of Update: 2018-12-03
tar1) tar調用gzip gzip是GNU組織開發的一個壓縮程式,.gz結尾的檔案就是gzip壓縮的結果。與gzip 相對的解壓程式是gunzip。tar中使用-z這個參數來調用gzip。下面來舉例說明一下 : # tar -czf all.tar.gz *.jpg 這條命令是將所有.jpg的檔案打成一個tar包,並且將其用gzip壓縮,產生一個 gzip壓縮過的包,包名為all.tar.gz # tar -xzf all.tar.gz 這條命令是將上面產生的包解開。
Time of Update: 2018-12-03
Step1:vi /etc/sysconfig/network-scripts/ifcfg-p4p1修改ip資訊,修改或加入:BOOTPROTO="static" # static or DHCPIPADDR=172.18.66.77PREFIX=24 #子網ONBOOT="yes" Step2:vi /etc/sysconfig/network定義主機名稱,加入網關出口:HOSTNAME=linux_hostGATEWAY=172.18.66.254Step3: vi /etc/resolv.
Time of Update: 2018-12-03
查看記憶體資訊, cat /proc/meminfo, 同理查看cpu資訊, cat /proc/cpuinfo, 有時會有這樣疑問,比如4核究竟是2cpu*雙核呢,還是1cpu*四核呢?有一個簡單的方法: 有多少個processor,就有多少個core, 有多少個cpu, 就看最後一個processor的physical id+1舉個例:processor : 0vendor_id : GenuineIntelcpu family : 6model
Time of Update: 2018-12-03
主機:Windows 7旗艦版,VMware7.1.2,Fedora9編譯環境:arm-linux-gcc 4.4.3Linux版本:linux-2.6.32.2busybox版本:busybox-1.19.4目標板:友善之臂micro2440編譯使用核心模組的方法:編寫一個簡單的Linux核心模組Hello World,hello.c內容如下: #include <linux/init.h>#include <linux/module.h>MODULE_LICENSE(
Time of Update: 2018-12-03
#include <stdio.h>#include <string.h>#include <sys/types.h>#include <sys/socket.h>#include <sys/ioctl.h>#include <netinet/in.h>#include <net/if.h>#include <net/if_arp.h>#include
Time of Update: 2018-12-03
1.訊號的產生 Linux下的訊號可以類比於DOS下的INT或者是Windows下的事件。 訊號事件的發生有兩個來源:一個是硬體的原因(比如按下了鍵盤),一個是軟體的原因(比如使用系統函數或者是命令發出訊號)。 List all signal: #> man 7 signal2. 三種異常中斷訊號 2.1 SIGSEGV (Segment fault) 意味著指標所對應的地址是無效地址,沒有實體記憶體對應該地址 2.2 SIGTERM
Time of Update: 2018-12-03
1. 模組(驅動程式) 模組(module)是在核心空間啟動並執行程式,實際上是一種目標對象檔案,可以動態裝載到系統中作為核心的一部分運行。 Linux下對於一個硬體的驅動,可以有兩種方式: 1.1 直接載入到核心代碼 啟動核心時就會驅動此硬體裝置。 1.2 以模組方式載入 編譯產生一個.o檔案。當應用程式需要時再載入進核心空間運行。2. Linux系統的檔案類型 Linux檔案系統包括:
Time of Update: 2018-12-03
由於各種的I/O負載情形各異,Linux系統中檔案系統的預設配置一般來說都比較中庸,強調普遍適用性。然而在特定應用下,這種配置往往在I/O效能方面不能達到最優。因此,如果應用對I/O效能要求較高,除了採用效能更高的硬體(如磁碟、HBA卡、CPU、MEM等)外,我們還可以通過對檔案系統進行效能調優,來獲得更高的I/O效能提升。總的來說,主要可以從三個方面來做工作:1、Disk相關參數調優2、檔案系統本身參數調優3、檔案系統掛載(mount)參數調優 當然,負載情況不同,需要結合理論分析與充分的測試
Time of Update: 2018-12-03
摘錄自"UNIX程式設計的藝術"一書KEEP IT SIMPLE, STUPID! 編寫只做一件事情,並且要做好的程式;編寫可以在一起工作的程式,編寫處理文字資料流的程式,因為這是通用的介面。這就是UNIX哲學.所有的哲學真正的濃縮為一個鐵一樣的定律,高明的工程師的神聖的“KISS 原則”無處不在。大部分隱式的UNIX哲學不是這些前輩所說的,而是他們所做的和UNIX自身建立的例子。從整體上看,我們能夠抽象出下面這些觀點: 1、 模組性原則:寫簡單的,通過乾淨的介面可被串連的組件。