嵌入式Linux操作系統(tǒng)_第1頁
嵌入式Linux操作系統(tǒng)_第2頁
嵌入式Linux操作系統(tǒng)_第3頁
嵌入式Linux操作系統(tǒng)_第4頁
嵌入式Linux操作系統(tǒng)_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

嵌入式Linux嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)是指支持嵌入式系統(tǒng)工作的操作系統(tǒng),它在知識體系和技術(shù)結(jié)構(gòu)上與通用操作系統(tǒng)沒有太大區(qū)別。實(shí)時系統(tǒng)是指一個能夠在指定的或者確定的時間內(nèi),實(shí)現(xiàn)系統(tǒng)功能和對外部或內(nèi)部、同步或異步事件作出響應(yīng)的系統(tǒng)。嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)在設(shè)計上都非常緊湊有效,拋棄了運(yùn)行在它們之上的特定的應(yīng)用程序所不需要的各種功能。嵌入式操作系統(tǒng)多數(shù)也是實(shí)時操作系統(tǒng)嵌入式操作系統(tǒng)負(fù)責(zé)嵌入系統(tǒng)的全部軟、硬件資源的分配、調(diào)度工作,控制協(xié)調(diào)并發(fā)活動,必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來達(dá)到系統(tǒng)所要求的功能。典型的嵌入式操作系統(tǒng)VxWorksWindowsCEpSOSQNXPalmOS嵌入式LinuxC/OS-II國內(nèi)著名的嵌入式實(shí)時操作系統(tǒng)1.VxWorks

VxWorks操作系統(tǒng)美國WindRiver公司于1993年設(shè)計開發(fā)的一種嵌入式實(shí)時操作系統(tǒng)。

VxWorks擁有良好的持續(xù)發(fā)展能力、高性能的內(nèi)核及友好的用戶開發(fā)環(huán)境,是目前嵌入式系統(tǒng)領(lǐng)域中使用最廣泛、市場占有率最高的實(shí)時操作系統(tǒng)。

VxWorks支持多種處理器,如x86、i960、SunSparc、PowerPC、MotorolaMC68xxx,MIPSRX000、StrongARM等。

VxWorks采用GNU的編譯和調(diào)試器。1.VxWorksVxWorks以其良好的可靠性和卓越的實(shí)時性被廣泛的應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時性要求極高的領(lǐng)域中,如通信衛(wèi)星、軍事演習(xí)、導(dǎo)彈制導(dǎo)和飛機(jī)導(dǎo)航等。美國的F-16、FA-18戰(zhàn)斗機(jī),B-12隱形轟炸機(jī)和愛國者導(dǎo)彈。美國JPL實(shí)驗室研制的著名“索杰納”火星探測器上也使用了VxWorks。2.WindowsCEMicrosoftWindowsCE是從整體上為有限資源的平臺而設(shè)計的多線程、多任務(wù)的嵌入式操作系統(tǒng)。WindowsCE主要針對小容量、移動式、智能化、32位、連接設(shè)備的模塊化實(shí)時應(yīng)用。WindowsCE能夠?qū)φ粕显O(shè)備、無線設(shè)備、專用工業(yè)控制器的用戶電子設(shè)備等進(jìn)行定制,并能在多種處理器體系結(jié)構(gòu)上運(yùn)行,尤其適用于那些對內(nèi)存占用空間具有一定限制的設(shè)備。WindowsCE的基本內(nèi)核至少需要200K的ROM。

Microsoft公司為WindowsCE提供了PlatformBuilder和EmbeddedVisualStudio開發(fā)工具。

WindowsCE嵌入式操作系統(tǒng)不是一個硬實(shí)時操作系統(tǒng),但它最大的優(yōu)點(diǎn)是能夠提供與PC機(jī)類似的圖形用戶界面和主要的應(yīng)用程序。2.WindowsCE

4.QNX

QNX是加拿大QNX公司的產(chǎn)品。大多數(shù)RTOS都是從68K的CPU上開發(fā)成熟,然后再移植到x86體系上。而QNX是直接在x86體系上開發(fā)出來的,只是近幾年才在68K等CPU上使用。

