logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

深入理解Linux线程:从进程到轻量级进程的实现原理

从操作系统视角来看,进程是承担分配系统资源的基本实体。一个运行起来的程序,在内核中对应一个结构体,这个结构体包含了进程的所有管理信息——代码、数据、打开的文件、信号处理等。我们以前学习的"进程",本质上是一个内部只有一个执行分支的实体。进程的核心特征在于独立性和资源独占性。每个进程拥有独立的虚拟地址空间、页表、文件描述符表等资源。当创建一个新进程时,操作系统需要为其预先申请一大批资源:内存空间、C

文章图片
#linux#学习
C++:vector(1)

本文介绍了C++标准库中vector容器的基本使用方法和特性。主要内容包括:1) vector的成员函数分类,涵盖构造、析构、赋值等操作;2) 元素访问方法如operator[]、at()等;3) 修改操作包括push_back、insert、erase等;4) 容量管理相关函数如size()、resize()等。通过示例代码演示了vector的初始化、遍历、插入删除等操作,并对比了emplace

文章图片
#c++#学习#开发语言
Linux:从零实现简易IO缓冲区:模拟C标准库文件操作

这篇文章介绍了C语言中文件IO操作的高效原理——内存缓冲区的使用,并通过代码实现了一个简化版的IO缓冲区系统。文章首先通过流程图展示了缓冲区的核心工作原理,包括行缓冲和全缓冲两种模式的差异。随后详细给出了自定义实现的头文件和源文件代码,其中包含了文件打开、数据写入、缓冲区刷新和文件关闭等核心功能的实现。通过模拟标准库的FILE结构体,作者展示了如何利用内存缓冲区减少磁盘IO次数,从而提升程序性能。

文章图片
#学习#linux#开发语言 +1
Linux 进程信号深度解析:从概念到产生机制

本文深入解析Linux进程信号机制,从本质概念和产生方式两大维度展开。信号作为异步事件通知机制,是内核与用户进程交互的关键纽带,具有三态生命周期(产生→挂起→递送)和64位挂起位图等核心设计。信号产生方式分为三类:硬件异常(如SIGSEGV/SIGFPE)、软件条件(如SIGPIPE/SIGALRM)和终端输入(如SIGINT/SIGQUIT)。文章通过思维导图系统梳理了信号分类体系,并剖析了底层

文章图片
#linux#开发语言#学习
C++11(上)

本文介绍了现代C++(C++11及后续版本)相较于传统C++(C++98/03)的核心改进,重点讲解了列表初始化机制。主要内容包括: 现代C++特点:引入智能指针、自动类型推导、Lambda表达式、移动语义等特性,提高了安全性、易用性和性能。 列表初始化: 使用花括号{}统一各种初始化场景(变量、数组、结构体、容器等) 解决传统初始化语法歧义,禁止窄化转换提升安全性 简化标准库容器和智能指针的使用

文章图片
#c++#开发语言#学习
Linux:从中断视角深度解析 信号保存机制

本文从操作系统内核角度深入剖析了中断与信号的关联机制。硬件中断(如时钟、键盘)和CPU异常(如除零、页错误)会触发内核中断处理程序,这些程序运行在不可睡眠的中断上下文中。由于无法立即调用用户态信号处理函数,内核通过以下路径保存信号:1)设置进程控制块中的shared_pending.signal位图;2)标记TIF_SIGPENDING标志;3)在进程返回用户态时通过do_signal()交付信号

文章图片
#linux#运维#服务器 +1
Linux 进程间通信:命名管道与 System V 共享内存深度解析

本文深入探讨了Linux系统中的两种关键IPC机制:命名管道(FIFO)和System V共享内存。命名管道通过文件系统路径实现进程间通信,突破了匿名管道必须具有亲缘关系的限制,其核心在于文件系统抽象和内核缓冲区的使用。文章详细解析了FIFO的创建、打开规则(包括阻塞语义)以及安全删除模式,并通过多写者单读者模型展示了实际应用。System V共享内存则采用零拷贝设计,通过内存映射实现高性能进程间

文章图片
#linux#服务器#运维 +1
深入理解 Linux 管道通信:从内核原理到并发实现

文章摘要 本文深入剖析Linux管道通信机制,从内核缓冲区原理到实际应用场景,全面解析进程间通信的核心技术。文章首先揭示管道作为内核维护的字节流缓冲区的本质特性,包括单向半双工通信、亲缘进程限制等5个核心特点。随后重点分析4种典型场景下的管道行为:读空/写满阻塞、子进程写入父进程不读导致的阻塞、读端关闭触发EOF检测,以及最危险的写端存在而读端关闭引发的SIGPIPE信号问题。通过Mermaid流

文章图片
#学习#开发语言#linux
Linux从基础IO到内核:一文吃透文件操作的底层逻辑(上)

本文系统性地讲解了Linux文件操作的底层原理。从文件的二元结构(内容与属性)出发,详细剖析了文件路径解析、打开模式映射、随机访问机制等核心概念。重点阐述了文件描述符的本质是进程文件描述符表的数组下标,以及内核通过三层数据结构(进程描述符、文件对象、inode)管理打开文件的机制。通过Mermaid图表和代码示例,完整呈现了从用户态到内核态的文件IO链路,帮助读者深入理解Linux文件系统的运作原

文章图片
#linux#java#前端
Linux:环境变量

本文介绍了Linux环境变量的概念、常见类型及获取方式。环境变量是操作系统级别的动态参数,可被所有进程访问,具有全局性。常见环境变量包括PATH(查找命令目录)、HOME(用户主目录)、SHELL(终端程序路径)等。获取方式分为终端操作和编程实现:终端可通过echo、env、printenv等命令查看;编程中C/C++可用getenv()函数或main函数的envp参数获取,Shell脚本直接使用

文章图片
#学习#linux#开发语言
    共 14 条
  • 1
  • 2
  • 请选择