使用 vi 来编辑一个文件。当您键入 vi 时,在 inode 表中找到 inode 编号之后,才允许您打开该 inode 。在 vi 的编辑会话期间,更改了该 inode 中的某些属性,当您完成操作并键入 :wq 时,将关闭并释放该 inode 。通过这种方式,如果两个用户试图对同一个文件进行编....
分类:
其他好文 时间:
2014-09-01 12:27:33
阅读次数:
175
在做某个公司的笔试题的时候遇到了这么一个问题,描述如下:
如下代码会输出多少个"-"字符?
#include
#include
#include
int main()
{
int i;
for(i=0;i<2;i++)
{
fork();
printf("-\n");
}
return 0;
}
在这里只做一个引子,下面稍微介绍一下fork()然后再解决这个问题。...
分类:
其他好文 时间:
2014-08-31 20:07:41
阅读次数:
301
一:
什么是文件系统,详见:http://zh.wikipedia.org/zh/%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F
其实一句话就是管理这块文件的机制(组织方式,数据结构之类...)
Linux系统中存在很多的文件系统,例如常见的ext2,ext3,ext4,sysfs,rootfs,proc...很多很多。。。我们知道每个文件系统是独立的,有自己的组织...
分类:
系统相关 时间:
2014-08-31 18:42:21
阅读次数:
439
php不支持多线程,但是我们可以把问题转换成“多进程”来解决。由于php中的pcntl_fork只有unix平台才可以使用,所以本文尝试使用popen来替代。下面是一个例子:被并行调用的子程序:----------------------------主调用者程序,由他调用子进程,同时并发的收集子程序...
分类:
Web程序 时间:
2014-08-31 15:47:21
阅读次数:
293
需求 当客户端连接上服务器后,服务器会将相应文件传输给客户端,实现文件下载。 思路 服务器端,主进程负责listen。循环内,主进程每从任务请求队列中accept出一个请求,就fork出孙子完成文件传输。注意:如果只是fork出儿子,那么主进程就得wait儿子,这样的话,只有当给一个客户端传完文件后...
分类:
系统相关 时间:
2014-08-31 13:11:41
阅读次数:
240
文件系统重点:inode(索引节点),block(逻辑区块),superblock(每个档案系统开始的位置的那个block,用于存储像是档案系统的大小,空的或填满的区块,以及它各自的总数等等信息)
磁盘的物理组成:
圆形的磁盘盘
机械手臂,与在机械手臂上的磁盘读取头(可擦写磁盘盘上的数据)
主轴马达,可以转动磁盘盘,让机械手臂的读取头在磁盘盘上读写数据
磁盘盘的物理组成:
扇区...
分类:
系统相关 时间:
2014-08-30 21:44:50
阅读次数:
365
CLOEXEC 就是新的内核里的这个选项是把fcntl的这个设置放在open里原子操作,以免在多线程程序里有可能会出现fcntl在设置的同时其它线程在 fork+execve,虽然在线程里fork比较罕见.这个选项的意思就是子进程默认是继承父进程打开的所有fd,如果句柄加入了这个设置,在 execv...
分类:
其他好文 时间:
2014-08-30 21:42:10
阅读次数:
426
此程序实现没有亲缘关系的两个进程间通过共享内存进行数据通信。
同时,使用信号量保证两个进程的读写同步:发送方在写共享内存时,接收方不能读数据;接收方在读数据时,发送方不能写数据。
1、fork创建子进程
2、使用二元信号量,同步读写端
fork_shm.c
#include
#include
#include
#include"send_recv.h"
int main(void)...
分类:
系统相关 时间:
2014-08-30 00:07:28
阅读次数:
330
#include pid_t fork(void); Returns: 0 in child, process ID of child in parent,?1 on error
Unix可以使用系统函数fork()创建一个新进程。
fork()执行一次返回两次。
返回值:
0:
...
分类:
其他好文 时间:
2014-08-29 14:44:18
阅读次数:
207