QNX是實(shí)時、可擴(kuò)充的操作系統(tǒng),內(nèi)核非常小巧(QNX4.x約為12KB),且運(yùn)行速度極快。QNX具有強(qiáng)大的圖形界面功能,適合作為機(jī)頂盒、手持設(shè)備、GPS設(shè)備的嵌入式實(shí)時操作系統(tǒng)使用。6.嵌入式Linux

Linux是一種免費(fèi)的、源代碼完全開放的、符合POSIX標(biāo)準(zhǔn)規(guī)范的操作系統(tǒng)。嵌入式Linux版本包括:硬實(shí)時的嵌入式Linux(如新墨西哥工學(xué)院的RT-Linux、堪薩斯大學(xué)的KURT-Linux)和一般的嵌入式Linux版本(如CLinux、PocketLinux等)。

RT-Linux通過把Linux任務(wù)優(yōu)先級設(shè)為最低,而所有實(shí)時任務(wù)的優(yōu)先級都高于它,最終達(dá)到既兼容通常的Linux任務(wù)又保證強(qiáng)實(shí)時性能的目的。6.嵌入式Linux

CLinux是針對沒有MMU的處理器而開發(fā)的,已被廣泛使用在ColdFire、ARM、MIPS、SPARC、SuperH等沒有MMU的微處理器上。雖然CLinux的內(nèi)核比Linux2.0內(nèi)核小得多,但它保留了Linux操作系統(tǒng)穩(wěn)定性好、網(wǎng)絡(luò)能力優(yōu)異以及對文件系統(tǒng)的支持等主要優(yōu)點(diǎn)。

CLinux與標(biāo)準(zhǔn)Linux最大的區(qū)別在于內(nèi)存管理。7.C/OS-II

C/OS-II是一個完整的,源碼公開的,可移植、固化、裁剪的占先式實(shí)時多任務(wù)內(nèi)核,主要面向中小型嵌入式系統(tǒng),具有執(zhí)行效率高、占用空間小、可移植性強(qiáng)、實(shí)時性能優(yōu)良和可擴(kuò)展性強(qiáng)等特點(diǎn)。

C/OS-II結(jié)構(gòu)小巧,最小內(nèi)核可編譯至2K,即使包含全部功能編譯后也僅有6~10KB,非常適用于小型控制系統(tǒng)。8.國內(nèi)著名的嵌入式實(shí)時操作系統(tǒng)

DeltaOS

DeltaOS是全中文的嵌入式實(shí)時操作系統(tǒng),提供強(qiáng)實(shí)時和嵌入式多任務(wù)的內(nèi)核。

DeltaOS的特點(diǎn)是任務(wù)響應(yīng)時間快速、確定,不隨任務(wù)負(fù)載大小改變;絕大部分的代碼由C語言編寫,具有很好的移植性。

適用于內(nèi)在要求較大、可靠性要求較高的嵌入式系統(tǒng),成功應(yīng)用于通信、網(wǎng)絡(luò)、信息家電等多個領(lǐng)域。8.國內(nèi)著名的嵌入式實(shí)時操作系統(tǒng)

HopenOS

HopenOS由一個體積很小的內(nèi)核以及一些可以根據(jù)需要自行定制的系統(tǒng)模塊組成。其核心HopenKernel的規(guī)模一般為10KB左右,占用空間小,并具有實(shí)時、多任務(wù)、多線程的系統(tǒng)特征。8.國內(nèi)著名的嵌入式實(shí)時操作系統(tǒng)

HBOS

HBOS系統(tǒng)具有實(shí)時、多任務(wù)等特征,能提供瀏覽器、網(wǎng)絡(luò)通信核圖形窗口等服務(wù),還可供進(jìn)行一定的定制或二次開發(fā),并能為應(yīng)用軟件開發(fā)提供API接口支持。

HBOS系統(tǒng)可用于信息家電、智能設(shè)備和儀器儀表等領(lǐng)域開發(fā)應(yīng)用。在HBOS系統(tǒng)平臺下,已經(jīng)成功地開發(fā)出機(jī)頂盒和數(shù)據(jù)采集等系統(tǒng)。嵌入式Linux概述

