Linux一些經典書籍

一、linux之路,路漫漫其修遠兮,吾將上下而求索!先上經典書籍!1.入門篇 《LINUX權威指南》書不錯,寫的很全面也比較廣,涉及的不深,做為入門書籍不錯,可以比較全面的瞭解linux 。另外比較熱門的也可以看看《鳥哥的私房菜》等書,偏管理類的書。如果想做server方向的可以找來看看。2.驅動篇 《LINUX裝置驅動程式 》就是網上說的“LDD”,經典之作,必備書籍。國產經典《Linux驅動詳細解》也是一本非常不錯的書,很實用,書中原始碼 分析比較多,基於2440的,對linux外圍驅動有很

《Linux核心設計與實現》讀書筆記(1)— Linux核心開發的特點

Linux核心開發的特點    相對於使用者空間內的應用程式開發,核心開發存在很多的不同,最重要的差異包括以下幾種:    1)核心編程時不能訪問C庫。    2)核心編程時必須使用GNU C。    3)核心編程時缺乏像使用者空間那樣的記憶體保護機制。    4)核心編程時浮點數很難使用。    5)核心只有一個很小的定長堆棧。    6)由於核心支援非同步中斷,搶佔和SMP,因此必須時刻注意同步和並發。    7)要考慮可移植性的重要性。 1.沒有libc庫   

《Linux核心設計與實現》讀書筆記(3)— 進程調度

進程調度1.策略    進程可以被劃分為I/O消耗型和處理器消耗型。前者指進程的大部分時間用來提交I/O請求或是等待I/O請求,常處於可運行狀態。後者把時間大多用在執行代碼上,除非被搶佔,否則一直不停地運行,調度器不應該經常讓它們運行。    調度演算法中最基本的一類就是基於優先順序的調度。這是一種根據進程的價值和其對處理器時間的需求來對進程分級的想法。優先順序高的進程先運行,低的後運行,相同優先順序的進程按輪轉方式進行調度。   

linux檔案系統

在作業系統中,任何東西都可以看作是檔案,檔案是作業系統邏輯組織的基本單元。對於Unix和Linux檔案系統而言,檔案系統層次標準(FHS)是其組織規範的主要參考。對檔案目錄結構稍有瞭解的人都知道,檔案系統通常由根目錄(/)出發,不斷延伸出一層一層的子目錄。★在Linux中,常用的一級子目錄包括:目錄名描述/bin集中存放一些必要的命令工具,最好不要單獨掛載,否則你會找不到那些你亟需的公用程式。/boot包含Linux的開機檔案以及核心。預設情況下為100M,這對準備RHCE考試足矣/dev集中存

自己編譯linux核心

一、特點:       l 自己定製編譯的核心運行更快(具有更少的代碼)   l 系統將擁有更多的記憶體(核心部分將不會被交換到虛擬記憶體中)   l 不需要的功能編譯進入核心可能會增加被系統攻擊者利用的漏洞   l 將某種功能編譯為模組方式會比編譯到核心內的方式速度要慢一些二、編譯核心:1.下載源碼   www.kernel.org2.解壓    tar jxvf  linux×3.cd linux×4.安裝編譯工具 sudo apt-get install build-essential

linux硬體資訊

/proc目錄下,均為系統資訊,需要時可ls以下,以下列出常用的幾個cat /proc/cpuinfo#查看CPU資訊,內容很全哦!cat /proc/meminfo#查看記憶體資訊。cat /proc/ioports#查看IO連接埠cat /proc/swaps#查看交換分區資訊(/proc)cat /proc/interrupts#中斷資訊cat /proc/partitions#查看磁碟分割cat /proc/bus/usb/devices#查看USB裝置cat

linuxIME小結

一、fcitx ,稍微不穩定,比較智能1.安裝:為了防止scim與fcitx衝突,如果你安裝了scim,你最好卸載掉scimsudo apt-get purge scimsudo apt-get install fcitx fcitx-config-gtk fcitx-sunpinyinsudo apt-get install fcitx-table-all #同時安裝其他碼錶im-switch -s fcitx -z default

Google App Engine跨越長城[for linux]

我一直認為Google是一個很神奇的公司,雖然不怎麼藉助AppEngine開發,但是爬一爬長城還是可以的……在這個什麼都被牆的世界,我迫切希望出去享受一下純淨的天空!好吧,通過Google App Engine和GappProxy搭建本地Proxy 伺服器步驟:一、註冊Google App Engine帳號註冊Google App Engine:用Google賬戶登入Google App Engine後,點擊Create an

linux環境變數擷取

  shell裡可以直接用 `env` 或者 `echo $HOME` `export` 的形式擷取或設定環境變數,那麼c語言是如何?的呢?主要有兩個函數和一個 environ 變數(字串數組):char *getenv(const char *name)int putenv(const cahr *string)#include <stdlib.h>#include <stdio.h>extern char **environ;int main ( int argc,

Linux檔案許可權

文章目錄 用數字標記法修改許可權用文本標記法修改許可權 一、Linux檔案許可權每個Linux檔案具有四種存取權限:可讀(r)、可寫(w)、可執行(x)和無許可權(-)。利用ls

Linux下編寫簡單的動態連結程式庫

