操做系统——计算机硬件简介

计算机硬件简介

从概念上讲,一台计算机能够抽象为下图的模型缓存


图0.1计算机抽象模型
CPU,内存以及I/O设备都由一条系统总线链接起来并经过总线与其余设备通讯服务器

CPU

CPU是计算机的大脑,它从内存中取出指令并执行。学习

CPU的工做流程

从内存中取出指令,对取出的指令进行解码,执行,CPU就是一直不断的重复这个过程。spa

wVb1Et.png
​ 图1.1CPU工做流程操作系统

超标量CPU

流水线做业效率不高,因而就引入了超标量CPU翻译

超标量CPU是这样工做的,多个取值和解码同时进行,取值解码完成后的指令会进入缓冲区,缓冲区对应多个执行单元,每当缓冲区中有指令且有空闲的执行单元时,就会从缓冲区取出指令进入执行单元执行.3d

​ 图1.2超标量CPU工做流程指针

内核态和用户态

多数CPU多有两种模式,内核态和用户态blog

在内核态运行时,CPU能够执行指令集的每一条指令,使用硬件的所有功能接口

在用户态运行时,CPU只能执行指令集的一个子集和访问全部功能的一个本身

在台式机和服务器上,操做系统在内核态运行。在大多数嵌入式系统中,一部分操做系统在内核态运行,其他部分在用户态运行

存储器

存储器分为四个层次

寄存器 高速缓存 内存 硬盘

​ 图2.1存储器的四层

寄存器

寄存器存在于CPU中,访问和CPU同样快,没有时延

高速缓存

经常使用的高速缓存行放置在CPU内部或很是接近CPU的位置

高速缓存命中

当程序须要读取一个字时,检查所须要的字是否在高速缓存中,若是在高速缓存中,称为高速缓存命中

若是高速缓存未命中,就要经过总线,把访问请求传递到内存,这带来了访问速度的降低

PS:缓存

大量的资源存在于计算机存储器的某一处,其中一小部分资源会被频繁的用到,把频繁用的资源放到比大量资源更高层次的存储器中,这就是缓存。

计算机在读取文件时,将硬盘中频繁用的文件放入内存中,这就是缓存的应用。

使用缓存时咱们须要考虑几个问题

1)什么时候把资源放入缓存中

2)把资源放在存储器的哪一层上

3)在缓存满了时,把什么内容从缓存中移走

4)移走的内容又该放到何处

内存

内存一般成为随机访问存储器(RAM),速度比磁盘快,程序先进入这里执行,内存具备断电数据消失的特性。

PS:闪存

速度介于内存和磁盘间,断电后数据不消失

磁盘

磁盘工做流程

像是老式的唱片机,一个又一个重叠起的圆盘,每一个圆盘上配有一个指针,当从磁盘读取数据时指针不断旋转,读取一段环形区域,这段环形区域叫作磁道。
wVxqYR.png

​ 图2.2 磁盘的工做流程

咱们常讲硬盘的转速,多少MB每秒,从磁盘的工做流程上咱们能够了解到,磁盘的转速就是磁盘臂旋转的速度

固态硬盘

固态硬盘和普通磁盘不是同一种工做方式,固态硬盘实际上是一种闪存

虚拟内存

计算机的虚拟内存机制就是将磁盘中须要反复读取的内容放到内存中,加快计算机的速度,也是一种缓存的应用

I/O设备

I/O设备分为两个部分 设备控制器和设备自己

设备控制器

设备控制器是插在电路板上的一块芯片或一组芯片,他是操做系统和设备之间的桥梁,配合操做系统操做设备,操做系统对它发成命令,它对操做系统的命令进行复杂的转换,控制设备。

​ 图3.1设备控制器

设备自己

硬盘,键盘,鼠标,显示器等等

设备自己有一个相对简单的标准化接口,好比建立的SATA硬盘,SATA就是设备的接口名

设备驱动程序

操做系统如何操做设备控制器呢,这个答案就是在操做系统上安装设备控制程序,设备控制程序负责与控制器对话,发出命令,接受响应。

实现输入输出的三种方式

1)忙等待:用户程序发起一个系统调用,内核将其翻译成一个对应设备驱动程序的过程调用。设备驱动程序启动I/O,循环的检查设备是否完成工做,当完成工做后,设备驱动程序将设备返回的数据送到指定的位置,随后操做系统将控制返回给调用者。

缺点:显而易见,在设备执行完成前,要一直占用CPU,CPU要一直循环的检查,这期间用户什么也不能干

2)中断控制:设备驱动程序启动设备,让该设备在操做完成时发出一个中断,驱动程序将中断传递给操做系统。

3)直接存储器访问:为I/O操做使用一种特殊的芯片(DMA),它无需持续的CPU干预,直接控制内存和控制器之间通讯,操做完成后,也发出中断。

总线

一条链接计算机上全部硬件的线

PCI总线

多个设备使用同一条导线传输数据,当多个设备须要发送数据时,仲裁器决定哪一个设备可使用总线。(已通过时了)

PCIe总线

端到端的链路,即每一个设备都拥有单独的一条导线用来发送数据

启动计算机

学完了计算机相关的硬件知识,咱们来了解一下启动计算机时,计算机内部是如何工做的

首先,BIOS开始运行,它扫描I/O设备,存储器是否安装正常,接着扫描出总线上的全部设备,随后从硬盘中找出一个启动装载模块,这个启动装载模块负责启动操做系统(WINDOWS/LINUX),而后,操做系统询问BIOS得到每种设备的配置信息,操做系统检查对应设备的驱动程序是否安装正常,若是所有正常,操做系统将他们调入内核,建立须要的全部进程,在终端上启动登陆程序。

学习,源于未知的热爱

相关文章
相关标签/搜索