android linux基礎知識總結

來源:互聯網
上載者:User

1、虛擬核心檔案系統(Virtual Kernel File Systems),是指那些是由核心產生但並不存在於硬碟上(存在於記憶體中)的檔案系統,

2、虛擬檔案系統,雖然它們出現在根檔案系統中,但它裡面的內容卻無法在任何外部存放裝置中找到,因為它們都在記憶體中。

3、proc是一個重要虛擬檔案系統,通過它裡面的一些檔案,可以擷取系統狀態資訊並修改某些系統的配置資訊。
   proc檔案系統本身不佔用磁碟空間,它僅存在於記憶體之中,為作業系統本身和應用程式之間的通訊提供了一個安全的介面。
   當我們在核心中添加了新功能或裝置驅動時,經常需要得到一些系統狀態的資訊,一般這樣的功能可能需要經過一些象ioctl()
   這樣的系統調用來完成。系統調用介面對於一些功能性的資訊可能是適合的,因為應用程式必須將這些資訊讀出後再做一定的處理。
   但對於一些即時性的系統資訊,例如記憶體的使用狀況,或者是驅動裝置的統計資料等,我們更需要一個比較簡單易用的介面來取得它們。
   proc檔案系統就是這樣的一個介面,我們可以簡單的用cat、strings程式來查看這些資訊。例如,執行下面的命令:
     cat /proc/filesystems  //作業系統支援的檔案系統類型
     cat /proc/meminfo  //記憶體的即時資訊,記憶體大小等
     cat /proc/partitions //儲存空間分區資訊
     cat /proc/cpuinfo  //查看cpu資訊
   同樣的,free、df、top、ps等程式的功能實現,強烈依賴於proc檔案系統,為了使用那些程式,一定要使核心支援proc檔案系統,
   並將其掛接到根檔案系統的/proc目錄下。

4、sysfs檔案系統與proc檔案系統類似,也是一個不佔有任何磁碟空間的虛擬檔案系統。它通常被掛接在/sys目錄下。
   sysfs檔案系統是Linux2.6核心引入的,它把串連在系統上的裝置和匯流排組織成為一個分級的檔案,使得它們可以在使用者空間存取。
   其實sysfs是從proc和devfs中劃分出來的。
 一、devfs
 linux下有專門的檔案系統用來對裝置進行管理,devfs和sysfs就是其中兩種。
 在2.6核心以前一直使用的是devfs,devfs掛載於/dev目錄下,提供了一種類似於檔案的方法來管理位於/dev目錄下的所有裝置,
 我們知道/dev目錄下的每一個檔案都對應的是一個裝置,至於當前該裝置存在與否先且不論,而且這些特殊檔案是位於根檔案系
 統上的,在製作檔案系統的時候我們就已經建立了這些裝置檔案,因此通過操作這些特殊檔案,可以實現與核心進行互動。
 但是devfs檔案系統有一些缺點,例如:不確定的裝置映射,有時一個裝置映射的裝置檔案可能不同,例如我的隨身碟可能對應sda
 有可能對應sdb;沒有足夠的主/輔裝置號,當裝置過多的時候,顯然這會成為一個問題;/dev目錄下檔案太多而且不能表示
 當前系統上的實際裝置;命名不夠靈活,不能任意指定等等。
 二、sysfs
   正因為上述這些問題的存在,在linux2.6核心以後,引入了一個新的檔案系統sysfs,它掛載於/sys目錄下,跟devfs一樣它也是一個
 虛擬檔案系統,也是用來對系統的裝置進行管理的,它把實際串連到系統上的裝置和匯流排組織成一個分級的檔案,使用者空間的程式同
 樣可以利用這些資訊以實現和核心的互動,該檔案系統是當前系統上實際裝置樹的一個直觀反應,它是通過kobject子系統來建立這個
 資訊的,當一個kobject被建立的時候,對應的檔案和目錄也就被建立了,位於/sys下的相關目錄下,既然每個裝置在sysfs中都有唯
 一對應的目錄,那麼也就可以被使用者空間讀寫了。使用者空間的工具udev 就是利用了sysfs提供的資訊來實現所有devfs的功能的,
 但不同的是udev運行在使用者空間中,而devfs卻運行在核心空間,而且udev不存在 devfs那些先天的缺陷。很顯然,sysfs將是未來
 發展的方向。

5、

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.