如何閱讀linux原始碼

隨著linux的逐步普及,現在有不少人對於Linux的安裝及設定已經比較熟悉了。與Linux 的蓬勃發展相適應,想深入瞭解Linux的也越來越多。而要想深入瞭解Linux,就需要閱讀和分析linux核心的原始碼。  Linux的核心原始碼可以從很多途徑得到。一般來講,在安裝的linux系統下,/usr/src/linux目錄下的東西就是核心原始碼。另外還可以從互連網上下載,解壓縮後檔案一般也都位於linux目錄下。核心原始碼有很多版本,目前最新的穩定版是2.2.14。  許多人對於閱讀Linux

Linux下產生日誌並定期刪除

只是寫了一個架構 提取系統時間 寫到文本 讀者可以根據自己情況修改#include <stdlib.h>#include <stdio.h>#include<string.h>#include <time.h>#include <sys/time.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include

linux下socket錯誤返回碼

符號名  訊號值 描述                是否符合POSIXSIGHUP  1   在控制終端上檢測到掛斷或控制線程死亡  是SIGINT  2   互動注意訊號              是SIGQUIT  3   互動中止訊號              是SIGILL  4   檢測到非法硬體的指令          是SIGTRAP  5   從陷阱中回朔              否SIGABRT 

Linux應用總結:自動刪除n天前日誌

  Linux 是一個很能自動產生檔案的系統,日誌、郵件、備份等。雖然現在硬碟廉價,我們可以有很多硬碟空間供這些檔案浪費,讓系統定時清理一些不需要的檔案很有一種 爽快的事情。不用你去每天惦記著是否需要清理日誌,不用每天收到硬碟空間不足的警示簡訊,想好好休息的話,讓我們把這個事情交給機器定時去執行吧。1.刪除檔案命令:find 對應目錄 -mtime +天數 -name "檔案名稱" -exec rm -rf {} \;  執行個體命令:find /opt/soft/log/ -mtime +30

linux下的關閉進程命令

殺死進程最安全的方法是單純使用kill命令,不加修飾符,不帶標誌。首先使用ps -ef命令確定要殺死進程的PID,然後輸入以下命令:# kill -pid注釋:標準的kill命令通常都能達到目的。終止有問題的進程,並把進程的資源釋放給系統。然而,如果進程啟動了子進程,只殺死父進程,子進程仍在運行,因此仍消耗資源。為了防止這些所謂的“殭屍進程”,應確保在殺死父進程之前,先殺死其所有的子進程。確定要殺死進程的PID或PPID# ps -ef | grep httpd以優雅的方式結束進程# kill

linux驅動入門

 用來防止使用者程式直接存取核心中關鍵性資料結構和硬體裝置是驅動程式的主要目的之一,所以,一個設計精良的驅動通常應該隱藏了硬體的複雜性和多變性。例如,一個程式寫資料到磁碟時,只需要開啟一個檔案並執行寫命令即可,而不必瞭解磁碟中的每個扇區的大小是512位元組或者是1024位元組,細節性的問題則交由驅動程式處理。此外,驅動程式還可以隱藏硬體的多變性(可能來自於不同廠家,甚至同一廠家不同型號)並給使用者提供一個統一的提供者。這也是Unix/Linux信條之一“一切皆檔案”的賴以存在的基礎。1、可載入模

Linux下的檔案操作總結

