要不是他,你根本不会忘记密码

这是一个真实的故事 。

编辑部的小鑫鑫每一次登录某个不可描述的网站时 , 都非常痛苦 。 因为他总是忘记自己的密码是什么 , 所以登录时都是点的“ 忘记密码”来重置密码登录 。

要不是他,你根本不会忘记密码

----要不是他 , 你根本不会忘记密码//----[ http://www.caoding.cn]

而更惨的是 , 他经常会在修改密码时被提示“ 请不要使用和之前登录相同的密码” 。 。 。

就连计算机密码的发明者费南多·柯巴托( Fernando Corbato )都曾经说过 , 计算机密码现在已经变成了“ 某种梦魇” ( Kind of a nightmare ) , 他自己就曾经用过差不多150 个不同的密码 , 并在晚年为此感到苦恼 。

要不是他,你根本不会忘记密码

----要不是他 , 你根本不会忘记密码//----[ http://www.caoding.cn]

互联网时代 , 用密码来保护自己个人资料已经变成了一种常识 , 虽说它并不是安全级别最高的一种保密手段 , 但却是最普及最方便的 , 现在虽然有手机验证码登录等各种方式 , 但是计算机密码至今都没有被完全取代 。

作为一种保密手段 , 计算机密码对于人们的重要性毋庸置疑 , 可是很少有人知道 , 计算机密码在一开始只是某个更重要发明的附属产物 , 它的发明者则是之前提到过的费南多·柯巴托 。

费南多·柯巴托出生于1926 年 , 在1950 年时取得了加州理工学院的硕士学位 , 此后在1956 年成为麻省理工学院物理学博士 。

要不是他,你根本不会忘记密码

----要不是他 , 你根本不会忘记密码//----[ http://www.caoding.cn]

毕业后他留在了麻省理工学院的计算机中心工作 , 那个时候距离第一台计算机“ ENIAC ” 问世才不过十年多 , 人们对于计算机的使用还处于非常原始的状态 。

要不是他,你根本不会忘记密码

----要不是他 , 你根本不会忘记密码//----[ http://www.caoding.cn]

一开始人们使用计算机 , 用的是单道批处理系统:就是把一些程序预先写在一个磁带上 , 然后把磁带放入计算机中 , 计算机就会按照磁带上的顺序逐个运行程序 。

而一道程序在计算机上的“ 轨迹” 大概可以分成三步:输入——运行——输出 。

单道批处理就是同时只运行一个程序 。

在输入和输出两个地方是需要人工参与的 , 在一开始的时候计算机的运算速度没那么快 , 输入输出( input/output 简称I/O )和运算的速率差距还没那么明显 , 说白了人机关系还算和谐 。 。 。

但随着计算机的处理速度越来越快 , 人们渐渐跟不上计算机了 , 人类慢悠悠的I/O 交互反倒拖了计算机的后腿 。

这就好比客人在餐馆点菜 , 浏览菜单的过程就像I/O , 如果服务员一直站在旁边等客人浏览就是一种人力浪费 。

要不是他,你根本不会忘记密码

----要不是他 , 你根本不会忘记密码//----[ http://www.caoding.cn]

和石油 , 煤炭等消耗类资源的“ 浪费” 不同 , 计算机处理器只要通了电 , 它就能跑那么快 。 。 。 让处理器闲着不做运算就是最大的浪费 , 不用白不用 。

因此很显然 , 对于I/O 拖了计算机后腿这件事 , 科学家们是不会满意的 。

于是人们又发明了更加优化的“ 多道批处理系统” :如果运行的程序需要I/O 参与( 例如弹出对话框等着人输入) , 就在等待时 , 把CPU 给另一个程序跑 。

要不是他,你根本不会忘记密码

----要不是他 , 你根本不会忘记密码//----[ http://www.caoding.cn]

同样是在餐馆 , 这种处理方式就类似服务员在等客人浏览菜单时 , 去招呼另一位客人 。

可随之而来的还有另一个问题:当年计算机太特么贵了 , 实验室僧多粥少 , 一个个都排着队 。 。 。

假设小黑胖有个贼长的程序要运行 , 小发就只能拿着自己的程序排在后面慢慢等了 。 。 。

费南多·柯巴托就注意到了这个问题 , 于是他率领团队发明了一个全新的操作系统——相容分时操作系统( Compatible Time-Sharing System , CTTS ) 。

要不是他,你根本不会忘记密码

----要不是他 , 你根本不会忘记密码//----[ http://www.caoding.cn]

相容分时操作系统是一个实现了人机交互的系统 , 能够让多个终端( 研究人员)共享同一台主机 。

它的思路是把CPU 的运行时间切成一片片的 , 能在“ 一片” 时间里完成的事儿就一次性做完 , 做不完的就让出去 。

打个比方有ABCD 四台终端连接到了主机上 , 给CPU 时间按照10 秒来算“ 一片” , 假设A 的任务10 秒都做不完 , 那10 秒一到就把CPU 让给B , 下次再给A 继续做 。

要不是他,你根本不会忘记密码

----要不是他 , 你根本不会忘记密码//----[ http://www.caoding.cn]

这种做法说白了就是让计算机一件事做一半去做另一件 , 看起来没有很大意义 。

但我们回到那个餐馆的例子 , 假设你是个服务员 , 你还有5 分钟才能收拾完一张桌子 , 但有个客人等着你花1 分钟时间买个单 , 这时候停下收拾活儿去买单也是很合理的—— 等待的人的时间也是一种资源 。

而且由于计算机处理器运行速度很快 , 每个终端的作业轮转也很快 , 就会给人一种每个人都在独占计算机的感觉 , 实际上这台电脑只是在反复横跳罢了 。 。 。

要不是他,你根本不会忘记密码

----要不是他 , 你根本不会忘记密码//----[ http://www.caoding.cn]

由于大家都在用同一台电脑处理各种不同的资料 , 不同部门的文件存储在一起会很混乱 。

费南多·柯巴托就设计了一个用不同的密码来甄别不同终端的文件的登录方式 , 这也就是现代计算机密码的由来 。

之后费南多·柯巴托还领导了一个叫Multics 的项目 , 它并不算特别成功 , 但是却启发了后来者发明了Unix 操作系统 。

1990 年 , 费南多·柯巴托由于领导设计了分时操作系统 , 获得了计算机界的最高荣誉图灵奖 , 2012 年成为了计算机历史博物馆院士 。

要不是他,你根本不会忘记密码

----要不是他 , 你根本不会忘记密码//----[ http://www.caoding.cn]

就在前几天 , 今年7 月12 日 , 费南多·柯巴托在自己的家中去世 , 享年93 岁 。

费南多·柯巴托虽然已经离去 , 可是他所创造的计算机密码却早已成为了我们生活的一部分 , 这个设计也许以后会慢慢被生物识别例如指纹面容替代 , 但使用密码区分用户的思想会永远流传下去 。

参考资料、图片来源:批处理系统、分时处理系统、实时处理系统简介Youtube——1963 Timesharing: A Solution to Computer Bottlenecks发明计算机密码的人去世了 , 他还改变了我们使用电脑的方式

“ 等等 , 我的P 站密码是多少来着?”


    推荐阅读