Linux介紹嵌入式Linux系統(tǒng)交叉開發(fā)環(huán)境開發(fā)工具GNU的介紹Linux介紹Linux是類UNIX操作系統(tǒng)。最初是由LinusTorvalds于1991年在基于Intel80386處理器的IBM兼容機(jī)上開發(fā)的操作系統(tǒng)。出現(xiàn)在二十世紀(jì)九十年代,在短短十幾年的時間里發(fā)展成為功能強(qiáng)大,設(shè)計完善的操作系統(tǒng)。源程序可以在/下載。Linux介紹Linux有異常豐富的驅(qū)動程序資源,支持各種主流的硬件設(shè)備與技術(shù)。它能夠固化在容量只有幾KB或者幾MB的存儲芯片或者微控制器中。Linux包含了現(xiàn)代的UNIX操作系統(tǒng)的所有功能特性,包括多任務(wù)、虛擬內(nèi)存、虛擬文件系統(tǒng)、進(jìn)程間通信、對稱多處理器(SMP)、多用戶支持等功能。Linux介紹Linux具有以下特性:小巧,吞吐率好強(qiáng)大的網(wǎng)絡(luò)功能真正的多任務(wù)和多用戶符合IEEEPOSIX標(biāo)準(zhǔn)支持?jǐn)?shù)十種文件系統(tǒng)

有完整的開發(fā)工具嵌入式Linux操作系統(tǒng)的應(yīng)用領(lǐng)域:手機(jī)、PDA數(shù)字相機(jī)、數(shù)字電視機(jī)、數(shù)碼相機(jī)VCD/DVD音響設(shè)備、可視電話家庭網(wǎng)絡(luò)設(shè)備洗衣機(jī)、電冰箱智能玩具Linux介紹廣泛應(yīng)用的原因:公開源代碼沒有專利費(fèi)外部設(shè)備驅(qū)動豐富網(wǎng)絡(luò)協(xié)議及中間件非常豐富穩(wěn)定可靠良好的可移植性嵌入式Linux嵌入式Linux(EmbeddedLinux)是指對標(biāo)準(zhǔn)Linux經(jīng)過小型化裁剪處理之后,能夠固化在容量只有幾KB或者幾MB字節(jié)的存儲器芯片或者單片機(jī)中,是適用于特定嵌入式應(yīng)用場合的專用Linux操作系統(tǒng)。嵌入式Linux在目前已經(jīng)開發(fā)成功的嵌入式系統(tǒng)中,約有一半使用的是Linux。這與它自身的優(yōu)良特性是分不開的。嵌入式Linux同Linux一樣,具有低成本、多種硬件平臺支持、優(yōu)異的性能和良好的網(wǎng)絡(luò)支持等優(yōu)點(diǎn)。

嵌入式Linux

嵌入式Linux還在Linux基礎(chǔ)上做了部分改進(jìn),主要的改動有:改善的內(nèi)核結(jié)構(gòu)提高的系統(tǒng)實(shí)時性嵌入式Linux同Linux一樣,也有眾多的版本,其中不同的版本分別針對不同的需要在內(nèi)核等方面加入了特定的機(jī)制。

嵌入式Linux系統(tǒng)交叉開發(fā)環(huán)境

交叉開發(fā)模型主要思想是,首先在宿主機(jī)(Host)上安裝開發(fā)工具,編輯、編譯目標(biāo)板(Target)的Linux引導(dǎo)程序、內(nèi)核和文件系統(tǒng),然后下載到目標(biāo)板上運(yùn)行。通常這種在宿主機(jī)環(huán)境下開發(fā),在目標(biāo)機(jī)上運(yùn)行的開發(fā)模式叫做交叉開發(fā)。交叉開發(fā)模型見圖所示。嵌入式Linux系統(tǒng)交叉開發(fā)環(huán)境交叉開發(fā)Host(宿主機(jī)):通常是硬件資源豐富的PC機(jī)或工作站。編輯、編譯、鏈接等過程在HOST上完成。Target(目標(biāo)機(jī)):即嵌入式設(shè)備,是應(yīng)用程序的最終運(yùn)行平臺。調(diào)試在二者間聯(lián)機(jī)交互進(jìn)行,連接方式:RS232串口,TCP/IP,USB等。Host與Target的差別硬件差別:處理器、存儲能力、外設(shè)等軟件環(huán)境差異:Host上有通用OS,有可視化開發(fā)環(huán)境;Target一般是裸機(jī),無任何軟件資源,無法進(jìn)行開發(fā)調(diào)試。

