当前位置:网站首页>0.计算机简史
0.计算机简史
2020-11-07 23:08:00 【hakou】
为了给大家讲好操作系统的故事,首先得看看操作系统是什么,即它是怎么诞生的。
最开始时,计算机是没有操作系统的。那时的计算机是什么样的呢?
呃,错了,这是算盘。ps.它应该也算是最早的计算机吧。来看看真正的早期计算机吧。
这就是早期的计算机,它不是用电子管或者晶体管之类的电子计算机,它是机械式的,只能计算一些基本的运算而已。体积很庞大,但是功能比较单一,基本人工操作。这就是早期机械式计算机的基本特点。
随着科技的进步,计算机抛弃了齿轮、转轴等机械部件,走向了电气化。
有看过《模仿游戏》这部电影吗?它讲述了图灵在二战期间通过建造一台通用计算机来解密德军英格玛密码的故事,对计算机历史有兴趣或者对康伯巴奇(曾饰演过神探夏洛克和奇异博士)有兴趣的可以去看一下。上面这个图就是当时建造的图灵机。这大概就是计算机最开始的样子:体积大,速度慢,在同一时刻只能处理一个任务,而且它没有什么类似 CPU 的处理模块,只是根据电气特性进行机械动作。
随着电子管的出现,计算机进一步演化,从这个时候起,计算机才被称为电子计算机,成为电子产品。
早期电子计算机的体积还是很庞大的,但是这个时候的计算机比图灵那时的计算机的计算速度快多了。这个时候的电子管计算机是通过卡带来进行工作的,可以看到上图的两个操作员正在进行操作卡带。这个时候的电子管计算机的特点是:
- 单处理。一次只能处理一个任务。
- 任务卡带化。所有任务都是通过卡带让计算机工作。
- 批处理。可以让每个任务排好序一个个执行。
- 已有操作系统的雏形。
- 冯诺依曼结构。
可能有很多人听过这个词,那什么是冯诺依曼结构呢?
早期的计算机只能直接给它喂一条指令,然后它输出一次结果,人是一直需要给它进行喂指令的。如果人不用一条条的给它喂指令多好,把所有指令先用一个东西保存好,然后一次性喂它,人就可以不用守着它然后解脱去玩了。这就是通俗理解的冯诺依曼结构。你看,这是由于人懒得出的智慧。当然,冯诺依曼结构不是这么简单理解的,它将计算机分成了上图的几个模块,这个结构模型成为了现在计算机的雏形,间接催生了程序员这个职业。所以冯诺依曼结构在计算机历史上的地位还是很重要的,有兴趣的同学可以接着这个引子去搜索相关的资料看一下,这里就不详细表述了。
注意,这以上这个阶段操作系统已经出现了。但是大部分操作系统是定制的,并不是通用的操作系统。什么是定制系统?每个生产计算机的厂商的操作系统只能在这个厂商的计算机上进行安装和使用,不能兼容其他厂商的计算机,所以各个厂商是各自为政的状态,对整个计算机生态很不友好。那什么是通用操作系统呢?以现在是市面上的系统为例,Linux 可以看做是通用的操作系统,MAC OS 是定制的操作系统,因为 MAC OS 只能安装到指定的硬件上,而 Linux 可以安装到绝大部分的通用机器上(因为有全世界的工程师为它贡献硬件驱动)。
随着科技的进步,计算机的运算能力是越来越好,每次只能处理一个任务的特性已经不能满足它了,根本无法发挥出计算机的性能,这种任务处理程度简直就是浪费计算机的性能。于是早期的计算机工程师们就想着改造计算机让它能够支持同时处理多个任务。那如何才能让一个计算机同时处理多个任务呢?需要多个人来同时把纸带指令放进计算机执行吗?
人工?这辈子都不可能人工的。 必须得让机器自己进行操作!但是 CPU 只有一个,不可能同时执行多个任务。那如何才能让计算机同时执行多个任务呢?如何才能让我们在计算机上一边听音乐一边浏览网页呢?计算机工程师们为操作系统设计了程序调度,使得多个任务可以看似同时执行,而实际是操作系统在 1s 内在多个任务之间来回切换执行。
总结一下,计算机的历史演进如下:
- 机械式。这个时期只能进行简单的数字运算,全程人工参与。
- 电气化。可以进行稍微复杂的数字运算,需要部分人工参与。
- 电子管。操作系统雏形出现,需要部分人工参与。
- 晶体管。现代操作系统开始出现,此时这类计算机尚未进入寻常百姓家庭,还是政府以及大企业的专属工具。
- 集成电路。现在操作系统功能日渐完善,得益于硬件制造成本的降低,计算机开始进入普通家庭。
操作系统是随着计算机性能越来越好的过程中发展出来的,因为单纯的人工操作已经不能满足计算机这么强大的性能了。
ps.欢迎关注官方微信公众号“哈扣”。
版权声明
本文为[hakou]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4732490/blog/4707760
边栏推荐
- Judging whether paths intersect or not by leetcode
- Basic knowledge of C + +
- 什么都2020了,LINQ查询你还在用表达式树
- Improvement of maintenance mode of laravel8 update
- Hand tearing algorithm - handwritten singleton mode
- 使用 Xunit.DependencyInjection 改造测试项目
- IDEA-项目未自动生成 .iml 文件
- 你的主机中的软件中止了一个已建立的连接。解决方法
- 14000 word distributed transaction principle analysis, master all of them, are you afraid of being asked in the interview?
- On the concurrency of update operation
猜你喜欢
Improvement of maintenance mode of laravel8 update
面部识别:攻击类型和反欺骗技术
Design pattern of facade and mediator
[original] the influence of arm platform memory and cache on the real-time performance of xenomai
团灭 LeetCode 股票买卖问题
Problems of Android 9.0/p WebView multi process usage
Wanxin Finance
手撕算法-手写单例模式
Insight -- the application of sanet in arbitrary style transfer
C++基础知识篇:C++ 基本语法
随机推荐
Practice of Xiaoxiong school development board: real equipment access of smart street lamp sandbox experiment
Data transmission of asynchronous serial communication controlled by group bus communication
CPP (1) installation of cmake
AFO
Go之发送钉钉和邮箱
Python 图片识别 OCR
计组-总线通信控制之异步串行通信的数据传输
Web Security (1) -- browser homology strategy
Python image recognition OCR
Summary of the resumption of a 618 promotion project
一万四千字分布式事务原理解析,全部掌握你还怕面试被问?
洞察——风格注意力网络(SANet)在任意风格迁移中的应用
爆一个VS2015 Update1更新带来的编译BUG【已有解决方案】
来自不同行业领域的50多个对象检测数据集
汇编函数mcall systemstack asmcgocall syscall
Basic knowledge of C + +
Face recognition: attack types and anti spoofing techniques
More than 50 object detection datasets from different industries
Web Security (3) -- CSRF attack
Adobe Prelude /Pl 2020软件安装包(附安装教程)