计算机硬件的历史
第一代(1951-1959)
使用真空管存储信息
主存储器:磁鼓 恰当条件下写入/读出
输入:读卡机
输出:穿孔卡片 /行式打印机
辅助存储设备:磁带
第二代(1959-1965)
晶体管:更小更可靠更快寿命更长更便宜
存储器:磁芯
辅助存储设备:磁盘
(磁带必须从头开始读写,磁盘可以直接送到特定位置)
第三代(1965-1971)
集成电路IC:晶体管+其他元件+连线 ——>硅片
(印刷电路:集成电路比印刷电路小,便宜可靠快)
终端:带有键盘和屏幕的输入/输出设备
第四代(1971-)
大规模集成化:一个硅片可以存储的晶体管越来越多
计算机硬件的功能越来越强大,体积越来越小,花费越来越少
并行计算:多CPU 独立运转 同一个存储器
以太网:一种廉价的同轴电缆+一套能够让机器互相通信的协议
文件服务器:一台具有大容量存储器以及强劲的输入/输出能力的PC
Internet 使用包交换的方法共享信息 由分布在世界各地的不同网络组成 网络之间采用通用的TCP/IP(传输控制协议/网际协议,transmission-control protocol/internet protocol)
协议:一套规定必须严格遵守的规则和(交互信息的)过程的代码
因特网是各种网络组成的网络,包含不仅仅以太网还有其他局域网和各种广域网
图灵的基本思想是用机器来模拟人们用纸笔进行数学运算的过程,他把这样的过程看作下列两种简单的动作:
在纸上写上或擦除某个符号;
把注意力从纸的一个位置移动到另一个位置;
而在每个阶段,人要决定下一步的动作,依赖于 (a) 此人当前所关注的纸上某个位置的符号和(b) 此人当前思维的状态。
为了模拟人的这种运算过程,图灵构造出一台假想的机器,该机器由以下几个部分组成:
1.一条无限长的纸带TAPE。纸带被划分为一个接一个的小格子,每个格子上包含一个来自有限字母表的符号,字母表中有一个特殊的符号 表示空白。纸带上的格子从左到右依此被编号为 0,1,2,... ,纸带的右端可以无限伸展。
2.一个读写头HEAD。该读写头可以在纸带上左右移动,它能读出当前所指的格子上的符号,并能改变当前格子上的符号。
3.一套控制规则TABLE。它根据当前机器所处的状态以及当前读写头所指的格子上的符号来确定读写头下一步的动作,并改变状态寄存器的值,令机器进入一个新的状态。
4.一个状态寄存器。它用来保存图灵机当前所处的状态。图灵机的所有可能状态的数目是有限的,并且有一个特殊的状态,称为停机状态。
注意这个机器的每一部分都是有限的,但它有一个潜在的无限长的纸带,因此这种机器只是一个理想的设备。图灵认为这样的一台机器就能模拟人类所能进行的任何计算过程。
计算机软件的历史
第一代软件(1951-1959)
第一代程序用机器语言编写的
机器语言:内置在计算机电路中的指令
0100110001代表每个特定电路处于高/低电压状态
特定的电路打通就完成了某种特定任务
第一代程序员是数学家和工程师
汇编语言:用助记忆码表示每条机器语言指令
翻译程序:把用汇编语言编写的程序翻译成用机器语言编写的
系统程序员:写程序给普通程序员用,如R studio\matlab
应用程序设计员:写程序给非程序员使用,如QQ
第二代软件(1959-1965)
机器语言——>汇编语言——>高级语言
1000100111011000 机器指令
mov ax,bx 汇编指令
print a 高级语言
汇编语言的另一个特点就是它所操作的对象不是具体的数据,而是寄存器或者存储器,也就是说它是直接和寄存器和存储器打交道,这也是为什么汇编语言的执行速度要比其它语言快。
不同类型的CPU 有不同的机器指令系统,也就有不同的汇编语言,汇编语言程序的通用性和可移植性要比高级语言程序低。
高级语言依赖于操作系统,不同操作系统需要不同的编译器。
FORTRAN:最初是一种简单语言,经过几年附加特性后形成高级语言
COBOL:先设计好再开发,形成后很少改动
Lisp:主要人工智能的应用程序和研究
第三代软件(1965-1971)
操作系统:一个决定计算机何时运行什么的程序的程序(CPU时间+内存空间的分配)
分时:一台电脑跑10个应用程序
多用途应用程序,如SPSS(用FORTRAN语言编写的):具有一种专用的语言,用户使用这种语言编写指令,作为程序的输入
第三代才有了给麻瓜用的软件,之前写软件和用软件的都是魔法师。
用户与硬件的距离逐渐加大:只要接触到系统软件和应用程序包
第四代软件(1971-1989)
结构化程序设计方法:一种有逻辑、有规则的程序设计方法
Pascal语言是这么设计的,BASIC语言升级成了更具有结构性的版本
C语言:允许使用一些汇编语句,加快运作速度
C++:面向对象 C:面向过程
更好更强大的操作系统
Macintosh机:引入鼠标的概念、引入点击式的图形界面
第五代软件(1990-)
Microsoft公司的崛起:Windows操作系统+Office办公套件
面向对象的设计和变成方法的出现:结构化设计基于任务的层次划分,而面向对象的设计则基于数据对象的层次划分。(面向对象的设计/面向过程的设计)
万维网(World Wide Web):全球Internet文档中心
一套技术规则+格式化文档的HTML语言+让用户访问全世界站点上的信息的程序(浏览器)
Windows和IE绑定,Windows操作系统收费,IE就是免费的了,通过此项打败了另一个要收费的强大技术。
计算机科学
算法思想:能够用按部就班的过程表示问题,从而解决它们。
表示法(Representation):用能被有效处理的方式存储数据
程序设计:把算法思想和表示法组织在计算机软件中
功能设计:设计软件以实现某种用途
计算机系统:由构成设备的硬件、机器执行的软件程序、由前两者管理和操作的数据组成