"In Linux, everything is a file."    ---  <<Beginning Linux Programming>>3個主要的檔案描述符:    0: 標準輸入    1: 標準輸出    2: 標準錯誤基本檔案操作write:函式宣告:ssize_t write(int fildes, const void *buf, size_t

MyMinimad ── Linux下用libmad寫的mp3解碼播放程式(二)

裝上fedora12後發現沒有/dev/dsp了,所以用ALSA把這個程式重寫了下。 程式說明:其實本來應該是在output函數中設定採樣率和聲道數的,但有莫名奇妙的問題。所以定了個一般化的#define SAMPLE_RATE 44100#define CHANNELS 2#define PCM_DEVICE "plughw:0,0"即:mp3的採樣率為44100Hz,聲道數為2(立體聲) 原始碼:/* * 本程式是從 minimad 改進而來,如要更詳細的說明請參看 minimad.c *

Linux那些事兒之我是Sysfs(2)linux裝置底層模型

關於linux裝置模型網上有一些論述,有些東西我就用了拿來主義,進行了修改和整理。§1 KobjectKobject 是Linux 2.6引入的新的裝置管理機制,在核心中由struct

用libnet和libpcap構建Linux下的SYN掃描程式

環境:ubuntu 8.04需要用到的工具:libnet,libpcap,tcpdump安裝這些工具:sudo apt-get install libnet-dev libpcap-dev

Linux那些事兒之我是Sysfs(3)裝置模型上層容器

§1 bus系統中匯流排由struct bus_type描述,定義為:struct bus_type {char * name; 匯流排類型的名稱struct subsystem subsys; 與該匯流排相關的subsystemstruct kset drivers; 所有與該匯流排相關的驅動程式集合struct kset devices; 所有掛接在該匯流排上的裝置集合struct bus attribute * bus_attrs; 匯流排屬性struct device

Linux那些事兒之我是Sysfs(1)sysfs初探

"sysfs is a ram-based filesystem initially based on ramfs. It provides a meansto export kernel data structures, their attributes, and the linkages between them touserspace.” ---

第二課 建立嵌入式Linux開發環境之交叉編譯環境

上一次的內容我們主要講了如何在如何搭建一個Linux開發環境,這次我們就要根據不同的目標平台,建立自己的ARM-Linux的交叉編譯環境。 

第一課:建立嵌入式Linux開發環境之環境搭建

進行嵌入式Linux開發,首先要做的就是搭建一個Linux開發環境。這裡有幾個方案可供選擇。1.獨立安裝Linux系統2.Windows下安裝一套類比Linux環境的的軟體(如Cygwin)3.虛擬機器安裝Linux    如果是一個人開發,3總方案都是可選的。但如果要團隊開發,最好建個Linux伺服器,每個工程師通過Telnet(SSH)登陸伺服器調試。即使是個人開發,Linux+SSH調試方法也是比較方便的。下面安裝我的調試環境,搭建一個Linux伺服器。   

介紹Linux下經典的檔案傳輸工具: lrzsz

公司有個用ARM940T做的手持式產品,我們移植了一個uClinux上去,系統還是運行不錯的。因為沒有帶網口,只有USB轉串口可以使用,所以想尋找一個穩定的傳輸途徑,在host和device之間分頁檔。問了很多人都不清楚,還是要靠自己找解決方案。在google上找了半天,終於找到了一個可以通過串口傳送檔案的軟體,這就是古董級的Unix工具:lrzsz。lrzsz可以通過Xmodem,Ymodem,Zmodem協議傳送檔案。在uClinux的user目錄下,我找到了這個lrzsz目錄,說明uCli

The Linux kernel

The Linux kernelAndries Brouwer, aeb@cwi.nl2003-02-01Some remarks on the Linux Kernel 1. Linux1.1 History1.2 Size1.3 Hardware platforms1.4 Authors1.5 Users and marketshare1.6 Name1.7 Distributions1.8 Copyright, Open Source, GPL1.9 Literature and

Linux驅動開發學習的簡單步驟

1. 學會寫簡單的makefile     2. 編一應用程式,可以用makefile跑起來    3. 學會寫驅動的makefile    4. 寫一簡單char驅動,makefile編譯通過,可以insmod, lsmod, rmmod. 在驅動的init函數裡列印hello world, insmod後應該能夠通過dmesg看到輸出。    5. 寫一完整驅動, 加上read, write, ioctl, polling等各種函數的驅動實現。

LINUX下編程工具常見用法小結

今天晚上把LINUX下面的編程相關的工具熟悉了一下,主要有VI,Emacs,GCC,GDB,Makefile,autotools。初涉LINUX,上述工具其實任取一個都不是一時半會能整精熟的,但是往往每一種工具都有一些使用頻率高達70%的命令。練習了一晚,對常見用法做個小結,鞏固記憶。一,VI:常用的原始碼編輯命令。vi hello.c 在目前的目錄下產生hello.c,並進入命令模式在命令模式下,不能輸入,可以完成刪除,複製,粘貼等操作。1)按i 或a或o進入插入模式,可以鍵入字元,一般用i;

MIPS Linux 下添加系統調用,以Linux kernel 2.6.18為例

添加一個系統調用有以下幾個步驟:1.  在 kernel 的系統調用表 sys_call_table 中添加你的系統調用入口根據你用的核心位元(32/64bit) 選擇需要修改的檔案:arch/mips/kernel/scall32-o32.S  ------> 32bit kernelarch/mips/kernel/scall64-64.S   ------> 64bit kernel64bit核心,如果支援相容32 bit ABI (o32, n32 ) 則還需修改

linux開發環境的快速搭建

文章來源:http://weibing.blogbus.com/logs/5331712.html1.建立檔案系統目錄    假定檔案系統的目錄為/rootfs,將rootfs.tar解壓到該目錄。mkdir /rootfstar zxf rootfs.tar -C /rootfs2.配置nfs檔案系統    修改/etc/exports檔案,格式為 共用目錄 開發板ip地址(使用權限設定)cat <<EOM >/etc/exports/rootfs  192.168.1.12

總頁數: 3772 1 .... 380 381 382 383 384 .... 3772 Go to: 前往

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。