日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 技術(shù)學(xué)院 > 技術(shù)前線
[導(dǎo)讀]Linux內(nèi)核是一個(gè)操作系統(tǒng)(OS)內(nèi)核,本質(zhì)上定義為類Unix。它用于不同的操作系統(tǒng),主要是以不同的Linux發(fā)行版的形式。Linux內(nèi)核是第一個(gè)真正完整且突出的免費(fèi)和開源軟件示例。Linux 內(nèi)核是第一個(gè)真正完整且突出的免費(fèi)和開源軟件示例,促使其廣泛采用并得到了數(shù)千名開發(fā)人員的貢獻(xiàn)。

Linux內(nèi)核是一個(gè)操作系統(tǒng)(OS)內(nèi)核,本質(zhì)上定義為類Unix。它用于不同的操作系統(tǒng),主要是以不同的Linux發(fā)行版的形式。Linux內(nèi)核是第一個(gè)真正完整且突出的免費(fèi)和開源軟件示例。Linux 內(nèi)核是第一個(gè)真正完整且突出的免費(fèi)和開源軟件示例,促使其廣泛采用并得到了數(shù)千名開發(fā)人員的貢獻(xiàn)。

Linux內(nèi)核?是操作系統(tǒng)的核心組件,作為開源軟件由Linus Torvalds于1991年創(chuàng)建,負(fù)責(zé)管理硬件資源并為應(yīng)用程序提供基礎(chǔ)服務(wù)。

?Linux內(nèi)核的定義與起源?

Linux內(nèi)核是計(jì)算機(jī)操作系統(tǒng)最底層的核心程序,采用C語言編寫并遵循POSIX標(biāo)準(zhǔn),具備類Unix特性。它由芬蘭程序員Linus Torvalds在1991年首次發(fā)布,并依托全球開發(fā)者社區(qū)協(xié)作維護(hù),成為開源軟件領(lǐng)域的典范。??

?核心功能特性?

Linux內(nèi)核通過以下機(jī)制實(shí)現(xiàn)硬件與軟件的協(xié)同工作:

?進(jìn)程管理?:采用層次化進(jìn)程結(jié)構(gòu),通過調(diào)度算法分配CPU時(shí)間片,支持多任務(wù)并發(fā)執(zhí)行。???

?內(nèi)存管理?:提供虛擬內(nèi)存機(jī)制,實(shí)現(xiàn)進(jìn)程間內(nèi)存隔離與共享,優(yōu)化物理內(nèi)存使用效率。??

?設(shè)備驅(qū)動(dòng)?:抽象硬件操作細(xì)節(jié),支持超過80%的常見硬件設(shè)備的即插即用。??

?文件系統(tǒng)?:基于虛擬文件系統(tǒng)(VFS)架構(gòu),兼容ext4、XFS等數(shù)十種文件格式。??

?網(wǎng)絡(luò)協(xié)議棧?:內(nèi)置TCP/IP協(xié)議族,支撐互聯(lián)網(wǎng)通信基礎(chǔ)功能。??

Linux 內(nèi)核(英語:Linux kernel),是 Linux 操作系統(tǒng)的內(nèi)核,以 C 語言寫成,符合 POSIX 標(biāo)準(zhǔn),以 GNU 通用公共許可證發(fā)布。Linux 最早是由芬蘭黑客林納斯·托瓦茲為嘗試在英特爾 x86 架構(gòu)上提供自由免費(fèi)的類 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 內(nèi)核是在 GNU 通用公共許可證第 2 版之下發(fā)布的(加上一些非自由固件、blob 與各種非自由許可證)。

貢獻(xiàn)者遍布世界各地,日常開發(fā)在 Linux 內(nèi)核郵件列表。

源代碼

一般情況下 Linux 內(nèi)核源代碼位于 /usr/src/linux 目錄下。

/include子目錄包含了建立內(nèi)核代碼時(shí)所需的大部分包含文件,這個(gè)模塊利用其他模塊重建內(nèi)核。/init 子目錄包含了內(nèi)核的初始化代碼,這是內(nèi)核工作的開始的起點(diǎn)。/arch 子目錄包含了所有硬件結(jié)構(gòu)特定的內(nèi)核代碼。如:i386,alpha/drivers 子目錄包含了內(nèi)核中所有的設(shè)備驅(qū)動(dòng)程序,如塊設(shè)備和SCSI設(shè)備。/fs 子目錄包含了所有的文件系統(tǒng)的代碼。如:ext2,vfat等。/net 子目錄包含了內(nèi)核的連網(wǎng)代碼。/mm 子目錄包含了所有內(nèi)存管理代碼。/ipc 子目錄包含了進(jìn)程間通信代碼。/kernel 子目錄包含了主內(nèi)核代碼。內(nèi)核程序

