计算机结构
19世纪40年代,计算机自ENIAC(Electronic Numerical Integrator And Computer)出现,就有了完整的计算机结构。
- CPU:包含核心部件运算器和控制器,辅助部件寄存器和缓存
- 储存器:内存,RAM(Radom Access Memory)
- 输入设备(Input):下指令,提供数据
- 输出设备(Output):输出数据加工结果
程序
程序 = 指令 + 数据 = 算法 + 数据结构
RAM存储单元划分
最小单元(Cell)为:8bits = 1Byte(八位二进制)
4GB = 1024*4MB =1024*1024*4KB = 1024*1024*1024*4B
指令运行方式
外部存储器 → 指令 → 内存 → CPU运算器 → 寄存器 → 外部存储器或输出设备
过程式编程语言执行方式:
- 顺序执行:依次
- 循环执行:不断运行
- 选择执行:仅执行其中一项分支
计算机操作系统演化
早先,还没有计算机操作系统的时候,各CPU厂家所支持的程序各不相同且不能互相兼容。
程序员写的程序要想在不同硬件种运行,可能需要一段成倍的硬件支撑程序。
而这段支撑硬件运行的程序逐渐发展成了操作系统。由于CPU运算快,而RAM运算慢,CPU大多时候是空闲的,人们就开始考虑如何提升计算机的性能。
继而出现了多任务底层程序(Multi tasks),Bell,MIT,GE开始共同开发Multics。由于Bell退出Multics开发,Bell实验室的Ken Thompson在Multics上开发的一个游戏Space Travel无法继续运行。
机缘巧合Ken得到一台闲置的DEC公司生产的PDP-7,Ken便用B语言在PDP-7上开发出可以运行Space Travel的底层程序。
然而,在推广他的游戏时却是这个系统更吸引人。1969年,这个系统被称为Unics,后来改为Unix。
1971年,Bell实验室需要运行一款文字处理程序nroff,但流行的底层程序不足以支持nroff,Ken的团队就承包了这个项目,Unics上nroff得到完美运行。
1972年,Bell实验室运行Unix系统的计算机达到10台。Dennis Ritch开发出B+语言(也就是C语言),Ken和Dennis对Unix重新编译。
1974年,《美国计算机通信》第一次公之于众。
1976年,Ken在Berkeley任教,Bill Joy带头成立了BSRG组织。
1977年,BSRG组织发行了一个叫BSD(Berkeley System Distribution)的Unix系统,后来成为Berkeley大学的计算机核心系统。
1978年,Unix由SCO进行商业包装,第一次进行商业销售。
1979年,AT&T(旗下有Bell实验室)对Unix进行开发,System V7出世。
1980年,Microsoft发售的Unix被称为XENIX。DARPA把TCP/IP的研究交给了BSRG组织,在BSD系统上开发获得成功。
1981年,Microsoft的Bill Gates从SCP公司买断了QDOS(Quick and Dirty operating System)版权。PC兼容机当年大量发售。DOS 2.0销量远超CP/M。
80年代初,Bill Joy成立SUN,开发并发售workstation。
约1985年,由于Unix各公司割裂严重,加入了很多公司自己的东西并且不愿意同步,导致学习起来相当困难。AT&T公司的Richard Stallman发起GNU运动:GNU is Not Unix。成立GPL:General Public License。FSF:Free Software Foundation开始运作, X-Window公司宣布加入GPL,GPL产出很多优秀软件,gcc(gnu c complier),vi(visual interface),等。GNU组织急切的期望能有一款自己的系统,然而,始终不得如愿。
Andrew教授要讲授Unix,由于版权问题,自己开发了仅有4000多行代码的Minix系统。GNU组织成员如获珍宝,纷纷为Minix系统献计献策,然而,Andrew教授却不愿意把代码开源,大失所望。
90年代初,Apple成立,XEROX开发出PARK(star),乔布斯得到star进行研发,Bill Gates也获得star进行研发并优先发布了Windows。
之后,Bill Gates招募VMS系统团队,研发出Windows NT(Windows new technology)。
网友评论