tag linux-kernel

標籤
貢獻12
63
05:50 AM · Nov 05 ,2025

@linux-kernel / 博客 RSS 訂閱

bin的技術小屋 - 從內核世界透視 mmap 內存映射的本質(原理篇)

本文基於內核 5.4 版本源碼討論 之前有不少讀者給筆者留言,希望筆者寫一篇文章介紹下 mmap 內存映射相關的知識體系,之所以遲遲沒有動筆,是因為 mmap 這個系統調用看上去簡單,實際上並不簡單,可以説是非常複雜的一個系統調用。 如果想要給大家把 mmap 背後的技術本質,正確地,清晰地還原出來,還是有一定難度的,因為 mmap 這一個系統調用就能撬動起整個內存管理系統,文件系統,頁表體系,缺

內存管理 , mmap , linux-kernel , 操作系統 , Linux

收藏 評論

MarkZhu - Envoy/Istio 連接生命週期與臨界異常 —— 不知所謂的連接 REST

簡介 本文目標:説明 Envoy 連接控制相關參數作用。以及在臨界異常情況下的細節邏輯。目標是如何減少連接異常而引起的服務訪問失敗,提高服務成功率。 近期為解決一個生產環境中的 Istio Gateway 連接偶爾 Reset 問題,研究了一下 Envoy/Kernel 在 socket 連接關閉上的事。其中包括 Envoy 的連接管理相關參數和 Linux 系統網絡編程的細節。寫本文以備忘。

linux-kernel , socket , tcp , istio

收藏 評論

Veronicaaa - Linux內核安全子系統簡介(下)

查看原文 《Linux內核安全子系統簡介(上)》 資源隔離 資源隔離是一個歷史悠久又異常有效的安全手段。 從操作系統的角度來看,它對各個進程的管理實際上就是一個隔離。每個進程都擁有從0開始的連續一大片地址空間可以使用,但實際上在物理地址上,各個進程卻被分割開來。 在Linux系統下,早期比較出名的資源隔離手段是chroot。Linux用户可以創建一個虛擬的根文件系統,在其中部署軟件,再通過chro

linux-kernel , 操作系統 , 內核 , Linux , 安全

收藏 評論

Listoosh - Linux內核源碼相關操作整理

