Linux内幕
文章平均质量分 80
协议森林
这个作者很懒,什么都没留下…
展开
-
【Linux应用】Linux系统的设备管理——Udev
udev是 Linux2.6内核里的一个功能,它替代了原来的 devfs,成为当前 Linux 默认的设备管理工具,能够根据系统中的硬件设备的状态动态更新设备文件,包括设备文件的创建,删除等。udev以守护进程的形式运行,通过帧听内核发出来的uevent来管理/dev目录下的设备文件。不像之前的设备管理工具,udev在用户空间运行,而不在内核空间运行。原创 2024-06-15 14:32:59 · 1864 阅读 · 0 评论 -
【Linux 应用】 kworker 进程
kworker” 是 Linux 内核的工作线程,用于异步处理工作队列中的任务。这些任务包括处理硬件中断、文件系统事件、管理系统内存等。你可能会看到多个 kworker 进程,每个进程的名称后面都有一个数字,如 “kworker/0:1”、“kworker/1:2” 等。这个数字表示了 kworker 是在哪个 CPU 核心上运行的以及任务的顺序。kworker是3.x内核引入的,用来执行工作队列中的work,一般由kthreadd建立。原创 2023-09-18 15:11:38 · 3150 阅读 · 0 评论 -
【Linux内幕】DMA原理
DMA,全称Direct Memory Access,即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。CPU有转移数据、计算、控制程序转移等很多功能,系统运作的核心就是CPU,CPU无时不刻的在处理着大量的事务,但有些事情却没有那么重要,比方说数据的复制和存储数据,如果我们把这部分的CPU资源拿出来,让CPU去处理其他的复杂计算事务,是不是能够更好的利用CPU的资源呢?原创 2023-05-04 11:16:40 · 1483 阅读 · 0 评论 -
【Linux内核】Linux软中断处理机制-ksoftirqd
软中断(softirq)是中断处理程序在开启中断的情况下执行的部分,可以被硬中断抢占。把延迟函数叫做软中断并不是因为它是一个真正的中断,而是因为延迟函数主要在中断上下文环境中运行。Linux中最多可以支持32种软中断操作,但目前Linux只实现了其中的几种。原创 2023-04-10 16:31:32 · 1784 阅读 · 0 评论 -
【Linux内核】内核编程概述
GNU计划和自由软件基金会(FSF)是由Richard M.Stallman于1984年创办的,GNU是“GNU’s Not UNIX”的缩写。到20世纪90年代初,GNU项目已经开发出许多高质量的免费软件,其中包括emacs编辑系统、bash shell程序、gcc系列编译程序、GDB调试程序等。没有GNU软件环境,Linux将寸步难行。因此,严格来说,“Linux”应该称为“GNU/Linux”系统。原创 2023-02-28 15:42:00 · 1602 阅读 · 0 评论 -
【Linux驱动】驱动设计硬件基础----串口、I2C、SPI、以太网接口、PCIE
常见的外设接口与总线的工作方式,包括串口、I2C、SPI、USB、以太网接口、PCI和PCI-E、SD和SDIO等。原创 2023-02-28 14:58:45 · 3862 阅读 · 0 评论 -
【Linux内核】图解内核V0.11架构
对于操作系统而言,稳定且可靠地运行是最重要的。现行技术方案是将用户进程与用户进程之间、用户进程与操作系统之间进行分离,操作系统可以管理用户进程,但是用户进程之间不能相互干预 ......转载 2022-07-13 16:53:18 · 282 阅读 · 0 评论 -
【Linux应用】Linux下CPU基础理论
1.前言CPU 推动了所有软件的运行,因而通常是系统性能分析的首要目标。现代系统一般有多颗CPU,通过内核调度器共享给所有运行软件。当需求的CPU 资源超过了系统力所能及的范围时,进程里的线程(或者任务)将会排队,等待轮候自己运行的机会。等待给应用程序的运行带来严重延时,使得性能下降。2.模型图展示了一个CPU 架构的示例,单个处理器内共有四个核和八个硬件线程。硬件线程是一种支持在一个核上同时执行多个线程(包括Intel 的超线程技术)的CPU架构,每个线程是一个独立的CPU 实例。这种扩展的方法又原创 2022-02-23 10:53:40 · 2327 阅读 · 1 评论 -
【协议森林】NUMA基本知识
1.简述早期的计算机,内存控制器还没有整合进 CPU,所有的内存访问都需要经过北桥芯片来完成。如下图所示,CPU 通过前端总线(FSB,Front Side Bus)连接到北桥芯片,然后北桥芯片连接到内存——内存控制器集成在北桥芯片里面。这样的架构称为UMA(Uniform Memory Access),直译为“统一内存访问”,这样的架构对软件层面来说非常容易,总线模型保证所有的内存访问是一致的,即每个处理器核心共享相同的内存地址空间。但随着CPU核心数的增加,这样的架构难免遇到问题,比如对总线的带宽原创 2021-11-08 16:35:16 · 911 阅读 · 0 评论 -
【Linux内幕】epoll原理及代码示例
1.简述epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述符集合就行了。2.select了解epoll本质要从操作系统进程调度的角度来看数据接收。阻塞是进程调度的关键一环,指的是进程在等待某事件(如接收到网络数据)发生之前的等待原创 2021-01-22 10:26:01 · 978 阅读 · 0 评论 -
【协议森林】LWIP如何使用
1.LWIP为何LWIP(Light Weight Internet Protoco)是瑞士计算机科学院AdamDunkels等人开发开源协议栈。LWIP可移植到操作系统和无操作系统,其重点是在保持TCP协议主要功能的基础上减少对RAM的占用,一般只需几十KB的RAM和40 KB左右的ROM,适合在小型嵌入式系统使用。2.LWIP特点LwIP的特性如下:支持协议TCP、UDP、ICMP、IP、ARP、DHCP包括阻塞控制,RTT估算和快速恢复和快速转发的TCP提供专门的内部回调接口(Raw A原创 2021-01-06 14:47:10 · 1961 阅读 · 2 评论 -
【Linux内幕】如何理解Linux文件系统
1.前言2.系统文件分类原创 2020-12-02 14:23:15 · 438 阅读 · 0 评论 -
【Linux驱动】CAN总线介绍
原创 2020-10-10 11:27:47 · 467 阅读 · 0 评论 -
【Linux应用】龙芯派loongsonpai开发者日记(四)----PMON制作
一、pmon相关资源1)pmon源码获取pmon:http://ftp.loongnix.org/loongsonpi/pi_2/source/pmon-loongson3.tar.bz2解压:$ sudo tar -xvf pmon-loongson3.tar.bz22)pmon工具链获取工具链: http://ftp.loongnix.org/loongsonpi/pi_2/toolchain/gcc-4.4-gnu.tar.gz解压:$ sudo tar -zxvf gcc-4.4原创 2020-09-07 10:48:14 · 1354 阅读 · 0 评论 -
【Linux应用】龙芯派loongsonpai开发者日记(三)----文件系统
前言本节主要讲述如何配置boot和文件系统。1.准备工作将编译生成的vmlinuz拷贝到龙芯派中,这里我们用winscp工具来操作。另外建议开启SSH服务,root下执行以下命令就可以sudo service sshd start此时,我们操作单板的方式就有:串口,SSH,FTP。开发工作即将开始。2.boot配置编辑boot.cfg文件,增加一组,设置波特率等3.文件系统buildroot官网:https://buildroot.org/下载buildroot-2020.0原创 2020-08-31 16:05:24 · 800 阅读 · 0 评论 -
【Linux内幕】U-BOOT快速入门
https://www.cnblogs.com/princepeng/p/11212854.html#%E4%B8%80%E3%80%81u-boot%E7%9B%AE%E5%BD%95原创 2020-08-27 20:11:25 · 667 阅读 · 2 评论