您现在的位置是:首页 > 服务器相关

进程调度理论知识

batsom2021-10-07服务器相关

简介进程调度学习

进程入门
理论篇:
 
进程调度本质:
事情有轻重缓急,就是重要的事优先处理!
 
中断:
中断是一个硬件或者软件发出的请求,要求CPU暂停当前的工作转手去处理更加重要的事情.由PIT芯片触发,默认时钟频率是18.2HZ
 
特权级:
  从主动和被动的角度来看,整个计算机世界可以分为两个部分,即访问者和被访问者。访问者是动态的,具有能动性,它主动访问各种资源。受访问者是静态的,它就是被访问的资源。访问者的特权级别可以变,受访者的特权不能变。
  建立特权机制是为了通过特权来检查合法性,整个计算机世界的特权检查,都是发生在访问者访问受访者的一刹那,实际上就是检查访问者和受访者的特权级是否匹配。
  当前特权级就是指CPU的状态,特权级按照权力大小分为0,1,2,3。数字越小,权力越大。0特权级是操作系统内核所在的特权级,计算机启动之初就在0特权级运行,像MBR(主引导记录)就运行在0特权级下。内核直接控制硬件,位于0特权级,1,2特权级是一些系统程序,比如驱动程序,虚拟机,用户程序位于3特权级。
 
TSS(Task State Segment)任务状态段简介
TSS是一种数据结构(线性表),它用于存储任务的环境。是CPU在硬件上原生支持多任务的一种方式,处理器厂商原本是想让操作系统厂商用此方式来实现多任务的。只不过像linux就没有完全采用这种方式。它的内部是寄存器映像,就是很多寄存器,还有上一个任务的TSS指针,还有特权级0~2的栈选择子和esp栈指针。需要的话还可以再接上个IO位图。TSS的最小大小是104字节
 
举例(如图):


A B C 三个程序运行情况:
 
程序运行状态:运行,休眠
 
A B C 三个程序拥有一个静态权重(数字)
当中断发生,特权级ring3切换到ring0,这其中涉及到进程上下文切换,后面代码演示
只有静态权重为零,其他程序才能运行
 
 
 

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理

随便看看

文章排行

本栏推荐

栏目更新