提到计算机,就离不开硬件和软件,简单点讲,也是一对矛盾的统一体。一方面,硬件的发展能在很大程度上制约着软件的运行效果,同时硬件的发展又极大促进软件运行效果的提升;另一方面,软件的发展又能反作用在硬件的发展速度上。软硬件之间即相互制约又能互相促进,确实是挺有意思的:
计算机的硬件发展
个人印象里,计算机(硬件)就是是由运算器、控制器、存储器、输入设备和输出设备等部分组成,之前是遥不可及,如今却能融入到我们生活、工作的多个角落的实用工具。再次致敬乔帮主等高人为此做出的卓越贡献。
回顾历史,计算机的发展经历了结绳计数、算筹、算盘等手动处理阶段;帕斯卡加法器、莱布尼斯步进轮等半自动机械处理阶段;而马克1号是承接电动计算机与电子计算机的时代产物;埃尼阿克的出现,正式代表了现代电子计算机的起步。从晶体管的顺利应用,电子计算机从发展到应用,实现了真正意义上的腾飞,每一代计算机的出现,都展现出了,前所未有的强大计算和数据处理能力。
电子管数字机:
应用领域局限在高机密领域和方向。硬件方面,逻辑元件采用的是真空电子管,主存储器采用汞延迟线、阴极射线示波管静电存储器、磁鼓、磁芯;外存储器采用的是磁带。软件方面采用的是机器语言、汇编语言。
在实际使用过程中,当时的电脑运行需要程序员提前将程序写入到插电板上,然后,在允许使用的时间内(当时的计算机,太少,需求量太大),由程序设计工程师占用计算机,当程序运行中出现问题,需要调试,从这个层面上讲在当时计算机的使用效率较低。
代表产品:ENIAC,EDSAC(Electronic Delay Storage Automatic Calculator,爱达赛克)和EDVAC(Electronic Discrete Variable Automatic Computer,爱达瓦克),IBM701,IBM709
晶体管数字机:
回顾历史,计算机在数据存储,数据处理,数据传输几大方向上的每一次更新迭代,都会给计算机生产和应用体系带来质的飞跃。展望未来,新型计算机技术的发展和逐步成熟也让人感到欣喜。功能上进一步全面和强大,体积上进一步精简和缩小,应用上进一步智能化,数据传输上进一步网络化,技术上进一步跨领域跨学科融合发展。
纳米计算机、分子计算机、光子计算机、量子计算机、云计算机、生物计算机……未来的计算机雏形在今天已经上演争奇斗艳,计算机的世界未来可期。
现代计算机的主要硬件功能
- 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备份数据,然后重装系统