日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

Linux使用啟動(dòng)加載中文件系統(tǒng)

出處:互聯(lián)網(wǎng)    發(fā)布于:2011-09-04 12:24:15

    Linux 操作系統(tǒng)是UNIX 操作系統(tǒng)的一種克隆系統(tǒng)。它誕生于1991 年的10 月5 日(這是次正式向外公布的時(shí)間)。以后借助于Internet 網(wǎng)絡(luò),并經(jīng)過全世界各地計(jì)算機(jī)愛好者的共同努力下,現(xiàn)已成為今天世界上使用多的一種UNIX 類操作系統(tǒng),并且使用人數(shù)還在迅猛增長.Linux 操作系統(tǒng)的誕生、發(fā)展和成長過程始終依賴著以下五個(gè)重要支柱:UNIX 操作系統(tǒng)、MINIX 操作系統(tǒng)、GNU 計(jì)劃、POSIX 標(biāo)準(zhǔn)和Internet 網(wǎng)絡(luò) 。

    Linux是的自由電腦操作系統(tǒng)內(nèi)核。它是一個(gè)用C語言和匯編語言寫成,符合POSIX標(biāo)準(zhǔn)的類Unix操作系統(tǒng)。Linux早是由芬蘭黑客林納斯.托瓦茲(Linus B. Torvalds)為嘗試在英特爾x86架構(gòu)上提供自由的類Unix操作系統(tǒng)而開發(fā)的。該計(jì)劃開始于1991年,林納斯·托瓦茲當(dāng)時(shí)在Usenet新聞組comp.os.minix登載帖子,這份的帖子標(biāo)示著Linux計(jì)劃的正式開始。在計(jì)劃的早期有一些Minix黑客提供了協(xié)助,而今天無數(shù)程序員正在為該計(jì)劃無償提供幫助。   技術(shù)上說Linux是一個(gè)內(nèi)核。“內(nèi)核”指的是一個(gè)提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。一個(gè)內(nèi)核不是一套完整的操作系統(tǒng)。一套基于Linux內(nèi)核的完整操作系統(tǒng)叫作Linux操作系統(tǒng),或是GNU/Linux。

  大家看了上面Linux 操作系統(tǒng)應(yīng)該對(duì)它有一定的了解,現(xiàn)在就讓我來介紹Linux啟動(dòng)過程中文件系統(tǒng)的加載是怎樣實(shí)現(xiàn)的。一些初學(xué)者可以看看,這也是我不在嵌入式那個(gè)版上發(fā)文的原因。對(duì)于高手來說,如果你們不吝嗇時(shí)間的話,希望也能幫我看看,指點(diǎn)一下其中的錯(cuò)誤。這也是我到這里來和大家交流的目的。

   在完成了模塊驅(qū)動(dòng)后,就要掛載文件系統(tǒng)了。我一直以為 :

  我編譯的內(nèi)核是采用了initrd的模式,設(shè)備是在RAM DISK文件系統(tǒng)下的/linuxrc腳本程序加載的,因此在這上面浪費(fèi)了很多時(shí)間。不過對(duì)initrd算是有了比較深的理解,這個(gè)等一下再說。

  其實(shí),內(nèi)核掛載的個(gè)文件系統(tǒng)就是nand flash中的root.cramfs,關(guān)于掛載相關(guān)的代碼mount_root()在文件/fs/super.c里面。隨后將devcie文件系統(tǒng)掛載到/dev目錄下面,代碼為mount_devfs_fs()。因?yàn)椴捎昧薾oninitrd的模式,因此文件系統(tǒng)的掛載就完畢了,init進(jìn)程繼續(xù)往下走到一直到運(yùn)行:

  if (execute_command)execve(execute_command,argv_init,envp_init);這里init切換成另外一個(gè)線程,運(yùn)行程序在execute_command中定義。execute_command是vivi傳進(jìn)來的命令行,啟動(dòng)過程中可以看到:

  Kernel command line: noinitrd root=/dev/bon/2 init=/linuxrc console=ttyS0因此execute_command對(duì)應(yīng)/linuxrc,因此程序運(yùn)行根目錄下的腳本linuxrc,在我的系統(tǒng)中他對(duì)應(yīng):

  #!/bin/shecho "mount /etc as ramfs"/bin/mount -n -t ramfs ramfs /etc/bin/cp -a /mnt/etc/* /etcecho "re-create the /etc/mtab entries"/bin/mount -f -t cramfs -o remount,ro /dev/mtdblock/3 //bin/mount -f -t ramfs ramfs /etcexec /sbin/init這個(gè)就不解釋了(是啟動(dòng)bash),大家可以在linux下把root.cramfs掛載到/mnt下面看看內(nèi)容就知道了:

  mount –t cramfs –o loop root.cramfs /mnt/cramfs這里其實(shí)想告訴大家,我們?nèi)绾螌?shí)現(xiàn)開機(jī)自動(dòng)加載一些運(yùn)行程序,現(xiàn)在應(yīng)該很明白了吧,寫個(gè)腳本就OK了。(其實(shí)是我以前一直在yy這個(gè)問題)講一下initrd(initail ram disk)原理我就不說了,陳詞濫調(diào)了,網(wǎng)上多的很。我將一點(diǎn)我的理解,initrd包含了部分module的驅(qū)動(dòng),從一定程度上分擔(dān)了內(nèi)核的大小,因?yàn)閱?dòng)的時(shí)候這兩者還是要同時(shí)被load到memory中去的;因此更重要的是它可以保證內(nèi)核的可移植性,對(duì)不同的硬件平臺(tái),只要提供不同的initrd文件系統(tǒng),而內(nèi)核可以保持不變。因此,initrd的主要作用是加載一些復(fù)雜的與平臺(tái)相關(guān)的硬件,如SCSI硬盤驅(qū)動(dòng),網(wǎng)卡驅(qū)動(dòng)(像無盤工作站,使用nfs)等。



  

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!