編譯完成新內(nèi)核后,會(huì)生成幾個(gè)文件,這些文件是內(nèi)核啟動(dòng)所需要的,這里簡單介紹一下。

vmlinux,編譯出來的最原始的內(nèi)核文件,沒有壓縮,位于源碼根目錄下。該內(nèi)核文件不能用來啟動(dòng)系統(tǒng)。

vmlinuz,這個(gè)就是我們要引導(dǎo)的內(nèi)核,它一般是一個(gè)鏈接文件,位于根目錄下。真正的文件位于/boot 文件夾下。z 表示壓縮的內(nèi)核,vm 表示 virtual memory 的意思。linux 支持虛擬內(nèi)存,可利用硬盤空間作為虛擬內(nèi)存使用。在編譯內(nèi)核時(shí),通過 make zImage 或 make bzImage 生成 zImage 或 bzImage 原始?jí)嚎s內(nèi)核文件,這些內(nèi)核文件位于 /usr/src/linux-2.6.23.9/arch/i386/boot 目錄下;接著我們會(huì)把它拷貝到 /boot 目錄下并改名為 vmlinuz;最后在根目錄下創(chuàng)建一個(gè)到該文件的同名鏈接文件。bzImage 表示 big zImage 的意思,zImage 是老式的內(nèi)核文件格式,在新的內(nèi)核版本中已不使用了,現(xiàn)在生成的內(nèi)核是 bzImage 格式的內(nèi)核文件。這兩種內(nèi)核文件的區(qū)別是,zImage 解壓縮內(nèi)核到低端內(nèi)存中(第一個(gè)640K),bzImage 解壓縮內(nèi)核到高端內(nèi)存中(1M以上)

這兩個(gè)內(nèi)核文件都是使用 gzip 軟件壓縮的,但文件頭部內(nèi)嵌有 gzip 解壓縮代碼,能在啟動(dòng)時(shí)自動(dòng)解壓縮內(nèi)核。使用 gzip 是不能正常解壓內(nèi)核的。

在源碼根目錄生成的 vmlinux 是一個(gè)沒有壓縮的內(nèi)核文件。

如果在 /boot 目錄下存在多個(gè)版本的內(nèi)核文件,則可用 vmlinuz-xxxx 的方式命名。但根目錄下的 vmlinuz 鏈接文件名一般不變。

initrd-x.x.x.img,initrd 是"initial ramdisk"的簡寫。作用是在內(nèi)核引導(dǎo)前加載相應(yīng)的硬件模塊,為內(nèi)核引導(dǎo)做準(zhǔn)備。比如,使用的是 scsi 硬盤,而內(nèi)核 vmlinuz 中并沒有這個(gè) scsi 硬件的驅(qū)動(dòng),那么在裝入 scsi 模塊之前,內(nèi)核不能加載根文件系統(tǒng),但 scsi 模塊存儲(chǔ)在根文件系統(tǒng)的/lib/modules 下。為了解決這個(gè)問題,可以引導(dǎo)一個(gè)能夠讀實(shí)際內(nèi)核的 initrd 內(nèi)核并用 initrd 修正 scsi 引導(dǎo)問題。initrd 可使用 mkinitrd 工具創(chuàng)建。

System.map,內(nèi)核符號(hào)映射文件,位于/boot 目錄下,與內(nèi)核名要對應(yīng)。內(nèi)核編譯完成后,在源碼根目錄下就會(huì)生成一個(gè) System.map 文件。我們要把它拷貝到/boot 目錄下并改成相關(guān)的名稱。如內(nèi)核名為 vmlinuz-2.6.23.9,則這個(gè)內(nèi)核符號(hào)映射文件就應(yīng)該命名為 System.map-2.6.23.9。

運(yùn)行空間

Linux 系統(tǒng)由用戶空間和內(nèi)核空間兩部分組成。

內(nèi)核空間與用戶空間是程序執(zhí)行的兩種不同狀態(tài),通過系統(tǒng)調(diào)用和硬件中斷能夠完成從用戶空間到內(nèi)核空間的轉(zhuǎn)移。

用戶空間分為:

User Applications(用戶應(yīng)用程序)GNU C Library (glibc 即 c 運(yùn)行庫)內(nèi)核空間分為:

System Call Interface(系統(tǒng)調(diào)用接口)Kernel(內(nèi)核)Architecture Dependent Kernel Code(架構(gòu)體系內(nèi)核代碼)子系統(tǒng)

Linux內(nèi)核主要由五個(gè)子系統(tǒng)組成:進(jìn)程調(diào)度,內(nèi)存管理,虛擬文件系統(tǒng),網(wǎng)絡(luò)接口,進(jìn)程間通信。