轉自:Linux內核源碼相關操作整理 Linux內核開發過程中,大部分對源碼的操作都是通過源碼中提供的Makefile腳本完成的。 如在源碼根目錄下單獨使用一個“make”來編譯源碼;用“make install”來安裝內核;用“make clean”來清理編譯過程產生的文件。 下面介紹Makefile腳本提供了哪些功能: (在Linux源碼目錄下執行“make help”可以看

linux-kernel , 雲計算 , 操作系統 , 源碼分析 , c

收藏 評論

MarkZhu - 網絡包的內核漂流記 Part 1 - 圖解網絡包接收流程

注,原文來自 https://blog.mygraphql.com/zh... 。如你看到的轉載圖片不清,請回到原文。 目錄 目錄 《網絡包的內核漂流記》系列介紹 風格、樣式、本文的交互閲讀方式 📖 ISO 網絡模型 網絡包接收流程概述 網絡包接收步驟 初始化與配置 IRQ 處理 SoftIRQ 中加載網絡包到內存 S

bpf , linux-kernel , network

收藏 評論

Veronicaaa - Linux內核安全子系統簡介(上)

查看原文 Linux內核中包含了多個安全子系統,它們之間相互獨立又有着千絲萬縷的聯繫,導致人們對它們往往有一種霧裏看花的感覺。在這篇文章裏,我們對Linux內核中的安全子系統做一個簡單的分析,算是一個入門。 Linux內核的安全子系統大概包括下面幾個: 訪問控制(AC,Access Control),它是最常見也是最重要的安全機制。AC主要是要管理Linux下的一個主體(如進程)到底對一個客體

linux-kernel , 操作系統 , 內核 , Linux , 安全

收藏 評論

bin的技術小屋 - 從 Linux 內核角度探秘 JDK MappedByteBuffer

本文涉及到的內核源碼版本為: 5.4 ,JVM 源碼為:OpenJDK17,RocketMQ 源碼版本為:5.1.1 在之前的文章《一步一圖帶你深入剖析 JDK NIO ByteBuffer 在不同字節序下的設計與實現》 中,筆者為大家詳細剖析了 JDK Buffer 的整個設計體系,從總體上來講,JDK NIO 為每一種 Java 基本類型定義了對應的 Buffer 類(boolean 類型除外

jdk17 , rocketmq , linux-kernel , jvm虛擬機 , 後端

收藏 評論

GousterCloud - 掌握Linux虛擬網絡設備:從基礎到應用的全面指南

在現代計算環境中,尤其是雲計算☁️、容器化📦和微服務架構🏗️大行其道的時代,瞭解和掌握Linux虛擬網絡設備變得極為重要。本文將深入探討Linux虛擬網絡設備的世界,帶你瞭解它們是什麼、包含哪些類型、為什麼需要它們,以及如何在應用開發中充分利用它們。 1. 什麼是Linux虛擬網絡設備? 🌐 Linux虛擬網絡設備是一種存在於軟件中的網絡通信接口,它模擬了物理網絡設備的功能,但完全在Lin

linux-kernel , 網絡傳輸協議

收藏 評論

user_zsXbv7Bi - 如何在 Mac M1 Pro 上 debug Linux Kernel | 基於 Ubuntu 24 工具鏈和 QEMU

在 MacOS 上直接編譯 Linux Kernel 在我看來並不是一個很好的選擇: 我不喜歡 MacOS 的第三方包管理工具 brew 我不希望在沒有隔離的情況下安裝一堆我不瞭解的工具 或者説,在 Ubuntu 上調試 Linux Kernel 才是一個更誘人的選擇: apt 生態很好 基於 Ubuntu gcc 工具鏈編譯 Linux Kernel 社區討論更多,支持更完善 於

linux-kernel , qemu , gdb , macos , Linux

收藏 評論

銀翼Neal - linux中kfifo的無鎖隊列實現解讀

簡介 kfifo是linux內核中的一個模塊。 在單消費者,單生產者情況下,可以達到不加鎖也能保證線程安全的效果。 路徑 linux/lib/kfifo.c,鏈接直達:https://github.com/torvalds/linux/blob/master/lib/kfifo.c linux/include/linux/kfifo.h,鏈接直達:https://github.com/

嵌入式 , linux-kernel

收藏 評論

bin的技術小屋 - 一文聊透 Linux 缺頁異常的處理 —— 圖解 Page Faults

本文基於內核 5.4 版本源碼討論 在前面兩篇介紹 mmap 的文章中,筆者分別從原理角度以及源碼實現角度帶着大家深入到內核世界深度揭秘了 mmap 內存映射的本質。從整個 mmap 映射的過程可以看出,內核只是在進程的虛擬地址空間中尋找出一段空閒的虛擬內存區域 vma 然後分配給本次映射而已。 vma = vm_area_alloc(mm); vma-vm_start = add

內存管理 , linux-kernel , 內核 , Linux , 後端

收藏 評論

逆襲的足球 - Kernel Compilation Kernel Module System Call Implementation

Kernel Compilation, Kernel Module, and System Call Implementation 1 Introduction The objective of this assignment is to familiarize yourself with the Linux kernel source code. Specifically, you will:

linux-kernel , 內核 , c

收藏 評論

bin的技術小屋 - MappedByteBuffer VS FileChannel:從內核層面對比兩者的性能差異

本文基於 Linux 內核 5.4 版本進行討論 自上篇文章《從 Linux 內核角度探秘 JDK MappedByteBuffer》 發佈之後,很多讀者朋友私信我説,文章的信息量太大了,其中很多章節介紹的內容都是大家非常想要了解,並且是頻繁被搜索的內容,所以根據讀者朋友的建議,筆者決定將一些重要的章節內容獨立出來,更好的方便大家檢索。 關於 MappedByteBuffer 和 FileChan

linux-kernel , JDK , JAVA

收藏 評論

MarkZhu - eBPF 求證坊間傳聞:mmap + Java Safepoint 可導致整個 JVM 服務卡頓?

概述 Java 支持好幾種文件讀取方法,本文要説的是小眾的 mmap(MappedByteBuffer) 以及它與 Safepoint、JVM 服務卡頓之間的關係。本文嘗試用 eBPF 等分析方法,去證明具體環境下,問題的存在與否。 審誤和發佈本文時,我才是二陽後活過來數小時而已,寫了數週的文章實在不想再拖延發布了。如文章有錯漏,還請多多包涵和指正。 引 Java 服務卡頓,是 Java 世界永恆

linux-kernel , jvm

收藏 評論

飛騰開發者 - 基於飛騰騰雲S2500的Apache部署及調優指南

【寫在前面】飛騰開發者平台是基於飛騰自身強大的技術基礎和開放能力,聚合行業內優秀資源而打造的。該平台覆蓋了操作系統、算法、數據庫、安全、平台工具、虛擬化、存儲、網絡、固件等多個前沿技術領域,包含了應用使能套件、軟件倉庫、軟件支持、軟件適配認證四大板塊,旨在共享尖端技術,為開發者提供一個涵蓋多領域的開發平台和工具套件。點擊這裏開始你的技術升級之旅吧 本文分享至飛騰開發者平台《基於飛騰騰雲S2500

服務器 , linux-kernel , Linux , apache

收藏 評論

MarkZhu - 如何測量進程級別或容器級別的 IO 延遲

概述 IO 延遲問題幾乎是每個生產系統都會或多或少遇到的問題。雖然現在 NVMe + SSDs 已經可以到達 10Gbytes/s 的呑吐量,價格也非常親民。但 IO 延遲問題不會消失。因為: 一些基於網絡的的存儲方案,如 Ceph,天然地有不穩定性 SSD / RAIN Controller 本身的不穩定性 在 Linux 下,傳統地,我們有 iostat / sar 等等工具可以看系統

linux-kernel , 運維 , 內核

收藏 評論

bin的技術小屋 - 從內核世界透視 mmap 內存映射的本質(源碼實現篇)

本文基於內核 5.4 版本源碼討論 通過上篇文章 《從內核世界透視 mmap 內存映射的本質(原理篇)》的介紹,我們現在已經非常清楚了 mmap 背後的映射原理以及它的使用方法,其核心就是在進程虛擬內存空間中分配一段虛擬內存出來,然後將這段虛擬內存與磁盤文件映射起來,整個 mmap 系統調用就結束了。 而在 mmap 內存映射的整個過程中,最為核心且複雜燒腦的環節其實不是內存映射的邏輯,而是虛擬內

內存管理 , mmap , linux-kernel , 操作系統 , Linux

收藏 評論

Veronicaaa - 從AMD64到 RISC-V、LoongArch、ARM64,向你介紹deepin的多架構適配之路

全文引述 longlong 在 WHLUG 上的演講,故存在口語化表達。本文僅代表個人觀點和立場。 deepin 23 作為 deepin 20 的後繼版本,最大的改變之一就是添加了多架構支持:從原本只支持 AMD64 架構,到目前支持AMD64、RISC-V、LoongArch(新世界)、ARM64 多個CPU架構平台。 目前 deepin 23 已經發布了AMD64 架構的 Stable 鏡像

linux-kernel , 龍芯 , risc-v , Linux , deepin

收藏 評論

飛騰開發者 - SPECweb2009調優指南

【寫在前面】飛騰開發者平台是基於飛騰自身強大的技術基礎和開放能力,聚合行業內優秀資源而打造的。該平台覆蓋了操作系統、算法、數據庫、安全、平台工具、虛擬化、存儲、網絡、固件等多個前沿技術領域,包含了應用使能套件、軟件倉庫、軟件支持、軟件適配認證四大板塊,旨在共享尖端技術,為開發者提供一個涵蓋多領域的開發平台和工具套件。點擊這裏開始你的技術升級之旅吧 本文分享至飛騰開發者平台《SPECweb2009

服務器 , linux-kernel , 運維 , Linux , 網絡

收藏 評論

飛騰開發者 - KVM虛擬化系統解決方案(二)--QEMU/KVM的高級功能和用法

【寫在前面】飛騰開發者平台是基於飛騰自身強大的技術基礎和開放能力,聚合行業內優秀資源而打造的。該平台覆蓋了操作系統、算法、數據庫、安全、平台工具、虛擬化、存儲、網絡、固件等多個前沿技術領域,包含了應用使能套件、軟件倉庫、軟件支持、軟件適配認證四大板塊,旨在共享尖端技術,為開發者提供一個涵蓋多領域的開發平台和工具套件。點擊這裏開始你的技術升級之旅吧 本文分享至飛騰開發者平台《FT-2000+/64

虛擬化 , linux-kernel , 運維 , Linux , kvm

收藏 評論

送南陽馬生序 - Cubieboard2(四) 系統構建 —— 基於 mainline

1 環境準備 1.1 編譯環境準備 1)配置編譯環境的幾大要素: (1)OS 平台選擇基於微軟的 WSL(Windows Subsystem for Linux)的 Ubuntu 22.04(見其它文章); (2)讀卡器+內存卡識別採用 usbipd(見其它文章); (3)交叉編譯工具鏈採用 arm-linux-gnueabihf-gcc; 2)