(1)Linux下編寫動態連結程式庫。通常靜態連結庫是編譯的時候和源檔案一起編譯產生可執行檔的。動態連結程式庫則不是,它是一個已經編譯好的檔案(靜態則不是),只有當程式啟動並執行時候(但是編譯的時候要將動態連結程式庫的資訊載入進來),它才去找動態連結程式庫拿它想用的一些函數。而且動態連結程式庫可以提高通用性,編寫一個動態連結程式庫可以讓很多人一起用。有點類似類?test_so.h#ifndef _TEST_SO_H#define _TEST_SO_H #include

10本Linux免費電子書

0. Advanced Linux programming | Linux進階編程  1. GNU Emacs manual | GNU Emacs 指南 2. GTK+/Gnome application development | GTK+/Gnome 應用開發(PDF) 3. Java application development on Linux | Linux 系統下的Java程式開發(PDF) 4. Linux device drivers | Linux 裝置驅動 5.

《Linux核心設計與實現》讀書筆記(4)— 中斷和中斷處理常式

中斷和中斷處理常式1.中斷    中斷本質上是一種特殊的電訊號,由硬體裝置發向處理器。處理器接收到中斷後,會馬上向作業系統反映此訊號的到來,然後由OS負責處理這些新到來的資料。硬體裝置產生中斷的時候並不考慮與處理器的時鐘同步,核心隨時可能因為新到來的中斷而被打斷。不同的裝置對應的中斷不同,都通過一個唯一的數位識別碼,稱之為插斷要求(IRQ)線。   

《Linux核心設計與實現》讀書筆記(5)— 下半部和推後執行的工作(1)

下半部和推後執行的工作1.下半部    下半部的任務就是執行與中斷處理密切相關但中斷處理常式本身不執行的工作,對於在上半部和下半部之間劃分工作,儘管不存在某種嚴格的規則,但還是有一些提示可供借鑒:    1)如果一個任務對時間非常敏感,將其放在中斷處理常式中執行。    2)如果一個任務和硬體相關,將其放在中斷處理常式中執行。    3)如果一個任務要保證不被其他中斷(特別是相同的中斷)打斷,將其放在中斷處理常式中執行。    4)其他所有任務,考慮放置在下半部執行。   

《Linux核心設計與實現》讀書筆記(6)— 下半部和推後執行的工作(2)

下半部和推後執行的工作4.tasklet    tasklet是通過非強制中斷實現的,它由兩類非強制中斷代表:HI_SOFTIRQ和TASKLET_SOFTIRQ。兩者唯一區別在於前者優先於後者執行。    tasklet由tasklet_struct結構體表示,每個結構體代表一個tasklet,在<linux/interrupt.h>中定義:struct tasklet_struct { struct tasklet_struct *next; /*

《Linux核心設計與實現》讀書筆記(7)— 核心同步方法(1)

核心同步方法1.原子操作    原子操作可以保證指令以原子的方式執行——執行過程不被打斷。核心提供了兩組原子操作介面,一組針對整數進行操作,另一組針對單獨的位進行操作。    針對整數的原子操作只能對 atomic_t 類型的資料進行處理。        除了原子整數操作外,核心還提供了一組針對位這一級資料進行操作的函數。位操作函數是對普通的記憶體位址進行操作的,它的參數是一個指標和一個位號,第0位是給定地址的最低有效位。       

《Linux核心設計與實現》讀書筆記(8)— 核心同步方法(2)

4.訊號量    Linux中的訊號量是一種睡眠鎖。如果一個任務試圖獲得一個已經被佔用的訊號量時,訊號量會將其推進一個等待隊列,然後讓其睡眠。這時處理器能重獲自由,從而去執行其他代碼。當持有訊號量的進程將訊號量釋放後,處於等待隊列中的那個任務將被喚醒,並獲得該訊號量。    訊號量和自旋鎖在使用上的差異:   

《Linux核心設計與實現》讀書筆記(9)— 定時器和時間管理(1)

定時器和時間管理    系統定時器是一種可程式化硬體晶片,它能以固定頻率產生中斷。該中斷就是所謂的定時器中斷,它所對應的中斷處理常式負責更新系統時間,還負責執行需要周期性啟動並執行任務。系統定時器和時鐘中斷處理常式是Linux系統核心管理機制中的中樞。    另外一個關注的焦點是動態定時器——一種用來延遲執行程式的工具。比如說,如果軟碟機馬達在一定時間內都未活動,那麼磁碟片驅動程式會使用動態定時器關閉軟碟機馬達。核心可以動態建立或銷毀動態定時器。 1.核心中的時間概念   

《Linux核心設計與實現》讀書筆記(10)— 定時器和時間管理(2)

6.實際時間    當前實際時間(牆上時間)定義在檔案 kernel/timer.c 中:struct timespec xtime;    timespec 資料結構定義在檔案<linux/time.h>中,形式如下:struct timespec { time_t tv_sec; /* 秒 */ long tv_nsec; /* 納秒 */};    xtime.tv_sec 以秒為單位,存放著自

《Linux核心設計與實現》讀書筆記(11)— 記憶體管理(1)

記憶體管理1.頁    核心把物理頁作為記憶體管理的基本單位。大多數 32 位體繫結構支援 4KB 的頁,而 64 位元體繫結構一般會支援 8KB 的頁。核心用 struct page 結構表示系統中的每個物理頁。該結構位於<linux/mm.h>中。struct page { page_flags_t flags; /* 表示頁的狀態,每一位表示一種狀態,定義在<linux/page_flags.h> */ atomic_t _count;

總頁數: 3662 1 .... 320 321 322 323 324 .... 3662 Go to: 前往

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.