欢迎您, 来到 宁时修博客.^_^

计算机基础--硬件

2017/07/11 言则行 Linux 774
计算机基础--硬件基础

一、编程语言的作用及与操作系统和硬件的关系

  首先,我们明确一些概念:

  语言:语言是人类最重要的交际工具,是人们进行沟通的主要表达方式。

  编程语言:是用来定义计算机程序的形式语言,来向计算机发出指令,也就是人与计算机沟通的方式。

  操作系统:是管理、控制计算机机硬件和软件资源的计算机程序,直接运行与裸机上的最基本系统软件。

  硬件:指计算机硬件,是指计算机系统中由电子、机械和光电元件等组成的各种物理装置的总称。这些物理装置按系统结构构成一个为计算机软件运行提供物质条件的有机整体。

  那么,我们可以这么说:利用编程语言书写一连串代码组成软件,将其运行与操作系统之上。而操作系统则是一个提供运行各种软件的平台,它上接着软件,下控制着各种硬件,通过对各类软件提供接口,转而驱动硬件资源。


二、应用程序怎么通过操作系统驱动硬件

  即:应用程序-->操作系统-->硬件。

  如上所说,操作系统管理、控制着各种计算机硬件,又为软件提供各种接口,只要应用程序调用操作系统提供的接口,即可操纵硬件为其服务。


三、CPU、内存、磁盘之间的关系

  CPU:即中央处理器,是一台计算机运算核心、控制核心.

  内存:计算机中中央的部件之一,是与CPU进行沟通的桥梁;计算机所有程序的运行都是在内存中进行的。

  磁盘:信息载体,是计算机的一种存储器,各类数据、文件等都是存放于此。

  当我们使用编程语言开发完了一个程序是,它还是只是一堆有序的代码组成各类文件,被存放于磁盘中,而当开启程序时,这个程序就被放入至内存中运行,CPU就可以从内存中读取指令,加之解码,然后执行,重复这个过程,这个程序就会被执行完成。


四、CPU与寄存器、内核态和用户态如何转换

  寄存器:CPU内部用来保存关键变量和临时数据的。是内存和CPU之间的中间件。

  CPU通过寄存器读取内存中的数据,CPU将之运算,再将结果返回给寄存器,寄存器再返回给内存。


  内核态:CPU的两种(权限)模式之一,CPU在内核态模式运行时,cpu可以执行指令集中所有的指令,很明显,所有的指令中包含了使用硬件的所有功能,(操作系统在内核态下运行,从而可以访问整个硬件)。

  用户态:CPU的两种(权限)模式之一,用户程序在用户态下运行,仅仅只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在用户态中有关I/O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用),当然,在用户态下,将PSW中的模式设置成内核态也是禁止的。

 

  内核态与用户态的切换:

  所有用户程序都是运行在用户态的, 但是有时候程序确实需要做一些内核态的事情, 例如从硬盘读取数据, 或者从键盘获取输入等. 而唯一可以做这些事情的就是操作系统, 所以此时程序就需要先操作系统请求以程序的名义来执行这些操作。

  这时需要一个这样的机制: 用户态程序切换到内核态, 但是不能控制在内核态中执行的指令。这种机制叫系统调用, 在CPU中的实现称之为陷阱指令(Trap Instruction)。

  它们的工作流程如下:

  1、用户态程序将一些数据值放在寄存器中, 或者使用参数创建一个堆栈(stack frame), 以此表明需要操作系统提供的服务。

 2、用户态程序执行陷阱指令。

  3、CPU切换到内核态, 并跳到位于内存指定位置的指令, 这些指令是操作系统的一部分, 他们具有内存保护, 不可被用户态程序访问。

  4、这些指令称之为陷阱(trap)或者系统调用处理器(system call handler)。 他们会读取程序放入内存的数据参数, 并执行程序请求的服务。

  5、系统调用完成后, 操作系统会重置CPU为用户态并返回系统调用的结果。


