排序
嵌入式Linux:线程同步(互斥锁)
linux线程的互斥锁(mutex)是用于保护共享资源的同步机制,确保在多线程环境中,多个线程不会同时访问或修改同一个资源,从而避免数据竞争或不一致的问题。 互斥锁是一种二进制锁,也就是说它...
C++如何在Linux中进行网络编程
在Linux系统上进行C++网络编程,涉及以下几个关键步骤: 引入必需的头文件: :提供socket API。 :定义Internet地址结构。 :提供IP地址转换函数。 :提供UNIX标准函数,如close()。 :提供字...
linux工具—gdb调试~~进程
1.简介gdb调试工具1.1程序发布版本 通常,程序发布有两种版本:调试模式(debug)和发布模式(release)。在Linux中,使用gcc/g++编译时,默认生成的是release模式。要使用gdb进行调试,必须在...
为什么大学C语言课程不教授Linux、Makefile、Git和GDB等工具?
大学的c语言课程通常旨在帮助学生掌握编程的基本概念和语法,但确实很少涉及如linux、makefile、git、gdb等配套工具链。 1、教学目标和层次 C语言课程的目标通常是为初学者奠定编程的基础,专注...
【Linux】从硬件到软件了解进程
一、冯诺依曼体系结构 我们常见的计算机结构,包括哈佛结构和冯诺依曼体系结构,我们日常使用的计算机就是基于冯诺依曼体系结构的。下图展示了这种体系的直观图。 在这里的存储器指的是内存,如...
Linux 进程调度之schdule主调度器
考虑到文章篇幅,在这里我只讨论普通进程,其调度算法采用的是cfs(完全公平)调度算法。 至于cfs调度算法的实现后面后专门写一篇文章,这里只要记住调度时选择一个优先级最高的任务执行一、调...
Linux系统编程:进程地址空间
一,内存地址空间1.1,栈区存储变量:普通局部变量、指针变量、函数参数、函数返回地址、临时变量、寄存器变量; 函数参数:函数的参数是从右到左依次入栈的; 在vs2022上栈区并不是'向下生长的',而是...
【Linux进程通信】二、匿名管道
Ⅰ. 管道一、管道的概念 管道是 unix 中最古老的进程间基于文件系统通信的形式。我们把从一个进程连接到另一个进程的一个数据流称为一个 “管道”。注意管道是单向连通的,不存在说双向管道...
父子进程的故事:解读Linux中的fork机制
前言 在linux系统中,进程是操作系统最重要的执行单元,而父子进程的创建与管理更是系统资源分配和任务并行的关键。通过fork函数,linux能够快速高效地复制一个进程,使得父子进程协同工作成为...
【Linux进程】初悉进程
进程调度简介 在linux中,进程是最基本的执行单位。进程调度在整个操作系统中属于核心地位,是操作系统实现多任务处理的关键操作,确保每个进程在有限的cpu资源下有序的完成相应操作。 在Linux...
C语言如何延迟代码执行若干微秒
本文将深入探讨C语言中如何实现代码执行的微秒级延迟。笔者认为此内容颇为实用,因此特此分享,希望读者能从中有所收益。 C语言中的微秒级代码延迟 前言 在特定情境下,开发者可能需要在C语言程...