内核

sz66cm3 天前
linux·内核
Linux内核 -- 多线程之kthread的使用本文档介绍如何在 Linux 内核中创建并使用一个内核线程(kthread)。线程函数是内核线程运行时执行的函数。它通常是一个无限循环,直到某种条件使其退出。
wmail-yh10 天前
驱动开发·学习·内核·list
内核学习——6、timer的学习和使用timer常用接口:int xx_init(void) { timer = kzalloc(sizeof(struct timer_list), GFP_KERNEL) … init_timer(timer); //初始化定时器 timert->function = func_handle; //绑定定时时间到后的执行函数 timer->expites = jiffres + (HZ/50); //定时的时间点,当前时间的20ms之后 add_timer(timer); //添加并启动定时器 } void
wmail-yh13 天前
linux·学习·内核·kernel
Linux的dev/ 和 sys/ 和 proc/ 目录linux精神: 一切设备皆文件。 设备被抽象成文件该目录放的设备文件,是应用程序和内核的交互文件,应用程序对这些文件的读写控制可以直接访问到实际的设备 应用程序通过mknod创建的文件,如果底层驱动对mknod的设备号有对应的驱动,那么应用程序读写节点时就会调用到底层驱动 一些较复杂的设备通常使用设备节点dev的方式
IronmanJay13 天前
信息安全·内核·系统调用·fuzz测试·漏洞检测·kernelfuzzer·内核漏洞检测工具
KernelFuzzer部署、使用与原理分析本博客的主要内容为KernelFuzzer的部署、使用与原理分析。本博文内容较长,因为涵盖了KernelFuzzer的几乎全部内容,从部署的详细过程到如何使用KernelFuzzer对操作系统的系统调用进行Fuzz测试,以及对KernelFuzzer进行漏洞检测的原理分析,相信认真读完本博文,各位读者一定会对KernelFuzzer有更深的了解。以下就是本篇博客的全部内容了。
wmail-yh15 天前
驱动开发·学习·内核·list
内核学习——1、list_head双向循环链表:list_head 头节点head是不使用的: struct list_head { struct list_head *next, *prev; }; 结构体中没有数据域,所以一般把list_head嵌入到其他结构中使用 struct file_node { char c; struct list_head node; }; 此时,list_head就作为它父结构体中的一个成员了,我们知道list_head的地址(指针)时,就可以通过list_entry来获得它的父结构的地址 #defin
wmail-yh16 天前
驱动开发·学习·内核
内核学习——5、中断是一个异步信号,或需要改变执行一个同步事件 外设产生,基于IRQ,CPU将相应请求给到硬件驱动处理事务 处理中断的驱动需要运行在CPU上的,中断产生时,CPU停止当前程序去处理中断请求,一个IRQ中断一个CPU
wmail-yh17 天前
linux·驱动开发·学习·内核·kernel
充电学习—2、开关电源基本原理此种方式的相同之处: 均采用时间比率控制(TRC)的稳压原理 负载由轻变重,或者输出电压由高变低,分别通过,增加脉宽和升高脉频的方法使得输出电压保持稳定
心若向阳花自开22 天前
linux·内核·网卡·虚拟化·通信·转发·sdn·sdwan·tun·tap
Linux虚拟网卡TUN和TAP在 Linux 网络管理中,虚拟网卡(Virtual Network Interface)是一个重要的概念,广泛应用于虚拟化、网络仿真和隧道技术中。本文将重点介绍 TUN(Network TUNnel)和 TAP(Network TAP),并详细解释它们的工作原理、应用场景及其配置方法。
liubinkaixin2 个月前
c语言·单片机·内核·低功耗·多任务·时间片·低功耗传感器
03-单片机商业项目编程,从零搭建低功耗系统设计上一节《02-单片机商业项目编程,从零搭建低功耗系统设计-CSDN博客》引出了伪时间片的概念,这也是再低功耗系统设计中必须使用的程序设计逻辑,本文着重来讲解如何利用伪时间片来设计伪多任务,以及伪时间片多任务内核设计构思。
木木em哈哈2 个月前
linux·ubuntu·centos·debian·内核
编译一个基于debian/ubuntu,centos,arhlinux第三方系统的问题解答如果是开机卡boot注意看前面几行会有错误提示,一般会比较好找,下面是过了kernel内核加载后出现的问题
blessing。。4 个月前
linux·运维·服务器·c语言·内核
理解Linux环境变量及export命令主要看三个问题在Linux和Unix系统中,环境变量对于管理系统和应用程序的行为至关重要。本文将介绍Linux环境变量的概念,以及使用export命令设置环境变量的原理和作用。
linux大本营4 个月前
linux·内核·c/c++·原子操作·cpu缓存
从CPU缓存结构到原子操作因为CPU的计算速度非常快,但内存的访问速度相对较慢。因此,如果CPU每次都要从内存读取数据,会造成大量的等待时间,降低整体性能。
Shun_Hua.7 个月前
linux·内核·信号·异常
【Linux进阶之路】信号信号我们可以大体上从角度来看:我们下面举个生活中的例子:当理解了这个例子之后我们再回归到进程:那此处我们应该可以用自己的语言来给信号一个概念:
wenshizhang7 个月前
linux·内核·内存泄露·内核调试方法
当内核有内存泄漏的时候内存泄露是一个很容易出现的问题,尤其是对于测试不太充分的代码。怎么判断出现内存泄露了呢?很简单,就跑一些简单的测试,等待足够长时间即可。内存总有耗尽的时候,这时候内核会触发OOM,根据oom_score选择一个进程杀掉。这种时候,多半是有问题了。
wenshizhang7 个月前
linux·内核·drm·amdgpu
AMD显卡休眠唤醒流程分析不论是系统suspend to mem还是suspend to disk,对于PCI外设而言都是调用pci_pm_suspend进行设备挂起。对于AMD显卡来讲就是radeon_pmops_suspend或者amdgpu_pmops_suspend,根据显卡chip不同调用的接口不通。目前手头只有CAICOS显卡走的是radeon驱动,那就分析radeon_pmops_suspemd,下面是相关代码:
快乐的学习8 个月前
linux·服务器·内核
Linux多核CPU启动内核调试(详细)总结本文主要工作中围绕ARM A55的EVB版多核启动问题进行分析,涉及到timer、gic中断模块,详细整理了整个过程。 目标机器:ARM A55 8核CPU 交叉编译环境:Ubuntu 22.04.2 LTS 内核版本:5.15.79
代码改变世界ctw8 个月前
内核·arm·cache·mmu·armv8·armv9·ff-a
MMU的28问,你能回答几个关注Arm精选公众号,回复MMU的28问,即可免费获取音视频讲解的链接,注意回复公众号时,格式压正确,大写MMU,且中间不能有空格。公众号匹配全字段,然后自动回复的。
徐锦桐8 个月前
操作系统·内核
分析概览 文章管理 草稿管理 图片管理 站点管理 主站 关于 登出 手写操作系统项目----进程大家好,我叫徐锦桐,个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识,还有日常折腾的经验,欢迎大家来访。
globalcoding8 个月前
linux·运维·centos·内核·发行版
centos 内核对应列表 内核升级 linux近期服务器频繁出现问题,找运维同事排查,说是系统版本和内核版本和官方不一致,如下:Release 用的是7.8, kernal 用的是 5.9
G皮T9 个月前
linux·运维·docker·容器·内核·namespace·资源隔离
【Docker 内核详解】namespace 资源隔离(一):进行 namespace API 操作的 4 种方式Docker 大热之后,热衷技术的开发者就会思考,想要实现一个资源隔离的容器,应该从哪些方面下手?也许第一反应就是 chroot 命令,这条命令给用户最直观的感受就是在使用后根目录 / 的挂载点切换了,即 文件系统 被隔离了。接着,为了在分布式的环境下进行通信和定位,容器必然要有独立的 IP、端口、路由等,自然就联想到了 网络 的隔离。同时,容器还需要一个独立的 主机名 以便在网络中标识自己。有了网络,自然离不开通信,也就想到了 进程间通信 需要隔离。开发者可能也已经想到了权限的问题,对用户和用户组的隔离