一个失败的操作系统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的更多相关文章
- [Hyper-V]制作一个干净的操作系统模板
描述: 在Hyper-V里创建虚拟机的时候,我们可以先来创建一个干净的操作系统,将其制作为操作系统模板,该虚拟机的磁盘文件也将被视作基础磁盘以方便基于它创建差异化磁盘 安装其它虚拟机的时候就可以差异化 ...
- 定制一个winCE5.0操作系统
定制一个winCE5.0操作系统 2009-04-01 09:01:14| 分类: winCE|字号 订阅 定制一个操作系统并模拟器上运行,需要以下几个步骤: STEP 1:用Platfor ...
- 1、了解计算机与操作系统发展阶段 2、选择一个具体的操作系统,结合计算机与操作系统的发展阶段,详细了解其渊源、发展过程、趋势,整理成简洁美观的图文博客发布。 Windows Mac os x Unix Linux Android 等。
1.了解计算机与操作系统发展阶段 操作系统并不是与计算机硬件一起诞生的,它是在人们使用计算机的过程中,为了满足两大需求:提高资源利用率.增强计算机系统性能,伴随着计算机技术本身及其应用的日益发展,而逐 ...
- 面试题: 多个 await 处理,有一个失败,就算作失败
面试题: 多个 await 处理,有一个失败,就算作失败 ? Promise.all([p1, p2, p3....]) // 返回的也是一个 Promise 对象 -------- asait ...
- 【微信支付】分享一个失败的案例 跨域405(Method Not Allowed)问题 关于IM的一些思考与实践 基于WebSocketSharp 的IM 简单实现 【css3】旋转倒计时 【Html5】-- 塔台管制 H5情景意识 --飞机 谈谈转行
[微信支付]分享一个失败的案例 2018-06-04 08:24 by stoneniqiu, 2744 阅读, 29 评论, 收藏, 编辑 这个项目是去年做的,开始客户还在推广,几个月后发现服务器已 ...
- 自己制作一个简单的操作系统二[CherryOS]
自己制作一个简单的操作系统二[CherryOS] 我的上一篇博客 自己制作一个简单的操作系统一[环境搭建], 详细介绍了制作所需的前期准备工作 一. 一点说明 这个操作系统只是第一步, 仅仅是开机显示 ...
- 同一个dll 不同路径下注册 一个失败 一个成功
一个路径下用regsvr32注册成功,一个注册失败,提示平台不兼容. 最后用depends查看依赖的dll,发现依赖的dll有问题,从注册成功的路径下复制一个过来,重新注册就成功了
- android socket编程用Bufferreader读取的一个失败教训
由于我的手机需要用笔记本开的wifi,躺在床上玩手机时需要关电脑或者是要让电脑放歌的时候总是不想下床,于是我想能不能用一个APP,然后通过局域网实现在手机上对电脑进行操控呢?说干就干. 我在电脑上用的 ...
- 历数PC发展史上的祖先们
转自泡泡网:http://www.pcpop.com/doc/0/774/774178_all.shtml 本文导航 第01页:这几十亿晶体管的前辈是? 第02页:编辑发明的QWERTY键盘 第03页 ...
随机推荐
- 获取iOS应用的版本号和app名称
NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary]; NSString* versionNum =[infoDict obje ...
- 基于meanshift的手势跟踪与电脑鼠标控制(手势交互系统)
基于meanshift的手势跟踪与电脑鼠标控制(手势交互系统) zouxy09@qq.com http://blog.csdn.net/zouxy09 一年多前开始接触计算机视觉这个领域的时候,年幼无 ...
- OpenCV学习 1:OpenCV安装与第一个图像显示程序
原创作品,转载请注明出处 为了提升逼格,决定学下OpenCV,想想如果可以做人脸识别,定点降落,让飞机跟着自己飞..想想都有点小激动.这只是想的,能不能学会还不知道..哈.. 1:先下载:h ...
- AutoIt 函数学习之----WinWaitActive
WinWaitActive函数 暂停脚本的执行直至指定窗口被激活(成为活动状态)为止. WinWaitActive ( "窗口标题"[, "窗口文本"[, 超时 ...
- Linux 二进制包安装MySQL的一些问题
第一步:安装相关的依赖yum install perl-Data-Dumper 第二步:初始化mysql数据库的内部信息./scripts/mysql_install_db --basedir=/us ...
- [方法] ubuntu12.04开启root账户
ubuntu 12.04使用LightDM显示管理器,默认禁止root账户登录. 通过修改/etc/lightdm/lightdm.con文件可以打开root登录权限. 方法很简单,只要在lightd ...
- TF卡速度测试对比 Class数越高速度越快
存储卡(TF卡)是手机扩展存储的大杀器,让你多装n部学习资料,多装n个外语听力练习.除了装东西外,存储卡性能不佳也会影响手机的整体性能以及体验的.本文主要针对Android手机,我是懒人,但我讨厌懒人 ...
- Qt for Windows:使用WinPcap开发高性能UDP服务器
首先介绍一下WinPcap WinPcap是Windows下一个网络库,性能极其强悍而且能够接收各种包. 大名鼎鼎的WireShark就是基于这个库开发的. 那么这个库性能到底有多高呢. 我测试了UD ...
- Unix/Linux环境C编程入门教程(10) SUSE Linux EnterpriseCCPP开发环境搭建
安装SUSE企业版以及搭建C/C++开发环境 1. SUSELinux Enterprise是一款服务器操作系统,异常稳定. 2.设置虚拟机类型. 3.选择稍后安装操作系统. 4.选择SUS ...
- IOS开发之xcode 快捷键
IOS开发也有一年多了,发现Xcode快捷键,还不熟,恶补一下.要不然真影响工作效率,呵呵! 1. 文件 CMD + N: 新文件 CMD + SHIFT + N: 新项目 CMD + O: 打开 C ...