操作系统任务执行和任务切换的基本实现原理

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统任务执行和任务切换的基本实现原理相关的知识,希望对你有一定的参考价值。

任务的执行
软件或处理器可以使用以下方法之一来调度执行一个任务:
    使用CALL指令明确地调用一个任务;
    使用JMP指令明确地跳转到一个任务(Linux内核使用的方式);
    (由处理器)隐含地调用一个中断句柄处理任务;
    隐含地调用一个异常句柄处理任务;
    p126;

处理器可使用以下4种方式之一执行任务切换操作:
    当前任务对GDT中的TSS描述符执行JMP或CALL指令;
    当前任务对GDT或LDT中的任务门描述符执行JMP或CALL指令;
    中断或异常向量指向IDT表中的任务门描述符;
    当EFLAGS中的NT标志置位时当前任务执行IRET指令;
    p129;

以上摘自 Linux内核完全剖析-基于0.12内核 一书;


    我还不理解什么是 对描述符执行JMP指令;
    TSS描述符、任务门描述符里面可能存了跳转地址,
 

以上是关于操作系统任务执行和任务切换的基本实现原理的主要内容,如果未能解决你的问题,请参考以下文章

操作系统原理,进程线程

py进程

RTOS实现多任务调度的基本原理

python 进程

线程,进程,并发

一文读懂Linux任务间调度原理和整个执行过程