计算机概述

一、计算机简介

        计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。

        计算机由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。计算机可分为超级计算机、工业控制计算机、网络计算机、个人计算机、嵌入式计算机五类,较先进的计算机有生物计算机、光子计算机、量子计算机等。

        计算机是20世纪最先进的科学技术发明之一,对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展。它的应用领域从最初的军事科研应用扩展到社会的各个领域,已形成了规模巨大的计算机产业,带动了全球范围的技术进步,由此引发了深刻的社会变革,计算机已遍及一般学校、企事业单位,进入寻常百姓家,成为信息社会中必不可少的工具。

        计算机的应用在中国越来越普遍,改革开放以后,中国计算机用户的数量不断攀升,应用水平不断提高,特别是互联网、通信、多媒体等领域的应用取得了不错的成绩。1996年至2009 年,计算机用户数量从原来的630万增长至6710 万台,联网计算机台数由原来的2.9万台上升至5940万台。互联网用户已经达到3.16 亿,无线互联网有6.7 亿移动用户,其中手机上网用户达1.17 亿,为全球第一位。

        最近半个世纪以来,世界计算机科学界的重大进步,离不开图灵等人的理论奠基作用和多方面的开创性研究成果。

1.1 艾伦·麦席森·图灵

        艾伦·麦席森·图灵(英语:Alan Mathison Turing,1912年6月23日—1954年6月7日),英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。

        图灵对于人工智能的发展有诸多贡献,提出了一种用于判定机器是否具有智能的试验方法,即图灵试验,至今,每年都有试验的比赛。此外,图灵提出的著名的图灵机模型为现代计算机的逻辑工作方式奠定了基础。

        图灵论文中的“用有限的指令和有限的存储空间可算尽一切可算之物”理论让当时所有的科学家震惊。

        美国计算机学会(ACM)的年度“图灵奖”,自从1966年设立以来,一直是世界计算机科学领域的最高荣誉,相当于计算机科学界的诺贝尔奖。至今,中国人只有姚期智院士获该奖项。

计算机概述_第1张图片

 图灵机:

        所谓的图灵机就是指一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,还有一些固定的程序。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。

        图灵机,又称图灵计算机,即将人们使用纸笔进行数学运算的过程进行抽象,由一个虚拟的机器替代人类进行数学运算。

计算机概述_第2张图片

1.2 冯·诺依曼

        约翰·冯·诺依曼(John von Neumann,1903年12月28日-1957年2月8日),美籍匈牙利数学家、计算机科学家、物理学家,是20世纪最重要的数学家之一。 

        冯·诺依曼是罗兰大学数学博士,是现代计算机、博弈论、核武器和生化武器等领域内的科学全才之一,被后人称为“现代计算机之父”、“博弈论之父”。

        冯·诺依曼先后执教于柏林大学和汉堡大学,1930年前往美国,后入美国籍。历任普林斯顿大学教授、普林斯顿高等研究院教授,入选美国原子能委员会会员、美国国家科学院院士。早期以算子理论、共振论、量子理论、集合论等方面的研究闻名,开创了冯·诺依曼代数。冯·诺依曼第二次世界大战期间曾参与曼哈顿计划,为第一颗原子弹的研制作出了贡献。

        计算机基本工作原理是存储程序和程序控制,它是由世界著名数学家冯·诺依曼提出的。最简单的来说,冯诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。

        同样有着“计算机之父”称号的冯·诺依曼的助手弗兰克尔在一封信中写到:“……计算机的基本概念属于图灵。按照我的看法,冯·诺依曼的基本作用是使世界认识了由图灵引入的计算机基本概念……”

计算机概述_第3张图片

 根据冯诺依曼体系结构构成的计算机,必须具有如下功能:
        把需要的程序和数据送至计算机中。
        必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。
        能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。
        能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作。
        能够按照要求将处理结果输出给用户。

二、操作系统

2.1 什么是操作系统

        操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。

        操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。

        操作系统也提供一个让用户与系统交互的操作界面。

        简而言之: 操作系统(Operating System)是运行在计算机上的最重要的程序,它可以管理和控制计算机的活动。

**硬件、操作系统、应用程序和用户之间的关系:**

计算机概述_第4张图片

 操作系统的主要任务:
        控制和监视系统的活动
        分配和调配系统资源
        调度操作

2.2 操作系统发展史

        操作系统并不是与计算机硬件一起诞生的,它是在人们使用计算机的过程中,为了满足两大需求:提高资源利用率、增强计算机系统性能,伴随着计算机技术本身及其应用的日益发展,而逐步地形成和完善起来的。

        1946年第一台计算机诞生--20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式。

        PC机上的第一个图形界面——Xerox Alto(该系统并未商用,主要用于研究和大学),其于1973年被施乐公司Xerox Palo Alto Research Center (PARC)所 设计,从此,开启了计算机图形界面的新纪元,80年代以来,操作系统的界面设计经历了众多变迁,OS/2, Macintosh, Windows, Linux, Symbian OS ,各种操作系统将 GUI设计带进新的时代。
 
        图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。

        接下来我们看下Windows操作系统的各个版本界面:

Windows 1.0x (released in 1985):

        微软作为一个图形界面的狂热者,在图形界面上的有着执着的热情,1985年,微软终于在图形用户界面大潮中占据了一席之地,Windows1.0是其第一款基于 GUI 的操作系统 。使用了 32×32 像素的图标以及彩色图形,其最有趣的功能是模拟时钟动画图标。

计算机概述_第5张图片

 Windows 2.0x (released in 1987):

        Windows在这个版本有重大的改进。比如窗口可以重叠,可以改变大小,可以最大化和最小化。

计算机概述_第6张图片

 Windows 3.0 (released in 1990):

        自从微软和IBM分开后,微软就意识到图形界面对用户的体验会是一个很不错东西,于是他们开始了有意义的改进。操作系统支持386 扩展模式,也就是说可以使用除了640K更多的内存和硬盘空间。并且有能力有更好的显示,如Super VGA 800×600 和 1024×768.

        此时,Microsoft 雇佣了 Susan Kare ,她设计了Windows 3.0 的图标并统一了图形界面的风格。

计算机概述_第7张图片

 Windows 3.1 (released in 1992):

        这个版本的 Windows 引入了TrueType 字体,第一次使 Windows 成为可以用于印刷的系统。整个界面有非常大的改善,Windows 3.0 中,只能通过 Adobe 字体管理器(ATM)实现该功能。

        该版本同时包含一个叫做 Hotdog Stand 的配色主题,并且配色还能够照顾有色盲症的人。

计算机概述_第8张图片

 Windows 95 (released in 1995):

        Windows 3.x 之后,微软对整个GUI被完全重新设计,这是第一个在每个窗口上加上了关闭按钮的GUI。设计团队让图标有了几个状态 (enabled, disabled, selected, checked, etc.) 这也是最著名的“开始”按钮第一次出现的时候。这是Microsoft历史上最大的一步,从此走上了帝国之路。

计算机概述_第9张图片

 Windows 98 (released in 1998):

        图标风格和 Windows 95 几无二致,不过颜色支持得更多了。支持超过了256色的图标。第一次出现了“Active Desktop”,桌面和IE集成,开始了internet的全面集成。

计算机概述_第10张图片

 Windows XP (released in 2001):

        每一次微软推出重要的操作系统版本,其 GUI 也必定有巨大的改变,Windows XP 也不例外,这个 GUI 支持皮肤,用户可以改变整个GUI 的外观与风格,默认图标为 48×48,支持上百万颜色。

计算机概述_第11张图片

 Windows Vista (released in 2007):

        开始3D桌面了。这是微软向其竞争对手做出的一个挑战,Vista 中同样包含很多 3D 和动画,自 Windows 98 以来,微软一直尝试改进桌面,在 Vista 中,他们使用类似饰件的机制替换了活动桌面。不过Linux下的3D桌面可更为夸张。

计算机概述_第12张图片

 Windows 7 (released in 2009):

        2009年7月14日,Windows 7正式开发完成,并于同年10月22日正式发布。10月23日,微软于中国正式发布Windows 7。2015年1月13日,微软正式终止了对Windows 7的主流支持,但仍然继续为Windows 7提供安全补丁支持,直到2020年1月14日正式结束对Windows 7的所有技术支持。

计算机概述_第13张图片

 Windows 10:

        Windows 10是美国微软公司研发的跨平台及设备应用的操作系统。是微软发布的最后一个独立Windows版本。

三、计算机硬件

        硬件(英文名Hardware)是计算机硬件的简称,是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。这些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。
 
        简而言之,硬件的功能是输入并存储程序和数据,以及执行程序把数据加工成可以利用的形式。从外观上来看,微机由主机箱和外部设备组成。主机箱内主要包括CPU、内存、主板、硬盘驱动器、光盘驱动器、各种扩展卡、连接线、电源等;外部设备包括鼠标、键盘等。

计算机概述_第14张图片

        计算机由运算器、控制器、存储器、输入设备和输出设备等五个逻辑部件组成。

        冯·诺依曼体系结构是现代计算机的基础,现在大多计算机仍是冯·诺依曼计算机的组织结构,只是作了一些改进而已,并没有从根本上突破冯体系结构的束缚。冯·诺依曼也因此被人们称为“计算机之父”。

计算机概述_第15张图片

3.1 中央处理器

        中央处理器(central processing unit,简称CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。
 
        CPU由运算器和控制器组成,分别由运算电路和控制电路实现,是任何计算机系统中必备的核心部件。

        简而言之:CPU是计算机的大脑。它从内存中获取指令,然后执行这些指令

计算机概述_第16张图片

运算器

        运算器由算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存器组等组成。
 
        算术逻辑运算单元(ALU)的基本功能为加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、求补等操作。

        简而言之:用于完成数值运算(+、-、*、/)和逻辑运算(比较)。

控制器

        控制器(Control Unit),是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。
 
        控制器从存储器中逐条取出指令,分析每条指令规定的是什么操作以及所需数据的存放位置等,然后根据分析的结果向计算机其它部件发出控制信号,统一指挥整个计算机完成指令所规定的操作。

        简而言之:用于控制和协调其他组件的动作。

赫兹

        赫兹是国际单位制中频率的单位,它是每秒钟的周期性变动重复次数的计量。
 
        每台计算机都有一个内部时钟,该时钟以固定速度发射电子脉冲。时钟速度越快,在给定的时间段内执行的指令就越多。速度的计量单位是赫兹(Hz),1Hz相当于每秒1个脉冲。随着CPU速度不断提高,目前以千兆赫(GHz)来表述。
 
        国际单位制符号衍生单位
                1千赫 (kHz 103 Hz) =1 000 Hz
                1兆赫 (MHz 106 Hz) =1 000 000 Hz
                1吉赫 (GHz 109 Hz) =1 000 000 000 Hz
                1太赫 (THz 1012 Hz) =1 000 000 000 000 Hz  
                1拍赫 (PHz 1015 Hz) =1 000 000 000 000 000 Hz 
                1艾赫 (EHz 1018 Hz) =1 000 000 000 000 000 000 Hz 

内核

        内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机系统中必要的组成部分。
 
        最初一个CPU只有一个核(core)。核是处理器中实现指令读取和执行的部分。一个多核CPU是一个具有两个或者更多独立核的组件。可提高CPU的处理能力。

3.2 存储器

        存储器是用来存储程序和各种数据信息的记忆部件。存储器可分为主存储器(简称主存或内存)和辅助存储器(简称辅存或外存)两大类。和CPU直接交换信息的是主存。

比特(bit)和字节(byte)

        在讨论存储器前,先清楚数据是如何存储在计算机中的。

        计算机就是一系列的电路开关。每个开关存在两种状态:关(off)和开(on)。如果电路是开的,它的值是1。如果电路是关的,它的值是0。

        比特是英文 binary digit的缩写。比特是表示计算机中最小的存储单位,是二进制数的一位包含的信息或2个选项中特别指定1个的需要信息量。只有两种状态:0和1。这两个值也可以被解释为逻辑值(真/假、yes/no)、代数符号(+/-)、激活状态(on/off)或任何其他两值属性。

        字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。一个字节(byte)为8个比特,一个英文字母通常占用一个字节,一个汉字通常占用两个字节。普通计算机系统能读取和定位到最小信息单位是字节(byte),也就是说实际上普通的计算机系统是无法精确读取和定位到比特(bit)级的信息。
 
        计算机的存储能力是以字节和多字节来衡量的。如下:
        1字节(Byte)=8位(bit)
        1KB( Kilobyte,千字节)=1024B
        1MB( Megabyte,兆字节)=1024KB
        1GB( Gigabyte,吉字节,千兆)=1024MB
        1TB( Trillionbyte,万亿字节,太字节)=1024GB
        1PB( Petabyte,千万亿字节,拍字节)=1024TB
        1EB( Exabyte,百亿亿字节,艾字节)=1024PB
        1ZB(Zettabyte,十万亿亿字节,泽字节)=1024EB
        1YB( Yottabyte,一亿亿亿字节,尧字节)=1024ZB 
        1BB( Brontobyte,千亿亿亿字节)=1024YB 

内存

        内存(Memory)是计算机的重要部件之一,它用于暂时存放CPU中的运算数据,与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。只要计算机开始运行,操作系统就会把需要运算的数据从内存调到CPU中进行运算,当运算完成,CPU将结果传送出来。

        一个程序和它的数据在被CPU执行前必须移到计算机的内存中。

        实测发现:内存存取数据的速度比硬盘的存取速度快10倍,在某些环境里,硬盘和内存之间的速度差距可能会更大。而CPU的速度比内存不知还要快多少倍。当我们把程序从硬盘放到内存以后,CPU就直接在内存运行程序,这样比CPU直接在硬盘运行程序就要快很多。

        内存解决了一部分CPU运行过快,而硬盘数据存取太慢的问题。 提高了我们的电脑的运行速度。内存就如同一条“高速车道”一般,数据由传输速度较慢的硬盘通过这条高速车道传送至CPU进行处理!

计算机概述_第17张图片

         内存由一个有序的字节序列组成,用于存储程序及程序需要的数据。
 
        每个字节都有一个唯一的地址。使用这个地址确定字节的位置,以便于存储和获取数据。

计算机概述_第18张图片

         内存的运行也决定计算机整体运行快慢的程度。

        一个计算机具有的RAM越多,它的运行速度越快,但是此规律是有限制的。

        内存与CPU一样,也构建在表面嵌有数百万晶体管的硅半导体芯片上。但内存芯片更简单、更低速、更便宜。

        但内存是带电存储的(一旦断电数据就会消失),而且容量有限,所以要长时间储存程序或数据就需要使用硬盘。

        内存在这里起了两个作用:
        1. 保存从硬盘读取的数据,提供给CPU使用。
        2. 保存CPU的一些临时执行结果,以便CPU下次使用或保存到硬盘。

存储设备

        外储存器是指除计算机内存及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据。常见的外存储器有硬盘、软盘、光盘、U盘等。

        内存中的信息在断电时会丢失。那我们可以考虑将程序和数据永久的保存在存储设备上。当计算机确实需要这些数据时,再移入内存,因为从内存中读取比从存储设备读取要快得多。

        存储设备主要有以下三种:
                硬盘驱动器、光盘驱动器(CD和DVD)、USB闪存驱动器。

硬盘驱动器:

        硬盘驱动器(Hard-Disk Drive)简称硬盘,是一种主要的电脑存储媒介,由一个或者多个铝制或者玻璃制的碟片组成。这些碟片外覆盖有铁磁性材料。绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中。现在可移动硬盘越来越普及,种类也越来越多。

        每台计算机至少有一个硬盘驱动器。硬盘(hard disk)用于永久的保存数据和程序。

计算机概述_第19张图片

 光盘驱动器:

        光盘驱动器就是我们平常所说的光驱,是一种读取光盘信息的设备。因为光盘存储容量大,价格便宜,保存时间长,适宜保存大量的数据,如声音、图像、动画、视频信息、电影等多媒体信息,所以光驱是多媒体电脑不可缺少的硬件配置。

        随着多媒体电脑的盛行,光盘(CD-ROM)的应用越来越普及,大家对多媒体光盘软件的需求也越来越大,因此,在自己的电脑上配备一台驱动器,可以说是再平常不过的事情。然而,由于其体积较大,以及闪存盘等的普及,越来越多便携式计算机不再内置光驱,以腾出空间予其它硬件。

计算机概述_第20张图片

 USB闪存驱动器:

        USB闪存驱动器,俗称U盘,是一种使用USB接口的无需物理驱动器的微型高容量移动存储产品,通过USB接口与电脑连接,实现即插即用。

计算机概述_第21张图片

3.3 输入设备

        输入设备:向计算机输入数据和信息的设备。是计算机与用户或其他设备通信的桥梁。

        输入设备是用户和计算机系统之间进行信息交换的主要装置之一。键盘,鼠标,摄像头,扫描仪,光笔,手写输入板,游戏杆,语音输入装置等都属于输入设备。

        输入设备(InputDevice)是人或外部与计算机进行交互的一种装置,用于把原始数据和处理这些数的程序输入到计算机中。计算机能够接收各种各样的数据,既可以是数值型的数据,也可以是各种非数值型的数据,如图形、图像、声音等都可以通过不同类型的输入设备输入到计算机中,进行存储、处理和输出。

计算机概述_第22张图片

3.4 输出设备

        输出设备(Output Device)是计算机硬件系统的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。也是把各种计算结果数据或信息以数字、字符、图像、声音等形式表现出来。常见的输出设备有显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等

        计算机概述_第23张图片

3.5 通信设备

        通信设备,英文简称ICD,全称Industrial Communication Device。用于工控环境的有线通讯设备和无线通讯设备。计算机可以通过通信设备进行联网。
 
        常见的设备有:
                拨号调制解调器:使用的是电话线,传输速度可达56 000bps(bps:每秒比特)
                DSL(数字用户线):使用的也是电话线,但传输速度叫上面的快20倍
                电缆调制解调器:利用有线电视电缆进行数据传输,通常速度比DSL快。
                网络接口卡(NIC):将计算机接入局域网(LAN)的设备。局域网通常用于大学、商业组织和政府组织。速度甚至可达1000Mbps。
                无线网络:在家庭、商业和学校中极其常见。计算机可通过无线适配器连接到局域网或internet上。

四、计算机软件

        计算机软件( Software,也称软件)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。

        软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的重要依据。为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须通盘考虑软件与硬件的结合,以及用户的要求和软件的要求。

计算机概述_第24张图片

4.1 程序设计

        程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。专业的程序设计人员常被称为程序员。
 
        定义:创建(或开发)软件。软件包含了指令,告诉计算机做什么。 
 
        应用场景:软件遍布我们周围。除了个人计算机,飞机、汽车、手机甚至烤面包机中,同样运行着软件。 

4.2 程序设计语言

         程序设计语言是用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。

        程序设计语言有3个方面的因素,即语法、语义和语用。语法表示程序的结构或形式,亦即表示构成语言的各个记号之间的组合规律,但不涉及这些记号的特定含义,也不涉及使用者。语义表示程序的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者。

        软件开发人员在称为程序设计语言的强大工具的帮助下创建软件。

五、IT定律之计算机行业发展规律

5.1 摩尔定律

        摩尔定律是英特尔创始人之一戈登·摩尔的经验之谈,其核心内容为:集成电路上可以容纳的晶体管数目在大约每经过18个月便会增加一倍。换言之,处理器的性能每隔两年翻一倍。
 
        摩尔定律是内行人戈登·摩尔的经验之谈,汉译名为“定律”,但并非自然科学定律,它一定程度揭示了信息技术进步的速度。

5.2 安迪-比尔定律

        安迪-比尔定理 (Andy and Bill’s Law)是对IT产业中软件和硬件升级换代关系的一个概括。原话是 “Andy gives, Bill takes away.(安迪提供什么,比尔拿走什么。)” 安迪指英特尔前CEO安迪·格鲁夫,比尔指微软前任CEO比尔·盖茨,这句话的意思是,硬件提高的性能,很快被软件消耗掉了。

        摩尔定理给所有的计算机消费者带来一个希望,如果我今天嫌计算机太贵买不起,那么我等十八个月就可以用一半的价钱来买。要真是这样简单的话,计算机的销售量就上不去了。需要买计算机的人会多等几个月,已经有计算机的人也没有动力更新计算机。其它的 IT 产品也是如此。

        事实上,在过去的二十年里,世界上的个人微机销量在持续增长。2004 年,英特尔公司估计,五年内,即到 2009 年,世界上PC(包括个人机和小型服务器)的销量会增长 60%,远远高于经济的增长。那么,是什么动力促使人们不断地更新自己的硬件呢?IT 界把它总结成安迪-比尔定理,即比尔要拿走安迪所给的(What Andy gives, Bill takes away)。
 
        安迪是原英特尔公司 CEO 安迪·格鲁夫(Andy Grove),比尔就是微软的创始人比尔·盖茨。在过去的二十年里,英特尔处理器的速度每十八个月翻一番,计算机内存和硬盘的容量以更快的速度在增长。但是,微软的操作系统等应用软件越来越慢,也越做越大。所以,现在的计算机虽然比十年前快了一百倍,运行软件感觉上还是和以前差不多。而且,过去整个视窗操作系统不过十几兆大小,现在要几千兆,应用软件也是如此。虽然新的软件功能比以前的版本强了一些,但是,增加的功能绝对不是和它的大小成比例的。因此,一台十年前的计算机能装多少应用程序,现在的也不过装这么多,虽然硬盘的容量增加了一千倍。更糟糕的是,用户发现,如果不更新计算机,现在很多新的软件就用不了,连上网也是个问题。而十年前买得起的车却照样可以跑。

        这种现象,乍一看来是微软在和大家作对。实际上,盖茨本人和其它厂商也不想把操作系统和应用程序搞得这么大。据了解,盖茨本人多次说,他过去搞得 BASIC 只有几十 K,你们(微软工程师们)搞一个.NET 就要几百兆,其中一定可以优化。当然,我们知道微软现在的.NET 比二十年前的 BASIC 功能要强的多,但是否强了一万倍,恐怕没有人这么认为。这说明,现在软件开发人员不再像二十年前那样精打细算了。我们知道,当年的 BASIC 解释器是用汇编语言写成的,精炼得不能再精炼了,否则在早期的 IBM-PC 上根本运行不了。但是,要求软件工程师使用汇编语言编程,工作效率是极低的,而且写出的程序可读性很差,不符合软件工程的要求。今天,由于有了足够的硬件资源,软件工程师做事情更讲究自己的工作效率,程序的规范化和可读性等等。另外,由于人工成本的提高,为了节省软件工程师写程序和调程序的时间,高级的语言越来越好用,同时效率却越来越低。比如,今天的 Java 就比 C++ 效率低得多,C++ 又比二十年前的 C 效率低。因此,即使是同样功能的软件,今天的比昨天的占用硬件资源多是一件在所难免的事。

5.3 反摩尔定律

        反摩尔定律是Google的前CEO埃里克·施密特提出的:如果你反过来看摩尔定律,一个IT公司如果今天和18个月前卖掉同样多的、同样的产品,它的营业额就要降一半。IT界把它称为反摩尔定律。
 
        反摩尔定律对于所有的IT公司来讲,都是非常可怕的,因为一个IT公司花了同样的劳动,却只得到以前一半的收入。反摩尔定律逼着所有的硬件设备公司必须赶上摩尔定律所规定的更新速度,而所有的硬件和设备生产厂活得都是非常辛苦的。曾经引领风骚的太阳公司就是受反摩尔定律影响的著名例子,其由于无法跟上整个行业的速度,被IT生态链上游的软件公司甲骨文并购了。AMD要不是因为政府对英特尔反垄断的限制,恐怕也已经不存在了。

你可能感兴趣的:(Java知识点系列,java,开发语言,windows)