目录:

一、中央处理机:

二、存储系统:

三、缓冲技术与中断技术:


一、中央处理机:

任何系统软件都是硬件功能的延伸,并且都是在建立在硬件基础上的,离不开硬件的支持。而操作系统更是直接依赖于硬件条件,和硬件之间的关系尤为密切。


中央处理机(即CPU)的构成及基本工作方式:

一般的CPU都是由运算器、控制器、一系列的寄存器以及高速缓存构成的。

  • 运算器:实现指令中算术与逻辑运算,是计算机计算的核心。
  • 控制器:控制程序运行的流程,也包括取指令、维护CPU状态、CPU与内存之间的交互等。
  • 寄存器:CPU内部暂存数据、地址以及指令信息的存储设备。
  • 高速缓冲:处于CPU与物理内存之间。

CPU中的寄存器:

寄存器为CPU本身提供了一定的存储能力,它们的速度比内存快得多,但是造价很高,所以一般存储容量都很小。

分类:一般分为用户可见寄存器控制和状态寄存器

用户可见寄存器:通常对于所有程序都是可用的,有机器语言直接引用。

  • 数据寄存器:算术逻辑指令和访存指令
  • 地址寄存器:存储数据以及指令的物理地址
  • 条件码寄存器:CPU操作结果的各种标记位(符号位、溢出等)

控制和状态寄存器:大部分对于用户不可见,有一部分可以通过操作系统进行访问。

  • PC——程序计数器:记录要取出的指令的地址
  • IR——指令寄存器:包含刚刚取出的指令
  • PSW——程序状态字:记录CPU的运行状态信息

指令执行的基本过程:

指令分类:特权指令非特权指令

特权指令:在指令系统中,那些只能被操作系统使用的指令。

非特权指令:允许一般用户使用的指令。

处理机(CPU)状态:

管态(特权态、特态、系统态):

  • 指操作系统管理程序运行的状态。可以执行全部指令,使用所有资源,具有改变处理机状态的能力。

目态(普通态、普态、用户态):

  • 指用户程序运行时的状态,只能执行非特权指令。

陷入:

  • 目态到管态之间的转换,可以通过trap指令实现。

程序状态字:

用来指示CPU状态的寄存器

  • CPU的工作状态代码(管态还是目态)
  • 条件码 (运算是否溢出、符号位等)
  • 中断屏蔽码(是否允许中断)

二、存储系统:

存储器类型:

读写型存储器(随机访问存储器RAM):

  • 主要用于存放随机存取的程序和数据

  • 可以把数据存入其中的任一地址单元,并且可以在以后的任何时间把数据读出来,或者重新存入别的数据的一种存储器。

只读型存储器(只读存储器ROM):

  • 通常将一些常驻内存的程序固化在ROM中。

  • 只能从其中读取数据,但是不能随随便便写入数据(要用特殊方法才行)的一种存储器。

存储器的层次结构:

计算机存储系统的设计主要考虑三个因素:容量、速度和成本

提高存储系统效能的关键点在于——程序的存储访问局部性原理时间局部性和空间局部性

  • 时间局部性(Temporal Locality):如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。(程序循环、堆栈等是产生时间局部性的原因)

  • 空间局部性(Spatial Locality):在最近的将来将用到的信息很可能与正在使用的信息在空间地址上是临近的。

存储分块:

为了简化对存储器的分配和管理,在不少计算机系统中把存储器分成块。在为用户分配主存空间时,以块为最小单位,也叫一个物理页,大小一般为512B,1KB,4KB,8KB等。

存储保护:

常用的存储保护机构:界地址寄存器(界限寄存器)存储键。

界地址寄存器(界限寄存器):

  • 在处理机中设置一对界限寄存器来存放该用户程序在内存中的上限和下限地址,分别称为上限寄存器和下限寄存器;又或者将一个寄存器作为基址寄存器将另一个寄存器作为限长寄存器(指示存储区的长度)来指出程序在内存中的存储位置。
  • 当处理机访问内存时,通过上述的寄存器判断是否越界,若未越界,则按此地址访问内存,若越界,则产生程序中断——越界中断(存储保护中断)

