导图社区 2.1.2指令与处理器模式
《操作系统》第二章指令与处理器模式知识点整理,分享给计算机专业的小伙伴们,希望对你们有所帮助。
对变态反应性疾病知识点的整合。外来物质进入人体被识别为有害物质时,机体的免疫系统则立即做出反应,将其驱除或消灭,这就是免疫应答发挥的保护作用。免疫应答是人的防卫体系重要的功能之一,但是如果这种应答超出了正常范围,即免疫系统对无害物质进行攻击时,这种情况称为变态反应。
对过敏性疾病中,过敏引起的疾病、过敏的应急处理流程、造成过敏的因素、过敏的原因、诊断过敏的程序、过敏的脱敏治疗、过敏患者的知情合作、过敏患者的治疗误区的相关知识点做出整理与分析。
社区模板帮助中心,点此进入>>
互联网9大思维
安全教育的重要性
组织架构-单商户商城webAPP 思维导图。
个人日常活动安排思维导图
域控上线
西游记主要人物性格分析
17种头脑风暴法
python思维导图
css
CSS
2.1.2指令与处理器模式
机器指令及流水线
机器指令
地位
计算机系统执行的基本命令
处理器执行的重要基本单位
组成:由一个或多个字节组成
包括:操作码字段、一个或多个操作数地址字段、一些表征处理器状态字、特征码
用途:用以完成各种算术逻辑运算、数据传输、控制流跳转
执行步骤
取指
处理器根据程序计数器的指向,从主存中取指令到指令寄存器
解码
解译指令寄存器中的指令来决定其执行行为
执行
连接到CPU部件,执行运算,产生结果并写回。 同时在条件码里设置结果标志
运算结果标志
跳转指令:操作程序计数器
其他指令:递增程序计数器值
简单的指令周期
指令流水线
在“取指1”的时候,仅“取指1”执行
在“解码1”的时候,“取指1”结束,“取指2”执行
在“执行1”的时候,“取指2”结束,“取指3”执行 “解码1”结束,“解码2”执行
特权指令和非特权指令
操作系统程序可使用全部特权与非特权指令 应用程序只能使用非特权指令
计算机软件系统
操作系统内核程序
较高特权
全部机器指令
完成系统任务
有权管理与分配资源
普通应用程序 (运行于操作系统环境)
较低权限
只能使用指令系统子集 (资源管理命令之外)
实现应用任务
只能申请与使用系统资源
多道程序设计环境中
从资源管理、控制程序执行的角度出发
特权指令
仅在内核态下才能使用
涉及改变处理器状态、修改控制与状态寄存器内容、启动设备I/O等
执行这些指令不仅影响运行程序自身,而且干扰其他程序及操作系统
非特权指令
内核态、用户态都能用
若应用程序强行使用特权指令,属非法执行 产生保护中断 转向操作系统的“用户非法执行特权指令”的异常处理程序进行处理
用户态和内核态
内核态(kernel mode)
又称“管态”
操作系统管理程序运行时所处的状态
此时所有指令都被允许在CPU上执行,程序可访问所有主存单元和系统资源,并具有改变处理器状态的能力
用户态(user mode)
又称“目态”
处理器运行非可信的应用程序时所处的状态
此时无法执行特权指令,且访问仅限于当前正在处理器上执行程序所在的地址空间
防止操作系统程序受到应用程序的侵害 防止在多道程序设计中多个用和程序之间相互打扰
界分方式: 为处理器建立硬件标志位,成为“处理器状态位”,用以设置内核态或用户态
在内核态运行执行
执行:处理器、主存、设备等资源管理程序(以保障安全)
意义:设计核心数据结构的各种原语(防止系统混乱)
运行:创建进程管理数据结构、为进程分配主存、启动外围设备、构造文件系统核心数据
在用户态运行执行
执行:应用程序逻辑与数据处理
运行:支撑程序、命令解释程序、页面调度程序、图形界面处理程序、记账程序、审计程序
为了提高效率, 可以将一部分用户态运行的程序放在内核态, 以减少切换节约时间
处理器状态转换
只有中断才会时处理器从用户态向内核态转换
情况1:异步中断事件(如I/O操作完成),转向中断处理程序
情况2:程序主动同步请求操作系统服务,自愿性中断
情况3:执行指令出现问题产生的同步异常事件,程序性中断事件
从内核态返回用户态
计算机系统提供一条称作“加载程序状态字”的特权指令(如iret),控制权转交给应用进程
用户栈和核心栈
硬件栈指针只有一个,会变化
用户栈
用途:保护应用程序的子程序(函数)间相互调用的参数、返回值、返回点以及子程序的局部变量。
环境:用户态
核心栈(系统栈、内核栈)
用途
保存中断现场,将被中断程序的现场信息压入核心栈,中断返回时逆序弹出
保存操作系统程序(函数)间相互调用的参数、返回值、返回点以及程序局部变量
环境:内核态
特征
每个进程被创建时都捆绑一个核心栈
可读可写不可执行
有大小限制
进程都有