中秋节假期这么快就没了,这几天还一直下雨,索性在家看看书.这次看的是Tom Lane的<A Tour of PostgreSQL Internals>.这篇小随笔就算做学习笔记了.园子里面大神多,如果有哪里讲得不对,还请各位前辈多多指教了~ 在这个ppt里面,大神Tom Lane分别从三个角度对Postgresql的内部原理进行了介绍. View 1 Postgresql进程以及内部进程间的通信 这部分比较简短,主要介绍了客户端/服务器间通信,服务器内部的通信. 1. 客户端/服务器间通信 一…
上周末学习了<A Tour of PostgreSQL Internals>的第一部分(View 1),今天我们继续打开书本,继续View 2 部分. View 2 Postgresql的系统表和数据类型 和其他大多数DBMS相比,postgresql在更大程度上使用了" 数据驱动 ". 为什么这么说呢? 按照Tom Lane的解释,原因如下: postgresql使用一套系统表描述数据库表,表中的每一列,每个索引等等: 除此以外,postgresql同样使用系统表存储数据…
       终于要迎来postgresql的<A Tour of PostgreSQL Internals>系列的最后一篇了.学习是不能拖延的事儿,越拖延事情越多.不废话,一起来看看吧~ View 3 Postgresql的查询处理        还是先上图吧.下面这张图从整体上概括了Postgresql的查询处理的步骤以及牵涉到的各个模块.        其中最重要的关键的两个数据结构是查询分析树(parse tree),和查询计划树(plan tree).        对上图所标示的四…
参考资料: 1. <Windows Internals> 2. http://bestcbooks.com 3. Windows Drive Kit 4. Microsoft Windows SDK 5. WDK下载地址 6. Windows内核模式和用户模式 知识点: 1. 用户模式下的四种基本进程类型: ● Fixed (or hardwired) system support processes, Such as the logon process & the session m…
mysql 从最基础的数据引擎,到进程结构,都不能支持数据版本.导致其职能阻塞“并发”,不支持最基本的事务,innodb达不到基本事务要求,任何写数据,都导致整个表锁住.充其量只能算是一个玩具,或者说和一个key->value 数据存储没有什么区别, 根本算不上是数据库(RDBMS)mysql 无法支持任何的OLTP和OLAP. 只能作为CRUD的基本数据存储,发布到静态.目前所有的mysql运用都只能达到这个层面.oracle, 在数据库的所有方面都是行业标杆,一直被模仿,从未被超越.但是,价…
参考资料: 1. <Windows Internals> 知识点: ● 当一个进…
参考资料: 1. <Windows Internals> 2. Fibers 知识点: ● 当一个进程在系统上启动时,内核将创建一个进程对象来代表它,并执行各种内核相关的初始化任务.然而,这些任务不会真正执行应用,而只是进行上下文和环境的准备工作.应用程序不像驱动(内核模式),它执行在用户模式下.因此,大部分初始化工作实际上都是在内核外完成的,且该工作是由Image Loader(Ldr)执行的. ● Image Loader存在于用户模式下的系统DLL Ntdll.dll中,而不在内核库中.…
参考资料: 1. <Windows Internals> 2. Dependency Walker 3. Ntoskrnl.exe 4. Livekd的使用 5. WinDbg的使用(一) 6. WinDbg的使用(二) Now, let's delve into the internal structure & the role each key OS component plays at the high-level achitecture. ^-^ 知识点: ● 先上图,下图是w…
参考资料: 1. <Windows Internals> 2. 自旋锁spinlock剖析与改进 3. Lock指令前缀 4. Lock指令前缀(二) 5. Kernel Dispatcher Objects 6. Windows同步机制原理 知识点: ● Interlocked Operations:最简单的同步机制,基于硬件对安全多处理器整数操作的支持,包括:InterlockedIncrement.interlockedDecrement.InterlockedExchange和Inte…
参考资料: 1. <Windows Internals> 知识点: ● 陷阱trap:它是一种处理器机制,用以在某一异常或中断出现时,捕捉该执行线程,并将其控制权转交到操作系统中某一固定位置.在Windows中,处理器将控制权转交到一个trap handler(一个针对特定中断或异常的函数). ● 一个中断是一个异步的事件,它与正执行的处理器无关.主要由I/O设备.处理器和时钟触发,且可以打开或关闭. ● 一个异常属于一种同步的情况,通常是由于执行某一特殊执行而触发的. ● 内核将系统服务调用…