目录

1 简介

2 CPU

2.1 CPU的工作流程

2.2 超标量CPU

2.3 内核态和用户态

3 存储器

3.1 存储器分为四个层次

3.2 寄存器

3.3 高速缓存

3.4 磁盘

4 I/O设备

4.1 设备控制器

4.2 设备本身

4.3 设备驱动程序

4.4 实现输入输出的三种方式

5 总线

5.1 PCI总线

5.2 PCIe总线

6 启动计算机


1 简介

从概念上讲,一台计算机可以抽象为下图的模型

CPU,内存以及I/O设备都由一条系统总线连接起来并通过总线与其他设备通信

2 CPU

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

2.1 CPU的工作流程

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

2.2 超标量CPU

流水线作业效率不高,于是就引入了超标量CPU

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

2.3 内核态和用户态

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

在内核态运行时,CPU可以执行指令集的每一条指令,使用硬件的全部功能

在用户态运行时,CPU只能执行指令集的一个子集和访问所有功能的一个自己

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

3 存储器

3.1 存储器分为四个层次

寄存器、高速缓存、内存、硬盘

3.2 寄存器

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

3.3 高速缓存

常用的高速缓存行放置在CPU内部或非常接近CPU的位置

3.3.1 高速缓冲命中

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

如果高速缓存未命中,就要通过总线,把访问请求传递到内存,这带来了访问速度的下降

PS:缓存

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

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

使用缓冲时我们需要考虑几个问题

1)何时把资源放入缓存中

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

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

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

3.3.2 内存

内存通常称为随机访问存储器(RAM),速度比磁盘快,程序先进入这里执行,内存具有断电数据消失的特效。

PS:闪存

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

3.4 磁盘

3.4.1 磁盘工作流程

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


我们常讲硬盘的转速,多少MB每秒,从磁盘的工作流程上我们可以了解到,磁盘的转速就是磁盘臂旋转的速度。

3.4.2 固态硬盘

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

3.4.3 虚拟内存

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

4 I/O设备

I/O设备分为两个部分 设备控制器和设备本身

4.1 设备控制器

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

4.2 设备本身

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

设备本身有一个相对简单的标准化接口,比如创建的SATA硬盘,SATA就是设备接口名

4.3 设备驱动程序

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

4.4 实现输入输出的三种方式

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

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

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

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

5 总线

一条连接计算机上所有硬件的线

5.1 PCI总线

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

5.2 PCIe总线

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

6 启动计算机

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

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

操作系统-计算机硬件简介相关推荐

  1. OS操作系统概念简介

    操作系统 操作系统是一种程序:控制应用程序执行的程序 操作系统是一种接口:应用程序和计算机硬件间的接口 操作系统就是让普通人也会用电脑的软件(为了方便),就是把整个电脑资源包装起来的一个图形界面(为了 ...

  2. 计算机硬件简介ppt,_计算机硬件简介.ppt

    _计算机硬件简介 计算机基础教程 内容提要 微型计算机硬件系统概述 微型计算机硬件系统 计算机引导过程(自学) 计算机选购(自学) 学习要求 基本要求 理解微机主板的作用并且能识别主板上的部件: 能够 ...

  3. 【UCOSIII操作系统】简介

    UCOSIII操作系统 现在开始整理UCOSIII实时操作系统的内容 UCOSIII 简介 关于UCOSIII的移植 现在开始整理UCOSIII实时操作系统的内容 UCOSIII其他内容导航不迷路 U ...

  4. 开源并兼容Windows NT的操作系统ReactOS简介

    **************************************************************************************************** ...

  5. 嵌入式操作系统VxWorks简介

    出处:http://www.embhelp.com/drew/mypage/VxWorks.htm VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RT ...

  6. 嵌入式实时操作系统FOS简介

    FOS目前支持的功能: 1. 支持多任务运行, 支持基于优先级任务调度,支持同等优先级FIFO调度. 2. 支持message queue. 3. 支持信号量, 支持互斥锁, 支持优先级置顶算法. 4 ...

  7. 操作系统精讲(0) | 操作系统详细简介

    操作系统(英语:Operating System,缩写:OS)是一组主管并控制计算机操作.运用和运行硬件.软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序,同时也是计算机系统的内核与基石. ...

  8. 欧拉操作系统(openEuler)简介

    一.欧拉操作系统(openEuler)  是什么? 欧拉操作系统(openEuler, 简称"欧拉")是面向数字基础设施的操作系统,支持服务器.云计算.边缘openEuler是面向 ...

  9. Symbian操作系统历史简介

    说起Symbian我们必须提到PSION(宝意昂)公司和它的EPOC操作系统,Symbian正是由它们发展而来的. Psion公司于1980年创立,始人为David Potter.当时的Psion是欧 ...

最新文章

  1. 【Git 第2课】 GitHub是什么?
  2. 【 FPGA 】状态机,FPGA的灵魂
  3. 硬盘分区表知识——详解硬盘MBR(转)
  4. java怎么调用存储函数_java中调用存储过程或存储函数的方法
  5. leetcode 418 整数转罗马数字
  6. 移动设备改变IO,试图改变(数据的)存储和处理(CPU)
  7. css3动画事件—webkitAnimationEnd
  8. Google 最新的 Fuchsia OS【科技讯息摘要】
  9. 辅助排序和Mapreduce整体流程
  10. mac系统升级 brew 是用不了_PostgreSQL数据库默默升级,导致数据库服务不可用
  11. C#的Enum中Flags的用法
  12. 绘制完成的cad图纸文件应使用哪一款看图软件进行查看?
  13. 码农、程序员、工程师这三者之间有什么区别?
  14. 函数式编程-Either函子篇
  15. 淘宝网上卖F22飞机,一群强人提问
  16. tsp问题的c语言编码,原创:TSP有关问题解决方案-禁忌搜索算法C实现
  17. 宝塔Linux面板redis服务开多个端口
  18. 如何快捷的修改html,问如何通过F12键来快捷的修改网页
  19. python xlrd pandas_python处理excel方式(openpyxl,xlrd,xlwt,openpyxl,panda)
  20. 《罗一笑,你给我站住》被指为P2P公司炒作

热门文章

  1. Flutter 里的语法糖解析,知其所然方能潇洒舞剑,为什么阿里的程序员成长如此之快
  2. 如何写好科研论文 撰写技巧(三)
  3. 关于28岁字节跳动程序员退休,看这一篇就够了
  4. 计算机发展史谈VR技术,当计算机专业课与校史相遇 复旦学子打造VR校史馆
  5. 分散式车辆协同:伯克利DeepDrive无人机数据集B3D
  6. 志愿者招募[网络流]
  7. 文献阅读:DeepLigand: accurate prediction of MHC class I ligands using peptide embedding
  8. 页面关键字实时搜索查询案例
  9. IT行业招聘技巧--JD分析篇
  10. office word插件开发1