- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 linux0.11文件系统文件读写1
首先,我们要明确要用到的数据结构:struct file{ unsigned short f_mode; unsigned short f_flages; unsigned short f_count; struct m_inode *f_inode; off_t f_pos
2014-01-29 22:27:07
1174
原创 linux0.11之creat_tables()
在了解creat_tables()这个函数之前,我想先要明白他上面的几个p值是什么,在do_execve()中定义:unsigned long p = PAGE_SIZE*MAX_ARG_PAGES-4; //P指向参数和环境变量的最后部 其次336,,337行上的p值是128kb参数和环境变量空间中的偏移值:p = copy_srtings(envc,envp,page,
2014-01-07 00:34:26
844
原创 LINUX0.11内核do_execve之chang_ldt()函数
在学习chang_ldt()之前,我们先回过头来看一看进程的复制中的copy_mem(nr,p)这个函数,它在fork.c中,两个参数的含义是:nr是新任务号,p是新任务数据结构指针。这个函数的前面几行:code_limit = get_limit(0x0f); data_limit = get_limit(0x17);old_
2014-01-05 15:50:00
941
原创 linux0.11内核之copy_strings()
研究内核也两三个月了,今天读了个copy_strings(),晚上没啥事,写写心得: 这个函数是用来复制指定个数的参数字符串到参数和环境变量中的,它的一大特点是用到了许多get_ds()和get_fs_long()等函数,它们的定义在segment.h文件中。首先设置new_fs,old_fs,是为from_kmem服务的,如果from_kmem == 1或者2,则设置fs指向内核
2013-12-31 00:03:47
1559
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人