03 2024 档案
摘要:🌈个人主页:Fan_558 🔥 系列专栏:项目一 ☀ 代码仓库:高并发内存池 🌹关注我💪🏻带你学更多操作系统知识 文章目录 前言文章重点一、回顾PageCache页缓存结构二、PageCache结构设计三、完善申请内存函数小结 前言 本文将会带你走进高并发内存池PageCache页缓存的
阅读全文
摘要:🌈个人主页:Fan_558 🔥 系列专栏:项目一 ☀ 代码仓库:高并发内存池 🌹关注我💪🏻带你学更多操作系统知识 文章目录 前言本文重点一、构建CentralCache结构二、运用慢开始反馈调节算法三、完成向CentralCache中心缓存申请四、承上启下 小结 前言 本文将会带你走进高
阅读全文
摘要:🌈个人主页:Fan_558 🔥 系列专栏:项目一 ☀ 代码仓库:高并发内存池 🌹关注我💪🏻带你学更多操作系统知识 文章目录 前言文章重点一、设计FreeList自由链表结构二、定制对齐映射规则三、完成申请Allocate与释放Deallocate内存函数四、线程局部存储TLS设计五、承上
阅读全文
摘要:🌈个人主页:Fan_558 🔥 系列专栏:项目一 ☀ 代码仓库:高并发内存池 🌹关注我💪🏻带你学更多操作系统知识 文章目录 前言一、ThreadCache整体框架设计二、CentralCache整体框架设计三、PageCache整体框架设计 小结 前言 在本文中,重点是向你介绍Threa
阅读全文
摘要:🌈个人主页:Fan_558 🔥 系列专栏:项目一 ☀ 代码仓库:高并发内存池 🌹关注我💪🏻带你学更多操作系统知识 文章目录 前言一、设计整体框架二、New操作(申请空间)三、Delete操作(用自由链表管理释放的空间)四、测试性能 小结 前言 我们知道申请内存使用的是malloc,mal
阅读全文
摘要:🌈个人主页:Fan_558 🔥 系列专栏:项目一 ☀ 代码仓库:高并发内存池 🌹关注我💪🏻带你学更多操作系统知识 文章目录 前言一、项目简介二、所需知识储备与难度三、什么是内存池四、内存池主要解决的问题 小结 前言 话不多说,项目启动 一、项目简介 当前项目是实现一个高并发的内存池,他的
阅读全文
摘要:🌈个人主页:Fan_558 🔥 系列专栏:Linux 🌹关注我💪🏻带你学更多操作系统知识 文章目录 前言一、生产消费模型(1)概念引入(2)生产消费模型的优点(3)生产消费模型的特点 二、基于阻塞队列的生产消费模型三、基于环形队列的生产消费模型(1)环形队列的生产消费模型特点 小结 前言
阅读全文
摘要:🌈个人主页:Fan_558 🔥 系列专栏:Linux 🌹关注我💪🏻带你学更多操作系统知识 文章目录 前言一、死锁(1)死锁概念 二、同步(1)同步概念(2)条件变量(3)函数接口(4)代码实例 小结 前言 本文将会向你介绍死锁的概念,以及同步的概念和实现 一、死锁 (1)死锁概念 死锁是
阅读全文
摘要:前言 本文将会向你介绍互斥的概念,如何加锁与解锁,互斥锁的底层原理是什么 线程ID及其地址空间布局 每个线程拥有独立的线程上下文:一个唯一的整数线程ID, 独立的栈和栈指针,程序计数器,通用的寄存器和条件码。 和其他线程共享的进程上下文的剩余部分:整个用户虚拟地址空间,那就是上图的数据段,堆以及所有
阅读全文
摘要:前言 本文将会向你介绍线程控制(创建(请见上文),终止,等待,分离) 线程控制 线程终止 pthread_t pthread_self(void); 获取线程自身的ID 如果需要只终止某个线程而不终止整个进程,可以有三种方法: 1. 从线程函数return。这种方法对主线程不适用,从main函数re
阅读全文
摘要:前言 本文将会向你介绍线程的概念,以及线程是怎么被创建的 线程概念 一、进程是承担系统资源的基本实体,线程是cpu调度的基本单位 首先,地址空间在逻辑上相当于进程的资源窗口, 每个进程都有这样一个资源窗口。通过地址空间+页表获取自身的代码和数据 那么有没有可能创建一个“进程”只需要创建一个pcb进程
阅读全文

浙公网安备 33010602011771号