代码改变世界

进程通信之命名管道

2014-10-10 16:20 by DataBases, 230 阅读, 0 推荐, 收藏,
摘要:通常的管道只能连接相关的进程。常规管道由进程创建,并由最后一个进程关闭。使用命名管道可以连接不相关的进程,并且可以独立于进程的存在。下面是由shell实现的基于FIFO(命名管道)的时间/日期服务的服务器和客户端程序。1,服务器程序#! /bin/sh#time server while true... 阅读全文

进程间通信之文件

2014-10-10 14:26 by DataBases, 366 阅读, 0 推荐, 收藏,
摘要:以时间/日期服务器为例来说明进程间的通信这里用shell脚本来实现1,服务程序, 更新当前时间到一个文件,#! /bin/sh# time serverwhile true;dodate > /temp/current_datesleep 1done2,客户程序,通过共享文件获得当前时间进程。#! ... 阅读全文

从某个角度对三种数据库的分类

2014-10-06 16:30 by DataBases, 211 阅读, 0 推荐, 收藏,
摘要:最近看到有人对市场上占用份额较高的数据用三句话进行了总结:Oracle是 世界上用钱能买到的最好的数据库PostgreSQL是 世界上不花钱能用到最好的数据库MySQL 是世界上不花钱使用最广泛的数据库我听后,也挺赞同的。还是要支持一下开源的PostgreSQL数据,能够更好地满足人民的需要。 阅读全文

一张图看清数据库管理系统的组成模块和数据流向

2014-09-30 17:43 by DataBases, 2090 阅读, 0 推荐, 收藏,
摘要:DBMS分两大部分组成:1,数据库环境的各种用户以及他们的接口;2,数据库的内部结构,包括数据的存储和事务的处理。数据库管理系统的组成模块及数据流向图 阅读全文

用fcntl锁一个文件来保护操作

2014-09-18 15:29 by DataBases, 411 阅读, 0 推荐, 收藏,
摘要:用fcntl锁一个文件来保护操作 阅读全文

Linux 下段错误 core文件

2014-09-16 11:27 by DataBases, 1392 阅读, 0 推荐, 收藏,
摘要:什么是core dump?core的意思是内存,dump的意思是扔出来,堆出来;当一个程序奔溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映像(同时加上调试信息),主要用来调试的。为什么没有core文件生成呢?有时候程序down了,但是core文件却没有生... 阅读全文

Linux环境下源码安装PostgreSQL

2014-09-06 20:11 by DataBases, 643 阅读, 0 推荐, 收藏,
摘要:1.下载PostgreSQL源码包,并保存到Linux操作系统的一个目录下2.解压PostgreSQL源码包 :tar zxvf postgresql-9.2.4.tar.gz 或 tar jxvf postgresql-9.2.4.tar.bz23,切换到刚刚解压的目录下:cd... 阅读全文

判断一个文件是否存在

2014-08-20 21:05 by DataBases, 427 阅读, 0 推荐, 收藏,
摘要:头文件#include函数int access(const char * pathname, int mode);说明access()会检查是否可以读/写某一已存在的文件。参数mode有几种情况组合, R_OK,W_OK,X_OK 和F_OK。R_OK,W_OK与X_OK用来检查文件是否具有读取、写... 阅读全文

PostgreSQL中initdb做了什么

2014-08-20 19:37 by DataBases, 7417 阅读, 0 推荐, 收藏,
摘要:在使用数据库前,是启动数据库,启动数据库前是initdb(初始化数据库);一起来看一下initdb做了什么吧。初始化数据库的操作为: ./initdb -D /usr/local/pgsql/datainitdb把用户指定的选项转换成对应的参数,通过外部程序调用的方式执行postgres程序。pos... 阅读全文

Linux C进程内存布局

2014-08-17 19:00 by DataBases, 1143 阅读, 0 推荐, 收藏,
摘要:当程序文件运行为进程时,进程在内存中获得空间。这个空间是进程自己的内存空间。每个进程空间按照如下方式分为不同区域: 进程内存空间布局图text:代码段。存放的是程序的全部代码(指令),来源于二进制可执行文件中的代码... 阅读全文