系统编程

lcreek4 天前
linux·系统编程
Linux信号掩码与sigsuspend原子操作:临界区信号安全处理实例详解这是一个Linux环境下的信号处理演示程序,主要展示了如何使用信号掩码(signal mask)、信号处理函数和sigsuspend函数来安全地管理程序中的信号,特别是在临界区域(critical region)的信号处理。
拾光Ծ11 天前
linux·c语言·运维开发·系统编程·重定向·linux开发·文件io
【Linux】一切皆文件:深入理解文件与文件IO目录一、理解文件1.1、文件的概念1.2、文件的认知二、回顾C文件2.1、C文件接口2.2、实现cat 指令
lcreek16 天前
linux·操作系统·系统编程
Linux信号机制详解:阻塞信号集与未决信号集在 Linux 系统中,信号(signal)是进程间通信(IPC)的一种机制,用于通知进程发生了某种事件。为了更精细地控制信号的处理行为,内核为每个进程维护了两个关键的信号集合:
lcreek18 天前
linux·系统编程
Linux 信号机制详解:从硬件异常到安全编程实践在深入理解 Unix/Linux 操作系统内核机制时,信号(Signal)、中断(Interrupt) 和 异常(Exception) 是三个核心但常被混淆的概念。它们共同构成了系统对异步事件和同步错误的响应框架,分别作用于用户空间、内核空间和硬件层面。本文将系统梳理这些机制的本质、关系与区别,并澄清常见误解,同时结合现代信号编程的安全实践,帮助开发者构建可靠、可移植的系统级程序。
燃于AC之乐18 天前
linux·操作系统·硬件架构·进程管理·系统编程·冯诺依曼架构·僵尸、孤儿进程
【Linux系统编程】进程管理探秘:从硬件架构到僵尸/孤儿进程💗博主介绍:计算机专业的一枚大学生 来自重庆 @燃于AC之乐✌专注于C++技术栈,算法,竞赛领域,技术学习和项目实战✌💗 💗根据博主的学习进度更新(可能不及时) 💗后续更新主要内容:C语言,数据结构,C++、linux(系统编程和网络编程)、MySQL、Redis、QT、Python、Git、爬虫、数据可视化、小程序、AI大模型接入,C++实战项目与学习分享。 👇🏻 精彩专栏 推荐订阅👇🏻 点击进入🌌作者专栏🌌: Linux系统编程✅ 算法画解 ✅ C++ ✅ 🌟算法相关题目点击即可
柏木乃一21 天前
linux·服务器·c++·io·进程·系统编程·缓冲区
基础IO(中)1.重定向的原理 2.更新自主shell,支持重定向 3.理解一切皆文件,缓冲区 4.缓冲类型,验证FILE包含文件描述符
序属秋秋秋1 个月前
linux·c语言·c++·操作系统·进程·系统编程·进程替换
《Linux系统编程之进程控制》【进程替换】往期《Linux系统编程》回顾: /------------ 入门基础 ------------/ 【Linux的前世今生】 【Linux的环境搭建】 【Linux基础 理论+命令】(上) 【Linux基础 理论+命令】(下) 【权限管理】 /------------ 开发工具 ------------/ 【软件包管理器 + 代码编辑器】 【编译器 + 自动化构建器】 【版本控制器 + 调试器】 【实战:倒计时 + 进度条】 /------------ 系统导论 ------------/ 【冯诺依曼体系
序属秋秋秋1 个月前
linux·c语言·c++·进程·系统编程·进程控制·进程等待
《Linux系统编程之进程控制》【进程等待】往期《Linux系统编程》回顾: /------------ 入门基础 ------------/ 【Linux的前世今生】 【Linux的环境搭建】 【Linux基础 理论+命令】(上) 【Linux基础 理论+命令】(下) 【权限管理】 /------------ 开发工具 ------------/ 【软件包管理器 + 代码编辑器】 【编译器 + 自动化构建器】 【版本控制器 + 调试器】 【实战:倒计时 + 进度条】 /------------ 系统导论 ------------/ 【冯诺依曼体系
_OP_CHEN2 个月前
linux·操作系统·虚拟地址空间·系统编程·进程地址空间·虚拟内存管理·程序地址空间
【Linux系统编程】(十六)揭秘 Linux 程序地址空间:从虚拟地址到内存管理的底层逻辑实战编辑前言一、研究平台说明:为什么选择 32 位 Linux 2.6.32?二、程序地址空间回顾:C 语言程序员的 “刻板印象”
秋深枫叶红2 个月前
linux·学习·线程·系统编程
嵌入式第三十七篇——linux系统编程——线程控制在多线程编程中,临界资源(全局变量、文件、设备等会被多线程读写的资源)的访问控制是核心问题,主要通过互斥和同步机制解决,同时需规避死锁风险。
CQ_YM2 个月前
linux·系统编程·标准io
Linux标准IO在进行文件操作前,我们需要先了解 Linux 系统中的文件分类,以及如何通过命令行参数灵活传递文件路径等信息。
序属秋秋秋2 个月前
linux·运维·服务器·c语言·c++·系统编程·进程地址空间
《Linux系统编程之进程环境》【地址空间】往期《Linux系统编程》回顾: /------------ 入门基础 ------------/ 【Linux的前世今生】 【Linux的环境搭建】 【Linux基础 理论+命令】(上) 【Linux基础 理论+命令】(下) 【权限管理】 /------------ 开发工具 ------------/ 【软件包管理器 + 代码编辑器】 【编译器 + 自动化构建器】 【版本控制器 + 调试器】 【实战:倒计时 + 进度条】 /------------ 系统导论 ------------/ 【冯诺依曼体系
序属秋秋秋2 个月前
linux·运维·服务器·c语言·c++·操作系统·系统编程
《Linux系统编程之进程环境》【环境变量】往期《Linux系统编程》回顾: /------------ 入门基础 ------------/ 【Linux的前世今生】 【Linux的环境搭建】 【Linux基础 理论+命令】(上) 【Linux基础 理论+命令】(下) 【权限管理】 /------------ 开发工具 ------------/ 【软件包管理器 + 代码编辑器】 【编译器 + 自动化构建器】 【版本控制器 + 调试器】 【实战:倒计时 + 进度条】 /------------ 系统导论 ------------/ 【冯诺依曼体系
序属秋秋秋2 个月前
linux·运维·服务器·c语言·c++·ubuntu·系统编程
《Linux系统编程之进程基础》【进程切换 + 进程调度】往期《Linux系统编程》回顾: /------------ 入门基础 ------------/ 【Linux的前世今生】 【Linux的环境搭建】 【Linux基础 理论+命令】(上) 【Linux基础 理论+命令】(下) 【权限管理】 /------------ 开发工具 ------------/ 【软件包管理器 + 代码编辑器】 【编译器 + 自动化构建器】 【版本控制器 + 调试器】 【实战:倒计时 + 进度条】 /------------ 系统导论 ------------/ 【冯诺依曼体系
序属秋秋秋3 个月前
linux·运维·c语言·c++·进程·系统编程·fork
《Linux系统编程之进程基础》【进程入门】往期《Linux系统编程》回顾: /------------ 入门基础 ------------/ 【Linux的前世今生】 【Linux的环境搭建】 【Linux基础 理论+命令】(上) 【Linux基础 理论+命令】(下) 【权限管理】 /------------ 开发工具 ------------/ 【软件包管理器 + 代码编辑器】 【编译器 + 自动化构建器】 【版本控制器 + 调试器】 【实战:倒计时 + 进度条】 /------------ 系统导论 ------------/ 【冯诺依曼体系
序属秋秋秋3 个月前
linux·运维·服务器·c语言·c++·ubuntu·系统编程
《Linux系统编程之开发工具》【实战:倒计时 + 进度条】往期《Linux系统编程》回顾: /------------ 入门基础 ------------/ 【Linux的前世今生】 【Linux的环境搭建】 【Linux基础 理论+命令】(上) 【Linux基础 理论+命令】(下) 【权限管理】 /------------ 开发工具 ------------/ 【软件包管理器 + 代码编辑器】 【编译器 + 自动化构建器】 【版本控制器 + 调试器】
摘星编程3 个月前
网络·算法·rust·系统编程·tokio
深入浅出 Tokio 源码:掌握 Rust 异步编程的底层逻辑目录深入浅出 Tokio 源码:掌握 Rust 异步编程的底层逻辑摘要一、Rust 异步基石:Future 与 Waker 机制
≮傷£≯√5 个月前
c语言·线程·系统编程
C语言线程之死锁死锁(Deadlock)由于某种逻辑问题,导致等待一个永远无法获得的资源的困境压栈pthread_cleanup_push(void fun(void * arg), 参数);
佟晖10 个月前
linux·系统编程
KGDB调试Linux内核与模块内核 5.10 版本使用两台虚拟机:测试:在调试机执行 cat /dev/ttyS0阻塞,在开发机执行 echo "hello" > /dev/ttyS0,可以看到调试机测输出 hello,表示串口连通。
小镇青年达师傅10 个月前
linux·嵌入式·多线程·互斥锁·系统编程·条件锁
条件锁存在的意义:用生活中的例子秒懂线程间的"暗号系统"引子:在学习linux下c语言中的互斥锁和条件锁的时候,我的大脑哦逻辑进入了“条件锁到底锁了什么”的死循环,所以让deepseek给我举了三个生动的例子,感觉非常有帮助,记录在这里,这段回答仅用于理解条件锁的含义,代码准确性有待验证: