操作系统的硬件环境

qinghua qinghua     2022-08-31     796

关键词:

一 中央处理器 (CPU)

微处理器是微机的硬件核心

主要包含指令执行的运算和控制部件,还有多种寄存器

对程序员来说,微处理器抽象为以名称存取的寄存器

8086内部结构有两个功能模块,完成一条指令的取指和执行功能

模块之一:总线接口单元BIU,主要负责读取指令和操作数

模块之二:执行单元EU ,主要负责指令译码和执行

 

指令执行的基本过程(1)

先从存储器中每次读取一条指令

然后执行这条指令

一个单条指令处理过程称为一个指令周期

程序的执行是由不断取指和执行的指令周期组成

指令执行的基本过程(2)

每个指令周期开始时,依据在程序计数器中的指令地址从存储器中取一条指令

在取指完成后根据指令类别自动将程序计数器的值变成下条指令的地址,自增1

取到的指令放在指令寄存器中

处理器解释并执行所要求的动作

 

cpu五类指令

访问存储器指令: 处理器和存储器间数据传送

I/O指令: 处理器和I/O模块间数据传送和命令发送

算术逻辑指令(数据处理指令): 执行数据算术和逻辑操作

控制转移指令: 指定一个新的指令的执行起点

处理器控制指令: 修改处理器状态,改变处理器工作方式

 

特权指令和非特权指令

特权指令:只能由操作系统使用的指令。

特权指令一般引起处理器状态的切换 处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态) 然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入。

CPU通过处理器状态的标识判断当前运行的是操作系统还是一般应用软件。

 

汇编指令的组成

指令由操作码和操作数两部分组成。

操作码说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分。

操作数是指令执行的参与者,即各种操作的对象。有些指令不需要操作数,通常的指令都有一个或两个操作数,也有个别指令有3个甚至4个操作数。

每种指令的操作码: 用一个唯一的助记符表示(指令功能的英文缩写) 对应着机器指令的一个二进制编码。

指令中的操作数: 可以是一个具体的数值,可以是存放数据的寄存器或指明数据在主存位置的存储器地址。

 

操作码  操作数1,操作数2 

操作数2,称为源操作数 src,它表示参与指令操作的一个对象

操作数1,称为目的操作数 dest,它不仅可以作为指令操作的一个对象,还可以用来存放指令操作的结果

 

程序状态字PSW:根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态

多数系统将处理器工作状态划分为管态和目态

管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、核心态、系统态

目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态

 

数据寄存器:用来存放计算的结果和操作数,也可以存放地址

变址寄存器:常用于存储器寻址时提供地址

指针寄存器:用于寻址内存堆栈内的数据

 

二、存储系统

作业必须把它的程序和数据存放在内存中才能运行 操作系统本身也要存放在内存中并运行 多道程系统中,若干个程序和相关的数据要放入内存。

存储器是是计算机的记忆部件,用来存放程序和数据。分类: 读写型的存储器 只读型的存储器。

 

内存(RAM): 随机访问存储器(RAM:Random Access Memory),主要用作存放随机存取的程序和数据 存放当前正在执行的程序和使用的数据,CPU可以直接存取。

速度快,但是成本高,容量小,断电以后内容会丢失。

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

 

存储单元: 每个存储单元都有一个编号;被称为存储器地址 存储内容: 每个存储单元存放一个字节的内容

0002H单元存放有一个数据34H 表达为 [0002H]=34H

 

三、中断技术

及时处理设备的中断请求

它使得OS可以捕获用户程序发出的系统功能调用

防止用户程序中破坏性的活动等

中断:在CPU执行程序的过程中,出现了中断请求,CPU需暂停正在执行的程序,转去处理该事件(执行中断服务程序) 并在处理完毕后返回断点处继续执行被暂停的程序,这一过程称为中断。。

        CPU对系统发生的某个事件作出的一种反应。CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序。断点处是指返回主程序时执行的第一条指令的地址。

特点:

1) 中断是随机的

2) 中断是可恢复的

3) 中断是自动处理的

中断的引入:

为了开发CPU和通道(或设备)之间的并行操作,当CPU启动通道(或设备)进行输入/输出后,通道 (或设备)便可以独立工作,CPU转去处理与此次输入/输出不相关的事情。

