一个失败的操作系统MULTICS
Unix的诞生和Multics(Multiplexed Information and Computing System)是有一定渊源的。当时开发者Brian Kernighan开玩笑地戏称这个不完善系统MULTICS其实是:“UNiplexed Information and Computing System”,缩写为“UNICS”。于是这个项目被称为UnICS(UniplexedInformation andComputingSystem)。后来,大家取其谐音这个名字被改为UNIX
当年的计算机好玩吗?那是相当的难玩啊。如果你想用计算机来做道1+1等于几的数学题,你需要自己用二进制码来编制计算机程序,然后用穿孔纸带打上孔,然后再将纸带塞进计算机,计算机再将结果打在穿孔纸带上,然后你再根据穿孔纸带上的孔,来写出二进制代码,然后再将二进制码翻译成咱们看得懂的话。
法国纺织机械师布乔在19世纪提出穿孔纸带概念
不过,随着305RAMAC以及集成电路的出现,通用型计算机的诞生成为了可能。于是,1964年美国国防部委托麻省理工、贝尔实验室以及通用电气公司开发一种“公用计算机服务系统”,简称MULTICS。
参与MULTICS的科学家
1965年,MULTICS的研发工作正式开展,当初研发的设想是通过建置在美国通用电力公司的大型机GE-645,来连接1000部终端机,支持300的用户同时上线。
通用公司的GE645大型计算机
但是在当时的技术条件下,研发这样的通用操作系统存在了太多难以解决的技术难题。以至于研发进度极为缓慢,直至1969年,MULTICS依然难以问世。随后,贝尔实验室退出了研发队伍,而美国国防部也决定裁撤MULTICS项目,通用公司随即退出。
运行在MULTICS上的软件
但是麻省理工并没有就此罢休,MULTICS最终还是获得了成功。随后,这套系统被麻省理工用作学校的信息管理。在MULTICS中包含了很多现代操作系统的雏形,比如隐藏核心文件,只提供用户界面等等。
不过,MULTICS最大的贡献,还在于它直接孕育出了UNIX。1969年,在贝尔实验室工作的Ken Thompson和Dennis Ritchie为了让自己编写的游戏能够运行起来,俩人在一台DEC小型计算机上编写了MULTICS的改编版,这就是UNIX。 要说UNIX就得先说说MULTICS。 二战结束以后,冷战开始了。1957年苏联发射了第一颗人造卫星,进而开始筹备发射载人宇宙飞船。与此同时,美国宇航局的研究却连连受挫。航天领域的落后 促使艾森豪威尔下决心划拨巨款支持美国科学界,这一举措让美国的计算机科学以空前的速度发展起来。科学家们开始设想将大型计算机作为一种公共设施,通过许 许多多的终端为用户提供计算时间的“计算机公用事业”,这无疑需要人类从未见过的精密而庞大的工程系统。 MIT于1961年在IBM7094型机器上实现了首个分时系统CTSS(Compatible Time-Sharing System,相容分时系统),在计算机界享有盛誉。之后的1963年,MIT启动MAC计划。计划以IBM大型机为主体,连接了160台终端,分别位于 教职员家和校区四处,允许30名用户同时使用。然而到了1965年,MAC就已不堪负荷。MIT决定开发更大的分时系统—— MULTICS(MULTiplexed Information and Coputing System,多路信息与计算系统)。计划中的MULTICS将史无前例地连接1000台终端,支持300名用户同时使用,它将带给计算机界更加成熟的分 时系统理念和新的硬件设计思路。由于IBM无意参与,而通用电气公司(General Electric)力推他们的GE645主机,MIT与GE合作,又找来贝尔实验室城堡软件工程,开始了新系统的研发。 1969年,奋战了四年的MULTICS还是达不到计划中的性能,贝尔实验室退出了。先天不足的MULTICS还是被装在GE645上供IT使用,而通用 电气在一年之后就完全淡出大型机市场。MULTICS遭到彻底的失败,被潮解为:Many Unnecessarily Large Table In Core Sinultaneously。同一时期的IBM的SYSTEM/360等大型机系统的研发都以失败收场,大型机开始受到冷落,小型、微型机上的研发逐渐 活跃起来。 还是在1969年,贝尔实验室的Ken Thompson和Dennis Ritchie准备把原先为MULTICS设计的名叫“Space Travel”的游戏移植到他们使用的系统上。可是那时大型机的CPU时间非常贵,他们只好把游戏程序移植到一台没人用的PDP-7小型机上。后来又给程 序中加入了文件管理、进程管理的功能和一组实用工具,一个只能给2个用户使用的系统诞生了。受到MULTICS的影响,Brian Kernighan玩笑地给系统取名为“UNICS”(UNiplexed Inforation and Computing System,没路信息与计算系统),取谐音便是“UNIX”。 也许名字贱的孩子真的好养,UNIX取得了MULTICS设想中的成就。
一个失败的操作系统MULTICS相关推荐
- C 语言的诞生,竟然是一个失败的项目?
整理 | Carol 出品 | CSDN(ID:CSDNnews) 很多人认为 ,C 语言是一门"古董"语言.也有不少人认为,它没有 Python 简洁,没有 Java 安全,甚至 ...
- mac 连接hbase的图形化界面_Mac 视觉史(二):90 年代失败 Mac 操作系统大赏
本文首发于 优设网,原标题<Mac 视觉史 vol.2:90 年代失败操作系统大赏>,少数派经授权转载,仅对文章格式略作调整. 在 第一篇 Mac 视觉史 当中,我梳理过了整个 Mac 系 ...
- 写一个简单的操作系统
摘 要 如果一定要找出OS最重要的核心,那就是调度器,调度器本身即可以看作一个简单的操作系统,允许以周期性或单次方式来调用任务.从底层的角度看,调度器可以看作是一个由许多不同任务共享的定时器中断服务程 ...
- 一个失败项目的复盘会
2018年5月份笔者参加了一个失败项目的复盘会,领导开场介绍了这个项目的基本情况,2017年中标某集团十多个省的云平台安检项目,公司之前做了好几年上百个类似的安检项目,经验较为丰富,所以在多家厂商竞标 ...
- python查询斐波那契数列通项公式_分享一个神奇的操作系统——斐波那契+MACD,每一波都有20%以上的收益!...
斐波那契数列,又称兔子数列,或者黄金分割数列.指的是这样一个数列: 0.1.1.2.3.5.8.13.21--从第三项起,它的每一项都等于前两项的和. 为什么是兔子数列?我们假设兔子在出生两个月后,就 ...
- 定制一个winCE5.0操作系统
定制一个winCE5.0操作系统 2009-04-01 09:01:14| 分类: winCE|字号 订阅 定制一个操作系统并模拟器上运行,需要以下几个步骤: STEP 1:用Platform Bu ...
- 拼一个自己的操作系统(SnailOS 0.03的实现)
拼一个自己的操作系统 SnailOS 0.03的实现 拼一个自己的操作系统SnailOS0.03源代码-Linux文档类资源-CSDN下载 操作系统SnailOS学习拼一个自己的操作系统-Linux文 ...
- 为什么谷歌会从零开始构建一个全新的操作系统?
腾讯科技编者按 <快公司>网站日前发表文章,对谷歌开发一个全新操作系统的原因进行了分析,解释了现有操作系统存在的问题,并对谷歌此举的动机进行了推测,以下为原文: 上周,谷歌一个团队做了一件 ...
- 解决 office安全模式启动失败,操作系统当前配置不能运行此程序(已解决)
office遇见下问题解决办法 解决Excel问题 以安全模式启动失败,操作系统当前配置不能运行此程序.卸载不全,重装仍然存在问题的. 一.官方卸载重装方式(我没成功) 进入页面 微软office卸载 ...
最新文章
- java SocketChannel and ServerSocketChannel
- PMCAFF | 知识梳理:30分钟搞定用户需求
- java enum.parse_java 枚举的简单使用(enum)
- .NET简谈组件程序设计之(上下文与同步域)
- Unix 网络编程(四)- 典型TCP客服服务器程序开发实例及基本套接字API介绍
- 【牛客 - 2B】树(思维,dp,有坑)
- 【LeetCode】剑指 Offer 55 - I. 二叉树的深度
- H3C 无线控制器+瘦ap 配置
- python金融资产估值模型_估值方法梳理 把CFA二级书本中提及的企业估值方法在白板上全列了一遍。 一、 静心思考,绝对估值法(DCF、FCFF、FCFE、RI)... - 雪球...
- MFC调用RDP实现远程桌面共享实例
- 基于C语言和LPC1114开发板的嵌入式实验 SysTick实验、定时器实验、LED呼吸灯实验、蜂鸣器实验
- 【华为上机试题C++】老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.
- 用jq做一个点击图片放大消失
- 咸鱼Micropython—GPIO
- Java毕业设计-外卖点餐管理系统
- WPS的word文档页面右边有一段空白原因
- 【算法•日更•第九期】树型动态规划详解:二叉苹果树
- sass和less是什么?
- 像5D动感影院这种新兴的熊十一观影场所你都了解吗?
- 免费试用丨阿拉丁统计2.0 产品全新升级,五大优势功能满足多种需求
热门文章
- Proxmox系列:简单实现虚拟机迁移
- Linux查看用户所属用户组
- (DT系列五)Linux kernel 是怎么将 devicetree中的内容生成plateform_device【转】
- WindowsPhone7入手,实在的照片
- session_onend,你到底什么时候才能激发?
- Matlab画地球剖面图,分享用matlab显示地震记录的波形变面积图
- .NET Core微服务系列基础文章索引(目录导航Final版)
- js基础篇——localStorage使用要点
- Zabbix基本配置及监控主机
- jquery中动画效果的函数