logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux内核中进程调度的实现机制

Linux内核进程调度机制通过模块化调度类CFS调度类:基于vruntime和红黑树,为普通进程提供公平的CPU分配,动态调整时间片。实时调度类:通过SCHED_FIFO和SCHED_RR策略,确保实时任务的低延迟响应。多CPU负载均衡:动态迁移进程,避免单CPU过载。高效上下文切换:通过硬件优化(如TLB ASID)减少切换开销。这种设计既满足了普通应用的公平性需求,又支持实时任务的严格时间约束

#linux
使用unique_lock避免死锁

是 C++ 中灵活的互斥锁管理工具,其核心优势在于支持手动锁定/解锁、延迟锁定、锁所有权转移等特性。这些特性使其能有效避免死锁——尤其是通过控制锁的获取顺序、减少锁持有时间、配合条件变量自动释放锁等方式。死锁的典型原因是:多个线程按不同顺序获取多个锁,或线程持有锁时永久阻塞(如等待其他资源)。 的灵活性恰好针对这些场景:死锁场景:两个线程需要获取两把锁,但按相反顺序加锁(线程1先锁A再锁B,线程2

#c++#开发语言
C++设计模式

C++中常用的设计模式源于GoF(Gang of Four)定义的23种经典模式,这些模式可分为创建型、结构型和行为型三大类。以下按类别整理各模式的应用场景、代码示例及注意事项:创建型模式专注于对象创建过程的封装,降低耦合度。应用场景:全局只需要一个实例(如配置管理器、日志管理器、线程池)。代码示例:注意事项:应用场景:需要延迟对象创建到子类,且客户端无需知道具体产品类型(如日志系统支持文件/控制

#c++#开发语言
架构设计模式

架构设计模式是解决软件系统“宏观结构设计”问题的通用方案,关注系统的模块划分、模块间交互方式、职责分配等核心问题。与“设计模式”(微观代码结构)不同,架构设计模式决定了系统的整体骨架,直接影响可维护性、可扩展性、性能和团队协作效率。

#架构
如何在裁剪内核后进行性能测试和优化

裁剪内核后的性能测试与优化是一个“测量→分析→调整”的循环过程:先用工具量化关键指标,对比基准线定位瓶颈,再通过内核配置调整、驱动优化、参数调优等手段改进,最终实现“体积精简”与“性能达标”的平衡。核心是结合设备场景的核心需求(如低功耗、实时性、高吞吐量),优先保障关键指标,再优化次要指标。

#linux
LCM实时通信开源库

创建(如上述示例),定义需要传输的数据结构。LCM是实时系统中高效数据通信的优选方案,尤其适合对延迟、资源占用敏感的场景(如自动驾驶传感器数据传输、机器人实时控制)。其核心优势在于轻量和高效,但缺乏ROS那样的完整工具链(如可视化、日志记录),因此常被用作ROS的补充,或在不需要复杂功能的场景中独立使用。如果你的需求是“快速、低延迟地传输数据”,且不需要额外的机器人工具链,LCM会是比ROS更轻量

#机器人#人工智能#自动驾驶
ubuntu CAN 驱动开发流程

在 Ubuntu 系统中,驱动开发本质上是(Ubuntu 基于 Linux 内核)。CAN 驱动作为一种特殊的硬件驱动,其开发流程遵循 Linux 内核驱动的通用规范,同时需适配 CAN 总线特性(如 SocketCAN 子系统)。

#ubuntu#驱动开发#linux
linux之资源泄露

用户空间内存泄露:应用程序(如C/C++、Java程序)在用户态申请的内存(如mallocnew、JVM堆内存)未释放,导致进程内存占用(RSS/VIRT)持续增长。内核空间内存泄露:内核模块(如驱动、内核线程)申请的内核内存(如kmallocslabvmalloc)未释放,导致系统整体内存()持续减少,最终可能触发OOM(Out of Memory)杀死进程。每个进程默认有3个初始FD(0标准输

#linux
linux驱动问题汇总

知识体系构建:以《Linux设备驱动程序》为基础,结合内核源码(如目录)和实际项目加深理解。调试工具掌握:熟练使用printkgdbkgdbftraceperf,理解内核崩溃转储分析流程。技术趋势跟踪:关注eBPF、PREEMPT_RT、5G驱动等前沿领域,参与开源社区(如Linux内核邮件列表)获取最新动态。通过系统性梳理核心知识点,结合实际案例和调试经验,可有效应对Linux驱动面试中的技术挑

#linux
Apollo自动驾驶平台代码目录分析

Apollo采用模块化、分层的架构设计,通过Cyber RT框架实现高效的组件通信和调度。其代码目录结构清晰,各模块职责明确,便于开发和扩展。整个系统围绕自动驾驶的核心功能(感知、规划、控制等)展开,同时提供了丰富的工具和文档支持开发。这种设计使得Apollo不仅是一个完整的自动驾驶解决方案,也是一个灵活的开发平台,开发者可以基于此构建自己的自动驾驶应用。

#自动驾驶#人工智能#机器学习
    共 92 条
  • 1
  • 2
  • 3
  • 10
  • 请选择