JavaShuo
栏目
标签
【重学计算机】操做系统D2章:处理器管理
时间 2019-12-08
标签
重学计算机
系统
d2
处理器
管理
繁體版
原文
原文链接
1. 指令与处理器模式
算法
指令执行周期
:取指、译码、执行
指令分类
(根据权限)
特权指令
:只能被操做系统内核使用(启动IO,置PC值)
非特权指令
:全部程序都能使用
处理器模式
:
共有四种
:0内核模式,1系统调用,2共享库程序,3用户模式
通常来讲
:只有0内核模式(能执行所有指令)和3用户模式(只能执行非特权指令)
模式切换
:
用户模式 --> 内核模式(系统调用、异常、响应中断)
内核模式 --> 用户模式(中断返回指令)
2. 中断
数据结构
概念:
操做系统是
中断驱动
的。即
中断是激活操做系统的惟一方式
广义中断
:中止CPU正在执行的进程,转而执行中断处理程序,处理完后返回原进程或调度新进程
狭义中断
:源于处理器以外的中断事件,IO中断、时钟中断、外部信号中断
中断源:
处理器硬件故障中断事件
:内存故障
程序性中断事件
:除0异常、缺页异常
自愿性中断事件
:系统调用
IO中断事件
:IO完成
外部中断事件
:鼠标点击
中断系统:
实现
:硬件完成中断响应,软件完成中断处理
中断装置
:
处理器外中断
:由中断控制器实现
处理器内中断(陷阱)
:由指令控制逻辑实现
系统调用(系统陷阱)
:执行陷入指令时直接触发,即系统陷阱
中断处理流程
多中断处理
:中断屏蔽、中断优先级、中断嵌套
3. 进程
多线程
进程
:操做系统进行资源分配和调度的独立单位
进程解剖
:OS管理进程的数据结构P + 内存代码 + 内存数据 + 通用寄存器R + PSW
进程状态
:
进程数据
:
进程控制块PCB
:是OS用于记录进程状态和环境信息的数据结构
标识信息
:进程标识(进程标识号、进程组标识号)
现场信息
:用户可见寄存器内容、控制/状态寄存器内容、栈指针内容
控制信息
:进程调度信息、进程组成信息、队列指引元、通讯相关、进程特权信息、处理器使用信息、资源清单信息
进程映像
:某一时刻进程的内容及执行状态集合
进程控制块、进程程序块、进程数据块、核心栈
进程上下文
:进程执行的环境支持(CPU现场、Cache中的执行信息)
用户级、寄存器级、系统级
进程的管理
进程实现的队列模型
进程控制流程
进程建立
:进程表增长一项,申请PCB并初始化,生成标识,创建映像,分配资源,移入就绪队列
进程撤销
:从队列中移除,归还响应资源。。。
进程阻塞
:保存现场,修改PCB,移入等待队列
进程唤醒
:从等待队列移出,修改PCB,进入就绪队列
进程挂起
:修改进程状态并出入相关队列,收回内存等资源送至对换区
进程激活
:分配内存,修改状态并出入相关队列
原语
概念
:由若干指令构成的完成某种特定功能,有原子性
应用
:修改OS核心数据结构(进程表、PCB池)
进程切换与模式切换
流程
: 俩进程上下文切换(保存被中断的上下文、进程调度、恢复待运行的上下文)
模式切换
:用户态到内核态这种。进程切换必须在内核态完成,因此必须经理模式切换
4. 线程
spa
多线程技术:
一个进程内有多个线程
思路:
将进程的两个功能“独立分配资源”和“调度执行”功能分开
分类:
KLT:
内核级多线程
ULT:
用户级别多线程
多线程实现的混合策略
一个ULT绑定多个KLT
5. 处理器调度
操作系统
处理器调度的层次:
高级、中级、低级
处理器调度算法
原则
:资源利用率、响应时间、周转时间(进入系统到出系统时间)、吞吐量(单位时间处理进程数)、公平性
算法
:优先数算法、时间片轮转、分级调度算法、彩票算法
相关文章
1.
【重学计算机】操做系统D3章:存储管理
2.
【重学计算机】操做系统D4章:设备管理
3.
【重学计算机】操作系统D3章:存储管理
4.
【重学计算机】操做系统D1章:计算机操做系统概述
5.
【重学计算机】操做系统D5章:文件系统
6.
第九章—单处理器调度【计算机操作系统】
7.
操作系统 第2章 处理机管理 (学习笔记)
8.
计算机操做系统之存储器管理
9.
计算机系统012 - 操做系统以内存管理
10.
计算机操做系统原理
更多相关文章...
•
操作系统(OS)平台 统计
-
浏览器信息
•
错误处理
-
RUST 教程
•
Docker容器实战(七) - 容器眼光下的文件系统
•
Docker 清理命令
相关标签/搜索
处理系统
系统管理
计算机操做系统
操做系统
操做系统原理
LVS管理系统
计算机系统
重学计算机
处理器
微处理器
MySQL教程
浏览器信息
网站主机教程
计算
文件系统
算法
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
安装cuda+cuDNN
2.
GitHub的使用说明
3.
phpDocumentor使用教程【安装PHPDocumentor】
4.
yarn run build报错Component is not found in path “npm/taro-ui/dist/weapp/components/rate/index“
5.
精讲Haproxy搭建Web集群
6.
安全测试基础之MySQL
7.
C/C++编程笔记:C语言中的复杂声明分析,用实例带你完全读懂
8.
Python3教程(1)----搭建Python环境
9.
李宏毅机器学习课程笔记2:Classification、Logistic Regression、Brief Introduction of Deep Learning
10.
阿里云ECS配置速记
本站公众号
欢迎关注本站公众号,获取更多信息
相关文章
1.
【重学计算机】操做系统D3章:存储管理
2.
【重学计算机】操做系统D4章:设备管理
3.
【重学计算机】操作系统D3章:存储管理
4.
【重学计算机】操做系统D1章:计算机操做系统概述
5.
【重学计算机】操做系统D5章:文件系统
6.
第九章—单处理器调度【计算机操作系统】
7.
操作系统 第2章 处理机管理 (学习笔记)
8.
计算机操做系统之存储器管理
9.
计算机系统012 - 操做系统以内存管理
10.
计算机操做系统原理
>>更多相关文章<<