logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【Linux】信号(下):进程是怎么“处理”信号的

两篇合起来,信号的全貌就完整了:产生端五种方式殊途同归,落到 pending 位图;保存靠 pending、block、handler 三张表;处理则卡在内核态返回用户态的那个检查点上,先查 pending 再查 block,默认和忽略内核顺手就办了,自定义捕捉要回到用户态执行,一来一回正好四次身份切换。而为了讲清“凭什么进内核”,我们又把硬件中断、中断向量表、时钟源、系统调用号这条线走了一遍——

#linux#驱动开发#运维
【Linux】信号(上):一个进程是怎么“被通知”的

信号是一种给进程发送的,用来进行事件异步通知的机制。异步的意思是同一时间两件事情同时发生,互不干扰,就好比人正在睡觉,闹钟也正在慢慢走,两者各干各的,直到闹钟响了再通知起床;信号的产生,相对于进程的运行就是异步的。关于信号,先给四条基本结论:1、信号处理,进程在信号没有产生的时候,早就知道信号该如何处理了;2、信号的处理,不是立即处理,而是可以等一会再处理,在合适的时候进行信号的处理;3、进程能识

#linux#驱动开发#运维
【Linux】揭开文件系统神秘的面纱:第四讲:可执行文件的组装车间

我们平时写代码,几乎都离不开printfstrlen这些函数,可它们并不在我们自己写的源文件里,那它们是从哪来的呢?它们来自库。库是写好的、现有的、成熟的、可以复用的代码,现实里每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,所以库的存在意义非同寻常。本质上来说,库是一种可执行代码的二进制形式,可以被操作系统载入内存执行,而库又分两种:静态库和动态库,这两种我们后面分别来看先看静态

#linux#运维#服务器
【Linux】揭开文件神秘的面纱:第二讲,操作系统自己的菜鸟驿站——文件缓冲区

这节课带大家学习了有关文件缓冲区的知识,还有理解了一切皆文件到底是怎么实现的,希望大家在看完这篇文章后能从中学到新知识。以后我会继续创作Linux方向的博客,如果觉得有帮助的话希望各位大佬能三联关注支持一下,看到后我会进行回关和回访。

#linux#ubuntu
【Linux】一篇文章带你吃透进程控制:fork、wait、exit到底在做什么

本文梳理了Linux进程控制四大核心:进程创建、进程退出、进程等待与程序替换。进程退出标记生命周期结束,wait/waitpid用于回收子进程,避免僵尸进程;exec系列系统调用实现程序替换,在保留进程资源的前提下加载新程序。理解这套机制,能看清进程从创建到消亡的完整流程,也是操作系统并发编程的重要基础。

#linux#ubuntu
【Linux】每个进程都拥有“假内存” | 进程地址空间详解

虚拟地址空间不只是简单的地址翻译,更是操作系统实现解耦的核心抽象。它让进程无需关心物理内存的分布,只需操作虚拟地址;内核则通过页表独立管理物理内存。二者隔离开来,既实现内存隔离与安全,也让内存调度、换页等机制得以落地,是理解现代内存管理的关键。

#linux#服务器#运维
C++:一篇文章讲清楚类和对象

class为定义类的关键字,后面加上类的名称,本文将使用日期类(Date)来进行讲解,{}内为类的主体,括号后的分号;不能省略。类体中的变量称为类的属性或成员变量,类中的函数被称为行为或成员函数。定义在类里面的变量,为了与正常的变量区分开,一般会在变量名的前面加上一个下划线(),如下图所示。int _month;int _day;特别的是,在C++里面,struct也可以用于定义类,因为C++本身

#c++#开发语言#学习
到底了