開發(fā)工具GNU的介紹

GNU(GNU’sNotUnix)項目是自由軟件基金會(FreeSoftwareFoundation)的董事長RichardM.Stallman于1984年發(fā)起,意在軟件開發(fā)團(tuán)體中發(fā)起支持開發(fā)自由軟件的運(yùn)動。

開發(fā)工具GNU的介紹

GNU工具包括:GCC:編譯應(yīng)用程序和內(nèi)核Glibc:工具庫Binutils:工具包make:工程管理器,讀入Makefile文件,按內(nèi)容進(jìn)行編譯

開發(fā)工具GNU的介紹

GNU代碼生成和調(diào)試工具包括:C編譯器gccC++編譯器g++GNU的匯編器asGNU的鏈接器ld二進(jìn)制轉(zhuǎn)換工具(objcopy、bjdump)調(diào)試工具(gdb、gdbserver、kgdb)基于不同硬件平臺的開發(fā)庫。開發(fā)工具GNU的介紹1.GNUBinutils工具

工具集GNUBinutils主要是一套用來構(gòu)造和使用二進(jìn)制代碼所需的工具集。建立嵌入式交叉編譯環(huán)境,GNUBinutils工具包是不可缺少的,沒有Binutils,GNU的C編譯器gcc將無法正常工作。開發(fā)工具GNU的介紹2.編譯器gcc

是GNU的功能強(qiáng)大,性能優(yōu)越的多平臺編譯器,是Linux中最重要的軟件開發(fā)工具。它被成功地移植到不同的處理平臺上。標(biāo)準(zhǔn)的臺式Linux上的gcc是針對IntelCPU的,而ARM系列開發(fā)軟件使用的是針對ARM系列處理器的gcc編譯器、arm-elf-gcc、arm-elf-as及相應(yīng)的GNUBinutils工具集。開發(fā)工具GNU的介紹Gcc的編譯流程使用gcc編譯器編譯C語言程序時,通常會經(jīng)過四個處理階段,即預(yù)處理階段、編譯階段、匯編階段和鏈接階段。gcc是通過文件的后綴來區(qū)別文件的類別,下面的表中給出gcc的部分約定規(guī)則。在使用gcc編譯器時,需要給出一系列調(diào)用參數(shù)和文件名,當(dāng)沒有給出時,gcc將使用缺省參數(shù),gcc基本的用法是:gcc[options][filename]開發(fā)工具GNU的介紹

其中,options就是參數(shù)選項,filename是相關(guān)的文件名稱。常用的選項有:–c:只編譯生成目標(biāo)文件,不鏈接成可執(zhí)行文件。–DMACRO=DEFN:以字符串“DEFN”定義MACRO宏。–E: 只對程序進(jìn)行預(yù)處理。–g: 生成調(diào)試信息,GNU調(diào)試器可利用該信息。–llibrary: 用來指定所使用的庫文件。–ldirectory:為include文件的搜索指定目錄。–ofilename:生成指定的文件名的可執(zhí)行文件。

開發(fā)工具GNU的介紹開發(fā)工具GNU的介紹3.調(diào)試器gdb

