www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]學(xué)習(xí)Linux,內(nèi)核常識(shí)都有哪些?

學(xué)習(xí)Linux,內(nèi)核常識(shí)都有哪些?

一、內(nèi)核功能、內(nèi)核發(fā)行版

1、到底什么是操作系統(tǒng)

(1)linux、windows、android、ucos就是操作系統(tǒng);

(2)操作系統(tǒng)本質(zhì)上是一個(gè)程序,由很多個(gè)源文件構(gòu)成,需要編譯連接成操作系統(tǒng)程序(vmlinz、zImage);

(3)操作系統(tǒng)的主要作用就是管理計(jì)算機(jī)硬件,給應(yīng)用程序提供一個(gè)運(yùn)行環(huán)境。

2、操作系統(tǒng)核心功能(管理資源)

(1)內(nèi)存管理

如果沒有操作系統(tǒng),內(nèi)存需要程序自己來管理。譬如在uboot中要使用哪塊內(nèi)存,由程序自己決定的,沒有注冊(cè)也沒有限制。此時(shí)如果程序不小心把同一塊內(nèi)存重復(fù)使用,就會(huì)出現(xiàn)程序邏輯錯(cuò)誤。

有了操作系統(tǒng)之后,操作系統(tǒng)負(fù)責(zé)管控所有的內(nèi)存。應(yīng)用程序需要使用內(nèi)存時(shí),都要向操作系統(tǒng)去申請(qǐng)和注冊(cè),由操作系統(tǒng)的內(nèi)存管理模塊來分配內(nèi)存。這樣好處是可以保證內(nèi)存使用不會(huì)沖突。

(2)進(jìn)程調(diào)度

操作系統(tǒng)下支持多個(gè)應(yīng)用程序同時(shí)運(yùn)行,這是宏觀上的并行。實(shí)際上在單核心CPU上微觀上是不能并行的,宏觀上的并行就是操作系統(tǒng)提供的分時(shí)復(fù)用機(jī)制。操作系統(tǒng)的進(jìn)程調(diào)度模塊負(fù)責(zé)在各個(gè)進(jìn)程之間進(jìn)行切換。

(3)硬件設(shè)備管理

沒有操作系統(tǒng)時(shí),控制任何硬件都要自己寫代碼,有了操作系統(tǒng)后操作系統(tǒng)本身會(huì)去控制各個(gè)硬件,應(yīng)用程序就不用考慮硬件的具體細(xì)節(jié)了。

操作系統(tǒng)的硬件設(shè)備管理模塊就是驅(qū)動(dòng)模塊。

(4)文件系統(tǒng)

文件系統(tǒng)是管理存儲(chǔ)設(shè)備的一種方式。存儲(chǔ)設(shè)備由很多扇區(qū)組成,每個(gè)扇區(qū)有512/1024/2048/4096字節(jié),存儲(chǔ)設(shè)備以扇區(qū)為單位進(jìn)行讀寫。如果沒有文件系統(tǒng),程序要自己去讀寫扇區(qū),就得記得哪個(gè)文件在哪個(gè)扇區(qū)。有了文件系統(tǒng)之后,我們不用再關(guān)注某個(gè)文件在物理磁盤的哪個(gè)扇區(qū),只用關(guān)注文件系統(tǒng)中的目錄和文件名。

3、操作系統(tǒng)擴(kuò)展功能

(1)協(xié)議棧

(2)有用的應(yīng)用程序包

應(yīng)用程序本身不屬于操作系統(tǒng)內(nèi)核的一部分。

應(yīng)用程序是給人用的,面向某種功能的,譬如ping程序用來測(cè)試網(wǎng)絡(luò)是否聯(lián)通,ifconfig程序用來配置網(wǎng)卡。

4、內(nèi)核和發(fā)行版的區(qū)別

(1)內(nèi)核是操作系統(tǒng)內(nèi)核的簡(jiǎn)稱。

內(nèi)核負(fù)責(zé)實(shí)現(xiàn)操作系統(tǒng)的核心功能,內(nèi)核不包括應(yīng)用程序。

因此只有內(nèi)核是無法使用的,因?yàn)樽鋈魏问虑槎际峭ㄟ^相應(yīng)的應(yīng)用程序來完成的。

賣操作系統(tǒng)的人把內(nèi)核和一些常用的應(yīng)用程序打包在一起提供給普通用戶,這就是操作系統(tǒng)的發(fā)行版(也就是普通意義上的操作系統(tǒng))。

(2)內(nèi)核只有一個(gè)(www.kernel.org),發(fā)行版有很多(集成不同的應(yīng)用程序,譬如ubuntu、redhat、suse、centos……)。

二、內(nèi)核和驅(qū)動(dòng)的關(guān)聯(lián)

1、學(xué)習(xí)linux的思路

(1)對(duì)龐大的整體要有個(gè)認(rèn)識(shí)。學(xué)習(xí)路線就是先建立框架和整體,然后逐漸去學(xué)習(xí)各個(gè)細(xì)節(jié)部分,逐步細(xì)化。

(2)對(duì)各分層的作用要清楚。

(3)對(duì)層次間的關(guān)聯(lián)和互相調(diào)用要理解。

2、驅(qū)動(dòng)屬于內(nèi)核的一部分

