• 2024-09-17linux驱动开发-内核异步通知
    驱动/内核异步通知在Linux驱动程序中,异步通知机制允许内核模块在特定事件发生时主动通知用户空间进程。这样的设计通常用于管理输入输出操作,确保用户程序可以及时获得数据或状态变化而无需频繁查询设备状态。在Linux驱动中,常见的异步通知机制主要有以下几种:信号(Sign
  • 2024-09-17LEDC Trigger 呼吸灯的工作原理
    LED的呼吸效果及其他触发器效果的实现通常涉及到内核线程或定时器,而不是直接依赖中断。下面详细说明这两种机制及其在LED触发器中的应用:###1.**内核线程**在Linux内核中,LED的呼吸效果或类似的周期性变化通常通过内核线程来实现。这些线程在内核中周期性地执行任务,比如调整LED
  • 2024-09-16Linux引导启动程序(boot)
    概述本章主要描述boot/目录中的三个汇编代码文件,见列表6-1所示。正如在前一章中提到的,这三个文件虽然都是汇编程序,但却使用了两种语法格式。bootsect.s和setup.s是实模式下运行的16位代码程序,采用近似于Intel的汇编语言语法并且需要使用Intel8086汇编编译器和连接器as86和ld
  • 2024-09-16初识Docker容器
    初识Docker容器1.什么是DockerDocker是一个开源的容器化平台,用于自动化部署和管理应用程序。它通过将应用程序及其所有依赖打包成一个轻量级、可移植的容器来解决传统虚拟化中的性能开销问题。Docker容器可以在任何支持Docker的环境中运行,无论是本地开发环境、测试服务器
  • 2024-09-15鸿蒙读书笔记1:《鸿蒙操作系统设计原理与架构》
    笔记来自新书:《鸿蒙操作系统设计原理与架构》HarmonyOS采用分层架构,从下到上依次分为内核层、系统服务层、框架层和应用层。1. 内核层内核层主要提供硬件资源抽象和常用软件资源,包括进程/线程管理、内存管理、文件系统和IPC(Interprocess Communication,进程间通信)等。
  • 2024-09-15Linux内核开发环境-使用GDB调试内核代码
    建议点击这里查看个人主页上的最新原文作者:陈孝松主页:chenxiaosong.com哔哩哔哩:陈孝松课程:chenxiaosong.com/courses博客:chenxiaosong.com/blog贡献:chenxiaosong.com/contributions邮箱:[email protected]交流群:544216206,点击查看群介绍点
  • 2024-09-143.linux进程管理
    目录一.进程管理1.进程概念2.进程生命周期和状态3.进程管理process3.1ps-静态查看进程3.2 top-动态查看进程3.3.使用信号控制进程3.4nice-优先级二.作业控制jobs三.虚拟文件系统proc四.线程(可看可不看)1.状态2.调度算法3.通信方式4.线程和进程的区别5.线
  • 2024-09-14Linux下载软件及卸载
    Linux发展史汤姆森·肯---UNIX之父斯托曼发起GNU计划莱纳斯linux之父现在主流的基于Linux的系统的发行版本centos、Ubuntu、Deepin(国产)、RedHat、...查看Ubuntu版本:cat/etc/issue查看内核版本:uname-a嵌入式层次结构一、用户空间命令脚本(命令的集合)app----
  • 2024-09-14Linux内核开发环境-代码编译
    建议点击这里查看个人主页上的最新原文作者:陈孝松主页:chenxiaosong.com哔哩哔哩:陈孝松课程:chenxiaosong.com/courses博客:chenxiaosong.com/blog贡献:chenxiaosong.com/contributions邮箱:[email protected]交流群:544216206,点击查看群介绍点
  • 2024-09-13蓝桥杯【物联网】零基础到国奖之路:六. 中断
    蓝桥杯【物联网】零基础到国奖之路:六.中断第一节中断理论1,中断的作用2,中断和异常3,NVIC中断控制器4,中断的分类5,中断管理机制第二节GPIO中断1,CubeMX配置2,添加中断代码第一节中断理论举个例子:工作时电话响了,这时你会把手里的工作停下来,然后接电话,电话里的人安排你
  • 2024-09-13[linux 驱动]内核定时器详解与实战
    目录1描述2结构体2.1timer_list3相关函数3.1DEFINE_TIMER3.2add_timer3.3del_timer3.4msecs_to_jiffies3.5usecs_to_jiffies5示例4延迟工作队列delayed_work4.1结构体4.1.1delayed_work4.2相关函数4.2.1DECLARE_DELAYED_WORK4.2.2INIT_DELAYE
  • 2024-09-13kylinV10SP2切换启动内核
    kylinV10SP2系统执行了一下yumupdate结果把内核更新了,导致系统启动默认使用了新的内核,结果卡到系统开机界面进不到系统里。先手动选择默认内核进入系统,然后修改系统默认启动内核:#查看当前内核版本:[root@xdsdcdsd~]#uname-r4.19.90-24.4.v2101.ky10.x86_64#查看启动界面有
  • 2024-09-13适合初学者的[JAVA]:Redis(2:I/O多路复用模型与事件派发)
    目录说明前言I/O多路复用模型备注:用户空间和内核空间:备注:阻塞IO:(了解)非阻塞IO:(了解)IO多路复用:(重点)常见的方式有:差异:事件派发说明:Redis网络模型总结: 说明本文适合刚刚学习Java的初学者,也可以当成阿岩~的随手笔记.接下来就请道友们和我一起来
  • 2024-09-129.12日常记录
    1.extern关键字1)诞生动机:在一个C语言项目中,需要再多个文件中使用同一全局变量或是函数,那么就需要在这些文件中再声明一遍2)用于声明在其他地方定义的一个变量或是函数,在当前位置只是声明,告诉编译器在链接阶段去其他地方找。  2.strcpy的缺陷1.没有长度检查。2.不返
  • 2024-09-12[操作系统]用户态内核态
    用户态内核态用户态线程和内核态线程有什么区别?这是一个组合型的问题,由很多小问题组装而成,比如:用户态和内核态是什么?用户级线程和内核级线程是一个怎样的对应关系?内核响应系统调用是一个怎样的过程?什么是用户态和内核态Kernel运行在超级权限模式(SupervisorMode)下,所以拥
  • 2024-09-12Linux系统性能调优技巧
    一、硬件优化1.CPU优化选择合适的CPU:根据应用需求选择多核、高频的CPU,以满足高并发和计算密集型任务的需求。CPU缓存优化:确保CPU缓存(L1、L2、L3)被有效利用,减少CPU访问内存的次数,提高计算效率。CPU频率调整:使用如cpufreq等工具动态调整CPU频率,以平衡功耗和性能。2.内存优化
  • 2024-09-11Linux的使用总结
    Linux1.Linux内核知识1.1内核源码目录路径存放内容/arch不同CPU架构下的核心代码。其中的每一个子目录都代表Linux支持的CPU架构,比如arm,x86,MIPS,PPC等/blockblock目录下放的是一些linux存储体系中关于块设备管理的代码;譬如说SD卡、iNand、Nand、硬盘等都是块设备。你
  • 2024-09-11NetworkManager内核网络栈通信机制
    NetworkManager在启动和配置网络设备时,会通过Linux内核的网络栈API与设备驱动程序进行交互,特别是通过netlink子系统来实现。1.Netlink通信机制Netlink是Linux内核与用户空间进程之间的一种通信机制,它允许用户空间进程与内核模块(如网络栈)交换信息。Netlink为Networ
  • 2024-09-10一个例子彻底搞懂对线程模型的理解 !
    如何理解一对一线程模型假设你的计算机是一个大工厂,操作系统(如Windows或Linux)是工厂的管理系统,而Java虚拟机(JVM)是工厂里的一个部门。这些部门里有很多工人(线程),每个工人可以负责一项具体的任务(比如处理一个计算或者操作某个数据)。在Java中,每当你创建一个线程时,JVM就会告诉
  • 2024-09-09Linux下io模型
    目录一. 阻塞式IO:最常见、效率低、不耗费cpuudp丢包​编辑tcp粘包tcp拆包二.非阻塞io:轮询、耗费CPU,可以处理多路IO概念设置非阻塞的方式1.通过函数自带参数设置2.通过设置文件描述符的属性,把对应属性设置为非阻塞三. 信号驱动IO/异步IO:异步通知方式,需要底层驱动
  • 2024-09-09ArmSoM-Sige5 的 RK3576 SoC 主线内核支持进展
    我们很高兴地宣布,基于RK3576SoC的ArmSoM-Sige5开发板的主线内核支持,collabora正在稳步推进中。RK3576SoC是Rockchip家族的一员,其设计和功能与广受欢迎的RK3588相似,许多硬件模块都得到了复用,这为我们在主线内核中添加支持提供了有利条件。 RK3576主线内核支持概况​
  • 2024-09-09【0326】Postgres内核之 VACUUM (FULL)构建所有要 VACUUM 的 relation(s) list(17)
    上一篇:【0325】Postgres内核之VACUUM(FULL)创建BufferAccessStrategyobject(16)1.构建vacuum关系表(reltaions)List在上一篇文章中讲解了Postgres内核创建缓冲区策略对象,之后初始化给全局指针变量vac_strategy。接下来Postgres将通过vacuum()函数的参数,以确认用户
  • 2024-09-09大数据集群内核参数调优
    tcpmem相关net.ipv4.tcp_rmem=40961310726291456读取缓冲区,单位字节net.ipv4.tcp_wmem=4096163844194304发送缓冲区,单位字节net.ipv4.tcp_mem=76070710142781521414内存大小,单位是linux内存页的数目,占用内存大小还得乘以每个页的大小,一般是
  • 2024-09-09宿主机与qemu虚拟机互传文件
    ​原文:https://zhuanlan.zhihu.com/p/594235031 目录收起0背景1宿主机与qemu虚拟机互传文件2编写kodemo,做内核测试推荐阅读0背景当搭建好qemu调试arm64linux内核的环境(详见同事的文章VSCode+GDB+Qemu调试ARM64linux内
  • 2024-09-09编译内核时编译选项, qemu
    编译内核时怎么指定cpu架构为arm内核编译选项 转载mob6454cc63081f2023-12-0715:52:09文章标签编译内核时怎么指定cpu架构为armlinuxconfig文件系统加载文章分类架构后端开发阅读数76我整理的一些关于【IT人转架构设计】的项目学习资料+视频(附讲解~~)和大家一起分享、学