当通道(或设备)完成输入/输出后,通过向CPU发中断告诉CPU此次输入/输出结束,使CPU继续处理输入/输出以后的事情。

中断的类型

中断(外中断):

I/O中断

时钟中断

异常(内中断):

系统调用

缺页异常

断点指令

其他程序性异常 (如算术溢出等)

 

四、I/O系统

I/O控制使用下面几种技术:

程序控制

中断驱动

直接存储器存取(DMA)

通道

1、程序控制I/O技术

由处理器提供I/O相关指令来实现

I/O处理单元处理请求并设置I/O状态寄存器相关位

不中断处理器,也不给处理器警告信息

处理器定期轮询I/O单元的状态,直到处理完毕

I/O软件包含直接操纵I/O的指令

控制指令: 用于激活外设,并告诉它做什么

状态指令: 用于测试I/O控制中的各种状态和条件

数据传送指令: 用于在设备和主存之间来回传送数据

主要缺陷: 处理器必须关注I/O处理单元的状态,因而耗费大量时间轮询信息,严重地降低了系统性能

 

2、中断驱动I/O技术

为了解决程序控制I/O方法的主要问题:让处理器从轮询任务中解放出来,使I/O操作和指令执行并行起来

具体作法: 当I/O处理单元准备好与设备交互的时候 通过物理信号通知处理器,即中断处理器的执行

 

3、DMA技术

直接存储器访问(DMA:Direct Memory Access) 通过系统总线中一独立控制单元DMA控制器,自动控制成块数据在内存和I/O单元间的传送。 大大提高处理I/O的效能。

当处理器需要读写一整块数据时, 给DMA控制单元发送一条命令。 包含:是否请求一次读或写,I/O设备的编址,开始读或写的主存编址,需要传送的数据长度等信息。

处理器发送完命令后就可处理其他事情, DMA控制器将自动管理数据的传送。 当这个过程完成后, DMA控制器给处理器发一个中断,处理器只在开始传送和传送结束时关注一下就可。

处理器和DMA传送不完全并行,因为: 有时会有总线竞争的情况发生, 处理器用总线时可能稍作等待, 不会引起中断, 不引起程序上下文的保存。 通常过程只有一个总线周期。 在DMA传送时,处理器访问总线速度会变慢。 对于大量数据I/O传送,DMA技术很有价值。

 

4、通道

通道又称为I/O处理机,独立于中央处理器,是专门负责数据I/O传输的处理机。

它对外设实现统一管理 代替CPU对I/O操作进行控制 使CPU和外设可以并行工作

引入通道的目的: 为了使CPU从I/O事务中解脱出来 同时为了提高CPU/设备、设备/设备之间的并行度

 

读《程序是怎么跑起来的》第七章有感

...第七章程序是在何种环境中运行的,应用的运行环境是指操作系统和计算机(硬件)的种类应用的运行环境主要是用类似于Windows(OS)和AT兼容机(硬件),这样的OS和硬件的种类来表示。不同的硬件种类需要不同的操作体统,应用是为... 查看详情

第七章程序是在何种环境中运行的

...了应用是必须在一定的环境下才能运行的,其运行环境是操作系统和硬件构成的。  同样类型的硬件可以选择安装多种操作系统,而不同的硬件类型需要不同的操作系统。说起硬件,CPU是特别重要的参数,由于CPU能解释其... 查看详情

3测试基础-软件测试的环境

...件环境,硬件环境主要是PC机,软件环境包括软件运行的操作系统(主流的操作系统:windows、Linux、Unix),数据库(Oracle、MySQL、SqlServer、DB2等)、web应用服务器(Apache、IIS、tomcat、Nginx等)和集群环境(如负载均衡)。硬件配置关... 查看详情

操作系统概论

1.操作系统提供计算机用户与计算机硬件之间的接口,并管理计算机软件和硬件资源,为应用程序提供运行环境2.操作系统是一种复杂的系统软件,是不同程序的代码,数据结构,数据初始化文件的集合,可执行3.操作系统是覆盖... 查看详情

软件测试环境简介

