Linux系统调用fork()用法详解
1. 先看下面代码:
#include
#include //pid_t类型定义
#include //函数fork(),getpid()定义
void main ()
{
pid_t pid;
pid=fork();
if (pid < 0)
printf("error in fork!");
else if (pid == 0)
printf("i am the child process, my process id is %d\n",getpid());
else
printf("i am the parent process, my process id is %d\n",getpid());
}
要搞清楚fork的执行过程,就必须先讲清楚操作系统中的“进程(process)”概念。
一个进程,主要包含三个元素:
o. 一个可以执行的程序;
o. 和该进程相关联的全部数据(包括变量,内存空间,缓冲区等等);
o. 程序的执行上下文(execution context)。
 
相关文档:
当使用DSL连接上网时,如果你使用是有固定或静态IP地址的DSL连接,那么配置步骤和前面的“网络配置”中描述的是一样的。你把以太网接口连接到DSL modem上,配置ISP提供的IP地址,子网掩码,广播地址,和网关信息。重启网络设备后你就应该连上网了。记住,你可能还需要正确地配置DNS服务器。如 ......
Linux保存了系统中所发生事件的详细记录,这些记录称作日志文件或消息文件。可以查阅日志文件来确定系统当前状态,观察入侵者踪迹,寻找某特定程序(或事件)相关的数据。syslogd与klogd(监控linux内核提交的消息)守护进程负责记录,发送系统或工具产生的信息,二者的配置文件都是/etc/syslog.conf。当系� ......
GCC编译工具在Red Hat/Fedora Core发行版中默认已经安装,因此不需要再安装。在Ubuntu发行版中,打开shell,使用下面的命令可以方便的安装GCC编译器(\$为命令行提示符):
$ sudo apt-get install build-essential
该命令可以把所需要gcc、g++编译器和make工具及其依赖的其它软件包自动安装并配置好。
&nb ......
1. 文件系统的定义
三个方面:
某种文件格式、以某种格式存储的设备、某种管理文件的机制。
2. VFS与文件系统
VFS是虚拟文件系统的缩写。不同的文件系统有不同的格式、管理机制和实现。VFS则是各种文件系统必须遵守的API规范。
3. 进程与文件系统
task_struct中有两个指针,一个指向fs_struct,记录了文件系统相关的� ......
呵呵,终于将linux 0.11 下面的boot文件夹下的三个文件读完,下面是相关注释,没有汇编基础的人也是可以读的。废话少说,下面就是linux的源码了。
参考资料 Linux内核完全注释.pdf
网上相关资料
!时间 : 2010-1-14
!工作 : 阅读linux 0.11 � ......