存储键:

  • 每个存储块都有一个与其相关的有二进制组成的存储保护键附加在每一个存储块上。
  • 当一个用户程序进入内存时,操作系统会分配一个唯一的存储键号,并且将该程序分配的存储块也设置成为相同的键号
  • 当程序进入CPU进行执行时,操作系统会将它的存储键号放置在程序状态字中(PSW),然后当CPU访问内存时,将内存块中的键号和PSW中键号进行比较,相同则使用,不同则拒绝使用并报警。(类似于一把钥匙开一把锁!)

三、缓冲技术与中断技术:

缓冲技术:

引入目的:解决部件之间速度不匹配的问题。

三种用途类型:用在处理机与内存之间的、用在处理机和其他外部设备之间、用在设备与设备之间的通信上的。

分类:单缓冲、双缓冲、多缓冲(Cache)

访问顺序:逐级访问:先cache,后内存


中断技术:

为什么有中断?

中断的出现是为了解决主机与外围设备之间的并行工作的问题,消除了因为外围设备的慢速使得CPU等待的现象,提高了可靠性,为多机操作和实时处理提供了硬件基础。

什么是中断?

中断是指CPU对系统中或系统外发生的异常事件的响应。

  • 引起中断的那些事件称为中断事件中断源。
  • 中断源向处理器发出的请求信号称为中断请求。
  • 处理中断事件的那段程序称为中断处理程序。
  • 正在执行的程序的暂停点称为中断断点。
  • 处理机暂停当前进程转而执行中断的过程被称为中断响应。
  • 中断处理结束之后恢复原来的程序的执行被称为中断返回。
  • 计算机系统提供的中断源的有序集合被称为中断字,这是一个逻辑结构在不同的处理机上面有不同的实现方式。

中断有什么作用?

中断有两种作用:充分发挥处理机的使用效率(I/O设备可以通过中断的方式和处理机进行交流,报告其数据传输的情况和问题,这样就可以免得处理机需要不断地查询和等待I/O设备。)、提高系统的实时能力(使用中断可以使得设备可以及时处理相关程序)

中断有哪些分类?

中断的分类:

  • 依据中断的功能:可屏蔽中断(I/O中断)、不可屏蔽中断(机器内部故障、掉电中断)、程序错误中断(溢出、除法错等中断)、软件中断(Trap指令或中断指令INT)

  • 依据被激发的手段:强迫性中断、自愿性中断

  • 依据中断事件发生和处理是否同步 :同步中断(内部异常)、异步中断(外源性中断)

  • 依据中断源的类型:硬件中断、软件中断

为了实现中断,我们构建了中断系统!

中断系统:

中断装置一般要提供的基本功能 :

为了在多个中断发生的时候决定谁先谁后,以及区分多个中断信号,我们引入了中断逻辑和中断寄存器!

中断逻辑:按中断优先级高低判定响应哪一个中断

中断寄存器:有的大型计算机中为了区分和不丢失每个中断信号,通常对应每个中断源都分别用一个固定的触发器来寄存中断信号,这些触发器的全体称为中断寄存器。

中断扫描机构:处理器的控制部件中能检测中断的机构,每条指令执行周期内的最后时刻扫描中断寄存器,询问是否有中断信号的到来。

多个中断发生了怎么处理呢?

多级中断和中断屏蔽:

中断优先级:高优先级屏蔽低优先级(我中断了你的中断!)

同一中断级中有多个中断请求时,可采用固定的优先数(事先安排好不同且固定的中断优先级)和轮转法(轮着来)来处理。

中断屏蔽:程序在执行过程中不希望被其他的事件所中断,这种情况被称为中断屏蔽。

处理机如何响应中断呢?

