intel的cpu分为四个运行级别ring0~ring3,内核创建进程,创建进程的同时创建进程控制块,创建进程自己的堆栈。一个进程有两个堆栈,用户栈和系统栈。用户堆栈的空间指向用户地址空间,内核堆栈的空间指向内核地址空间。
有个CPU堆栈指针寄存器,进程运行的状态有用户态和内核态,当进程运行在用户态时。CPU堆栈指针寄存器指向的是用户堆栈地址,使用的是用户堆栈;当进程运行在内核态时,CPU堆栈指针寄存器指向的是内核堆栈地址,使用的是内核堆栈。
intel的cpu分为四个运行级别ring0~ring3,内核创建进程,创建进程的同时创建进程控制块,创建进程自己的堆栈。一个进程有两个堆栈,用户栈和系统栈。用户堆栈的空间指向用户地址空间,内核堆栈的空间指向内核地址空间。
有个CPU堆栈指针寄存器,进程运行的状态有用户态和内核态,当进程运行在用户态时。CPU堆栈指针寄存器指向的是用户堆栈地址,使用的是用户堆栈;当进程运行在内核态时,CPU堆栈指针寄存器指向的是内核堆栈地址,使用的是内核堆栈。