(1)驅(qū)動(dòng)就是內(nèi)核中的硬件設(shè)備管理模塊,屬于發(fā)展非?;钴S的部分。

(2)驅(qū)動(dòng)工作在內(nèi)核態(tài)(cpu在跑操作系統(tǒng))(與用戶態(tài)(cpu在跑應(yīng)用程序)的區(qū)別:權(quán)限不同)

(3)驅(qū)動(dòng)程序故障可能導(dǎo)致整個(gè)內(nèi)核崩潰。

(4)驅(qū)動(dòng)程序漏洞會(huì)使內(nèi)核不安全。

三、內(nèi)核和應(yīng)用程序、根文件系統(tǒng)的關(guān)聯(lián)

1、應(yīng)用和內(nèi)核的關(guān)系

(1)應(yīng)用程序不屬于內(nèi)核,而是在內(nèi)核之上的;

(2)應(yīng)用程序工作在用戶態(tài),是受限制的;

(3)應(yīng)用程序故障不會(huì)導(dǎo)致內(nèi)核崩潰;

(4)應(yīng)用程序通過內(nèi)核定義的API接口來調(diào)用內(nèi)核工作

(5)總結(jié):應(yīng)用程序是最終目標(biāo),內(nèi)核就是為應(yīng)用程序提供底層資源管理的服務(wù)員

2、內(nèi)核和根文件系統(tǒng)

(1)根文件系統(tǒng)提供根目錄;屬于內(nèi)核?NO!

(2)進(jìn)程1存放在根文件系統(tǒng)中,進(jìn)程1會(huì)使得內(nèi)核態(tài)變?yōu)橛脩魬B(tài)。

(3)內(nèi)核啟動(dòng)最后會(huì)去裝載根文件系統(tǒng);

(4)總結(jié):根文件系統(tǒng)為操作系統(tǒng)啟動(dòng)提供了很多必備的資源,如根目錄、進(jìn)程1。

四、linux內(nèi)核的模塊化設(shè)計(jì)

1、什么是模塊化設(shè)計(jì)

(1)因?yàn)閘inux內(nèi)核很龐大,代碼量很大、東西很多,如果設(shè)計(jì)時(shí)完全設(shè)計(jì)成一體(各個(gè)文件、各個(gè)函數(shù)之間緊耦合),復(fù)雜度超出了人所能理解的范圍。所以模塊化設(shè)計(jì)是一種必要。

(2)模塊化設(shè)計(jì)就是內(nèi)核中各個(gè)功能模塊在代碼上是彼此獨(dú)立的,譬如說調(diào)度系統(tǒng)和內(nèi)存管理系統(tǒng)之間并沒有全局變量的互相引用,甚至函數(shù)互相調(diào)用也很少,就算有也是遵循一個(gè)接口規(guī)范的。模塊化設(shè)計(jì)的目的就是實(shí)現(xiàn)功能模塊的松耦合。

2、模塊化設(shè)計(jì)的體現(xiàn)

(1)配置時(shí)可裁剪。linux內(nèi)核在編譯之前可以進(jìn)行配置,配置時(shí)可以選擇將組成內(nèi)核的成千上萬個(gè)模塊每一個(gè)要或者不要。要了之后還有更多的一些細(xì)節(jié)的配置。

(2)模塊化編譯和安裝。為了操作方便,從靜態(tài)的升級(jí)逐漸變成了動(dòng)態(tài)的升級(jí)(不需要重啟系統(tǒng),更不需要重新燒錄系統(tǒng))。這種動(dòng)態(tài)的升級(jí)也是由模塊化來支持的。

(3)源碼中使用條件編譯。這種在uboot中已經(jīng)見過了。

3、模塊化設(shè)計(jì)的好處

(1)功能可裁剪、靈活性;

(2)可擴(kuò)展性(動(dòng)態(tài)安裝卸載、新硬件支持);

(3)利于協(xié)作;

4、模塊化設(shè)計(jì)是一種普遍性的系統(tǒng)設(shè)計(jì)原則

五、選擇合適版本的內(nèi)核

1、linux內(nèi)核版本變遷簡(jiǎn)史

(1)linux0.01。初版

(2)linux0.11。很多講linux內(nèi)核源代碼解析的書都是以這個(gè)版本為原本來講?!秷D解linux內(nèi)核設(shè)計(jì)的藝術(shù)》

(3)linux2.4。比較接近現(xiàn)代的版本,很多經(jīng)典的書都是以2.4版本內(nèi)核為參照的,譬如《LDD3》。

linux2.4的晚期內(nèi)核在前幾年還會(huì)經(jīng)常碰到有用的。

(4)linux2.6早期。2.6的早期和2.4晚期內(nèi)核挺像的。

(5)linux2.6晚期。2.6的晚期內(nèi)核較早期內(nèi)核有一些改變,尤其是驅(qū)動(dòng)相關(guān)的部分和一些頭文件的位置。2.6的晚期內(nèi)核目前還算是比較主流。

(6)linux3.x 4.x

2、如何選擇合適的內(nèi)核版本

(1)并不是越新版本的內(nèi)核越好;

(2)選擇SoC廠家移植版本會(huì)減少工作量。

3、S5PV210適用的內(nèi)核版本

(1)2.6.35.7 + android2.3/QT4.8.3

(2)3.0.8 + android4.0

4、本課程使用2.6.35.7版本內(nèi)核講解

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