gdb是GnuDeBugger的縮寫,是GNUC的用來調(diào)試C和C++程序的調(diào)試工具。開發(fā)者在使用它時,可以了解程序在運(yùn)行時的詳細(xì)情況,如程序的內(nèi)部結(jié)構(gòu)和內(nèi)存等信息。gdb能夠通過完成以下幾個任務(wù)來幫助你查找程序中的錯誤。Linux開發(fā)環(huán)境建立Windows環(huán)境+CygwinWindows環(huán)境+VMWare虛擬機(jī)(安裝RedHat9.0)Linux環(huán)境,推薦RedHat9.0單機(jī)模式(一臺計算機(jī))Cygwin是運(yùn)行于Windows中的一個應(yīng)用程序,它可以使得Linux環(huán)境下的應(yīng)用程序可以在Cygwin環(huán)境下進(jìn)行編譯,即可以在Windows下進(jìn)行編譯。在linux環(huán)境下進(jìn)行Linux開發(fā)Linux開發(fā)環(huán)境建立Linux的程序編輯、編譯、調(diào)試都在Linux環(huán)境進(jìn)行必須采用支持GDB的調(diào)試器(如ADT1000A)才能進(jìn)行調(diào)試,否則只能通過BOOTLOADER進(jìn)行簡單的程序燒寫運(yùn)行等調(diào)試信息的打印可以通過串口完成,使用linux下的minicom超級終端程序(類似于Windows上的超級終端工具)接收并顯示目標(biāo)板傳送的打印信息Linux串口驅(qū)動完成后,可以通過內(nèi)核打印函數(shù)printk向串口打印信息,這是Linux內(nèi)核調(diào)試過程中最有效的手段在Windows+VMWare虛擬機(jī)環(huán)境下進(jìn)行Linux開發(fā)如果需要使用只支持Windows環(huán)境下調(diào)試的調(diào)試器,可以通過在VMWare中安裝linux虛擬機(jī),在該虛擬機(jī)中進(jìn)行編輯、編譯Linux,然后通過網(wǎng)絡(luò)(ftp、nfs、ssh)等手段傳送到Windows中,進(jìn)行調(diào)試,這樣編譯和調(diào)試可以分別在linux和windows環(huán)境下但是是在一臺電腦中完成,它的缺點(diǎn)是系統(tǒng)要求較高,運(yùn)行速度慢。VMWare是運(yùn)行于Windows中的一個應(yīng)用程序,是一個虛擬機(jī),可以在其上安裝多個操作系統(tǒng),相當(dāng)于在Windows上安裝一個虛擬的操作系統(tǒng)。Linux開發(fā)環(huán)境建立Step1安裝主機(jī)Windows+VMWare在VMWare中安裝linux虛擬機(jī)Step2在linux虛擬機(jī)上安裝開發(fā)工具軟件Step3開發(fā)環(huán)境配置(linux)配置網(wǎng)絡(luò):配置IP地址、NFS服務(wù)、防火墻配置NFS:設(shè)置主機(jī)和目標(biāo)機(jī)間的共享目錄Step4配置超級終端(windows)目標(biāo)機(jī)的信息窗口Linux開發(fā)環(huán)境建立在Windows+VMWare虛擬機(jī)環(huán)境下進(jìn)行Linux開發(fā)Linux內(nèi)核的目錄結(jié)構(gòu)Linux內(nèi)核主要由5個子系統(tǒng)組成◆進(jìn)程調(diào)度子系統(tǒng);◆進(jìn)程間通信子系統(tǒng);◆內(nèi)存管理子系統(tǒng);◆虛擬文件子系統(tǒng);◆網(wǎng)絡(luò)接口子系統(tǒng);Linux內(nèi)核的目錄結(jié)構(gòu)linuxDocumentationarchdriversfsincludeinitmmnommulibnetscript有關(guān)內(nèi)核的詳細(xì)文檔硬件體系結(jié)構(gòu)相關(guān)源代碼內(nèi)核中所有設(shè)備驅(qū)動程序所有文件系統(tǒng)的代碼內(nèi)核代碼庫文件的頭文件kernel初始化代碼Linux內(nèi)核的內(nèi)存管理常用庫函數(shù)代碼內(nèi)核的網(wǎng)絡(luò)協(xié)議代碼配置內(nèi)核的一些腳本文件Linux內(nèi)核的arch目錄archbootkernellibmach-s3c2410vmlinux.lds壓縮內(nèi)核啟動引導(dǎo)代碼內(nèi)核起始代碼常用函數(shù)s3c2410平臺相關(guān)代碼核心的連接腳本文件與架構(gòu)和平臺相關(guān)的源代碼都放在arch目錄下移植工作的重點(diǎn)就是移植arch目錄下的文件Linux內(nèi)核移植分三個步驟配置內(nèi)核編譯內(nèi)核下載、運(yùn)行、調(diào)試內(nèi)核Linux內(nèi)核配置工具makeconfig基于文本的最為傳統(tǒng)的配置界面makemenuconfig基于文本選單的配置界面makexconfig基于圖形窗口模式的配置界面編譯Linux內(nèi)核建立依賴關(guān)系makedep編譯內(nèi)核make編譯內(nèi)核makezImage編譯壓縮核心(zImage)編譯生成的Linux映像文件zImage通常保存在arch/arm/boot/目錄下下載、運(yùn)行和調(diào)試內(nèi)核通過調(diào)試器下載內(nèi)核并運(yùn)行通過BOOTLOADER下載內(nèi)核到SDRAM中運(yùn)行通過BOOTLOADER將內(nèi)核燒寫到FLASH中,然后運(yùn)行LinuxBootLoadervivi是韓國MIZI公司提供的一款針對S3C2410芯片的Bootloader。能引導(dǎo)Linux系統(tǒng)的運(yùn)行,編譯完內(nèi)核后,快速下載內(nèi)核和文件系統(tǒng)。Vivi首先通過串口下載內(nèi)核和文件系統(tǒng)網(wǎng)絡(luò)驅(qū)動正常運(yùn)行后,vivi可通過網(wǎng)口下載內(nèi)核和文件系統(tǒng)vivi的軟件架構(gòu)分為三個層次BootLoadervivivivi的工作模式vivi有兩種工作模式,啟動加載模式可以在一段時間后(這個時間可更改)自行啟動Linux內(nèi)核,這是vivi的默認(rèn)模式。在下載模式下,vivi為用戶提供一個命令行接口,通過該接口可以使用vivi提供的一些命令。Vivi的啟動過程(1)