CPU何时响应中断:

  • 通常在指令周期最后时刻接受中断请求,或是在此时扫描中断寄存器。

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

  • 一是用软件指令去查询各设备接口;

  • 二是使用“向量中断”硬件设施,请求中断的设备为了表示自己,向处理机发送该设备在中断向量表中的表目地址。

处理机响应之后,又如何处理中断呢?

中断处理的一般过程:

  • 设备给处理器发了一个中断信号。

  • 处理器处理完当前指令后检测中断。

  • 若检测到中断,则判断出中断来源并向发送中断的设备发送确认中断信号,确认信号使得该设备将中断信号恢复到一般状态。

  • 处理器开始为软件处理中断做准备(关中断、保护现场)。

  • 处理器根据中断源查询中断向量表,获得与该中断相联系的处理程序入口地址,并将PC置成该地址,处理器开始一个新的指令周期,将控制转移到中断处理程序  。

  • 中断处理程序开始工作。

  • 中断处理结束时,处理器检测到中断返回指令,被中断程序的上下文环境从系统堆栈中被恢复,处理器状态恢复成原来的状态;开中断。

多个中断处理方式:

  • 禁止中断——正当处理一个中断时禁止中断,此时系统将对任何新发生的中断置之不理

  • 允许中断——中断按照优先度分级,允许优先级较高的中断打断优先级较低的中断处理过程。


时钟:

时钟的工作:

  • 在多道程序运行的环境中,它可以为系统发现一个陷入死循环(编程错误)的作业,从而防止机时的浪费。

  • 在分时系统中,用间隔时钟来实现作业间按时间片轮转。

  • 在实时系统中,按要求的时间间隔输出正确的时间信号给一个实时的控制设备。

  • 定时唤醒那些要求延迟执行的各个外部事件。

  • 记录用户使用各种设备的时间和记录某外部事件发生的时间间隔。

  • 记录用户和系统所需要的绝对时间,即年、月、日。

绝对时钟和间隔时钟(相对时钟):

  • 绝对时钟:记录当时的时间(年、月、日、时、分、秒)

  • 间隔时钟:又叫做相对时钟,由操作人员设置一个初值,然后每过一个单位时间,时钟的值减一,直到为负,触发一个时钟中断并且进行相应的处理。

Ending... ...