五、存储器系列,L1缓存,L2缓存,内存(RAM),EEPROM和闪存,CMOS与BIOS电池

  L1缓存:即寄存器,用与cpu相同材质制造,与cpu一样快,因而cpu访问它无时延,典型容量是:在32位cpu中为32*32,在64位cpu中为64*64,在两种情况下容量均<1KB。

  L2缓存:即高速缓存,是存在于主存与CPU之间的存储器,是用来协调CPU与主存之间存取速度的差异而设置的。系统将一些CPU在近几个时间段经常访问的内容存入高速缓冲,当CPU需要使用数据时,先在高速缓存中找,如果找到,就不必访问内存了,找不到时,再找内存,这样就在一定程度上缓解了由于主存速度低造成的CPU“停工待料”的情况。

  内存:也被称为内存储器、主存,作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。主存通常称为随机访问存储(RAM),所有不能再高速缓存中找到的,都会到主存中找,主存是易失性存储,断电后数据全部消失。

  EEPROM:电可擦可编程只读存储器,一种掉电后数据不丢失的存储芯片。

  闪存:Flash Memory,一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器。

  CMOS:也是一种存储器,易失性的。CMOS常指保存计算机基本启动信息(如日期、时间、启动设置等)的芯片。是主板上的一块可读写的并行或串行FLASH芯片,是用来保存BIOS的硬件配置和用户对某些参数的设定。

  BIOS电池:用于记录计算机系统的时间,也就是维持系统时钟的准确性,电量不够时,时间会回到出厂日期,还有记录启动时要用的硬件信息,也就是维持CMOS的BIOS信息。


六、磁盘结构,平均寻道时间,平均延迟时间,虚拟内存与MMU

  磁盘结构:磁盘由几块盘片组成,每个盘片有两面,都可记录信息。盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道。每个磁道被分成许多扇形的区域,每个区域叫一个扇区。硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面。

  平均寻道时间:机械手臂从一个柱面随机移动到相邻的柱面的时间称为寻道时间,找到了磁道就认为找到了数据所在的圆,但是还不知道数据在这个圆的具体位置。

  平均延迟时间:机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区,这段时间成为延迟时间。

  虚拟内存:是计算机系统内存管理的一种技术,该机制使计算机可以运行大于物理内存的程序,方法是将正在使用的程序放入内存去执行,而暂时不需要执行的程序放到磁盘的某块地方,这块地方称为虚拟内存,在linux中称为swap,这种机制的核心在于快速地映射内存地址,由cpu中的一个部件负责,称为内存管理单元(Memory Management Unit MMU)。

  MMU:内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。


七、磁带

  磁带:是一种用于记录声音、图像、数字或其他信号的载有磁层的带状材料。


八、设备驱动与控制器

  设备控制器:设备控制器是计算机中的一个实体,其主要职责是控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。每个物理设备都拥有自己的控制器。

  设备驱动:处理和管理硬件控制器的软件就是设备驱动程序。


九、总线与南桥、北桥

  总线:是计算机各种功能部件之间传送信息的公共通信干线。

  南桥:南桥芯片(South Bridge)是主板芯片组的重要组成部分,主要是负责I/O接口等一些外设接口的控制、IDE设备的控制及附加功能。

  北桥:北桥是个人电脑主板芯片组两枚大规模芯片中的一枚。北桥被用来处理高速信号、通常处理CPU(处理器)、RAM(内存)、AGP端口或PCI Express和南桥芯片之间的通信。


十、操作系统的启动流程

  1、计算机加电。

  2、BIOS开始运行,检测硬件:cpu、内存、硬盘等。

  3、BIOS读取CMOS存储器中的参数,选择启动设备。

  4、从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息, 后64为分区信息,最后两个为标志位)。

  5、根据分区信息读入bootloader启动装载模块,启动操作系统。

  6、然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),创建需要的进程,并在每个终端上启动登录程序或GUI。


十一、应用程序的启动流程

   1、点击应用程序快捷方式(软链接)。

   2、操作系统则得知一个文件路径。

   3、操作系统从硬盘读取文件内容到内存中。

   4、CPU从内存中读取指令、解码、执行,重复这个过程,直到程序执行完成。




点赞
说说你的看法

所有评论: (0)

# 加入组织

1、用手机QQ扫左侧二维码

2、搜Q群:1058582137

3、点击 宁时修博客交流群