一、inode是什么理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个...
分类:
其他好文 时间:
2015-02-10 22:52:28
阅读次数:
272
1、进程A和进程B共享页面,代码如下:if (!(pid=fork())) {
压栈操作;//子进程B
}
if (pid>0){
压栈操作;//父进程A
} 2、我们假设现在系统有一个用户进程A,他自己对应的程序代码已经载入内存中,此时该进程内存中所占用的页面...
分类:
其他好文 时间:
2015-02-10 15:25:03
阅读次数:
189
c++调用python,底层就似乎fork一个子进程启动一个python的解释器,执行python文件,由于python解释器维护了一个内部状态,所以如果c++程序是多线程,每个线程都调用python,那么python就会报错,解决的方式就是在主线程中给python解释器加一个全局锁。当一个线程调用...
分类:
编程语言 时间:
2015-02-09 15:57:14
阅读次数:
144
今天在一台Linux系统里,使用df命令查看磁盘使用情况,发现/根分区使用了100%然后删除一大文件/var/lib/pgsql/9.1/pgstartup.log,再使用df查看使用情况,显示内容不变。如下图所示:在网上查了下,好像说是inode的原因,还没真正删除,也没怎么说清楚,于是笔者使用如...
分类:
系统相关 时间:
2015-02-09 15:37:15
阅读次数:
197
(1) 先看一个实例:#include ; #include ; main () { pid_t pid; pid=fork(); if (pid #include pid_t fork(void);正确返回:在父进程中返回子进程的进程号,在子进程中返回0。功能:子进程是父进程的一个拷贝。即,...
分类:
其他好文 时间:
2015-02-09 09:21:31
阅读次数:
137
Linux显示inode的信息
youhaidong@youhaidong-ThinkPad-Edge-E545:~$ df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda8 1250928 238775 1012153 20% /
none 387883 2 38788...
分类:
系统相关 时间:
2015-02-08 21:56:56
阅读次数:
293
Redis持久化RDB模式的工作原理:Redis持久化RDB模式,Redis借助了fork命令的copy on write机制。在生成快照时,将当前进程整个复制出来,fork出一个子进程,然后在子进程中循环所有的数据,将数据写成为RDB文件。...
分类:
数据库 时间:
2015-02-08 10:19:57
阅读次数:
186
前言 在单核时代,大家所编写的程序都是单进程/单线程程序。随着计算机硬件技术的发展,进入了多核时代后,为了降低响应时间,重复充分利用多核cpu的资源,使用多进程编程的手段逐渐被人们接受和掌握。然而因为创建一个进程代价比较大,多线程编程的手段也就逐渐被人们认可和喜爱了。 记得在我刚刚学习线程进程的.....
分类:
编程语言 时间:
2015-02-07 20:20:19
阅读次数:
246
今天看《Unix环境高级编程》的fork函数与vfork函数时,看见一个copy-on-write的名词,貌似以前也经常听见别人说过这个,但也一直不明白这究竟是什么东西。所以就好好在网上了解了下,也算明白个大概,先记录下来. 转载自http://www.cnblogs.com/biyeymy...
分类:
其他好文 时间:
2015-02-07 17:17:28
阅读次数:
117
一直以来都对execve到底做了什么,总是犯迷糊,原来看Linux内核设计的艺术,这部分讲解的非常不细致,这次结合赵博士的书,重新理解了这部分代码。 首先列出代码,如下: if (!(pid=fork())) {//进程1创建进程2
close(0);
if (open("/etc/rc",O_RDONLY,0))
_exit(1);
execve("/bin/sh",ar...
分类:
系统相关 时间:
2015-02-07 14:31:47
阅读次数:
292