操作系统学习笔记:操作系统的硬件环境相关推荐

  1. 操作系统学习笔记目录(暂时不全223)

    操作系统学习笔记目录章节汇总 (暂时不全,目前只有第一章+第二章-浅谈线程,进程-2020.3.6) 文章目录 操作系统学习笔记目录章节汇总 1.打开钢琴的盖子(序章) 1.1-操作系统的概念(定义) ...

  2. 操作系统学习笔记-01-操作系统的概念(定义),功能和目标

    操作系统学习笔记-2019 王道考研 操作系统-01-操作系统的概念(定义),功能和目标 文章目录 1-操作系统的概念(定义),功能和目标 1.1常见的操作系统 1.2概念(定义) 1.3-操作系统的 ...

  3. ROS机器人操作系统学习笔记(三)ROS通信架构

    ROS机器人操作系统学习笔记(三)ROS通信架构 ROS的通信架构是ROS的灵魂,也是整个ROS正常运行的关键所在.ROS通信架构包括各种数据的处理,进程的运行,消息的传递等等.本章主要介绍了通信架构 ...

  4. 操作系统学习笔记-02-操作系统的特征

    操作系统学习笔记-2019 王道考研 操作系统-2-操作系统的特征 文章目录 02-操作系统四个的特征 2.1-知识概览 2.2并发 2.3共享 2.3并发和共享的关系 2.4虚拟 2.5小结:虚拟技 ...

  5. Linux操作系统学习笔记【入门必备】

    Linux操作系统学习笔记[入门必备] 文章目录 Linux操作系统学习笔记[入门必备] 1.Linux入门 2.Linux目录结构 3.远程登录 3.1 远程登录Linux-Xshell5 3.2 ...

  6. AndroidCamera学习笔记一 硬件

    AndroidCamera学习笔记一 硬件 题记 硬件部分 镜头 传感器 ISP.DSP 闪光灯.滤光片等其他部件 摄像头重要参数 分辨率.像素 光圈数 景深 焦距 硬件成像流程![成像流程](htt ...

  7. 第二章 操作系统的硬件环境

    第二章 操作系统的硬件环境 操作系统运行的硬件环境组成 中央处理器 存储系统 中断系统 I/O系统 时钟以及时钟序列 //- Linux中断处理 操作系统的运行环境主要包括系统的硬件环境和由其他的系统 ...

  8. UC/OS III操作系统学习笔记

    UCOS操作系统学习笔记 1.UCOSIII任务 1.1任务管理 1.2 任务创建和删除.挂起和恢复 1.3 系统内部任务 2.UCOSIII中断和时间管理 2.1 中断管理 2.2 时间管理 3.U ...

  9. ESP32学习笔记( VSCode + ESP-IDF环境) 3 ——GPIO相关的简单外设驱动

    1.如何在VSCode和ESP-IDF的环境下创建工程 说实话,这是我用ESP-IDF在VSCode环境下最不喜欢的事情,在一顿CSDN和百度之后,很多大佬博主都推荐使用VSCode,通过官方示例来进 ...

  10. 操作系统学习笔记-2.1.5线程概念和多线程模型

    操作系统学习笔记-2019 王道考研 操作系统-2.1.5线程概念和多线程模型 文章目录 5线程概念和多线程模型 5.1知识概览 5.2 什么是线程?为什么要引入线程? 5.3引入线程及之后,有什么变 ...

最新文章

  1. python将文本中的数据处理成图像(matplotlib)
  2. 如何ping端口_干货 | 如何正确处理常见的8大网络故障
  3. iphone 数据存储之属性和归档archive
  4. 仅有 100k 参数的高效显著性目标检测方法
  5. Infinity loop in cursor iteration
  6. 余弦函数导数推导过程_反三角函数的导数的推导过程
  7. 关于 Linux 的配置文件 /etc/profile 路径出错后相关的命令失效解决方式(如:ls,vi不能用)...
  8. TableView的cell加载倒计时重用问题解决方案
  9. Ubuntu服务启动脚本
  10. cron表达式每一个小时_嵊泗新闻网丨两千小时的热爱——任春华:用志愿服务守护每一个笑容...
  11. seay代码审计mysql插件报错_Seay源代码审计系统2.1版本下载(附源码): 人人都是代码审计师...
  12. linux wine qq 字体,在UOS系统中更改deepin-wineQQ使用的字体经验谈
  13. Navicat Premium 15 激活后打开就会无响应,或者崩溃,自动退出,没有任何提示,有时候会说未响应
  14. linux系统中lib,lib-dev,lib-dbg库的区别
  15. Markdown - 如何给文本加下划线
  16. windows查看系统补丁
  17. 刘备的仁义 ——品《三国演义》
  18. 串的模式匹配算法 ← BF算法
  19. python 实现实时语音对讲
  20. Kcauldron服务端linux版,[1.7.10][KCauldron]FAN幻议会——工业|神秘|应用能源|热力|娱乐模式|龙之研究|无.......

热门文章

  1. ATM自动取款机系统的用例图
  2. 左右手桌面股票盯盘常见问题解答
  3. 一个中国佛文化的故事
  4. 手机抢票软件哪个好?小编亲身体验下载推荐
  5. 二维码扫描自定义规则思路
  6. css3 背景渐变色实现过渡效果
  7. 3DS MAX插件制作绚丽的拖光效果-3D建模教程
  8. html设置文本边框为透明,透明框中的文本
  9. Swift UI专项训练7 数据添加
  10. C++数据结构day01-链式存储