发布

学习

学习
专栏成员
103
文章
13434
阅读量
24
订阅数
【Linux】进程信号——信号保存和信号捕捉
信号递达:指 操作系统 将一个信号(Signal)从内核传递到目标进程 的过程。它是 信号处理机制 中的关键步骤。 信号未决:信号从产生到递达之间的状态 信号阻塞 进程或线程可以暂时屏蔽某些信号,使它们在阻塞期间不会递达和处理。一旦解除阻塞,信号会被递达并处理。
用户11305458
2025-03-05
530
【Linux】进程信号
进程信号(Signal) 是一种异步的进程间通信机制,用于通知进程发生了某种事件。
用户11305458
2025-03-03
1020
【Linux】消息队列和信号量
消息队列是一种 进程间通信机制,允许不同进程通过 消息(数据块) 进行异步通信。消息队列中的消息按照先进先出(FIFO) 的方式存储,并由一个进程写入(发送),另一个进程读取(接收)。
用户11305458
2025-03-03
760
【Linux】进程间通信——共享内存
共享内存(Shared Memory)是一种 进程间通信(IPC) 机制,允许多个进程共享同一块物理内存,从而提高数据交换效率。相比其他 IPC 方式(如管道、消息队列等),共享内存具有 速度快、低开销 的优势,因为数据直接存储在内存中,而无需通过内核进行数据拷贝。
用户11305458
2025-02-28
920
【Linux】管道通信——命名管道
命名管道,也称为 FIFO(First In First Out),是一种 进程间通信(IPC) 机制,它允许不相关的进程(即没有父子关系的进程)通过文件系统中的特殊文件进行数据传输。
用户11305458
2025-02-25
1060
【Linux】进程间通信——进程池
进程池(Process Pool)是一种用于管理进程的技术,它通过预先创建一定数量的进程来避免频繁创建和销毁进程的开销。进程池通常用于需要并发执行大量任务的场景,特别是在处理CPU密集型任务时。
用户11305458
2025-02-19
560
【Linux】进程间通信——管道通信
什么是进程间通信 进程间通信(IPC)是指不同进程之间交换数据或协作的机制。由于每个进程都有独立的地址空间,它们不能直接访问彼此的内存,因此需要 IPC 机制来进行数据传输和同步。 进程间通信的方式 常见的通信方式有:管道,消息队列,共享内存,信号量,信号,套接字等等 这期我们主要讲的是管道通信
用户11305458
2025-02-16
530
【Linux】动静态库
静态库是一种在编译阶段将库文件的内容直接整合到目标程序中的库文件形式。使用静态库后,库的代码会成为可执行文件的一部分,运行时不需要依赖外部库。
用户11305458
2025-01-09
560
【Linux】软硬链接
软链接是一种指向文件或目录的快捷方式,是文件系统中非常重要的功能。它类似于Windows中的快捷方式,但更灵活,可以跨文件系统创建。
用户11305458
2025-01-09
1260
【Linux】文件系统
下面是每个group的组成部分,但是super block不是每个组都有的,这个点后面详谈。
用户11305458
2025-01-09
1330
如何做好一份技术文档?
技术文档是技术开发和维护过程中不可或缺的一部分。它既是沟通桥梁,也是知识积累的载体。一份优质的技术文档能够帮助团队高效协作、快速定位问题并提升项目可持续性。那么,如何做好一份技术文档呢?本文将从目标与受众分析、结构设计、语言风格、工具选择和维护更新五个方面进行探讨。
用户11305458
2025-01-09
1240
【Linux】磁盘结构和文件系统
磁盘是计算机存储系统的核心部件之一,主要用于长期存储数据。磁盘的基本概念、物理结构和逻辑组织形式直接影响着其性能和使用效率。 下面的图片是一个磁盘:
用户11305458
2025-01-09
1080
【Linux文件管理】重定向&&内核级缓冲区&&用户级缓冲区
上一期我们将文件描述符讲完了,这期来讲讲文件管理中的文件描述符表,在task_struct有一个指针是指向文件描述符表的。
用户11305458
2025-01-09
1070
【Linux】文件管理
在Linux系统中,文件是操作系统中最基本的数据组织单位之一,几乎所有的资源和操作都被抽象为文件。 简单来说文件我们可以定义为:文件=内容+属性 文件在没有被打开之前都是存储在磁盘上的,只有在打开之后才被加载到内存当中。 为什么文件必须被加载到内存当中?
用户11305458
2025-01-09
420
【Linux】简易版shell
打印的这个函数,MakeCommandLine()负责返回一个string类型的表。 由于我们要获取主机名,所以需要用到获取环境变量的函数,getenv()
用户11305458
2024-11-21
360
【Linux】深入理解进程控制:从创建到终止和进程等待
fork 函数是 Unix/Linux 系统中用于创建新进程的系统调用。调用 fork 后,当前进程(父进程)会被复制,创建出一个新的进程(子进程)。 fork函数特点:
用户11305458
2024-11-21
1710
【Linux内核大揭秘】程序地址空间
程序地址空间是一个程序在执行期间可以访问的内存范围。它由操作系统为每个进程分配,以确保进程之间不会相互干扰。地址空间包含了程序所需的所有内存区域,包括代码、已初始化和未初始化的数据、堆(heap)、栈(stack)等。
用户11305458
2024-11-21
1180
【Linux内核揭秘】深入理解命令行参数和环境变量
形如这样的命令后面带的选项就是命令行参数。 首先我们要了解一下命令行参数的原理。 我们知道像ls,mkdir,touch等等这些命令,都是用C语言写的可执行程序,所以必定会有main函数,我们以前学习C语言的时候也接触过一种main函数内部是传递参数的,学习C语言的时候,很难理解这些参数是什么意思,是因为这些参数是系统层面的,而不是语法层面的。 我们要理解命令行参数就需要先解决main函数的参数的问题。
用户11305458
2024-11-21
1330
「二叉树进阶题解:构建、遍历与结构转化全解析」
可以看见,唯一特殊的就是左子树,当右子树存在的时候左子树不存在的时候,我们需要用()代表空,但是没有左子树,又没有右子树的时候,我们不需要做任何处理。
用户11305458
2024-11-21
880
【Linux系统内核探索】进程调度
进程调度是操作系统内核的核心功能之一,负责在多个进程之间分配CPU时间,使得系统能够同时运行多个进程。因为计算机的CPU资源有限,操作系统需要决定在任何时刻哪个进程能够使用CPU执行任务,这个过程就是进程调度。 Linux进程调度经历了多个阶段的优化,目前主流的Linux内核使用的是完全公平调度器。CFS调度器的核心思想是通过精确计算每个进程的“虚拟运行时间”来决定调度的公平性。CFS调度器不会简单依赖于时间片,而是通过调度树来快速查找下一个应运行的进程。 现代的Linux调度主要依赖于Linux的CFS调度器,在2.6版本之前主要用的是Linux内核O(1)调度算法,这次我们的重点在于Linux内核O(1)调度算法。
用户11305458
2024-11-21
770
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档