精 灵 王


  • 首页

  • 文章归档

  • 所有分类

  • 关于我

  • 搜索
设计模式之美 分布式 Redis 并发编程 个人成长 周志明的软件架构课 架构 单元测试 LeetCode 工具 位运算 读书笔记 操作系统 MySQL 异步编程 技术方案设计 集合 设计模式 三亚 游玩 转载 Linux 观察者模式 事件 Spring SpringCloud 实战 实战,SpringCloud 源码分析 线程池 同步 锁 线程 线程模型 动态代理 字节码 类加载 垃圾收集器 垃圾回收算法 对象创建 虚拟机内存 内存结构 Java

(二)操作系统-运行环境

发表于 2021-04-20 | 分类于 操作系统 | 0 | 阅读次数 159

硬件环境

处理器(CPU)

特权指令:

  • 那些只能由操作系统使用、不允许一般用户使用的指令。
  • 如:启动某设备指令、设置时钟指令、控制中断屏蔽的某些指令、清内存指令、建立存储保护指令等。

处理器的状态

  1. 核心状态
  2. 管理状态
    • 管态(管理态)——可以执行全部指令
  3. 用户程序状态(目标状态)
    • 目态(问题态)——只能执行非特权指令

程序状态字(PSW)

一个专门用来指示处理器状态的寄存器

程序状态字的内容

  • 程序现在应该执行哪条指令
  • 当前指令执行情况
  • 机器处于何种程序状态
  • 程序在执行时应该屏蔽哪些中断
  • 寻址方法、编址、保护键
  • 响应中断的内容

存储保护

对主存中的信息严格保护,是操作系统和其他程序正确运行的基本条件之一

常用的存储器保护机制:

  1. 界地址寄存器(界限寄存器)
    在CPU中设置一对界限寄存器来存放该作业在主存中的下限和上限地址

  2. 存储键
    每个存储块有一个与其相关的由五位二进位组成的存储保护键
    左边四位——存储保护键
    最右边一位——取保护位

    1

缓冲技术

使用缓冲技术的原因:CPU处理数据速度与设备传输数据速度不相匹配,用缓冲区来缓解这种速度矛盾。

  • 避免工作区被长期占用而使用户无法使用
  • 为便于对缓冲区的管理,它往往与设备相联系,而不直接同用户相联系
  • 减少输入输出次数,以减轻对通道和输入输出设备的压力

缓冲区信息可供多个用户共同使用和反复使用

中断技术

中断概念

  • 中断:指CPU对系统中发生的异步事件的响应。
  • 异步事件:是指无一定时间关系的随机发生的事件。
  • 中断事件、中断源、中断处理程序

中断的作用

  • 能充分发挥处理器的使用效率
  • 提高系统的实时处理能力

中断类型

  • 微型机中断类型
    1. 屏蔽中断(I/O中断)
    2. 不可屏蔽中断(机器内部故障、掉电中断)
    3. 程序错误中断(溢出、除法错中断)
    4. 软件中断:Trap指令或中断指令
  • 大型机中断类型
    1. 机器故障中断
    2. 输入输出中断
    3. 外部中断
    4. 程序中断
    5. 访管中断(自陷中断)——自愿要求的18

中断响应

实质:交换指令执行地址和处理器状态,以达到如下目的:

  1. 保留程序断点及有关信息
  2. 自动转入相应的中断处理程序执行

CPU如何响应中断

何时响应:指令周期最后时刻接受中断请求

如何知道提出中断请求的设备或中断源

  • 用软件指令去查询各设备接口
  • 中断向量

大型机的中断优先级

  • 机器故障中断
  • 程序中断和访问管理程序中断
  • 外部中断
  • 输入输出中断

中断屏蔽

有时在CPU上运行的程序,由于种种原因,不希望其在执行过程中被别的事件所中断,称为中断屏蔽。

大型机中,在PSW中设置中断屏蔽码

微型机中,PSW中建立中断禁止位

中断处理

硬件和软件配合处理

  • 硬件负责中断进入过程,即发现和响应中断请求,把中断的原因和断点记下来供软件处理时查用,同时负责引出中断处理程序;
  • 中断分析、中断处理、恢复被中断程序的现场等工作则由软件的中断处理程序来完成。
    • 保护现场和传递参数
    • 执行相应的中断(自陷)服务例程恢复和退出中断24

IBM-PC的中断处理过程

  1. 将处理器的程序状态字PSW压入堆栈
  2. 将指令指针IP和程序代码段基地址寄存器CS的内容压入堆栈,以保存被中断程序的返回地址
  3. 取来被接受的中断请求的中断向量地址,以便转入中断处理程序
  4. 按中断向量地址把中断处理程序的程序状态字取来,放入处理器的程序状态字寄存器中

时钟分类

  • 绝对时钟
    记录当时的时间(年月日时分秒),以便打印统计报表和日记使用
  • 间隔时钟
    又称相对时钟
  • 软时钟(虚拟时钟)
    时钟数量终究是很少的
    时钟队列

地址转换

相关概念:

  • 绝对地址——存储控制部件能够识别的主存单元编号(或字节地址),也就是主存单元的实际地址;

  • 相对地址——相对于某个基准量(通常为零)编址时所使用的地址(是使用于程序编写和编译中的地址系统);

  • 重定位——把程序中相对地址变换为绝对地址;

  • 静态重定位——在程序装入主存时,由连接装入程序进行重定位;

  • 动态重定位——在处理器每次访问主存时,由动态地址变换机构(硬件)自动进
    行把相对地址转换为绝对地址。

    2

精 灵 王 wechat
👆🏼欢迎扫码关注微信公众号👆🏼
  • 本文作者: 精 灵 王
  • 本文链接: https://jinglingwang.cn/archives/system02
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 设计模式之美 # 分布式 # Redis # 并发编程 # 个人成长 # 周志明的软件架构课 # 架构 # 单元测试 # LeetCode # 工具 # 位运算 # 读书笔记 # 操作系统 # MySQL # 异步编程 # 技术方案设计 # 集合 # 设计模式 # 三亚 # 游玩 # 转载 # Linux # 观察者模式 # 事件 # Spring # SpringCloud # 实战 # 实战,SpringCloud # 源码分析 # 线程池 # 同步 # 锁 # 线程 # 线程模型 # 动态代理 # 字节码 # 类加载 # 垃圾收集器 # 垃圾回收算法 # 对象创建 # 虚拟机内存 # 内存结构 # Java
(一)操作系统-概述
(三)操作系统-进程管理
  • 文章目录
  • 站点概览
精 灵 王

精 灵 王

青春岁月,以此为伴

85 日志
14 分类
43 标签
RSS
E-mail
Creative Commons
Links
  • 添加友链说明
© 2022 精 灵 王
渝ICP备2020013371号
0%