本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- arpenker
- tanling8334
- gaojingsong
- kaizi1992
- xpenxpen
- 龙儿筝
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
- kingwell.leng
最新文章列表
PostgreSQL启动过程中的那些事七:初始化共享内存和信号九:shmem中初始化Predicate锁
这一节
pg
初始化
predicate
锁,支持可序列化事务隔离。通过
InitPredicateLocks
例程实现,主要是干了下面这么几件事:
A
创建了哈希表"PREDICATELOCKTARGET hash"
。
B
在上面的哈希表里增加了
ScratchTargetTag
结构的索引
...
PostgreSQL启动过程中的那些事七:初始化共享内存和信号八:shmem中初始化常规锁管理器
这一节
pg
初始化锁管理器,通过
InitLocks
例程实现,主要是创建了三个哈希表
。
第一个哈希表"LOCK
hash"
用于管理锁,第二个哈希表"PROCLOCK
hash"
用于管理进程锁,第三个"LOCALLOCK
hash"
用于管理本地锁信息。其中第一个和第二个哈希表都是 ...
PostgreSQL的内存管理机制十二:共享内存/shmem分配
pg
的内存除了
AllocSet/MemoryContext
外,另一个主要部分就是共享内存(shared memory
)。这一节讨论共享内存(简写shmem
)的分配。
pg
在
reset_shared
()
这个函数里,
计算数据缓冲、xlog
、clog
、共享进程、子事务、并发控制、轻量级锁、backend
进程等需要的共享内存,
调用
shmg ...
PostgreSQL启动过程中的那些事七:初始化共享内存和信号七:shmem中初始化bufferpool
pg
初始化完
shmem
,给其加上索引
"ShmemIndex"
后,接着就在
shmem
里初始化管理各种事务和事务本身相关结构的实例。然后就是初始化缓冲池(
buffer pool
)。
缓冲区
(buffers)
存在于一个空闲内存块列表和一个哈希表查询数据结构。下面简述一下和缓冲池相关的概念。
...
pg的内存管理机制四:AllocSet/MemoryContext的内存再分配
话说
MemoryContextMethods
结构里的函数实现了pg
里AllocSet/MemoryContext
的内存管理机制,定义见下面。
typedef
struct
MemoryContextMethods
{
void
*(*alloc) (MemoryContext context, Size
si ...
pg的内存管理机制三:AllocSet/MemoryContext实例删除和内存回收
话说
MemoryContextMethods
结构里的函数实现了pg
里AllocSet/MemoryContext
的内存管理机制,定义见下面。
typedef
struct
MemoryContextMethods
{
void
*(*alloc) (MemoryContext context, Size
si ...
pg启动过程中的那些事二:初始化PostmasterContext
1先上个示意图,看一下函数调用过程梗概,中间略过部分细节
前面标3的是初始化PostmasterContext
初始化PostmasterContext的方法调用流程图
2初始化PostmasterContext的过程
话说main()->…->PostmasterMain()->…->MemoryContextInit()->AllocSetC ...
iPhone/Mac Objective-C内存管理教程和原理剖析 4
版权声明
此文版权归作者
Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接
http://vinceyuan.cnblogs.com/
,且必须包含此版权声明的完整内容。
版本
1.1 发表于
2010-03-08
四
系统自动创建新的
autorelease pool
在生成新 ...