進(jìn)程調(diào)度(SCHED):控制進(jìn)程對CPU的訪問。當(dāng)需要選擇下一個(gè)進(jìn)程運(yùn)行時(shí),由調(diào)度程序選擇最值得運(yùn)行的進(jìn)程??蛇\(yùn)行進(jìn)程實(shí)際上是僅等待CPU資源的進(jìn)程,如果某個(gè)進(jìn)程在等待其它資源,則該進(jìn)程是不可運(yùn)行進(jìn)程。Linux使用了比較簡單的基于優(yōu)先級(jí)的進(jìn)程調(diào)度算法選擇新的進(jìn)程。

內(nèi)存管理(MM):允許多個(gè)進(jìn)程安全的共享主內(nèi)存區(qū)域。Linux 的內(nèi)存管理支持虛擬內(nèi)存,即在計(jì)算機(jī)中運(yùn)行的程序,其代碼,數(shù)據(jù),堆棧的總量可以超過實(shí)際內(nèi)存的大小,操作系統(tǒng)只是把當(dāng)前使用的程序塊保留在內(nèi)存中,其余的程序塊則保留在磁盤中。必要時(shí),操作系統(tǒng)負(fù)責(zé)在磁盤和內(nèi)存間交換程序塊。內(nèi)存管理從邏輯上分為硬件無關(guān)部分和硬件有關(guān)部分。硬件無關(guān)部分提供了進(jìn)程的映射和邏輯內(nèi)存的對換;硬件相關(guān)的部分為內(nèi)存管理硬件提供了虛擬接口。

虛擬文件系統(tǒng)(VFS):隱藏了各種硬件的具體細(xì)節(jié),為所有的設(shè)備提供了統(tǒng)一的接口,VFS提供了多達(dá)數(shù)十種不同的文件系統(tǒng)。虛擬文件系統(tǒng)可以分為邏輯文件系統(tǒng)和設(shè)備驅(qū)動(dòng)程序。邏輯文件系統(tǒng)指 Linux 所支持的文件系統(tǒng),如 ext2,fat 等,設(shè)備驅(qū)動(dòng)程序指為每一種硬件控制器所編寫的設(shè)備驅(qū)動(dòng)程序模塊。

網(wǎng)絡(luò)接口(NET):提供了對各種網(wǎng)絡(luò)標(biāo)準(zhǔn)的存取和各種網(wǎng)絡(luò)硬件的支持。網(wǎng)絡(luò)接口可分為網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)驅(qū)動(dòng)程序。網(wǎng)絡(luò)協(xié)議部分負(fù)責(zé)實(shí)現(xiàn)每一種可能的網(wǎng)絡(luò)傳輸協(xié)議。網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序負(fù)責(zé)與硬件設(shè)備通訊,每一種可能的硬件設(shè)備都有相應(yīng)的設(shè)備驅(qū)動(dòng)程序。

進(jìn)程間通訊(IPC):支持進(jìn)程間各種通信機(jī)制。處于中心位置的進(jìn)程調(diào)度,所有其它的子系統(tǒng)都依賴它,因?yàn)槊總€(gè)子系統(tǒng)都需要掛起或恢復(fù)進(jìn)程。一般情況下,當(dāng)一個(gè)進(jìn)程等待硬件操作完成時(shí),它被掛起;當(dāng)操作真正完成時(shí),進(jìn)程被恢復(fù)執(zhí)行。例如,當(dāng)一個(gè)進(jìn)程通過網(wǎng)絡(luò)發(fā)送一條消息時(shí),網(wǎng)絡(luò)接口需要掛起發(fā)送進(jìn)程,直到硬件成功成功地完成消息的發(fā)送,當(dāng)消息被成功的發(fā)送出去以后,網(wǎng)絡(luò)接口給進(jìn)程返回一個(gè)代碼,表示操作的成功或失敗。其他子系統(tǒng)以相似的理由依賴于進(jìn)程調(diào)度。

?架構(gòu)設(shè)計(jì)特點(diǎn)?

Linux采用?單內(nèi)核(Monolithic Kernel)?架構(gòu)設(shè)計(jì),具有以下技術(shù)優(yōu)勢:

所有核心服務(wù)運(yùn)行在內(nèi)核空間,避免頻繁上下文切換帶來的性能損耗。

通過模塊化設(shè)計(jì)實(shí)現(xiàn)動(dòng)態(tài)加載驅(qū)動(dòng)和功能擴(kuò)展,平衡性能與靈活性。??

支持從嵌入式設(shè)備到超級(jí)計(jì)算機(jī)的跨平臺(tái)運(yùn)行,涵蓋ARM、x86等多種指令集架構(gòu)。??

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(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)勢抑制與過流保護(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ǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(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燈具的正常工作,還可能對周圍電子設(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)閉