Linux驱动
文章平均质量分 91
一口Linux
《从零开始学ARM》作者,长期分享嵌入式、linux、网络、arm知识。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
fs4412 I2C驱动基于Cortex-A9,mpu6050裸机程序,驱动,I2C架构,有这一篇够了
本文基于三星Cortex-A9架构,Exynos4412讲解I2C原理、以及基于I2C的mpu6050陀螺仪的数据读取实例(包括在裸机模式下数据的读取以及基于Linux驱动的读取)。还会分析Linux内核I2C架构,篇幅过长,绝对干货。裸机篇本篇首先详细讲解I2C时序,然后讲解如何基于三星I2C控制实现裸机读取从设备信息方法。前言I2C(Inter-Integrated Circuit)总线(也称 IIC 或 I2C) 是有PHILIPS公司开发的两线式串行总线,用于连接微控制器及外围设备,是微电子原创 2020-08-24 18:52:31 · 1778 阅读 · 5 评论
-
16.从0学arm,基于Cortex-A9 ADC裸机驱动详解
前言在嵌入式开发中,ADC应用比较频繁,本文主要讲解ADC的基本原理以及如何编写基于ARM的裸机程序和基于Linux的驱动程序。ARM架构:Cortex-A9Linux内核:3.14在讲述ADC之前,我们需要先了解什么是模拟信号和数字信号。模拟信号主要是与离散的数字信号相对的连续的信号。模拟信号分布于自然界的各个角落,如每天温度的变化,而数字信号是人为的抽象出来的在时间上不连续的信号。电学上的模拟信号是主要是指幅度和相位都连续的电信号,此信号可以被模拟电路进行各种运算,如放大,相加,相乘等。模原创 2020-08-23 09:04:00 · 4357 阅读 · 1 评论
-
Linux驱动|你确定你真的搞懂字符设备号的管理?
为方便验证代码,彭老师从内核中将字符设备号申请注册的核心代码单独拎出来,去掉一些内核特定函数,每一个字符设备都需要设备号,Linux内核通过字符设备号来区分设备的唯一标识。主设备号:506,次设备号基值:4、个数4、区间:[4-7],那么就会和字符设备cdev4冲突,从而申请失败。原创 2026-04-12 16:45:29 · 341 阅读 · 0 评论 -
整理的嵌入式Linux驱动面试题,拿去背吧!
定义:是一种描述硬件信息的结构化数据(.dts 文件,编译为.dtb),包含 CPU、内存、外设的型号、地址、引脚等信息。解决的问题:替代传统 Linux 的 “板级代码(board.c)”,将硬件信息与内核代码分离,实现 “一套内核适配多硬件”(避免为不同板修改内核)。// 示例:获取节点"led@0x12340000"的"gpio"属性// 查找节点// 读取u32类型属性定义:MMU 是 CPU 内的硬件单元,负责虚拟地址到物理地址的转换,提供内存保护。虚拟内存管理。原创 2026-01-11 08:56:56 · 1135 阅读 · 0 评论 -
粉丝提问:在驱动里面,想使用socket发送数据,有demo可以参考嘛?
粉丝提问:在驱动里面,想使用socket发送数据,有demo可以参考嘛?原创 2025-12-26 22:38:13 · 682 阅读 · 0 评论 -
瑞芯微 | RK3568设备树文件整理
摘要:本文介绍了RK3568平台Android开发中设备树源文件(DTS)的作用与层级结构。主要分析了四个关键DTS文件:rk3568.dtsi(SoC基础配置)、rk3568-evb.dtsi(评估板通用设计)、rk3568-pinctrl.dtsi(GPIO引脚配置)和rk3568-evb1-ddr4-v10.dtsi(具体开发板硬件映射),并通过摄像头OV13850和音频芯片RK809的实例说明设备树配置方法。最后提供了获取RK3568摄像头开发资料的途径。原创 2025-09-28 10:31:36 · 2018 阅读 · 3 评论 -
Linux rootfs:如何开机就自动添加某个用户?
项目开发需求,需要开机后就自动创建某个用户+密码厂家提供的sdk,只有adduser命令,该命令添加用户时,会有终端交互,需要手动输入2次密码,所以无法通过简单脚本方式创建。要实现自动填充密码,可以借助工具expect,但是该工具移植还需要依赖tcl库外加产品存储空间比较有限,本着能省就省原则,彭老师选择了另外一种方法,就是直接修改rootfs的shadow、passwd文件。原创 2025-03-09 22:19:52 · 681 阅读 · 0 评论 -
zynq QSPI flash分区设置&启动配置
它们支持许多ioctl调用,用于擦除擦除块,将其标记为不良或检查擦除块是否不良,获取有关MTD设备的信息等。则认为读到了有效文件尾部,记录有效文件长度,然后根据该长度,复制成最终文件,该文件就是我们所需要的最终文件。每个分区大小结合要固化的程序,合理分配,既要考虑后面程序升级需要预留足够空间,也不要太大,造成浪费。这是旧版界面,而sysfs界面提供了更多信息。代表的是同一个MTD分区,但是**/dev/mtd0,/dev/mtd0ro。但是根据厂家提供的sdk,编译出的镜像重启后,文件系统的内容都会还原,原创 2024-12-03 15:57:25 · 2380 阅读 · 0 评论 -
如何使用gpio模拟mdio通信?
实际项目开发中,由于设计原因,会将phy的mdio引脚连接到SoC的2个空闲gpio上,这样就无法通过Gmac自有的架构实现修改phy,因此只能通过GPIO模拟的方式实现MDIO,好在Linux支持MDIO via GPIO功能。该功能需要用到内核驱动mdio-bitbang.c和mdio-gpio.c。平台:复旦微kernel 版本:phy芯片yt8521phy连接到gmac0mdio总线连接到:gpioc 2portc 3。原创 2024-11-22 22:29:25 · 2176 阅读 · 0 评论 -
瑞芯微-I2S | 音频驱动调试基本命令和工具-基于rk3568
基于Linux嵌入式设备常用调试方法很多,本文一口君把调试语音用到的工具和方法给大家做一个简单的介绍。原创 2024-04-01 21:32:05 · 3697 阅读 · 1 评论 -
嵌入式软件开发人员有必要学习系统移植的知识吗?【ppt获取见文末】
用户只需要一条命令就能制作所需要的uboot、kernel、文件系统,而书中除了ARM汇编、裸机开发等知识,还涉及到系统移植的一些知识点。可以说要想成一个资深的底层工程师,这些知识都是必须掌握的。视频中配套开发板使用的是讯为的exynos4412全能板。将很多系统移植的软件包、制作工具等都封装在sdk中,我个人觉得,要想真正的理解和掌握嵌入式系统,而且虽然厂家提供的sdk封装的已经非常好了,为了让粉丝更好的学习我的新书里面的知识,作为使用者,几乎不用考虑这方面的内容,我觉得只要有时间,随时都可以学习,原创 2024-01-14 19:23:21 · 822 阅读 · 0 评论 -
Linux系统内核概述
单内核体系设计、但充分借鉴了微内核设计体系的优点,为内核引入模块化机制。kernel内核核心,一般为 bzImage通常在 /boot 目录下,名称为 vmlinuz-VERSION-RELEASEkernel object内核对象,一般放置于 /lib/modules/VERSION-RELEASE/[ ] ==> N ==> 不编译进内核[M] ==> M ==> 编译为模块文件[*] ==> Y ==> 编译进内核辅助文件(ramdisk)initrdinitramfs。原创 2022-11-26 21:26:35 · 6575 阅读 · 5 评论 -
几道简单的Linux驱动相关面试题,你看你会几题?
中断:是指CPU在执行程序的过程中,出现了某些突发事件时CPU必须暂停执行当前的程序,转去处理突发事件,处理完毕后CPU又返回源程序被中断的位置并继续执行。中断发生后,ARM核的操作步骤可以总结为4大步3小步。GPIO是相对于芯片本身而言的,如某个管脚是芯片的GPIO脚,则该脚可作为输入或输出高或低电平使用,当然某个脚具有复用的功能,即可做GPIO也可做其他用途。原创 2022-10-24 19:55:21 · 5000 阅读 · 0 评论 -
Linux内核 RTC时间架构
上一篇文章我们给大家讲解了基于瑞芯微rk3568平台芯片hym8563驱动的移植,本文给大家详细讲解Linux内核的时间子系统。《》原创 2022-10-12 21:41:30 · 2490 阅读 · 5 评论 -
Linux驱动|rtc-hym8563移植笔记
RTC:实时时钟的缩写是(Real_Time Clock)。RTC 是集成电路,通常称为时钟芯片。HYM8563是一款低功耗CMOS实时时钟/日历芯片,由武汉昊昱公司设计生产。它提供一个可编程的时钟输出,一个中断输出和一个掉电检测器,所有的地址和数据都通过I2C总线接口串行传递。最大总线速度为400Kbits/s,每次读写数据后,内嵌的字地址寄存器会自动递增。原创 2022-09-27 21:48:16 · 6008 阅读 · 2 评论 -
Linux驱动小技巧 | 利用DRIVER_ATTR实现调用内核函数
1. 前言很多朋友在调试驱动的时候,都会遇到这样一个场景:修改一个参数,然后调用某个内核中的函数。比如将某个gpio的值拉高/拉低,修改某个寄存器的值等等。如果每一个参数都通过字符设备的ioctl接口,增加对应的cmd,会比较麻烦。而内核提供了DRIVER_ATTR这个宏,可以帮助我们实现快速实现这个需求。下面一口君通过一个简单的实例,带着大家一步步讲解。2. DRIVER_ATTR定义该宏定义的文件如下:include/linux/device.h#define DRIVER_ATTR原创 2022-01-24 23:19:02 · 1918 阅读 · 0 评论 -
Linux驱动 | 从0写一个设备树节点实例
前言设备树是每一个Linux驱动工程师都必须掌握的一个知识点,很多粉丝留言说,只会修改设备树,还有就是对设备树如何填写表示一头雾水。其实设备树的使用并没有大家想像的那么复杂,对于大部分工程师来说,只要会修改即可。在学习设备树之前,大家一定要搞清楚什么是platform总线,请详细学习下面这篇文章:《手把手教Linux驱动10-platform总线详解》关于设备树理论部分内容请学习下面这篇文章:《手把手教linux驱动11-linux设备驱动统一模型》关于驱动基础文章,可以去B站学习一口君的入门原创 2022-01-17 20:00:39 · 3206 阅读 · 0 评论 -
需要多久才能看完linux内核源码?
内核代码大小Linux内核分为CPU调度、内存管理、网络和存储四大子系统,针对硬件的驱动成百上千。代码的数量更是大的惊人。看看内核代码量的统计。从图中可以看出,2020年1月份,内核的代码量大约是2千6百万行。按照一天一万行的速度,也需要2600天,也需要7年多。这还是建立在所有单次都认识,所有代码逻辑看了的都懂,而且都不忘记的基础上。实际上即使我们真的看完了,几年后内核又会有非常大的变化,可以说一辈子都看不完Linux内核的代码。linux 0.11的内核源码,结合下面这本书,我花原创 2021-12-29 22:43:34 · 3248 阅读 · 0 评论 -
Linux嵌入式所有知识点-思维导图-【一口君吐血奉献】
嵌入式学习知识点汇总原创 2021-09-22 22:50:13 · 9681 阅读 · 12 评论 -
Linux驱动|cdev_init、cdev_alloc区别
这两个函数是字符设备初始化相关的内核函数。要想了解这两个函数,必须要知道字符设备的架构,以及字符设备创建的流程。关于字符设备可以参考下面这篇文章《手把手教Linux驱动3-之字符设备架构详解,有这篇就够了》一、字符设备架构二、字符设备创建的流程三、函数功能和定义1. cdev_init()原型void cdev_init(struct cdev *cdev, const struct file_operations *fops)功能参数/** * cdev_init原创 2021-09-14 19:19:46 · 3823 阅读 · 3 评论 -
Linux input 子系统详解
1. 模块概述1.1.相关资料和代码研究drivers/input/include/uapi/linux/input-event-codes.h2. 模块功能linux核心的输入框架3. 模块学习3.1.概述Linux输入设备种类繁杂,常见的包括触摸屏、键盘、鼠标、摇杆等;这些输入设备属于字符设备,而linux将这些设备的共同特性抽象出来,Linux input 子系统就产生了。3.2.软件架构输入子系统是由设备驱动层(input driver)、输入核心层(input core)、输原创 2021-09-05 09:43:57 · 3324 阅读 · 0 评论 -
从0学Linux驱动第一期视频已经录制完毕,资料全部奉送
历时4个多月,第一期Linux驱动视频录制完毕,一共32期,现在全部同步到了B站。如果你觉得视频对你有用,建议大家多多点赞,投投免费硬币,算是对我辛苦的劳动的认可。视频中ppt、代码、ubuntu环境请扫描下面二维码,回复:ubuntu,即可获得一、楔子第一次发布教学视频,走了些弯路,也有很多不足,有很多收获。录制视频之后才发现,这个事情实在太耗费精力了,除了要构思讲课内容、制作PPT、还要编写测试程序验证知识点,视频中代码都是我一个字母一个字母敲出来的,有的代码我还在视频中现场原创 2021-07-19 22:59:07 · 1300 阅读 · 7 评论 -
Linux内核信号SIGIO使用实例讲解
一、信号1. 基本概念信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。例如键盘输入中断按键(^C),它的发生在程序执行过程中是不可预测的。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。硬件异常也能产生信号,例如被零除、无效内存引用(test里产生的就是这种错误)等。这些条件通常先由内核硬件原创 2021-07-11 22:45:56 · 6063 阅读 · 0 评论 -
呕心沥血整理的的嵌入式学习路线
曾经是某见的教学总监,我带出来的学生也有大几千了,基本都从事linux相关工作。网上看了很多的嵌入式学习路线,有的还凑活,有的纯粹是打广告卖板子,有的东拼西凑,简直是嵌入式劝退指南。大致给你梳理一下我从事的一个嵌入式的课程培训体系吧。基础1. linux基本操作:个人建议只要会一些基本的操作就行了,不需要太深入的学习每一个命令,用到的时候会去搜索就行了。需要掌握的知识如下:环境的搭建;Linux目录结构;文件类型;基本目录操作,文件操作,vim,ifconfig,ping,cd,cp,m原创 2020-09-10 19:39:53 · 34015 阅读 · 16 评论 -
鸿蒙2.0都来了,一起把环境搭建起来!
首款鸿蒙平板6月2日发布。这是一个非常值得庆贺的事情。针对华为发布的鸿蒙系统,网上评论褒贬不一,有吹捧的,有无脑黑的。在这里一口君就不做评价了,但是有2点:对任何一个新兴事物,我们都要保持最旺盛的求知欲,在自己没有亲自实践就妄下评论的行为是缺乏智慧和不负责任的。废话不多说,让我们一起搭建一个鸿蒙的运行环境,来一窥神秘的鸿蒙。HarmonyOS 简介HarmonyOS鸿蒙操作系统,是面向万物互联时代的全场景分布式操作系统。OpenHarmony在传统的单设备系统能力的基础上,创造性地提出了原创 2021-05-31 13:25:09 · 2021 阅读 · 0 评论 -
Linux模块文件如何编译到内核和独立编译成模块?
一、 问题描述1. 内核目录Linux内核源代码非常庞大,随着版本的发展不断增加。它使用目录树结构,并且使用Makefile组织配置、编译。关于linux内核的学习,可以参考华清远见《Linux内核修炼培训班》的课程大纲。初次接触Linux内核,好仔细阅读顶层目录的readme文件,它是Linux内核的概述和编译命令说明。readme的说明侧重于X86等通用的平台,对于某些特殊的体系结构,可能有些特殊的说明。顶层目录的Makefile是整个内核配置编译的核心文件,负责组织目录树中子目录的编译管理,原创 2021-05-17 22:56:19 · 8229 阅读 · 3 评论 -
Linux信号量(3)-内核信号量
概念Linux内核的信号量在概念和原理上和用户态的System V的IPC机制信号量是相同的,不过他绝不可能在内核之外使用,因此他和System V的IPC机制信号量毫不相干。如果有一个任务想要获得已经被占用的信号量时,信号量会将其放入一个等待队列(它不是站在外面痴痴地等待而是将自己的名字写在任务队列中)然后让其睡眠。当持有信号量的进程将信号释放后,处于等待队列中的一个任务将被唤醒(因为队列中可能不止一个任务),并让其获得信号量。这一点与自旋锁不同,处理器可以去执行其它代码。应用场景由于争用信号量原创 2020-11-03 21:45:29 · 1020 阅读 · 1 评论 -
是时候深入了解Linux的系统结构了
什么是 Linux ?如果你以前从未接触过Linux,可能就不清楚为什么会有这么多不同的Linux发行版。在查看Linux软件包时,你肯定被发行版、LiveCD和GNU之类的术语搞晕过。初次进入Linux世界会让人觉得不那么得心应手。在开始学习命令和脚本之前,本章将为你稍稍揭开Linux系统的神秘面纱。首先,Linux可划分为以下四部分:↪ Linux内核 ↪ GNU工具链 ↪ GUI桌面环境 ↪ 应用软件 ...|--------------------------||原创 2021-04-25 20:32:20 · 443 阅读 · 0 评论 -
【问答23】Linux移植:如何制作rootfs?
制作rootfs原创 2021-04-25 20:11:15 · 752 阅读 · 0 评论 -
一篇就让你了解进程的虚拟地址与物理地址是如何进行映射的
这篇文章可以让你了解进程的虚拟地址是如何映射物理地址的,在刚开始接触虚拟地址的概念时,真的是一头雾水,不知道它到底是个什么东西,一直有这个疑惑,为什么要用虚拟地址,虚拟地址的作用是什么?经过这么多年做过的项目,积攒经验后,我可以略知一些虚拟地址的作用:1. 代码的移植性变得更加的好,在不同的平台进行编译后,就可以直接运行,因为代码和虚拟地址打交道,到别的系统上,都会将你的虚拟地址转换为物理地址,如果不用虚拟地址,用物理地址,那么到了别的平台,就得考虑代码当前使用的物理地址,是否被别人使用了。2.原创 2021-04-24 21:36:00 · 3596 阅读 · 4 评论 -
rtc驱动模型及rx8025驱动学习
rtc驱动模型及rx8025驱动学习一、芯片简单了解RX8025-T是一款拥有I2C接口和温度补偿功能的新型实时时钟芯片,内部集成32.768KHz温度补偿晶体振荡器,可用于各种需要高精度时钟的场合。通过设置相应补偿的控制位,可以实现不同间隔的温度补偿功能,从而大大提高了时钟的精度。芯片可设置四种不同的时段进行温度补偿,默认设置是2S补偿。该芯片采用C-MOS工艺生产,具有极低的功能消耗,可长期使用电池供电。芯片特点:1.内置高稳定度的32.768KHz 的DTCXO (数字温度补...原创 2021-04-22 21:49:24 · 5658 阅读 · 0 评论 -
手把手教linux驱动11-linux设备驱动统一模型-设备树
1. 设备树概念1.1.设备树感性认识设备树(Device Tree),将这个词分开就是“设备”和“树”,描述设备树的文件叫做DTS(Device Tree Source),这个DTS 文件采用树形结构描述板级设备,比如CPU 数量、 内存基地址、IIC 接口上接了哪些设备、SPI 接口上接了哪些设备等等。设备树是树形数据结构,具有描述系统中设备的节点。每个节点都有描述所代表设备特征的键值对。每个节点只有一个父节点,而根节点则没有父节点。 1.2.DTS、DTB、DTCDTS:设备树源码文件;原创 2021-04-11 21:29:45 · 5314 阅读 · 5 评论 -
【粉丝问答20】Linux内核定时器使用及其他时间操作
问题描述原创 2021-04-06 20:52:17 · 498 阅读 · 0 评论 -
【粉丝问答17】Linux内核如何判断地址是否位于用户空间?
一、 问题描述access_ok函数是永原理?二、问题分析我们在内核空间和用户空间进行数据拷贝的时候必须判断用户空间地址是否合法。主要通过偶函数access_ok来判断。1. Linux用户空间与内核地址空间Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。通常32位Linux内核地址空间划分03G为用户空间,34G为内核空间原创 2021-03-22 18:10:44 · 976 阅读 · 0 评论 -
【粉丝问答15】Linux内核中如何访问另外一个模块的函数和变量
一、问题整理内核中两个模块,一个A,一个B,A模块中有操作函数,B模块要调用A模块的函数。二、分析这是一个驱动工程师经常遇到的一个问题,该问题其实是模块符号导出问题,实现该功能比较简单,借助EXPORT_SYMBOL()即可。1. 什么是符号?这里的符号主要指的是全局变量和函数。2. 为什么要导出符号?↓Linux内核采用的是以模块化形式管理内核代码。内核中的每个模块相互之间是相互独立的,也就是说A模块的全局变量和函数,B模块是无法访问的。有些时候,我们写一些模块代码的时候,发现部分函数原创 2021-03-10 18:18:16 · 1971 阅读 · 2 评论 -
【粉丝问答14】如何在内核中操作某个文件?
一、问题描述如何在内核中操作某个文件?二、操作函数1. 分析在用户态,读写文件可以通过read和write这两个系统调用来完成(C库函数实际上是对系统调用的封装)。 但是,在内核态没有这样的系统调用,我们又该如何读写文件呢?阅读Linux内核源码,可以知道陷入内核执行的是实际执行的是sys_read和sys_write这两个函数,但是这两个函数没有使用EXPORT_SYMBOL导出,也就是说其他模块不能使用。在fs/open.c中系统调用具体实现如下(内核版本3.14):SYSCALL_DE原创 2021-03-08 12:05:47 · 532 阅读 · 1 评论 -
你应该知道Linux内核softirq
说起这个softirq ,很多人还是一头雾水,觉得这个是什么东西,跟tasklets 和 workqueue有什么不同。每次谈到这个,很多人,包括我,都是有点紧张,特别是面试的时候,因为你一旦说错了什么,那么你这次面试估计就歇菜了。谈到这个,我们不得不说中断,中断处理,我相信很多人都是知道的,中断分为上半部和下半部,原来的Linux 内核是没有下半部的,中断来了,就在中断里处理事件,说白了,就是执行一些函数操作,但是这个会导致一个问题,就是系统调度慢了,对于用户来说,你用手机的时候,感觉到十分卡顿,原创 2021-03-07 15:50:43 · 749 阅读 · 0 评论 -
Linux下SPI驱动详解
更多嵌入式原创文章,请关注公众号:一口Linux1. SPI总线1.1. SPI总线概述SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正原创 2021-03-04 22:29:47 · 13462 阅读 · 6 评论 -
Linux内核网络设备驱动
1. 接收数据包过程概述介绍数据包收包过程,有助于我们了解Linux内核网络设备在数据收包过程中的位置,下面从宏观的角度介绍数据包从被网卡接收到进入 socket 接收队列的整个过程:加载网卡驱动,初始化 数据包从外部网络进入网卡 网卡(通过DMA)将包拷贝到内核内存中的ring buffer 产生硬件中断,通知系统收到了一个包 驱动调用 NAPI ,如果轮询(poll)还没有开始,就开始轮询 ksoftirqd软中断调用 NAPI 的poll函数从ring buffer收包(poll 函原创 2021-03-04 19:55:03 · 1318 阅读 · 0 评论 -
Linux Namespace : 简介
namespace 的概念namespace 是 Linux 内核用来隔离内核资源的方式。通过 namespace 可以让一些进程只能看到与自己相关的一部分资源,而另外一些进程也只能看到与它们自己相关的资源,这两拨进程根本就感觉不到对方的存在。具体的实现方式是把一个或多个进程的相关资源指定在同一个 namespace 中。Linux namespaces 是对全局系统资源的一种封装隔离,使得处于不同 namespace 的进程拥有独立的全局系统资源,改变一个 namespace 中的系统资源只会影响原创 2021-02-22 23:39:16 · 1002 阅读 · 1 评论
分享