linux 源 代码-fork
c 源 代码 /* * linux/kernel/fork
c * //--fork()用于创建子进程 * (C) 1991 Linus Torvalds */ /* * 'fork
c' contains the help-routines for the 'fork' system call * (see also system_call
s), and some misc functions ('verify_area')
* Fork is rather simple, once you get the hang of it, but the memory * management can be a bitch
See 'mm/mm
c': 'copy_page_tables()' */ #include #include #include #include #include //--写页面验证,若页面不可写,则复制页面 extern void write_verify(unsigned long address); long last_pid=0; //--进程空间区域写前验证函数 void verify_area(void * addr,int size) { unsigned long start; start = (unsigned long) addr; size += start & 0xfff; start &= 0xfffff000; start += get_base(current->ldt[2]); //--逻辑地址到线性地址的转换 while (size>0) { size -= 4096; write_ve