zoukankan      html  css  js  c++  java
  • 计算机硬件——基础知识

    计算机硬件——基础知识

    1.编程语言的作用

      语言是用来沟通的,如英语、法语、葡萄牙语等。程序员编程的本质就是让计算机去工作,而编程语言就是程序员与计算机沟通的介质。

    2.操作系统和硬件的关系

      操作系统负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。

    3.应用程序、操作系统与硬件之间的关系

      硬件是基础,硬件需要通过操作系统系统控制来启动硬件,并让各个硬件之间相互协同工作,在系统软件的基础上是用户,用户操控的是系统软件,并在系统软件的基础上安装相应的应用程序,来完成用户所需要的工作。所以说最底层的是硬件,硬件上一层是操作系统,系统软件上一层是应用程序,而最上层的则是用户。

    4.cpu、内存与磁盘之间的关系

      理解各部分功能的一个简单的方法是,把计算机各部分组件往人的身上套,比如

      cpu是人的大脑,负责运算

      内存是人的记忆,负责临时存储

      磁盘是人的笔记本,负责永久存储

    5.cpu与寄存器,内核态与用户态及如何切换

      计算机的大脑就是CPU,它从内存中取指令->解码->执行,然后再取指->解码->执行下一条指令,周而复始,直至整个程序被执行完成。因访问内存以得到指令或数据的时间比cpu执行指令花费的时间要长得多,所以,所有CPU内部都有一些用来保存关键变量和临时数据的寄存器,这样通常在cpu的指令集中专门提供一些指令,用来将一个字(可以理解为数据)从内存调入寄存器,以及将一个字(可以理解为数据)从内存调入寄存器,以及将一个字从寄存器存入内存。

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

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

     内核态与用户态切换:用户态下工作的软件不能操作硬件,但是我们的软件比如暴风影音,一定会有操作硬件的需求,比如从磁盘上读一个电影文件,那就必须经历从用户态切换到内核态的过程,为此,用户程序必须使用系统调用(system call),系统调用陷入内核并调用操作系统,TRAP指令把用户态切换成内核态,并启用操作系统从而获得服务。

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

         

      寄存器即L1缓存,高速缓存即L2缓存,内存通常称为随机访问存储RAM,它是易失性存储,断电后数据全部消失。

    EEPROM(Electrically Erasable PROM,电可擦除可编程ROM)和闪存(flash memory)也是非易失性的,但是与ROM相反,他们可以擦除和重写。

    CMOS,它是易失性的,许多计算机利用CMOS存储器来保持当前时间和日期。CMOS存储器和递增时间的电路由一小块电池驱动,所以,即使计算机没有加电,时间也仍然可以正确地更新,除此之外CMOS还可以保存配置的参数。

    7.磁盘结构,平均寻道时间,平均延迟时间,虚拟内存与MM

        

      

    磁盘是一种机械装置,在磁盘中有一个或多个金属盘片,它们以5400,7200或10800rpm(RPM =revolutions per minute 每分钟多少转 )的速度旋转。从边缘开始有一个机械臂悬在盘面上,这类似于老式黑胶唱片机上的拾音臂。

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

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

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

    8.磁带

      在价钱相同的情况下比硬盘拥有更高的存储容量,虽然速度低于磁盘,但是因其大容量,在地震水灾火灾时可移动性强等特性,常被用来做备份。(常见于大型数据库系统中)

    9.设备驱动与控制器

      设备驱动是要调用设备,而根据该接口编写复杂而具体的程序。必须把设备驱动程序安装到操作系统中。

    控制器:是查找主板上的一块芯片或一组芯片(硬盘,网卡,声卡等都需要插到一个口上,这个口连的便是控制器),控制器负责控制连接的设备,它从操作系统接收命令,比如读硬盘数据,然后就对硬盘设备发起读请求来读出内容。

    10.总线与南桥和北桥

      

    总线是总线就是连接CPU、存储器、和一切外部设备的通路。北桥即PCI桥:连接高速设备   南桥即ISA桥:连接慢速设备

    11.操作系统的启动流程

      1.计算机加电

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

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

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

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

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

    12.应用程序的启动流程

      通过输入设备向操作系统发起可执行的请求,然后操作系统根据你想启动的应用程序快捷键在硬盘中找到文件,再到内存里读取文件,就启动了应用程序。

      

  • 相关阅读:
    2018/1/1 XML和DOM、SAX解析
    2018/1/1 Html+CSS+JavaScript
    2017/12/30 GUI和动态代理
    开发运维实施一系列问题归类
    如何理解并发,并行,串行
    java内存溢出与内存泄漏
    IDEA 导入的聚合工程父工程报错Cannot resolve symbol 'modelVersion'
    jvm垃圾回收算法
    String创建对象的难题一
    String详解
  • 原文地址:https://www.cnblogs.com/zhangsunan/p/6532967.html
Copyright © 2011-2022 走看看