關(guān)閉看門狗

(2)

禁止所有中斷

(3)

初始化system

clock

(4)

初始化串口

(5)

初始化nand

flash相關(guān)的控制寄存器

(6)

把vivi

copy

SDRAM上,最后把pc指向ram

(7)

設(shè)置堆棧

(8)

call

一個叫做main的函數(shù)。這個函數(shù)是c寫的

Vivi的啟動過程main()函數(shù)中調(diào)用若干個初始化的函數(shù)reset_handler()

(clear

memory)

board_init()

(時鐘初始化,I/O配置)mem_map_init()

和mmu_init

(使用nand

flash作啟動設(shè)備,內(nèi)存映射完后,MMU開始工作,初始化cache)

heap_init()

(初始化堆)mtd_init()

初始化MTD設(shè)備(閃存芯片、小型閃存卡、記憶棒等之類的設(shè)備)

init_priv_data()

初始化私有數(shù)據(jù)init_builtin_cmds()

初始化用戶的基本命令,包括boot,

bon,

load,

help

等boot_or_vivi()

用于啟動vivi---等待用戶輸入,有輸入進(jìn)入vivi_shell,沒有輸入,超時后啟動linux

。

至此main結(jié)束

Vivi的啟動過程Vivi常用命令啟動vivi時,在超級終端界面中鍵入任意鍵(除enter外)進(jìn)入vivi命令界面,字符提示為“vivi>”,reset命令復(fù)位Arm9系統(tǒng)help命令顯示開發(fā)板上vivi支持的所有命令,如boothelpVivi常用命令part命令用于對分區(qū)進(jìn)行操作。load命令下載程序到存儲器中(Flash或者RAM中)。param命令用于對bootloader的參數(shù)進(jìn)行操作。boot命令用于引導(dǎo)linuxkernel啟動。bon命令用于對bon分區(qū)進(jìn)行操作。go命令跳轉(zhuǎn)到指定地址處執(zhí)行該地址處的代碼Linux文件系統(tǒng)Linux內(nèi)核移植文件系統(tǒng)是操作系統(tǒng)用于明確磁盤或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu);即在磁盤上組織文件的方法。指文件存在的物理空間。在Linux系統(tǒng)中,每個分區(qū)都是一個文件系統(tǒng),都有自己的目錄層次結(jié)構(gòu)。Linux的最重要特征之一就是支持多種文件系統(tǒng),這樣它更加靈活,并可以和許多其它種操作系統(tǒng)共存。Linux的文件系統(tǒng)是采用的階層式樹狀目錄結(jié)構(gòu),最上層是“/”,然后在下邊創(chuàng)建其它的目錄。文件系統(tǒng)中管理的每個對象(文件或目錄)在Linux中表示為一個inode。inode包含管理文件系統(tǒng)中的對象所需的所有數(shù)據(jù):文件類型、訪問權(quán)限、屬主、時間戳、大小、指向數(shù)據(jù)塊的指針Linux文件系統(tǒng)Linux文件系統(tǒng)文件系統(tǒng)的創(chuàng)建:

