当前位置: 技术问答>linux和unix
关于Linux进程0到进程1切换的过程中相关问题的咨询
来源: 互联网 发布时间:2017-05-29
本文导语: 进程0 创建进程1的时候,会将自身的CS,SS等段的值(这里的值包含的有段选择子等)付给进程1的TSS中对应项, 进程0还会对进程1的LDT进行设置,其中就包括设置进程1的LDT中的段基址等(在Linux0.11内核中的值为:1*64M...
进程0 创建进程1的时候,会将自身的CS,SS等段的值(这里的值包含的有段选择子等)付给进程1的TSS中对应项,
进程0还会对进程1的LDT进行设置,其中就包括设置进程1的LDT中的段基址等(在Linux0.11内核中的值为:1*64M)。
在进行进程切换时候,CPU中的CS,SS的值会从进程1中的TSS中提取。但这个CS,DS的值还是进程0的时候的值,他指向的是
GDT中内核代码段和数据段。并不是指向进程1目前的代码段和数据段呀(因为CS,DS中的选择子并没有选择GDT中的LDT1)?那进程1啥时候能够用上自己的代码段和数据段呀~求大神给点解释。在线坐等
进程0还会对进程1的LDT进行设置,其中就包括设置进程1的LDT中的段基址等(在Linux0.11内核中的值为:1*64M)。
在进行进程切换时候,CPU中的CS,SS的值会从进程1中的TSS中提取。但这个CS,DS的值还是进程0的时候的值,他指向的是
GDT中内核代码段和数据段。并不是指向进程1目前的代码段和数据段呀(因为CS,DS中的选择子并没有选择GDT中的LDT1)?那进程1啥时候能够用上自己的代码段和数据段呀~求大神给点解释。在线坐等
|
ldt register 这个寄存器是自动切换的,所以LDT表也会自动切换,所以新的cs,ds,指向的是新的进程的代码段和数据段