- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 Postgresql 底层存储 页面布局
Postgresql 底层存储管理方式: Postgresql的每个数据库均存放在一个目录中,以db_oid命名,该目录中存放每个表对应的文件,文件名以该数据表对应的relfilenode_oid命名。当表中的数据量足够大,导致表文件的大小大于1GB的时候,pos
2011-09-20 16:06:28 1835
转载 探索MYSQL源代码-客户端连接过程和用户认证体系
<br /><br />本文从源代码角度详细解释使用mysql客户端连上MySQL的服务端的过程以及通过用户认证的过程。<br />用户在客户端键入mysql -h a.b.c.d -u root -pxxxx<br />最终都会调用到mysql_real_connect(sql/client.c的1856行的宏CLI_MYSQL_REAL_CONNECT),我们从这个函数出发。<br />先上图发件人 MySQL客户端发起socket连接,等待三次握手的通过。三次握手通过之后,客户端进入client_sa
2011-05-23 20:24:00 799
翻译 SQLite3 写数据库时的锁机制
<br />来源于SQLite官方网站上的文档:http://www.sqlite.org/lockingv3.html<br /><br /> <br /><br />SQLite3 写数据库<br /> <br /> 为了写Sqlite3数据库,进程必须先获取SHARED锁。当获取SHARED锁之后,进程需要进一步申请RESERVED锁。RESERVED锁表示该进程会在不远的将来执行写数据库操作。同一时刻只有一个进程能够获取RESERVED锁。但是其他进程此时还是可以获取SHARED锁来读
2011-03-10 10:49:00 2731 1
原创 Busybox: 解决IPV6路由表删除时遇到的:No Such Process问题
环境: 嵌入式系统,Busybox-1.00版本,IPV6网络环境,DHCPV6动态获取网关和路由信息。问题: 当使用route命令尝试删除默认网关:route -A inet6 del ::/0 gw 2001::1 dev br0 操作失败,系统温馨提示: SIOC[ADD|DEL]RT: No Such Process分析: Busybox-1.00是enbale了IPV6的支持选项的。同时从DHCP Server处获取的默认网关也是正确的。使用 route -A inet6
2010-12-09 18:21:00 4535
原创 Busybox: 在SMP系统中为应用划拨专属CPU
问题: 在SMP的系统中,为保证某Application即使在其他进程都很忙的情况下都能够获得足够的CPU资源。思路: 1. 提高该Application对应的Process的优先级。 2. 从SMP系统中专门划拨出一组CPU来处理该Application。解决方案: 第一种方法没啥可说的。 第二种方法,有点替内核操心的感觉,但是就纯研究的角度来看,还是有点意思的。在SMP的环境中为某个应用制定专属CPU,换句话说就是只有这个应用才能在指定的CPU组上运行。再进一步:其他所有的应用
2010-12-09 14:28:00 1174
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人