嵌入式Linux
文章平均质量分 96
时光の尘
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux 进程面试考点:进程状态、通信方式、信号量等关键问题速记
聚焦 Linux 进程核心知识,从并发、同步、异步等基础概念,到父 / 子进程关系、孤儿 / 僵尸 / 守护进程定义,再到进程五状态转换、7 种通信方式及信号量原理,还拆解 PCB 包含的核心信息。内容覆盖进程管理全流程,帮你理清进程运行逻辑,不管是入门学习还是巩固基础,都能系统掌握 Linux 进程关键知识点。原创 2025-10-26 14:00:00 · 979 阅读 · 0 评论 -
【Linux应用开发·入门指南】零基础学 Linux 进程控制·五万字入门指南
本文从程序与进程的概念、组成、状态讲起,逐步深入进程控制核心:用 system、fork/vfork、execve 实现进程启动,借 wait/waitpid 处理进程等待,再详解 UDS、管道、共享内存等进程通信方式,附 System V 与 POSIX 两种 IPC 实现及 perror、环境变量等拓展,帮你系统掌握进程控制全流程。原创 2025-10-27 06:00:00 · 2979 阅读 · 1 评论 -
【Linux】一文掌握嵌入式 Linux 进程间通信(IPC):原理拆解 + 函数实战
本文系统介绍了Linux系统中常用的进程间通信(IPC)机制,包括Unix Domain Socket、管道(无名/有名)、共享内存、消息队列和信号量等。文章对比分析了各种IPC机制的特点、适用场景及性能差异,详细讲解了System V和POSIX两种标准下共享内存与消息队列的具体实现方法,并提供了相关API的使用示例和代码片段。此外,还介绍了信号处理的基本概念和实现方式,为开发者选择适合的进程间通信方案提供了全面参考。原创 2025-10-25 09:36:58 · 1523 阅读 · 0 评论 -
【Linux】小白也能懂的嵌入式 Linux 消息队列函数:基础概念与用法
消息队列是Linux系统中重要的进程间通信机制,克服了信号和管道的局限性。文章介绍了两种消息队列标准:SystemV和POSIX。SystemV消息队列通过msgget()创建/获取队列,msgsnd()发送消息,msgrcv()接收消息,msgctl()控制队列。POSIX消息队列则使用mq_open()、mq_timedsend()、mq_timedreceive()等函数。消息队列具有异步通信、消息边界、优先级、内核持久性等特点,适用于生产者-消费者模型。原创 2025-10-24 22:00:00 · 595 阅读 · 0 评论 -
【Linux】一文吃透嵌入式 Linux 共享内存:原理、优化与避坑指南
摘要:本文介绍了嵌入式Linux系统中两种共享内存实现方式——System V IPC和POSIX IPC。System V IPC通过shmget()创建、shmat()附加、shmdt()分离和shmctl()删除共享内存;POSIX IPC则使用shm_open()创建、ftruncate()设置大小、mmap()映射和shm_unlink()删除。文章详细说明了各函数的使用方法、参数含义和示例代码,并对比了两种方式的适用场景,为开发高效的进程间通信提供了实用指导。原创 2025-10-23 23:00:00 · 858 阅读 · 0 评论 -
进程间通信(IPC)简介
本文概述了UNIX/Linux系统中的进程间通信(IPC)机制,主要包括:Unix Domain Socket(UDS)、管道(无名/有名)、共享内存、消息队列和信号量。UDS支持高效本机通信;管道分无名(父子进程间)和有名(不相关进程间);共享内存性能最高但需同步;消息队列支持异步通信;信号量用于进程同步。文章还对比了SystemV IPC和POSIX IPC标准,指出后者更现代标准化。这些IPC机制各有特点,应根据应用场景选择合适方式。原创 2025-10-24 06:30:00 · 948 阅读 · 0 评论 -
【Linux】exec族函数·execve详解
本文介绍了Linux中的exec函数族,重点解析了execve()系统调用及其封装函数的使用方法。文章首先概述了exec函数族的功能,即替换当前进程映像为新程序而不创建新进程。随后通过具体示例演示了如何用execve()执行ls命令,并详细讲解了环境变量的配置方法。文章还展示了程序间的跳转实现,通过execve传递参数并验证进程ID不变的特性。最后,作者结合fork()函数,展示了如何创建子进程后使用execve执行新程序。原创 2025-10-23 06:00:00 · 792 阅读 · 0 评论 -
【Linux】fork函数详解
本文介绍了Linux系统中fork函数及其相关应用。fork函数用于创建子进程,父进程返回子进程PID,子进程返回0。文章详细讲解了fork的使用方法、父子进程资源分配特点(数据段独立,代码段共享),并通过示例代码演示了进程并发执行和全局变量的独立性。同时介绍了vfork函数与fork的区别,包括内存共享和执行顺序限制。最后通过文件描述符复制的实例,阐述了子进程如何继承父进程打开的文件,以及引用计数机制在文件关闭中的作用。文章还涉及了waitpid函数防止孤儿进程产生的方法,以及进程ID获取等相关系统调用。原创 2025-10-22 23:00:00 · 1415 阅读 · 0 评论 -
【Linux应用开发·入门指南】详解文件IO以及文件描述符的使用
文件 IO 是嵌入式系统中应用程序与硬件设备、存储介质交互的核心机制,基于 “一切皆文件” 的设计理念,本文详细介绍了标准IO(fopen(6种模式)、fclose、fputc(单字节)、fputs(字符串)、fprintf(格式化)、fgetc(单字节)、fgets(字符串)、fscanf(格式化))和系统IO(open(含权限掩码umask)、read/write(需处理实际读写字节)、close)的使用原创 2025-10-21 22:00:00 · 1043 阅读 · 0 评论 -
Linux进程控制介绍
本文系统介绍了操作系统中进程管理的核心概念。首先定义了进程是动态执行的程序实例,包含代码、资源和状态,与静态程序有本质区别。然后详细阐述了进程控制模块(PCB)作为内核核心组件的作用,重点分析了Linux的task_struct结构。接着说明了进程创建过程、状态转换(运行态、睡眠态、停止态等)以及调度机制,包括FCFS、SJF、RR等经典算法和Linux采用的CFS公平调度器。全文从进程定义到生命周期管理,构建了完整的进程知识体系框架,为理解操作系统并发机制提供了理论基础。原创 2025-10-21 06:00:00 · 611 阅读 · 0 评论 -
【Linux应用开发·入门指南】Makefile菜鸟教程
本文介绍了Makefile的基本概念和使用方法。原创 2025-09-30 22:00:00 · 1184 阅读 · 0 评论 -
【Linux应用开发·入门指南】如何在Linux上安装VScode、gcc编译流程以及如何进行静态/动态链接的打包使用·详细步骤演示
本文系统介绍了Linux下C语言开发环境的搭建与使用。解析了GCC、glibc和GNUC的关系,详细演示了在Linux上安装GCC和VSCode的步骤,包括VSCode的汉化和C语言开发环境配置。重点讲解了GCC的完整编译流程(预处理→编译→汇编→链接),对比分析了静态链接和动态链接的区别与实现方法,并提供了动态库的打包和使用方案。原创 2025-09-30 05:00:00 · 1506 阅读 · 0 评论 -
【Linux应用开发·入门指南】了解静态库和动态库的使用以及解决动态库无法加载的问题
文章从静态库和动态库的概念,到静态库和动态库的命名规则,再到静态库和动态库的生成详细解析了静态库和动态库时如何使用,以及进行一步步演示,解决动态库在使用过程中所遇到的问题。原创 2024-12-14 22:00:00 · 2827 阅读 · 0 评论 -
Linux命令行以及PATH环境变量配置
本文介绍了Linux命令行基础及PATH环境变量的设置方法。首先讲解命令行基本结构,包括用户提示符、命令格式等。重点阐述了PATH环境变量的作用和使用场景:通过临时设置(export)、用户级永久设置(~/.bashrc)和系统级永久设置(/etc/environment)三种方式添加路径。以hello程序为例,演示了如何让系统识别自定义命令,并对比了不同设置方法的适用范围和效果。文章还提供了Linux命令和文件权限操作的扩展学习资源。原创 2025-09-29 04:00:00 · 737 阅读 · 0 评论 -
嵌入式Linux(二)·配置VMware使用USB网卡连接STM32MP157实现Windows、Ubuntu以及开发板之间的通信
文章详细介绍了Ubuntu的联网模式,并且通过桥接和NAT双网卡的方式实现Windows、Ubuntu以及开发板之间的通信原创 2025-01-04 15:04:01 · 1673 阅读 · 1 评论 -
嵌入式Linux(一)·使用 MobaXterm 远程登录 Ubuntu、通过FileZilla 在 Windows 和 Ubuntu 之间传文件以及解决SSH无法访问的问题
本文使用 MobaXterm 远程登录 Ubuntu、通过FileZilla 在 Windows 和 Ubuntu 之间传文件以及解决SSH无法访问的问题原创 2025-01-04 14:57:24 · 2247 阅读 · 0 评论 -
【Linux】如何在Ubuntu进入root模式以及gcc的安装
Ubuntu安装过程中,只会让设置登录用户和登录密码,并没有设置root密码的过程;输入设置的密码,输入两次,这样就完成了设置root用户密码了(注意Linux系统下密码是没有回显的)保存完点击叉号退出,退出后若是不确定是否保存,可以运用键盘上下键,找到进入该文件的命令。进入设置新密码,注意,密码需要设计难一些,否则太简单如下,当然也可以忽略。红圈圈住的,进入时没有需要自己手动输入,输入完后别忘记点击保存。正常登录,以普通用户登录系统,创建root用户密码。进入root,输入passwd,进行更换密码。原创 2023-09-22 15:20:28 · 19774 阅读 · 5 评论 -
Linux命令进阶·如何修改文件和文件夹权限(chomd命令的使用)、如何修改用户和用户组(chown命令的使用)
文章详细描述了,如何通过chomd命令修改文件和文件夹权限以及如何通过chown命令修改用户和用户组原创 2024-12-09 01:00:00 · 3460 阅读 · 0 评论 -
Linux命令进阶·如何切换root以及回退、sudo命令、用户/用户组管理,getent命令以及解决创建用户不显示问题和Ubuntu不显示用户名只显示“$“符号问题
如何切换root用户,如何回退上一用户,sudo临时授权命令,、用户/用户组管理相关命令详解,以及问题解决(创建用户不显示问题、Ubuntu不显示用户名只显示"$“符号问题),如何查找当前系统有哪些用户和用户组。原创 2024-12-01 11:51:01 · 4076 阅读 · 2 评论 -
【Linux应用开发·入门指南】如何在Ubuntu安装、调试、运行gcc/g++,以及如何进行多文件编译(完整过程详解)
gcc是Linux下的编译工具集,是GNU Compiler Collection的缩写,包含gcc, g++等编译器。这个工具集不仅包含编译器,还包含其他工具集,例如ar,nm等。gcc是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Objective-C等语言编写的程序。gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因此尤其适合嵌入式领域的开发编译。后缀名所对应的语言.cC源程序C++源程序.mObjective-C源程序。原创 2024-12-10 23:00:00 · 6551 阅读 · 1 评论 -
Linux命令进阶·快捷键Ctrl+c/d/r/a/e/l/←/→、如何进行软件安装、systemct命令的使用
Ctrl+c 强制停止快捷键、Ctrl+d 退出或登出快捷键、Ctrl+r 历史命令搜索、Ctrl+a 跳到命令开头、Ctrl+e 跳到命令结尾、Ctrl+键盘左键,向左跳转一个单词、Ctrl+键盘右键,向右跳转一个单词、clear清屏、Ctrl+l清屏、软件安装原创 2024-12-09 02:00:00 · 1915 阅读 · 0 评论 -
Linux命令进阶·软链接命令(ln)、查看系统时间命令(date)、自动校准系统时间程序(ntp)
本文详细介绍并演示了:软链接命令(ln)、查看系统时间命令(date)、自动校准系统时间程序(ntp)原创 2024-12-10 22:00:00 · 1188 阅读 · 0 评论 -
Linux命令进阶·vi\vim编辑器详细命令介绍
Vim 是从 vi 发展出来的一个文本编辑器。vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑功能,可以不同颜色的字体来辨别语法的正确性。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim 则可以说是程序开发者的一项很好用的工具。基本上 vi/vim 共分为三种模式,命令模式(Command Mode)、输入模式(Insert Mode)和命令行模式(Command-Line Mode)。原创 2024-10-21 04:00:00 · 2872 阅读 · 0 评论 -
【Linux应用开发·入门指南】常用命令大全(含完整命令演示过程)
Linux常用基础命令详细介绍,带你快速熟悉Linux基础命令:ls、cd、pwd、mkdir、touch、cat、more、cp、mv、rm、which、find、echo、tail、grep、wc、管道符等原创 2024-10-21 05:00:00 · 2637 阅读 · 0 评论
分享