這個過程是存儲設(shè)備建立文件系統(tǒng)的過程,一般也被稱為格式化或初始化,通過一些初始化工具來進(jìn)行。一般的情況下每個類型的操作系統(tǒng)都有這方面的工具,也有多功能的第三方工具。在Linux中有mkfs系列工具

掛載(mount):

在Linux中將一個文件系統(tǒng)與一個存儲設(shè)備關(guān)聯(lián)起來的過程稱為掛載(mount)。

◆使用mount命令將一個文件系統(tǒng)附著到當(dāng)前文件系統(tǒng)層次結(jié)構(gòu)中(根)。在執(zhí)行掛載時,要提供文件系統(tǒng)類型、文件系統(tǒng)和一個掛裝點(diǎn)掛載點(diǎn)通常是一個空置的目錄。

◆文件系統(tǒng)只有掛載才能使用。

◆根文件系統(tǒng)是系統(tǒng)啟動時掛載的第一個文件系統(tǒng),其他的文件系統(tǒng)需要在跟文件系統(tǒng)目錄中建立節(jié)點(diǎn)后再掛載。Linux文件系統(tǒng)Linux文件系統(tǒng)Linux內(nèi)核移植虛擬文件系統(tǒng)(VirtualFileSystem)是物理文件系統(tǒng)與服務(wù)之間的一個接口層,它對Linux的每個文件系統(tǒng)的所有細(xì)節(jié)進(jìn)行抽象,使得不同的文件系統(tǒng)在Linux核心以及系統(tǒng)中運(yùn)行的其他進(jìn)程看來,都是相同的。嚴(yán)格說來,VFS并不是一種實(shí)際的文件系統(tǒng)。它只存在于內(nèi)存中,不存在于任何外存空間。VFS在系統(tǒng)啟動時建立,在系統(tǒng)關(guān)閉時消亡。Linux文件系統(tǒng)Linux內(nèi)核移植VirtualFileSystem(虛擬文件系統(tǒng))使得Linux可以支持多個不同的文件系統(tǒng)。由于系統(tǒng)已將Linux文件系統(tǒng)的所有細(xì)節(jié)進(jìn)行了轉(zhuǎn)換,所以Linux核心的其它部分及系統(tǒng)中運(yùn)行的程序?qū)⒖吹浇y(tǒng)一的文件系統(tǒng)。Linux的虛擬文件系統(tǒng)允許用戶同時能透明地安裝許多不同的文件系統(tǒng)。虛擬文件系統(tǒng)是為Linux用戶提供快速且高效的文件訪問服務(wù)而設(shè)計的。常用Linux文件系統(tǒng)Linux系統(tǒng)核心可以支持十多種文件系統(tǒng)類型:JFS、ext、ext2、ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC、romfs等。cramfs是一個壓縮式的只讀文件系統(tǒng),它并不需要一次性地將文件系統(tǒng)中的所有內(nèi)容都解壓縮到內(nèi)存之中,而只是在系統(tǒng)需要訪問某個位置的數(shù)據(jù)的時侯,馬上計算出該數(shù)據(jù)在cramfs中的位置,將其實(shí)時地解壓縮到內(nèi)存之中,然后通過對內(nèi)存的訪問來獲取文件系統(tǒng)中需要讀取的數(shù)據(jù)。cramfs中的解壓縮以及解壓縮之后的內(nèi)存中數(shù)據(jù)存放位置都是由cramfs文件系統(tǒng)本身進(jìn)行維護(hù)的。常用Linux文件系統(tǒng)Linux系統(tǒng)中混合使用Cramfs、YAFFS和Ramfs

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論