[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
【操作系统】处理器管理
时间:
2020-05-31 16:26:38
阅读:
43
评论:
0
收藏:
0
[点我收藏+]
指令与处理器模式
指令执行周期:
取指、译码、执行
指令分类
(根据权限)
特权指令:
只能被操作系统内核使用(启动 IO,置 PC 值)
非特权指令:
所有程序都能使用
处理器模式:
共有四种:
0内核模式,1系统调用,2共享库程序,3用户模式
一般来说:
只有0内核模式(能执行全部指令)和3用户模式(只能执行非特权指令)
模式切换:
用户模式 --> 内核模式(系统调用、异常、响应中断)
内核模式 --> 用户模式(中断返回指令)
中断
概念:
操作系统是中断驱动的。即 中断是激活操作系统的唯一方式
广义中断:
停止 CPU 正在执行的进程,转而执行中断处理程序,处理完后返回原进程或调度新进程
狭义中断:
源于处理器之外的中断事件,IO 中断、时钟中断、外部信号中断
中断源:
处理器硬件故障中断事件:
内存故障
程序性中断事件:
除 0 异常、缺页异常
自愿性中断事件:
系统调用
IO中断事件:
IO 完成
外部中断事件:
鼠标点击
中断系统:
实现:
硬件完成中断响应,软件完成中断处理
中断装置:
处理器外中断:
由中断控制器实现
处理器内中断(陷阱):
由指令控制逻辑实现
系统调用(系统陷阱):
执行陷入指令时直接触发,即系 统陷阱
中断处理流程
多中断处理:
中断屏蔽、中断优先级、中断嵌套
进程
进程:
操作系统进行资源分配和调度的独立单位
进程解剖:
OS管理进程的数据结构P + 内存代码 + 内存数据 + 通用寄存器R + PSW
进程状态:
进程数据:
进程控制块PCB:
是 OS 用于记录进程状态和环境信息的数据结构
标识信息:
进程标识(进程标识号、进程组标识号)
现场信息:
用户可见寄存器内容、控制/状态寄存器内容、栈指针内容
控制信息:
进程调度信息、进程组成信息、队列指引元、通信相关、进程特权信息、处理器使用信息、资源清单信息
进程映像:
某一时刻进程的内容及执行状态集合
进程控制块、进程程序块、进程数据块、核心栈
进程上下文:
进程执行的环境支持(CPU 现场、Cache 中的执行信息)
用户级、寄存器级、系统级
进程的管理
进程实现的队列模型
进程控制流程
进程创建:
进程表增加一项,申请 PCB 并初始化,生成标识,建立映像,分配资源,移入就绪队列
进程撤销:
从队列中移除,归还响应资源。。。
进程阻塞:
保存现场,修改 PCB,移入等待队列
进程唤醒:
从等待队列移出,修改 PCB,进入就绪队列
进程挂起:
修改进程状态并出入相关队列,收回内存等资源送至对换区
进程激活:
分配内存,修改状态并出入相关队列
原语
概念:
由若干指令构成的完成某种特定功能,有原子性
应用:
修改 OS 核心数据结构(进程表、PCB 池)
进程切换与模式切换
流程:
俩进程上下文切换(保存被中断的上下文、进程调度、恢复待运行的上下文)
模式切换:
用户态到内核态这种。进程切换必须在内核态完成,所以必须经理模式切换
线程
多线程技术:
一个进程内有多个线程
思路:
将进程的两个功能“独立分配资源”和“调度执行”功能分开
分类:
KLT:
内核级多线程
ULT:
用户级别多线程
多线程实现的混合策略
一个 ULT 绑定多个 KLT
处理器调度
处理器调度的层次:
高级、中级、低级
处理器调度算法
原则:
资源利用率、响应时间、周转时间(进入系统到出系统时间)、吞吐量(单位时间处理进程数)、公平性
算法:
优先数算法、时间片轮转、分级调度算法、彩票算法
【操作系统】处理器管理
原文:https://www.cnblogs.com/blknemo/p/12811148.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!