...助硬件设备所构成的环境;软件环境指被测软件运行时的操作系统、数据库以及其他应用软件构成的环境。  开发与测试环境一般都是单独搭建的,开发与测试环境的分离是为了方便重现开发环境无法重现的bug,同时开发... 查看详情

python环境搭建与输入输出(代码片段)

...硬件之间其实是可以交互的,这是什么原理呢?答:使用操作系统,==操作系统 查看详情

嵌入式linux系统移植——bsp分析

...BSP简介    嵌入式系统由硬件环境、嵌入式操作系统和应用程序组成,硬件环境是操作系统和应用程序运行的硬件平台,它随应用的不同而有不同的要求。硬件平台的多样性是嵌入式系统的主要特点,如何使嵌入式... 查看详情

day01计算机基础和环境搭建(代码片段)

...项:机械将零件组合在一起,他们之间是无法进行协作。操作系统用于协调计算机的各个硬件,让硬件之间进行协同工作,以完成某个目标。常见的操作系统分 查看详情

(linux)bsp板级支持包开发理解(代码片段)

1.概述嵌入式系统由硬件环境、嵌入式操作系统和应用程序组成,硬件环境是操作系统和应用程序运行的硬件平台,它随应用的不同而有不同的要求。硬件平台的多样性是嵌入式系统的主要特点,如何使嵌入式操作系... 查看详情

透过新硬件环境下的存储技术,看未来数据库系统崛起(附ppt)

...高级工程师。研究方向主要为数据库系统理论与实现、新硬件平台下的数据库系统以及TP+AP型混合系统。本次分享大纲:现代处理器及新型存储的发展现代处理器下的数据库技术面向新型存储的数据库系统总结大家应该都看过《... 查看详情

硬件开发平台介绍

硬件开发平台介绍自动驾驶研发的流程软件在环:软件在环是基于仿真和模拟的软件仿真,类似于赛车类游戏。即是在软件系统里仿真模拟出真实的道路环境如光照、天气等自然环境,开发者可将自动驾驶代码开发完毕后,在仿... 查看详情

《程序是怎么跑起来的》第七章

运行环境=操作系统+硬件。操作系统和硬件决定了程序的运行环境,同一类型的硬件可以选择安装多种操作系统。从程序的运行环境这一角度来考量硬件时,CPU的种类是特别重要的参数。CPU只能解释其自身固有的机器语言,不同... 查看详情

宿舍管理系统

...理提供宿管、学生、超级管理员界面系统开发软件环境及硬件环境软件开发环境:visualstudio2013,sql2008R2,Microsoft.netframework,win8.164bit硬件开发环境:计算机(酷睿i5+4g内存)系统运行软硬件环境硬件环境:主流计算机软件环 查看详情

(linux)bsp板级支持包开发理解(代码片段)

1.概述嵌入式系统由硬件环境、嵌入式操作系统和应用程序组成,硬件环境是操作系统和应用程序运行的硬件平台,它随应用的不同而有不同的要求。硬件平台的多样性是嵌入式系统的主要特点,如何使嵌入式操作系... 查看详情

搭建软件测试环境

...度以及打印机的型号等。其次软件环境:包括软件运行的操作系统(主流的操作系统Windows、Linux、Unix),数据库(Oracle、mysql、SqlServer、DB2等)、web应用服务器(Apache、Tomcat、Nginx等)和集群环境(例如负载均衡)最后网络环境... 查看详情

关于服务器,硬件配置,和温度环境要求是怎么样的

参考技术A关于服务器,硬件配置,和温度环境要求是怎么样的环境的话,一般就是需要注意物理环境。即温度、电源、地板、防火系统。作为机房(电脑学习室/数据中心),它的物理环境是受到了严格控制的,主要分为几个方... 查看详情

软件开发环境简介

...硬件测试:如cpu、dimn、storage、nic、usb等测试软件测试:操作系统兼容性测试、驱动 查看详情

生产环境,测试环境中,docker可以做啥

...指令并进行执行。两个磁盘层,两个处理器调度器,两个操作系统消耗的内存,所有虚拟出的这些都会带来相当多的性能损失,一台虚拟机所消耗的硬件资源和对应的硬件相当,一台主机上跑太多的 查看详情