logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【Linux】进程间通信(一):IPC基础与管道机制深度剖析

本文系统地介绍了 Linux 进程间通信(IPC)的基础概念与常见机制,并对匿名管道(pipe)这一最基础、最经典的 IPC 手段进行了深入剖析。文章首先从进程地址空间隔离出发,阐明了进程间通信的必要性及其在实际开发中的典型应用场景.在核心内容部分,文章从内核实现、文件描述符模型以及进程视角多个层面,详细分析了匿名管道的工作原理:管道本质上是由内核维护的一块内存缓冲区,通过一对文件描述符(读端与写

文章图片
#linux#运维#c++
【Linux】进程间通信(三):共享内存深度剖析与System V IPC机制

共享内存是性能最高的进程间通信方式,其核心在于多个进程将虚拟地址映射到同一块物理内存,实现零拷贝的数据共享。然而,共享内存只解决“共享”问题,并不提供任何同步与访问控制机制,若直接并发读写,极易产生数据竞争和不一致。本文从管道的性能瓶颈出发,系统分析了 System V 共享内存的底层原理、内核管理方式及完整 API 使用流程,并通过实例演示共享内存的创建、挂接、使用与回收。针对共享内存的并发问题

文章图片
#linux#c++#操作系统
【Linux】进程信号(二):信号的保存与阻塞机制

本文深入解析Linux进程信号的保存与阻塞机制。首先明确三个核心概念:信号递达(实际处理动作)、信号未决(产生但未处理状态)和信号阻塞(暂时屏蔽信号)。通过对比阻塞与忽略的区别,指出阻塞是延迟处理而忽略是主动丢弃。接着剖析内核数据结构,展示信号在PCB中的存储方式,包括阻塞信号集(block位图)、未决信号集(pending位图)和信号处理函数表。通过具体示例说明不同信号状态下的处理流程,帮助读者

文章图片
#linux#chrome#运维 +2
【Linux】进程信号(三):信号捕捉与操作系统运行原理

本文深入探讨了Linux信号捕捉机制与操作系统运行原理。主要内容包括:1)信号捕捉流程,揭示handler函数在用户态执行的异步特性;2)sigaction函数的详细解析,包括结构体参数和信号屏蔽机制;3)操作系统运行本质,从硬件中断、时钟中断到用户态/内核态切换。通过内核源码分析和流程图解,展现了信号处理作为"软件模拟硬件中断"的实现原理,帮助读者深入理解计算机系统的底层工作

文章图片
#linux#运维#服务器 +2
【Linux】线程概念与控制(一):线程本质与虚拟地址空间

本文介绍了Linux线程的基本概念与虚拟地址空间机制。线程是进程内部的控制序列,共享进程资源但拥有独立执行流。通过工厂工人的类比,解释了线程与进程的关系。文章重点剖析了虚拟地址空间的分页机制,包括页框、页表等核心概念,阐述了虚拟内存如何解决物理内存碎片和地址冲突问题。此外,还详细讲解了Linux内核管理物理内存的struct page结构以及多级页表的工作原理,为后续理解线程地址空间布局奠定理论基

文章图片
#linux#运维#服务器 +1
【Linux】线程概念与控制(二):POSIX线程库API实战

本文介绍了Linux下POSIX线程库(pthread)的基本使用方法和核心API。主要内容包括:1) POSIX线程库的特点和编译链接方式;2) pthread的错误处理机制与传统函数的区别;3) pthread_create函数详解及创建线程的完整示例;4) 获取线程ID的pthread_self方法。文章通过可运行的代码示例,演示了如何创建和控制线程,并强调多线程编程中需要注意的错误处理方式

文章图片
#linux#运维#服务器 +2
【Linux】线程同步与互斥(四):线程池与任务管理

本文介绍了Linux线程池的设计与实现,重点分析了传统线程使用方式的弊端及线程池的优势。线程池通过预先创建固定数量的工作线程并重复使用,有效避免了频繁创建销毁线程的开销,同时能够控制并发数量,提高系统资源利用率。文章详细阐述了线程池的三大核心组件:任务队列、工作线程和管理接口,并采用生产者-消费者模型进行任务调度。在实现层面,提出了基于C++的面向对象设计方法,通过抽象Task基类支持多种具体任务

文章图片
#linux#运维#服务器 +2
【Linux】网络编程基础(三):Socket编程预备知识

Socket编程基础:端口号与网络字节序 本文介绍了网络编程中端口号的作用与分类,以及TCP/UDP协议的区别。端口号(16位整数)与IP地址共同组成Socket,唯一标识网络中的进程。端口分为知名端口(0-1023)、注册端口(1024-49151)和动态端口(49152-65535)。TCP提供可靠、面向连接的传输,适合文件、网页等场景;UDP则无连接、不可靠但高效,适用于视频、游戏等实时应用

文章图片
#linux#c++#运维 +2
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server

本文介绍了TCP Socket编程的基础知识,重点对比了TCP与UDP的核心区别,并详细解析了TCP的关键API。TCP作为面向连接的可靠传输协议,通过socket、bind、listen、accept、connect等系统调用实现通信流程。文章通过比喻解释了监听套接字与连接套接字的区别,并提供了单连接Echo Server的实现思路。与UDP的无连接特性不同,TCP通过三次握手建立连接,确保数据

文章图片
#linux#tcp/ip#运维 +3
【Linux】进程间关系与守护进程详解:从进程组到作业控制到守护进程实现

本文系统讲解了Linux进程间关系与守护进程的实现。主要内容包括:1)进程组的概念、生命周期与作用,说明进程组如何统一管理多个进程;2)会话的组织结构、创建方法(setsid)及会话ID;3)控制终端的作用及其与进程组的关系;4)守护进程的实现原理,包括脱离控制终端、改变工作目录等关键步骤。通过理解进程组、会话和控制终端的关系,可以掌握Linux进程管理的核心机制,并实现可靠的守护进程。

文章图片
#操作系统#c++
    共 72 条
  • 1
  • 2
  • 3
  • 8
  • 请选择