自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (1)
  • 收藏
  • 关注

原创 LINUX互斥技术

http://www.anger6.com/?p=709在内核中,可能出现多个进程(通过系统调用进入内核模式)访问同一个对象,进程和硬中断访问同一个对象,进程和软中断访问同一个对象,多个处理访问同一个对象,此时需要使用互斥技术,确保在给定的时刻只有一个主体可以进入临界区访问对象。如果临界区执行的时间比较长或者可能睡眠,可以使用下面这些互斥技术:信号量,大多数情况下使用互斥信号量...

2019-06-26 22:59:07 250

原创 SMP缓存一致性

http://www.anger6.com/?p=641在阅读linux相关源码的过程中,经常看到内存屏障相关原语,如mb(),rmb(),wmb等。要想理解这些原语的作用,有必要理解SMP缓存一致性原理。在SMP系统中,处理器的每个核都有独立的一级缓存,因此同一内存位置的数据,可能在多个核一级缓存中存在多个副本,所以存在数据一致性的问题。目前主流的缓存一致性协议是MESI协议及其衍生协议...

2019-06-23 19:06:48 1056 2

原创 AUTOTOOLS工具

转自我的博客:http://www.anger6.com/?p=621在linux环境下通过源码安装程序,我们通常只需要下载源码包,解压,然后执行如下命令:./configuremakesudo make install.之所以能这么easy,背后是autotools的功劳。使用autotools的基本流程如下:通常我们只需要编写Makefile.am和configu...

2019-06-23 11:17:16 2189

原创 GRPC C++源码阅读(12)—-无锁队列的实现

http://www.anger6.com/?p=582grpc c++库为了达到高性能,采用了许多先进的编程技术(虽然会违背我们的直觉,甚至影响我们流畅地阅读其代码。这也是为什么我要分析其源码的原因,funny! isn’t it?)。如异步非阻塞,线程池,无锁队列,I/O多路复用等。这篇文章来分析下无锁队列的实现。先来看一下无锁数据结构的概念。一个数据结构能被称为是无锁的...

2019-06-22 15:40:25 3466

原创 Docker源码分析(二)-------代码结构

http://www.anger6.com/?p=505再开始分析docker源码之前,我们先来看下代码的目录结构。现在docker分为商业版和社区版两个版本,社区版docker-ce的github地址如下:https://github.com/moby/moby下载好代码,可以看到moby目录结构如下:api:顾名思义,api目录是docker cli或者第三...

2019-06-09 21:56:44 1314

原创 gRPC C++源码阅读 grpc初始化

http://www.anger6.com/?p=420这篇文章讲述grpc核心代码的初始化流程。先看一个类图任何依赖grpc核心lib初始化的代码,都需要在.cc文件中定义类型为GrpcLibraryInitializer的静态变量g_gli_initializer。这个对象的作用通过类图可以看出,会以单例模式初始化g_glip,g_core_co...

2019-06-01 23:24:32 2455 1

openstack资料

openstack相关资料

2017-01-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除