形容网站做的好处,制造网站建设哪家好,网站开发难吗,平面设计素材怎么找进程上下文#xff1a; 当一个进程在执行时,CPU的所有寄存器中的值、进程的状态以及堆栈中的内容 一个进程的上下文可以分为三个部分:用户级上下文、寄存器上下文以及系统级上下文。 用户级上下文: 正文、数据、用户堆栈以及共享存储区#xff1b; 寄存器上下文… 进程上下文 当一个进程在执行时,CPU的所有寄存器中的值、进程的状态以及堆栈中的内容 一个进程的上下文可以分为三个部分:用户级上下文、寄存器上下文以及系统级上下文。 用户级上下文: 正文、数据、用户堆栈以及共享存储区 寄存器上下文: 通用寄存器、程序寄存器(IP)、处理器状态寄存器(EFLAGS)、栈指针(ESP) 系统级上下文: 进程控制块task_struct、内存管理信息(mm_struct、vm_area_struct、pgd、pte)、内核栈。 当发生进程调度时进行进程切换就是上下文切换(context switch).操作系统必须对上面提到的全部信息进行切换新调度的进程才能运行。而系统调用进行的是模式切换(mode switch)。模式切换与进程切换比较起来容易很多而且节省时间因为模式切换最主要的任务只是切换进程寄存器上下文的切换。 中断上下文 当一个进程发生中断时首先保存当前进程的上下文信息然后跳转到中断子程序去执行那么此时在中断子程序中又会产生当前堆栈及寄存器等值就称为中断上下文。 内核进入中断上下文是因为中断信号而导致的中断处理或软中断。而中断信号的发生是随机的中断处理程序及软中断并不能事先预测发生中断时当前运行的是哪个进程。 处理器总处于以下状态中的一种 、内核态运行于进程上下文内核代表进程运行于内核空间 、内核态运行于中断上下文内核代表硬件运行于内核空间 、用户态运行于用户空间。
内核可以处于两种上下文进程上下文和中断上下文。在系统调用之后用户应用程序进入内核空间此后内核空间针对用户空间相应进程的代表就运行于进程上下文。异步发生的中断会引发中断处理程序被调用中断处理程序就运行于中断上下文。中断上下文和进程上下文不可能同时发生。
运行于进程上下文的内核代码是可抢占的但中断上下文则会一直运行至结束不会被抢占。因此内核会限制中断上下文的工作。
在系统调用之后用户应用程序进入内核空间此后内核空间针对用户空间相应进程的代表就运行于进程上下文。中断时内核不代表任何进程运行它一般只访问系统空间而不会访问进程空间内核在中断上下文中执行时一般不会阻塞。