
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文讲解了IO操作的核心机制及五种IO模型。IO操作本质是等价拷贝,低效IO在于等待时间多。五种IO模型包括阻塞IO、非阻塞IO、信号驱动IO、多路复用IO和异步IO。阻塞IO在数据就绪前会一直等待,非阻塞IO会立即返回并允许执行其他任务。信号驱动IO通过信号通知数据就绪,多路复用IO可同时等待多个文件描述符就绪,异步IO则完全由操作系统管理等待和拷贝过程。

哈希表通过哈希函数建立键值存储映射,是实现快速数据查找的核心结构。本文系统阐述了哈希表的基本原理,重点剖析了直接定址法与除留余数法等哈希函数的设计,并深入探讨了开放定址法与链地址法解决哈希冲突的机制。结合C++代码,详细实现了哈希表的插入、查找、删除及动态扩容等核心操作,对比了线性探测与哈希桶的性能差异,为理解与高效应用哈希表提供了完整的实践参考。

进程间通信(IPC)是理解操作系统的重要一环。这篇博客从“为什么需要通信”出发,带你深入理解匿名管道的本质与使用。文章先讲核心原理:管道是内核中的内存级缓冲区,通过 `pipe()` 创建,借助 `fork()` 让父子进程共享同一份资源。接着用完整代码演示读写流程,并分析“面向字节流”的特性。然后深入四种边界情况:读端关闭触发 `SIGPIPE`、写端关闭 `read` 返回 0、管道满写阻塞、

本篇博客深入解析 Linux 进程管理的核心机制,涵盖进程的七种状态(R、S、D、T、t、X、Z)、阻塞与挂起的本质区别、僵尸进程与孤儿进程的产生及回收机制,以及进程优先级的调度原理。结合 ps、kill 等命令,详细说明 nice 值对优先级的影响,帮助读者理解操作系统如何管理进程资源。内容兼顾理论与实战,适合 Linux 系统学习者和开发者阅读。

本篇博客深入解析 Linux 进程管理的核心机制,涵盖进程的七种状态(R、S、D、T、t、X、Z)、阻塞与挂起的本质区别、僵尸进程与孤儿进程的产生及回收机制,以及进程优先级的调度原理。结合 ps、kill 等命令,详细说明 nice 值对优先级的影响,帮助读者理解操作系统如何管理进程资源。内容兼顾理论与实战,适合 Linux 系统学习者和开发者阅读。

本文从冯诺依曼体系结构出发,逐步深入到Linux进程的核心概念。文章首先介绍了CPU与内存的数据交互机制、操作系统的管理本质(先描述再组织),随后重点讲解了进程的本质(内核数据结构+代码和数据)、task_struct中的核心属性、进程的查看方式,以及fork()创建子进程的原理。最后详细解答了fork()常见的三个核心问题,并通过写时拷贝机制解释了父子进程如何实现内存独立。适合正在学习操作系统原

这篇文章主要介绍了C++中的三个重要特性:缺省参数、函数重载和引用。 缺省参数部分说明了函数参数可以设置默认值,分为全缺省和半缺省两种形式,并强调了缺省参数只能在函数声明处指定。文章通过顺序表初始化的例子展示了缺省参数的实际应用场景。 函数重载部分解释了同名函数通过参数类型、数量或顺序不同来实现重载的机制,指出了返回值不同不能构成重载,并分析了函数重载中可能出现的歧义问题。 引用部分阐述了引用作为

STL(标准模板库)是C++标准库的核心组件,提供数据结构和算法的软件框架。它包含六大核心组件:1)容器(如vector、map)管理数据存储;2)迭代器作为容器与算法间的桥梁;3)算法(如sort、find)提供通用操作;4)仿函数实现自定义行为;5)配接器(如stack)改造接口;6)空间配置器管理内存分配。这些组件协同工作,使STL成为高效、可复用的C++编程工具。

C++中的string类提供了更便捷的字符串操作方式,相比C语言的字符数组更符合面向对象思想。标准库中的string类是一个管理字符数组的顺序表,支持流插入和流提取操作。常见的string类型包括处理ASCII/UTF-8的string、宽字符的wstring以及UTF-16/32的u16string/u32string,其中string最常用。C++11引入了auto关键字用于自动类型推导和范围

本文主要探讨了C++中字符串类的默认成员函数实现,包括构造函数、析构函数、拷贝构造和运算符的自定义实现,有助于我们自主对string类的底层进行理解。