linux-kernel , Linux

收藏 評論

ff73c7e3-f5ae-44e7-82ff-ddef0f28eced - Laravel/Lumen 優化包 - 註解注入kernel自動配置

背景 因大量的kernel立commands註冊和調度配置信息,不同時段的多人員開發,造成git衝突 註冊和調度信息過多,造成維護困難 安裝 composer require qklin/laravel-kernel-plus config/app.php 'providers' = [ ... Qklin\Kernel\Plus\KernelPlusProvider::c

composer , lumen , linux-kernel , laravel , 優化

收藏 評論

Datenlord - 虛擬 RDMA 設備驅動實現(一):環境配置與Linux內核模塊初探

1、導論 在當今數據以前所未有的速度和規模產生、傳輸和處理的時代,系統性能的每一個環節都面臨着極致的考驗。從高性能計算集羣到大規模分佈式存儲,從實時金融交易到低延遲的雲服務,對高效數據交換的需求日益迫切。然而,傳統的網絡通信方式,儘管成熟穩定,其固有的處理開銷和多次數據拷貝,在這些追求極致性能的場景下,往往成為難以逾越的瓶頸。 1.1 什麼是 RDMA?為什麼需要它? RDMA (Remote D

linux-kernel , linux編程 , Linux

收藏 評論