热门问题
时间线
聊天
视角

抢占式多任务处理

来自维基百科,自由的百科全书

Remove ads

抢占式多任务处理(Preemptive multitasking)是计算机操作系统中,一种实现多任务处理(multi task)的方式。相对于协作式多任务处理而言。协作式环境下,下一个进程被调度的前提是当前进程主动放弃时间片;抢占式环境下,操作系统完全决定进程调度方案,操作系统可以剥夺耗时长的进程的时间片,提供给其它进程。

  • 每个任务赋予唯一的一个优先级(有些操作系统可以动态地改变任务的优先级);
  • 假如有几个任务同时处于就绪状态,优先级最高的那个将被运行;
  • 只要有一个优先级更高的任务就绪,它就可以中断当前优先级较低的任务的执行;

用户模式和内核模式

在任何给定的系统设计中,系统执行的某些操作可能无法被抢占。这通常适用于内核函数和服务中断,如果不能让它们运行到完成,就容易产生竞态条件,从而导致死锁。禁止调度程序在任务处理内核功能时抢占它们,以牺牲系统响应性为代价,来简化内核设计。区分用户模式内核模式决定了系统内的权限级别,也可以用来区分任务当前是否可被抢占。

大多数现代操作系统都支持抢占式内核,即使在内核模式下也允许任务被抢占。例如LinuxAIXWindows NT等等。

參見

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads