zoukankan      html  css  js  c++  java
  • 计算机的前世今生

          提到计算机,就离不开硬件和软件,简单点讲,也是一对矛盾的统一体。一方面,硬件的发展能在很大程度上制约着软件的运行效果,同时硬件的发展又极大促进软件运行效果的提升;另一方面,软件的发展又能反作用在硬件的发展速度上。软硬件之间即相互制约又能互相促进,确实是挺有意思的:

    计算机的硬件发展

          个人印象里,计算机(硬件)就是是由运算器、控制器、存储器、输入设备和输出设备等部分组成,之前是遥不可及,如今却能融入到我们生活、工作的多个角落的实用工具。再次致敬乔帮主等高人为此做出的卓越贡献。

          回顾历史,计算机的发展经历了结绳计数、算筹、算盘等手动处理阶段;帕斯卡加法器、莱布尼斯步进轮等半自动机械处理阶段;而马克1号是承接电动计算机与电子计算机的时代产物;埃尼阿克的出现,正式代表了现代电子计算机的起步。从晶体管的顺利应用,电子计算机从发展到应用,实现了真正意义上的腾飞,每一代计算机的出现,都展现出了,前所未有的强大计算和数据处理能力。

       

        电子管数字机:
        应用领域局限在高机密领域和方向。硬件方面,逻辑元件采用的是真空电子管,主存储器采用汞延迟线、阴极射线示波管静电存储器、磁鼓、磁芯;外存储器采用的是磁带。软件方面采用的是机器语言、汇编语言。

      在实际使用过程中,当时的电脑运行需要程序员提前将程序写入到插电板上,然后,在允许使用的时间内(当时的计算机,太少,需求量太大),由程序设计工程师占用计算机,当程序运行中出现问题,需要调试,从这个层面上讲在当时计算机的使用效率较低。
      代表产品:ENIAC,EDSAC(Electronic Delay Storage Automatic Calculator,爱达赛克)和EDVAC(Electronic Discrete Variable Automatic Computer,爱达瓦克),IBM701,IBM709
       

        晶体管数字机:

        电子管元件在运行时产生的热量太多,可靠性较差,运算速度不快,价格昂贵,体积庞大,这些都使计算机发展受到限制。逐渐地,晶体管开始被用来作计算机的元件。晶体管即实现了电子管的功能,又具有尺寸小、重量轻、寿命长、效率高、发热少、功耗低等优点。自此,电子线路的结构大大改观。硬件方面的操作系统、高级语言及其编译程序应用领域以科学计算和事务处理为主,并开始进入工业控制领域。特点是体积缩小、能耗降低、可靠性提高、运算速度提高(一般为每秒数10万次,可高达300万次)、性能比第1代计算机有很大的提高。在运行层面上,IO和计算是分离的。
      在实际使用过程中,由于启用了批处理技术,程序的设计和运行过程得到分离,程序的运行由计算机机房的管理人员进行对一批次程序进行统一操作,在一批次程序运行完成后结果统一反馈,相对的提升了计算机的使用效率,但是效率还是比较低的。
    代表产品:IBMRCA501、7090,中国全晶体管电子计算机441—B
      
        集成电路数字机:
        集成电路发展初期最重要的应用领域是计算机技术领域。第三代计算机的发展是建立在集成电路技术基础上的,其硬件的各个组成部分,从微处理器、存储器到输入、输出设备,都是集成电路技术的结晶。逻辑元件采用中、小规模集成电路(MSI、SSI),主存储器仍采用磁芯。软件方面出现了分时操作系统以及结构化、规模化程序设计方法。特点是速度更快(一般为每秒数百万次至数千万次),而且可靠性有了显著提高,价格进一步下降,产品走向了通用化、系列化和标准化等。应用领域开始进入文字处理和图形图像处理领域。
      当时多道技术产生,理论上可以提升了计算机的运行效率。基于单核,即单个CPU。运行过程中,多道技术的使用提升了CPU的效率,实现了空间上的服用(多程序提前将数据读入到内存中)和时间上的复用(多个程序运行过程中进行切换)。可以多并发,但是,并非是并行执行的。然而,为了保证数据的安全性和稳定性,多个程序在内存中是应该隔离开的,但当时的技术尚未成熟。所以在实际应用中,前期的三代计算机仍在批处理层面上。
    代表产品:IBM360系列、370系列
     
        大规模集成电路机:
        硬件方面,逻辑元件采用大规模和超大规模集成电路(LSI和VLSI)。软件方面出现了数据库管理系统、网络管理系统和面向对象语言等。1971年世界上第一台微处理器在美国硅谷诞生,开创了微型计算机的新时代。应用领域从科学计算、事务管理、过程控制逐步走向家庭。
    代表产品:苹果公司APPLE II、Macintosh,各品牌微型个人计算机
     
        伴随集成技术的不断发展,个人电脑在内的计算机体系的发展也步入了快车道,而互联网的出现更使得计算机有了进一步融合发展的新动力。

        回顾历史,计算机在数据存储,数据处理,数据传输几大方向上的每一次更新迭代,都会给计算机生产和应用体系带来质的飞跃。展望未来,新型计算机技术的发展和逐步成熟也让人感到欣喜。功能上进一步全面和强大,体积上进一步精简和缩小,应用上进一步智能化,数据传输上进一步网络化,技术上进一步跨领域跨学科融合发展。

        纳米计算机、分子计算机、光子计算机、量子计算机、云计算机、生物计算机……未来的计算机雏形在今天已经上演争奇斗艳,计算机的世界未来可期。

      

    现代计算机的主要硬件功能

    • CPU
      • 负责运算和控制
      • 主要参数,主频、缓存、核数
      • 分类方式:
        • 常见厂商:Inter(稳定)、Amd(快)
        • 接口方式:PGA针式接口,LGA触点式:新式接口类型 现在Intel的CPU基本使用该接口
      • 常见故障
        • 温度过高,散热不良导致死机、重启
    • 内存
      • 负责存储数据,随机存储的高速存储设备
      • 分类
        • 按品牌
        • 按容量大小
      • 主要参数:
        • 容量
        • 频率
      • 常见异常
        • 兼容性问题,在扩展完内存后出现蓝屏,换品牌和频率相同的内存
        • 接头氧化,出现电脑启动以后,屏幕不亮,用橡皮或纸巾擦一下内存接头
        • 当正常情况下,内存的使用率达到了70%以上,则说明内存不够用了,需要加内存。
    • 硬盘
      • 永久存储的设备。
      • 分类:
        • 按存储方式,机械硬盘、固态硬盘
        • 按应用方向,普通硬盘、企业硬盘、监控硬盘、NAS硬盘等
      • 接口
        • IDE、scsi、sata、sas
      • 主要参数:
        • 容量
        • 缓存
        • 机械硬盘,转速,读写速率
        • 固态硬盘,读写速度
      • 常见故障
        • 机械硬盘,盘片损坏
    • 显卡
      • 负责显示
      • 主要指标
        • 显存
        • 位宽,处理速率
        • 频率
      • 显卡分类
        • 根据接口分类
        • 根据应用场景分类
    • 声卡
    • 网卡
      • 一般主板自带千兆网卡
    • 主板
      • 负责将所有的设配连接起来
      • 参考指标
        • 大板、小板
        • 接口数量
        • 支持cpu类型
        • 是否继承了三卡
        • 南北桥
    • 机箱、电源
      • 主要参数
        • 材质
        • 抗静电
        • 散热
        • 空间
    • 键盘、鼠标
    • 显示器
    • 音箱、耳麦 
    •  

    计算机软件

          计算机软件,简单点说是电脑运行程序、相关规程和文档的集合。

          计算机软件的主要特点可以总结为:1,不是实体的物理存在,具体的存在效果只能通过运行过程才能了解。2,是脑力劳动的成果,和人类的逻辑能力、思维水平直接关联。3,在创建和使用过程中,因为没有物理实体所以就不存在磨损等情况,但需要根据实际情况即使调整即需要更新和维护。4,运行过程依赖于硬件系统。5,可以完全复制。

          计算机软件的分类,常见的分类方式有应用层面的和授权层面的。个人感觉,授权层面会随着发展不断淡化。应用层面,可以大致把软件分为系统软件和应用软件。

          系统软件主要包括操作系统和运行开发环境两大部分,操作系统是实现管理计算机硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。运行开发环境,或者称为支撑软件,它主要包括环境数据库、各种接口软件和工具组(基本的工具组包括,比如编译器、数据库管理、存储器格式化、文件系统管理、用户身份验证、驱动管理、网络连接等方面)。起到了支撑各种软件的开发与维护的作用。

          应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序。也可以是一组功能联系紧密,可以互相协作的程序的集合。

          从授权层面,可以把软件大致分为专属软件、自由软件、共享软件、免费软件和公共软件。

          软件的生命周期,是指从软件定义、开发、使用、维护到报废为止的整个过程,一般包括问题定义、可行性分析、需求分析、总体设计、详细设计、编码、测试和维护。

          软件的常见几种生命周期模型或过程模型,有瀑布模型(自上而下环环相扣),原型+瀑布模型(迭代建立原型,瀑布模型实施),增量模型(先实现核心功能,主要功能、辅助功能可以在之后的更新版本中逐批次添加),迭代模型。

          软件的开发语言即编程语言,可大致分为机器语言、汇编语言、高级语言。其中机器语言最接近底层硬件系统,编制专业度高、编制效率低、运行效率高;汇编语言和高级语言相比,比较接近底层硬件系统编制专业度较高、编制效率较低、运行效率较高;高级语言最接近人类语言,相对来说编制效率高,但执行效率低。其中,在高级语言中,又可以简单分出编译型高级语言、解释型高级语言等。编译型高级语言在开发完成后需要经过编译过程,能生成独立运行的二进制码形式存在的执行程序,所以一旦开发完成,运行效率比较高。解释型语言,开发完成后,执行过程是通过解释器,边编译边执行。解释型语言相对来说开发效率比较高,跨平台性能好,但执行效率相对较低。

          编译型语言代码——》一次性把代码交给编译器——》汇编语言——》及其语言

          解释型语言代码——》边执行边编译(解释器或者虚拟机)——》机器语言

          编译型的语言的可移植性,分为硬件的跨平台和软件上的跨平台。硬件上的跨平台主要是考虑CPU不同的指令集,比如,intel,amd 是复杂指令集,高性能高功耗。而ARM,代表的是精简指令集,性能精简,功耗低。支持复杂指令集的软件,不能完全支持精简指令集,反之亦然,所以现在手机上的软件和电脑上的软件不能通用。软件平台的可移植性,主要是在不同的操作系统之间的兼容型。

          解释型语言在跨平台方面表现良好,主要是跨平台的相关任务,基本上交给了解释器或虚拟机。在编写程序过程中,基本上不用过多地考虑软件的跨平台。

    计算机常见故障排查

    • 定位问题
      • 显示 “ 正在启动 ” 等自检过程,但是启动不起来,则是系统有问题。BIOS芯片在电脑启动时,进行硬件检测。如果检测不通过,则是硬件出现问题了。
    • 排除法查看硬件故障
      • 主板问题
      • CPU
      • 内存问题
      • 显卡问题
      • 硬盘
      • 电源
    • PE备份数据,然后重装系统

        

  • 相关阅读:
    关键词学英语----设计模式
    nginx配置
    文件File类型接收
    md工具
    springboot集成Spring Data JPA
    maven应用
    2019年Java面试题基础系列228道(3)
    2019年Java面试题基础系列228道(2)
    2019年Java面试题基础系列228道(1)
    天空盒
  • 原文地址:https://www.cnblogs.com/shengjie1/p/10700947.html
Copyright © 2011-2022 走看看