您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

上下文交换:具体步骤

2024/4/14 7:35:24发布14次查看
上下文交换(context switch),又称环境切换,电脑术语,是一个储存和重建cpu的状态 (内文),因此令多个进程(process)可以分享单一cpu资源的计算过程。要交换cpu上的进程时,必需先行储存目前进程的状态,再将欲执行的进程之状态读回cpu中。
何时交换?有三种可能的情况会发生上下文交换,分别为:
多工最常见的,在一些排程(scheduling)算法内,其中行程有时候需要暂时离开cpu,让另一个行程进来cpu运作。在先占式多工系统中,每一个行程都将轮流执行不定长度的时间,这些时间段落称为时间片。如果行程并非自愿让出cpu(例如执行i/o操作时,行程就需放弃cpu使用权),当时限到时,系统将产生一个定时中断,操作系统将排定由其它的行程来执行。此机制用以确保cpu不致被较依赖处理器运算的行程垄断。若无定时中断,除非行程自愿让出cpu,否则该行程将持续执行。对于拥有较多i/o指令的行程,往往执行不了多久,便需要让出cpu;而较依赖处理器的行程相对而言i/o操作较少,反而能一直持续使用cpu,便形成了垄断现象。此即convoy效应。
中断处理在接受到中断(interrupt)的时候,cpu必须要进行上下文交换。
用户态或者内核态的交换当用户态和内核态交换发生的时候,并不需要进行上下文交换;并且用户态和kernel mode的交换本身并不是一个上下文交换。不过,根据操作系统的不同,有时候会在此时进行一次上下文交换的步骤。
上下文交换:具体步骤在一次交换中,第一个行程的状态要被纪录在某个地方,这样当排程器(scheduler)要回到这个行程时,才可以重建这个行程并且继续运算。
这里所谓“行程的状态”,包含了这个行程使用的所有暂存器(register),特别是程式计数器;加上所有操作系统可能需要的特定资料。这些资料一般以名为行程控制表(process control block,pcb)的数据结构储存起来。
上下文交换:由软件或硬件实现上下文交换可分为主要由软件实现或由硬件实现。部分中央处理器,比如intel 80386或同系列更高阶的处理器,就具备支持上下文交换的硬件设计。
以上就是上下文交换:具体步骤的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product