您的位置 首页 制造

Linux0.11-内存安排和进程结构

Linux0.11-内存组织和进程结构-在task数组中占有一项,指向一页物理内存,该物理内存低端是进程控制块task_struct(里面包括tss段和ldt段),其余部分是进程的内核态堆栈。

进程结构

Linux0.11中的每个进程都有如下的结构:

在gdt中占有两项,一项是tss段描述符,一项是ldt段描述符。

在task数组中占有一项,指向一页物理内存,该物理内存低端是进程操控块task_struct(里边包含tss段和ldt段),其余部分是进程的内核态仓库。

在页目录表和页表中设置有相关项。

Linux0.11中,最多只要64个进程,task数组巨细也界说成了64,每个进程与一个task数组中的项一一对应。尽管gdt中有256项,可是并不是都用到。第一个gdt项保存不必,内核用2个项,然后体系为每个进程保存2项。这样一个进程与2个gdt项一一对应。也便是linux0.11中task数组和gdt的分配是定死的,比方一个进程的使命数组项好为nr,即它的进程操控块由task[nr]指向,那么它的tss描述符和ldt描述符别离坐落gdtr+3*8+nr*16和gdtr+3*8+nr*16+8处。

Linux0.11内存物理地址0处开端放着一页页目录表和四页页表。这一个页目录表是一切进程同享的。这今后的四页页表正好映射16M物理内存,是内核和进程0的页表。今后创立进程时页表需要从主内存区请求,而页目录项直接从页目录表中取。这样进程和页目录表页存在这一一对应联系,使命号为nr的进程,对应页目录的第nr*16~(nr+1)*16总共16个目录项。这样4G的线性空间由64个进程同享,每个进程分到64M。

三个结构的一一对应联系如图所示

 

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/89478.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部