完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>
標(biāo)簽 > LINUX內(nèi)核
Linux是一種開(kāi)源電腦操作系統(tǒng)內(nèi)核。它是一個(gè)用C語(yǔ)言寫(xiě)成,符合POSIX標(biāo)準(zhǔn)的類(lèi)Unix操作系統(tǒng)。
Linux是一種開(kāi)源電腦操作系統(tǒng)內(nèi)核。它是一個(gè)用C語(yǔ)言寫(xiě)成,符合POSIX標(biāo)準(zhǔn)的類(lèi)Unix操作系統(tǒng)。
Linux最早是由芬蘭黑客 Linus Torvalds為嘗試在英特爾x86架構(gòu)上提供自由免費(fèi)的類(lèi)Unix操作系統(tǒng)而開(kāi)發(fā)的。該計(jì)劃開(kāi)始于1991年,在計(jì)劃的早期有一些Minix 黑客提供了協(xié)助,而今天全球無(wú)數(shù)程序員正在為該計(jì)劃無(wú)償提供幫助。
Linux是一種開(kāi)源電腦操作系統(tǒng)內(nèi)核。它是一個(gè)用C語(yǔ)言寫(xiě)成,符合POSIX標(biāo)準(zhǔn)的類(lèi)Unix操作系統(tǒng)。
Linux最早是由芬蘭黑客 Linus Torvalds為嘗試在英特爾x86架構(gòu)上提供自由免費(fèi)的類(lèi)Unix操作系統(tǒng)而開(kāi)發(fā)的。該計(jì)劃開(kāi)始于1991年,在計(jì)劃的早期有一些Minix 黑客提供了協(xié)助,而今天全球無(wú)數(shù)程序員正在為該計(jì)劃無(wú)償提供幫助。
主要子系統(tǒng)
系統(tǒng)調(diào)用接口
SCI 層提供了某些機(jī)制執(zhí)行從用戶(hù)空間到內(nèi)核的函數(shù)調(diào)用。正如前面討論的一樣,這個(gè)接口依賴(lài)于體系結(jié)構(gòu),甚至在相同的處理器家族內(nèi)也是如此。SCI 實(shí)際上是一個(gè)非常有用的函數(shù)調(diào)用多路復(fù)用和多路分解服務(wù)。在 。/linux/kernel 中您可以找到 SCI 的實(shí)現(xiàn),并在 。/linux/arch 中找到依賴(lài)于體系結(jié)構(gòu)的部分。
進(jìn)程管理
進(jìn)程管理的重點(diǎn)是進(jìn)程的執(zhí)行。在內(nèi)核中,這些進(jìn)程稱(chēng)為線程,代表了單獨(dú)的處理器虛擬化(線程代碼、數(shù)據(jù)、堆棧和 CPU寄存器)。在用戶(hù)空間,通常使用進(jìn)程 這個(gè)術(shù)語(yǔ),不過(guò) Linux 實(shí)現(xiàn)并沒(méi)有區(qū)分這兩個(gè)概念(進(jìn)程和線程)。內(nèi)核通過(guò) SCI 提供了一個(gè)應(yīng)用程序編程接口(API)來(lái)創(chuàng)建一個(gè)新進(jìn)程(fork、exec 或 Portable Operating System Interface [POSⅨ] 函數(shù)),停止進(jìn)程(kill、exit),并在它們之間進(jìn)行通信和同步(signal 或者 POSⅨ 機(jī)制)。
進(jìn)程管理還包括處理活動(dòng)進(jìn)程之間共享 CPU 的需求。內(nèi)核實(shí)現(xiàn)了一種新型的調(diào)度算法,不管有多少個(gè)線程在競(jìng)爭(zhēng) CPU,這種算法都可以在固定時(shí)間內(nèi)進(jìn)行操作。這種算法就稱(chēng)為 O⑴ 調(diào)度程序,這個(gè)名字就表示它調(diào)度多個(gè)線程所使用的時(shí)間和調(diào)度一個(gè)線程所使用的時(shí)間是相同的。O⑴ 調(diào)度程序也可以支持多處理器(稱(chēng)為對(duì)稱(chēng)多處理器或 SMP)。您可以在 。/linux/kernel 中找到進(jìn)程管理的源代碼,在 。/linux/arch 中可以找到依賴(lài)于體系結(jié)構(gòu)的源代碼。
內(nèi)存管理
內(nèi)核所管理的另外一個(gè)重要資源是內(nèi)存。為了提高效率,如果由硬管理虛擬內(nèi)存,內(nèi)存是按照所謂的內(nèi)存頁(yè) 方式進(jìn)行管理的(對(duì)于大部分體系結(jié)構(gòu)來(lái)說(shuō)都是 4KB)。Linux 包括了管理可用內(nèi)存的方式,以及物理和虛擬映射所使用的硬件機(jī)制。
不過(guò)內(nèi)存管理要管理的可不止 4KB緩沖區(qū)。Linux 提供了對(duì) 4KB緩沖區(qū)的抽象,例如 slab 分配器。這種內(nèi)存管理模式使用 4KB緩沖區(qū)為基數(shù),然后從中分配結(jié)構(gòu),并跟蹤內(nèi)存頁(yè)使用情況,比如哪些內(nèi)存頁(yè)是滿(mǎn)的,哪些頁(yè)面沒(méi)有完全使用,哪些頁(yè)面為空。這樣就允許該模式根據(jù)系統(tǒng)需要來(lái)動(dòng)態(tài)調(diào)整內(nèi)存使用。
為了支持多個(gè)用戶(hù)使用內(nèi)存,有時(shí)會(huì)出現(xiàn)可用內(nèi)存被消耗光的情況。由于這個(gè)原因,頁(yè)面可以移出內(nèi)存并放入磁盤(pán)中。這個(gè)過(guò)程稱(chēng)為交換,因?yàn)轫?yè)面會(huì)被從內(nèi)存交換到硬盤(pán)上。內(nèi)存管理的源代碼可以在 。/linux/mm 中找到。
虛擬文件系統(tǒng)
虛擬文件系統(tǒng)(VFS)是 Linux 內(nèi)核中非常有用的一個(gè)方面,因?yàn)樗鼮槲募到y(tǒng)提供了一個(gè)通用的接口抽象。VFS 在 SCI 和內(nèi)核所支持的文件系統(tǒng)之間提供了一個(gè)交換層。
VFS 在用戶(hù)和文件系統(tǒng)之間提供了一個(gè)交換層
在 VFS 上面,是對(duì)諸如 open、close、read 和 write 之類(lèi)的函數(shù)的一個(gè)通用 API 抽象。在 VFS 下面是文件系統(tǒng)抽象,它定義了上層函數(shù)的實(shí)現(xiàn)方式。它們是給定文件系統(tǒng)(超過(guò) 50 個(gè))的插件。文件系統(tǒng)的源代碼可以在 。/linux/fs 中找到。
文件系統(tǒng)層之下是緩沖區(qū)緩存,它為文件系統(tǒng)層提供了一個(gè)通用函數(shù)集(與具體文件系統(tǒng)無(wú)關(guān))。這個(gè)緩存層通過(guò)將數(shù)據(jù)保留一段時(shí)間(或者隨即預(yù)先讀取數(shù)據(jù)以便在需要是就可用)優(yōu)化了對(duì)物理設(shè)備的訪問(wèn)。緩沖區(qū)緩存之下是設(shè)備驅(qū)動(dòng)程序,它實(shí)現(xiàn)了特定物理設(shè)備的接口。
深入Linux內(nèi)核:進(jìn)程調(diào)度的核心邏輯與實(shí)現(xiàn)細(xì)節(jié)
在Linux系統(tǒng)中,進(jìn)程調(diào)度就像一位精明的“CPU管理員”——它決定著哪個(gè)進(jìn)程能優(yōu)先使用CPU,多久切換一次進(jìn)程,如何平衡系統(tǒng)響應(yīng)速度與資源利用率。小到...
2025-12-24 標(biāo)簽:LinuxLINUX內(nèi)核 4.4k 0
Linux內(nèi)核日志玩明白了嗎?printk調(diào)試神器全解析
前言:做Linux驅(qū)動(dòng)開(kāi)發(fā)或內(nèi)核調(diào)試的朋友,一定對(duì)printk不陌生,但你真的會(huì)用它嗎?為什么同樣是調(diào)試RK3588內(nèi)核,別人能精準(zhǔn)捕捉關(guān)鍵錯(cuò)誤,你卻被...
2025-12-19 標(biāo)簽:驅(qū)動(dòng)開(kāi)發(fā)LINUX內(nèi)核RK3588 957 0
Linux內(nèi)核printk日志級(jí)別全解析:從參數(shù)解讀到實(shí)操配置
一、開(kāi)篇:一個(gè)命令引出的核心問(wèn)題 在?Linux?終端執(zhí)行?cat /proc/sys/kernel/printk,你可能會(huì)看到這樣的輸出: 這串?dāng)?shù)字不...
2025-11-20 標(biāo)簽:LinuxLINUX內(nèi)核 1.8k 0
Linux內(nèi)核編譯失敗?移動(dòng)硬盤(pán)和虛擬機(jī)的那些事兒
Linux開(kāi)發(fā)中,編譯內(nèi)核是一項(xiàng)常見(jiàn)任務(wù),但不少開(kāi)發(fā)者在移動(dòng)硬盤(pán)或虛擬機(jī)環(huán)境下嘗試時(shí)會(huì)遭遇失敗。本文將簡(jiǎn)要探討這些問(wèn)題的成因,并介紹一些虛擬機(jī)使用技巧,...
2025-04-11 標(biāo)簽:硬盤(pán)虛擬機(jī)LINUX內(nèi)核 1.1k 0
在某些場(chǎng)景中,我們希望在Linux服務(wù)器(CentOS / RHEL)上的同一網(wǎng)卡分配來(lái)自不同VLAN的多個(gè)ip。這可以通過(guò)啟用VLAN標(biāo)記接口來(lái)實(shí)現(xiàn),...
使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實(shí)時(shí) Linux 內(nèi)核
盟通技術(shù)干貨構(gòu)建實(shí)時(shí)Linux內(nèi)核簡(jiǎn)介盟通技術(shù)干貨Motrotech如果需要在Linux中實(shí)現(xiàn)實(shí)時(shí)計(jì)算性能,進(jìn)而有效地將Linux轉(zhuǎn)變?yōu)镽TOS,那么大...
2024-04-12 標(biāo)簽:UbuntuLINUX內(nèi)核preempt-rt 5k 0
eBPF動(dòng)手實(shí)踐系列三:基于原生libbpf庫(kù)的eBPF編程改進(jìn)方案簡(jiǎn)析
在上一篇文章《eBPF動(dòng)手實(shí)踐系列二:構(gòu)建基于純C語(yǔ)言的eBPF項(xiàng)目》中,我們初步實(shí)現(xiàn)了脫離內(nèi)核源碼進(jìn)行純C語(yǔ)言eBPF項(xiàng)目的構(gòu)建。libbpf庫(kù)在早期...
2024-03-19 標(biāo)簽:C語(yǔ)言LINUX內(nèi)核RPM 2k 0
IC設(shè)計(jì)中值得解決的小問(wèn)題(一)
數(shù)字前端設(shè)計(jì)流程中,.lib 后綴的文件通常是 Synopsys Liberty 文件。這是一種描述單元時(shí)序、功耗等參數(shù)的文本文件。
2024-03-13 標(biāo)簽:IC設(shè)計(jì)VIMLINUX內(nèi)核 2.2k 0
在前一節(jié)中,我們學(xué)習(xí)了buddy伙伴關(guān)系系統(tǒng),它適用于申請(qǐng)連續(xù)的大塊物理內(nèi)存;而有些時(shí)候,經(jīng)常需要申請(qǐng)和釋放單個(gè)頁(yè)幀。
2024-02-20 標(biāo)簽:計(jì)數(shù)器CacheLINUX內(nèi)核 1.4k 0
GDB是一個(gè)功能強(qiáng)大的源代碼級(jí)調(diào)試工具,它提供了多種基本功能,幫助程序員** **更好地理解程序的運(yùn)行機(jī)制和定位問(wèn)題** **。
2024-01-28 標(biāo)簽:C++語(yǔ)言LINUX內(nèi)核GDB調(diào)試 2.5k 0
0
0
【「Linux 設(shè)備驅(qū)動(dòng)開(kāi)發(fā)(第 2 版)」閱讀體驗(yàn)】充分發(fā)揮硬件潛力
標(biāo)簽:LinuxLINUX內(nèi)核 900 0
0
0
【「Linux 設(shè)備驅(qū)動(dòng)開(kāi)發(fā)(第 2 版)」閱讀體驗(yàn)】Linux內(nèi)核平臺(tái)抽線共和設(shè)備驅(qū)動(dòng)程序
標(biāo)簽:LinuxLINUX內(nèi)核 2651 0
0
0
【「Linux 設(shè)備驅(qū)動(dòng)開(kāi)發(fā)(第 2 版)」閱讀體驗(yàn)】Linux內(nèi)核開(kāi)發(fā)基礎(chǔ)
標(biāo)簽:LINUX內(nèi)核 472 0
0
0
學(xué)以致用 虛位以待|玄鐵RV學(xué)院課程正式上線,玄鐵與PLCT實(shí)驗(yàn)室邀您創(chuàng)“芯”未來(lái)
標(biāo)簽:RTOSLINUX內(nèi)核RISC-V 389 0
全國(guó)產(chǎn)!TI Sitara系列AM64x(雙核ARM)核心板硬件資料/原理圖/接口資源立即下載
類(lèi)別:電子資料 2023-02-01 標(biāo)簽:嵌入式arm開(kāi)發(fā)板LINUX內(nèi)核
Linux內(nèi)核的裁剪以及移植過(guò)程的基本原理和詳細(xì)方法資料概述立即下載
類(lèi)別:嵌入式技術(shù)論文 2018-08-31 標(biāo)簽:LinuxARM920TLinux內(nèi)核
Linux內(nèi)核源代碼情景分析(全冊(cè)高清帶書(shū)簽)pdf下載立即下載
類(lèi)別:嵌入式開(kāi)發(fā) 2018-01-04 標(biāo)簽:源代碼linux內(nèi)核
REDIce-Linux--靈活的實(shí)時(shí)Linux內(nèi)核立即下載
類(lèi)別:嵌入式開(kāi)發(fā) 2017-11-08 標(biāo)簽:linuxlinux內(nèi)核
Linux內(nèi)核結(jié)構(gòu)詳解立即下載
類(lèi)別:嵌入式開(kāi)發(fā) 2017-11-08 標(biāo)簽:linuxlinux內(nèi)核
類(lèi)別:嵌入式開(kāi)發(fā) 2017-11-07 標(biāo)簽:linux內(nèi)核
類(lèi)別:嵌入式開(kāi)發(fā) 2017-11-07 標(biāo)簽:linuxlinux內(nèi)核
詳解Linux內(nèi)核中進(jìn)程上下文和中斷上下文立即下載
類(lèi)別:嵌入式開(kāi)發(fā) 2017-11-01 標(biāo)簽:linux內(nèi)核操作模式
Linux內(nèi)核函數(shù)的魯棒性關(guān)聯(lián)立即下載
類(lèi)別:嵌入式開(kāi)發(fā) 2017-10-31 標(biāo)簽:linux內(nèi)核
嵌入式Linux下的LCD驅(qū)動(dòng)程序設(shè)計(jì)方案解析立即下載
類(lèi)別:嵌入式開(kāi)發(fā) 2017-10-30 標(biāo)簽:lcdlinux內(nèi)核設(shè)備驅(qū)動(dòng)程序
深入剖析ARM64異常處理:開(kāi)發(fā)者必須掌握的底層核心邏輯
在ARM64架構(gòu)的開(kāi)發(fā)領(lǐng)域,異常處理絕非單純的理論知識(shí)點(diǎn),而是直接決定系統(tǒng)穩(wěn)定性、調(diào)試效率和功能實(shí)現(xiàn)的關(guān)鍵技術(shù)。無(wú)論是嵌入式開(kāi)發(fā)、Linux內(nèi)核移植,還...
2025-12-24 標(biāo)簽:ARM嵌入式開(kāi)發(fā)LINUX內(nèi)核 1.2k 0
7月10日,2024年慕尼黑上海電子展(Electronica China)圓滿(mǎn)落下帷幕,該展會(huì)是亞洲極具影響力電子行業(yè)展覽,經(jīng)過(guò)20多年的發(fā)展,已成為...
飛凌嵌入式4G/5G網(wǎng)卡自管理工具,你的守護(hù)進(jìn)程專(zhuān)家
為了幫助用戶(hù)解決無(wú)法高效、穩(wěn)定地管理嵌入式設(shè)備上的無(wú)線模塊的問(wèn)題,飛凌嵌入式精心打造了 4G/5G網(wǎng)卡自管理工具,旨在以更智能化的管理策略和更靈活的配置...
歡創(chuàng)播報(bào) 華為宣布鴻蒙內(nèi)核已超越Linux內(nèi)核
1 華為宣布鴻蒙內(nèi)核已超越Linux內(nèi)核 ? 6月21日,在華為開(kāi)發(fā)者大會(huì)上, HarmonyOS NEXT(鴻蒙NEXT)——真正獨(dú)立于安卓和iOS的...
2024-06-27 標(biāo)簽:華為LINUX內(nèi)核鴻蒙 1.8k 0
算能全系列RISC-V處理器進(jìn)入PLCT實(shí)驗(yàn)室6.6內(nèi)核維護(hù)工程
近日,PLCT實(shí)驗(yàn)室RISC-V內(nèi)核維護(hù)(RVLK)小隊(duì)確認(rèn),將與算能軟件團(tuán)隊(duì)緊密合作,計(jì)劃在2024年10月之前完成算能SG2380、SG204x、S...
2024-05-22 標(biāo)簽:處理器LINUX內(nèi)核RISC-V 2.4k 0
Android 15的首個(gè)開(kāi)發(fā)者預(yù)覽版現(xiàn)已發(fā)布
Android 15 的首個(gè)開(kāi)發(fā)者預(yù)覽版現(xiàn)已發(fā)布,以便各位開(kāi)發(fā)者能與我們通力協(xié)作,打造更優(yōu)秀的 Android 平臺(tái)。
2024-03-12 標(biāo)簽:AndroidLINUX內(nèi)核GPU芯片 2k 0
超大規(guī)模數(shù)據(jù)中心采用三星FDP SSD降低存儲(chǔ)成本
主機(jī)數(shù)據(jù)放置技術(shù)一直是超大規(guī)模數(shù)據(jù)中心關(guān)注的話(huà)題,因?yàn)樗绊懰渴鸬腟SD的總體擁有成本(TCO)。
2024-03-07 標(biāo)簽:QoSSSDLINUX內(nèi)核 3.7k 0
?外部IO中斷介紹本篇文章以萬(wàn)象奧科HD-RK3568-IOT評(píng)估板中GPIO30為例,介紹Linux內(nèi)核中斷的注冊(cè)方法,使用中斷的方式檢測(cè)GPIO30...
2023-11-03 標(biāo)簽:GPIO評(píng)估板LINUX內(nèi)核 1.7k 0
Linus Torvalds發(fā)布首個(gè)Linux6.6候選版
Linus Torvalds 宣布了即將發(fā)布的 Linux 6.6 內(nèi)核系列的首個(gè) Release Candidate (RC)開(kāi)發(fā)里程碑的公共測(cè)試版本...
2023-09-15 標(biāo)簽:LinuxLINUX內(nèi)核 1.9k 0
高性能、低延遲的InfiniBand式網(wǎng)絡(luò)并不是唯一的選擇
正如我們喜歡指出的那樣,當(dāng)談到高性能、低延遲的 InfiniBand 式網(wǎng)絡(luò)時(shí),Nvidia 并不是唯一的選擇,自 20 世紀(jì) 90 年代末 Infin...
2023-08-27 標(biāo)簽:以太網(wǎng)人工智能InfiniBand 3.1k 0
換一批
編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語(yǔ)言教程專(zhuān)題
| 電機(jī)控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動(dòng)駕駛 | TI | 瑞薩電子 |
| BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
| 無(wú)刷電機(jī) | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
| 直流電機(jī) | PID | MOSFET | 傳感器 | 人工智能 | 物聯(lián)網(wǎng) | NXP | 賽靈思 |
| 步進(jìn)電機(jī) | SPWM | 充電樁 | IPM | 機(jī)器視覺(jué) | 無(wú)人機(jī) | 三菱電機(jī) | ST |
| 伺服電機(jī) | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網(wǎng) | 國(guó)民技術(shù) | Microchip |
| Arduino | BeagleBone | 樹(shù)莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
| 示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
| OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
| C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
| Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
| DuerOS | Brillo | Windows11 | HarmonyOS |