精华内容
下载资源
问答
  • MULTICS摘录
    2020-03-22 14:08:34

    “Exokernel: An Operating System Architecture forApplication-Level Resource Management”主要介绍了一个“外内核”,重点研究了exokernel的体系结构设计,以及如何安全高效地实现exokernel。

    文章第2节提供了关于exokernels的更详细的案例。

    第3节讨论了设计中出现的问题。

    第4节概述了样机的现状,并说明了实验方法。

    第5节和第6节介绍了Aegis和ExOS的实现并总结了性能度量。

    第7节报告了演示exokernel体系结构灵活性的实验。

    第8节总结相关工作,

    第9节总结

    传统操作系统限制了应用程序的性能和自由度,exokernel操作系统体系结构通过提供物理资源的应用程序级管理来解决这个问题,在exokernel体系结构中,一个小内核通过底层接口安全地将所有硬件资源导出到不受信任的库操作系统。库操作系统使用此接口来实现系统对象和策略。这种资源保护与管理的分离允许通过扩展、专门化甚至替换库来定制特定于应用程序的传统操作系统抽象。也就是说exokernel是想给应用程序系统资源的管理,访问。首先exokernel系统由exokernel内核(一层很轻量的系统软件层)和library OS组成。应用程序跟library OS编译、链接在一起。这样,应用程序与library OS共用一个地址空间,应用程序可以有限制的访问系统资源(网络socket、内存VMA等)。允许应用程序定制使用原本操作系统内核才可以使用的资源

    图 1显示了一个简化的exokernel系统,该系统运行两个应用程序:一个与ExOS libOS链接的未修改的UNIX应用程序,以及使用其自己的TCP和文件系统库的专用exokernel应用程序。
         exokernel体系结构的核心原则是内核应该提供安全的低级原语,允许尽可能直接地访问所有硬件资源,所以他也有一个最重要的目标:将保护与管理分离开来。例如,exokernel应该在不理解窗口系统的情况下保护framebuffer(帧缓冲),在不理解文件系统的情况下保护磁盘。因此,exokernel使用一种不同的方法:它导出硬件资源,而不是模拟它们,这允许高效和简单的实现,exokernel使用三种技术来安全地导出资源:

    首先,通过使用安全绑定,应用程序可以安全地绑定到机器资源并处理事件。

    其次,通过使用可见资源撤销,应用程序参与了资源撤销协议。

    第三,通过使用中止协议,exokernel可以强行破坏不合作应用程序的安全绑定

    这里给了一个系统示例

    通过secure binding (安全绑定)将资源导出到库操作系统

     

    exokernel的目标是在安全的多用户系统中为不受信任的应用程序提供有效的资源控制。遵循以下原则来实现此目标:

    分开的保护和管理;

    公开分配。应用程序显式分配资源。内核允许在分配期间请求特定资源。

    公开名称。Exokernels尽可能使用物理名称。物理名称捕获有用的信息,不需要从虚拟名称中进行潜在的昂贵翻译或易于种族化的翻译。

    公开撤销。Exokernels向应用程序公开吊销策略。他们让应用程序选择放弃资源的哪个实例。每个应用程序都可以控制其物理资源集。

    公开信息。Exokernels公开所有系统信息并收集应用程序无法轻易从本地派生的数据。这些原则不仅适用于内核,而且适用于exokernel系统的任何组件。

    exokernel优缺点都存在,他优化性能,减少运行时间,在引言里面的很多报告给出了论证,他让不同的库操作系统能够共存,但是exokernel依赖架构,应用程序移植也不在简单,即使在相同的体系结构中,对硬件的更改也需要重写Exokernel和LibraryOS,以利用新特性,或者只是为了保证基本兼容性。

     

    https://blog.csdn.net/ablo_zhou/article/details/1519468

    https://en.wikipedia.org/wiki/Exokernel

     

    更多相关内容
  • ***该存储库正在迁移到github *** https://github.com/charlesUnixPro/dps8m“ Multics Rulez,UNIX droolz” Multics生存了……我们做到了! 如果您对运行自己的Multics系统感兴趣,请参见以下Wiki:...
  • 10 月 30 日,历史上的今天,乔治·布尔发明了布尔逻辑;史上首款图形化游戏的开发者 Ken Williams 出生;Thomas Nicely 发现 Pentium FDIV bug;最后一个 Multics 系统计算机被关闭。

    整理 | 王启隆

    透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。

    今天是 2021 年 10 月 30 日,在 12 年前的今天,两弹一星元勋钱学森逝世,钱老是中国火箭、导弹、航天事业的奠基人,被誉为“航天之父”、“火箭之王”;2009 年的这一日,钱老在北京逝世,享年 98 岁。回顾计算机历史上的 10 月 30 日,今天也诞生了许多关键事件,一点点改变了我们手上的技术和工具。

    1847 年 10 月 30 日:乔治·布尔发明了布尔逻辑

    在这里插入图片描述

    图源:维基百科

    布尔逻辑(Boolean algebra)得名于乔治·布尔(George Boole),他是爱尔兰科克的皇后学院的英国数学家,在十九世纪中叶首次定义了逻辑的代数系统;1847 年 10 月 30 日,布尔出版The Mathematical Analysis of Logic 一书,首次定义了逻辑的代数系统,后来被称为布尔逻辑,也叫布尔代数。布尔逻辑是数字逻辑和计算机科学的基础,1937 年,香农在布尔的基础上向前跨出了伟大一步,将布尔逻辑应用到了电子学中。现在,布尔逻辑在电子学、计算机硬件和软件中有很多应用。

    布尔逻辑的诞生把形式逻辑归结为了一种代数,布尔认为,逻辑中的各种命题能够使用数学符号来代表,并能依据规则推导出相应于逻辑问题的适当结论。布尔的逻辑代数理论建立在两种逻辑值“真 True”、“假 False”和三种逻辑关系“与 AND”、“或 OR”、“非 NOT”;这种理论为数字电子计算机的二进制、形关逻辑元件和逻辑电路的设计铺平了道路。1854 年,布尔出版了名著《布尔代数》,并在此基础上,经过许多年的发展,形成了现代计算机的理论基础——娄理逻辑。

    和许多发明一样,布尔逻辑在诞生之初被冷落,直到 20 世纪早期,一些电气工程师直观地认识到布尔代数类似于某些类型的电路的行为;克劳德·香农(Claude Shannon)在 1937 年的硕士论文《继电器和开关电路的符号分析》中正式证明了这种行为在逻辑上等同于布尔代数。今天,所有现代通用计算机都使用二值布尔逻辑来执行其功能;也就是说,它们的电路是二值布尔逻辑的物理表现;如果说图灵实现了计算机的“可计算性”,那么布尔便是为其奠定了逻辑性的人。

    资料来源:维基百科

    1954 年 10 月 30 日:史上首款图像冒险游戏的开发者 Ken Williams 出生

    冒险游戏是一种电子游戏类型,在这种游戏中,玩家在一个互动故事中扮演主角,由探索和/或解决谜题驱动;这种游戏类型的重点在于故事,这使得它能够大量借鉴其他基于叙事的媒体,文学和电影,包括各种各样的文学类型。由于计算机技术的限制,冒险游戏在最开始都是纯文字的,而文本冒险游戏的起源很难追溯,因为 20 世纪 70 年代的计算机记录并不完善。

    直到 1980 年,一对夫妇改变了这一现状。由妻子 Roberta Williams 设计,丈夫 Ken Williams 协助编程的,世界上第一款有图像,而非纯文字画面的冒险游戏《谜之屋》(Mystery House)诞生,这也是美国 On-Line Systems 公司(现为 Sierra Entertainment)发行的第一款电子游戏。
    在这里插入图片描述

    图源:维基百科

    1954 年 10 月 30 日,Ken Williams 诞生于美国印第安纳州;他是一名游戏程序员,On-Line Systems 的联合创始人,后来该公司改名为 Sierra Entertainment,被动视公司复兴。在 Sierra 公司,他和妻子 Roberta Williams 制作了《King’s Quest》、《Space Quest》、《Police Quest》和《Leisure Suit Larry》等经典游戏。

    1979 年,Roberta Williams 当时是个家庭主妇,在家从事家务及照顾孩子。其夫 Ken Williams 创立了一家名为 On-Line Systems 的电脑软件公司,当时 Apple II 电脑刚发行,因此 Ken 认为 Fortran 编译器有市场需求,遂进行该类软件开发的作业。某一天,Ken 把 TRS-80 计算机带回家中,妻子 Roberta 借此接触到了名为《巨洞冒险》的文字冒险游戏,这款游戏是最早的冒险游戏。Roberta 对此深感着迷,并尝试寻找和《巨洞冒险》类似的电子游戏,却一无所获,于是起了自己来创作电子游戏的念头。

    Roberta 在厨房的餐桌上构思游戏剧情,并用纸笔将其记录下来。她参考英国小说家阿加莎·克里斯蒂的著作《无人生还》和纸上游戏《妙探寻凶》,以作为故事的参考(因此,《谜之屋》其实也是第一款恐怖题材的电子游戏)。她认为冒险游戏必须要有个很棒的故事、而且要让玩家认为是在玩游戏;Roberta 花了一个月完成她的故事,但是程序设计不是她的专业领域。某天,她和丈夫出去吃晚餐时,试图说服丈夫协助制作这款游戏,而 Ken 放弃了 Fortran 编译器的开发转而协助妻子,他是《谜之屋》唯一的程序员。

    最终,《谜之屋》在 1980 年 5 月发售,当时的价格是一套 25.95 美元,共卖出了大约 8 万套。《谜之屋》引起了冒险游戏视觉化的开始,从此 2D 平面图像成为冒险游戏开发的主流,游戏制作人开始尝试用各类图像配合文字加强玩家对游戏剧情的体验。借由《谜之屋》的销售盈利,On-Line Systems 公司从此转型成为电子游戏开发公司,逐渐扩大规模并推出许多电子游戏;该公司不但推出图像冒险游戏,还是采用声卡和显卡制作游戏、推出光盘游戏的先驱。Ken 和 Roberta 夫妇共同推动了图像冒险游戏的发展,对电子游戏发展有重要的影响。

    资料来源:维基百科

    1994 年 10 月 30 日:Thomas Nicely 发现 Pentium FDIV bug

    世界上的第一个 Bug 我们曾在 9 月 9 日的“历史上的今天”专栏里介绍过,那么,世界上最难修复的 Bug 是哪一个?回到 1994 年,林奇堡大学的数学教授 Thomas Nicely 在 10 月 30 日独立发现并公开披露了 Intel P5 Pentium FPU(浮点单元)中的 Pentium FDIV bug。

    Thomas Nicely 当时发现用电脑处理长除法时一直出错,他用一个数字去除以 824,633,702,441 时,答案一直是错误的;事后发现原因是英特尔为了加速运算,将整个乘法表刻录在处理器上面,但是 2048 个乘法数字中,有 5 个输入错误。这些错误其实不容易出现,在运算过程中,它会自动修复错误,只有几个二进制的数字组,才会造成完全错误的结果。

    在这里插入图片描述

    图源:CSDN 下载自东方 IC

    在这起事件的初期,英特尔的工程师指出,大约 90 亿个长除法中才会有这么一次错误;依照计算,平均故障间隔大概是七百年,所以几乎是不可能发生。但是,当 Thomas Nicely 在 CompuServe 上报道了这个错误之后,这个 Bug 立刻成为了第一批真正通过互联网传播的故事之一;仅仅几天后,有人在 Usenet 中 comp.sys.intel 组上发布了关于这个问题的消息,确认了浮点错误。从那开始,这起事件传遍各地,被工程行业出版物 EE Times 在新闻中报道,并且纽约时报和波士顿环球报在内的主流媒体都对此进行了报道;在接下来的时间里,更是出现了数百篇关于此事的文章。

    值得一提的是,1994 年,互联网开始第一次进入主流领域,而这个 Bug 让 1994 年的人们第一次认识到了互联网;Pentium FDIV bug 一度成为了新闻焦点,让英特尔在感恩节通过互联网登上世界头版,让这家全球首屈一指的计算机芯片制造商感到尴尬。但是,这个 Bug 始终没有解决;英特尔同时遭遇了舆论压力、技术问题和公关危机,那一年公司的股票也受到了很大冲击。在这一年的圣诞节,英特尔公司无可奈何,只能召回了有缺陷的产品,这是英特尔第一次全面召回计算机芯片;最终,英特尔因此事件损失了 5 亿美元。

    在这里插入图片描述

    图源:维基百科

    那么,Pentium FDIV bug 最终得到了解决了吗?1994 年的冬天,Cleve Moler 从 David Hough 维护的电子邮件列表中第一次了解到 FDIV 错误,随着对事件的逐渐了解,Moler 对这个 Bug 的兴趣越来越浓;11 月 15 日,Moler 以质数和比率为例,向英特尔和新闻组发布了他当时所知道的情况,他指出,这两种情况下的除数都小于 2 的幂的 3 倍。

    Cleve Moler 是谁? 他出生于 1939 年,是美国数学家及计算机科学家,一生研究数值分析领域;他也是 MATLAB 语言创立者,软件公司 Mathworks 的首席科学家,美国国家工程院院士。Moler 发布的帖子迅速在互联网上爆火,业界的专家们都来询问他具体情况;最终,他把 Tim Coe、Terje Mathisen、Alex Wolfe 等热切关注该事件的程序员高手聚在一起,再找来了英特尔的几位软硬件工程师,试图一起修复 Pentium FDIV bug。

    有志之士们联合了起来。他们认为解决方案的关键在于,芯片几乎一直都在分工方面做得非常好;因此,在这种情况下不需要改变太多,只将分子和分母同时乘以 15/16 ,就可以将除数从不安全区域中去掉,并确保随后的除法完全准确。使用这种方法,就不需要测试由除法产生的剩余值的大小。Cleve Moler 的团队最终出色地解决了 Pentium FDIV bug,他也没有忘记宣传 MATLAB,这项优化技术最终被公布到了 MATLAB 新闻组,可供全社会无偿自由使用。MATLAB 和 Mathworks 从此步入公众视野,而英特尔也汲取了一次惨痛的教训。

    资料来源:维基百科、blogs.mathworks.com

    2000 年 10 月 30 日:最后一台运行 Multics 的机器被关闭

    Multics ,全名 Multiplexed Information and Computing Service,是基于单级存储器概念的早期有影响力的分时操作系统,常有人说 Multics “从微型计算机到大型机,影响了所有的现代操作系统”。Multics 最初的规划和开发始于 1964 年,它最初是由麻省理工学院、通用电气和贝尔实验室(Bell Labs)领导的一个合作项目,基于专门为它设计的 GE 645 计算机上开发。

    在这里插入图片描述

    图源:维基百科

    MULTICS 最初的目的是连接 1000 部终端,支持 300 位用户同时上线。1969 年,因 MULTICS 项目的工作进度过于缓慢,最后终究遭裁撤的命运,贝尔实验室由此退出此项目;当时,肯·汤普逊正在为这个系统撰写一个称为“星际旅行”(Space Travel)的游戏程序。在贝尔实验室退出 Multics 计划后,实验室的两位软件工程师肯·汤普逊与丹尼斯·里奇以 B 语言和汇编语言为基础而发展出 UNIX,而 1973 年汤普逊和里奇用 C 语言重写了 Unix,为 Unix 的普及奠定了基础;而通用电气及麻省理工学院仍继续开发 Multics,并最终成为商业产品,由霍尼韦尔(Honeywell)销售。

    2000 年 10 月 30 日,最后一个已知的、在霍尼韦尔硬件上运行的 Multics 计算机由加拿大新斯科舍省哈利法克斯的加拿大国防部关闭;直到 2006 年,Bull HN 向 MIT. 发布了 MR12.5 的源代码,这是 1992 年的 Multics 最终版本;除了一些可选的部分,如 TCP/IP.,系统的大部分现在都是免费软件。2014 年,Multics 使用模拟器在当时最新的计算机上成功运行;伴随着模拟器的 1.0 版本发布,并增加了一些新特性,Multics 这颗桌面操作系统的早期火种被流传了下来。Multics 为现在的众多操作系统提供了灵感,不禁让人遐想未来的桌面操作系统会是怎么样的;你心目中未来的主流会是谁?欢迎参与本期投票和评论,分享你的真知灼见。

    【欢迎投稿】以史为镜,可以知兴替。计算机科学发展至今,有许多至关重要的事件、人物,欢迎所有朋友一起共建「历史上的今天」,投稿邮箱:tangxy@csdn.net 。

    展开全文
  • dps8m:Multics dps-8m大型机的模拟器
  • Multics System学习心得

    千次阅读 2015-03-29 16:28:02
    张家骥+中科大软件学院+原创内容转载请注明出处Mulitcs概述Multics,全名MULTiplexed Information and Computing System,是1964年由贝尔实验室、麻省理工学院及美国通用电气公司所共同参与研发的,是一套安装在大型...

    张家骥+中科大软件学院+原创内容转载请注明出处

    Mulitcs概述

    Multics,全名MULTiplexed Information and Computing System,是1964年由贝尔实验室、麻省理工学院及美国通用电气公司所共同参与研发的,是一套安装在大型主机上多人多任务的操作系统。

    MULTICS以Compatible Time-Sharing System(CTSS)做基础,建置在美国通用电力公司的大型机GE-645。目的是连接1000部终端机,支持300的用户同时上线。1969年,因MULTICS计划的工作进度过于缓慢,最后终究遭裁撤的命运,贝尔实验室退出此计划。当时,肯·汤普逊正在撰写一个称为“星际旅行”(Space Travel)的游戏程序。Multics 计划停止后,由贝尔实验室的两位软件工程师肯·汤普逊与 丹尼斯·里奇以C语言为基础而发展出UNIX。

    2009年10月标志着在计算史上的重要里程碑。正是40年前首个Multics计算机系统在麻省理工学院被用做信息管理。Multics(Multiplexed Information and Computing Service)是认为是现代操作系统的基础。Multics是加快Unix发展的催化剂,在它40年前发布后,已作为现代操作系统设计的模型。
    这里写图片描述

    UNIX与MULTICS

    1969年,在AT&T的Bell Labs,Ken Thompson和Dennis Ritchie(他们曾是大型操作系统Multics的两名开发者,Multics太庞大了最终没有成功)为了一项名为太空旅游的实验计划,需要一个操作系统。他们找了一台闲置的PDP-7机器,在上面写了个Multics的改编版,1971年正式发布。这个东东就是后来名扬天下的UNIX了。Multics——UNIX,大家看出了点什么吗?

      1973年,Dennis Ritchie用他自己开发的C语言重写了一遍UNIX,奠定了UNIX普及化的基础。1976年他们首次将第六版的UNIX流传到AT&T以外的地方。 UC Berkeley的人以UNIX 7.0为基础,发表了称作BSD的系统,并且开发到1992年的4.4版;而AT&T也不断改进他们的系统,发表了商业化的System Ⅲ直到System Ⅴ。以后UNIX的发展都是围绕这两大主流展开的。

      UNIX的设计目标是小而美:希望能在任何小系统上执行,而核心只提供必不可少的一些功能,其他的则根据需要加上去。这已经成为操作系统的一种设计哲学。现在许多公司有了自己的UNIX版本,但它们基本特性是一致的:开放性、多用户、多任务、功能强、实现高效、网络功能丰富。为了克服UNIX版本差异对可移植性的损害,1990年ISO制定了ISO/IEC 9945-1-1990标准,这是整个可移植操作系统界面(POSIX)的第一部分;系统应用程序界面即POSIX.1。这就是常说的UNIX操作系统的界面标准。

    UNIX诞生于上个世纪六十年代末期的AT&T。它的诞生和另外一个失败的操作系统项目,MULTICS有很大的关系。软件工程的研究发现了一个很有趣的现象:如果一个软件系统项目的第一代很成功,那么它的第二代项目很可能就会以失败而告终。有一种可能的解释认为当人们在第一次做某一个问题时,其预期的目标往往不会太高,这往往也会更为现实一些,所以成功的机会比较大。当第一代系统成功之后,设计者往往会被胜利冲昏头脑。此时在设计第一代系统时被放弃的种种想法就会重新回到设计者的头脑之中,其结果是在这个新的系统中会有着种种看起来非常具有吸引力的预期目标和特性。可能正是这些过多不切实际的特性使得所设计的系统过于复杂而最终导致失败。MULTICS就是这样的一个第二代系统,其前身就是第一代分时操作系统CTSS。分时操作系统的想法最初是由约翰·麦卡锡提出来的,他因为在人工智能领域的杰出贡献而被授予了1971年的ACM图灵奖。由于第一代分时系统的巨大成功,所以在设计第二代分时系统MULTICS的时候,人们赋予了它太多的期待,希望在这一套系统中实现很多在当时还是概念型的想法。正是这些美妙的期待压垮了MULTICS。并不是说这些概念和想法不好,实际上恰恰相反,在MULTICS中提出来的很多想法和概念被它的后继者成功地继承了下来并在实际中证明了它们地有效性。比如说用高级语言来编写操作系统,文件目录地层次结构等等。MULTICS是第一个使用高级语言来编写的操作系统。在此之前的操作系统使用汇编语言来实现。使用高级语言来编写操作系统有很多地优点,但是对编写它的高级语言也有一些特殊的要求。编写MULTICS所使用地是IBM设计的一种语言PL/I。不幸的是,PL/I当时还处于草创阶段,无力肩负编写操作系统这样的重担。当时参加MULTICS项目的单位很多,AT&T是其中的一家。经过漫长而无望的痛苦挣扎之后,AT&T退出了该项目,当然也就撤回了参加该项目的人员。

    特点

    一:首次在大型软件的开发中成功地采用了结构化的程序设计方法,使开发周期大大缩短,软件可靠性大大提高。
    二:成功地采用已有的成熟软件作为工具。MULTICS中的很大一部分程序是用其自身即CTSS来编写的,这在软件的继承性上是一次成功的尝试。
    三:全部系统程序是用高级语言PL/I编写的,这就使系统程序在功能上独立于机器,极大地提高了系统的可移植性,也使它的普及较为容易。

    Introduction and Overview of the Multics System

    Multics (多路复用信息和计算服务) 是一个综合的、 通用的编程系统正在开发作为一个研究项目。初始 Multics 系统将 GE 645 计算机上实施。整体的设计目标之一是创建一个计算系统是能够满足几乎所有的大型计算机实用程序的目前和不久的将来的要求。这种系统必须连续、 可靠地运行 7 天一周,类似于电话或电源系统的方式每天 24 小时,并且必须能够满足广泛的服务需求: 从多种人机交互到顺序处理的缺席用户作业 ;从使用专用的语言和子系统的系统本身 ; 编程系统而且从集中的批量卡,磁带和打印机设施远程位于终端。这种信息处理和通信系统被认为,必须对计算机的使用,在商业、 工业、 政府、 科学实验室以及刺激的应用程序,否则将撤消未来的增长。
    因为该系统最终必须全面和能够适应未知未来的需求,其框架必须是通用的,并且能够随时间的演化。拉出来的时候在同伴论文 [1-5],这种需要进化框架影响和贡献很多系统的设计,是一个主要的原因,为什么大部分的系统的规划将在 PL / I的语言。[6] 因为 PL / 我的语言是很大程度上独立于机器 (例如数据说明请参阅逻辑项目,不是物理的单词),系统也应该。具体来说,它被希望将来的硬件改进不会使过时的系统和用户程序和其他合适的计算机上的整个系统的实施将需要额外的编程的少,只有适量。
    本论文尝试详细的讨论了设计目标,因为它们涉及到系统的主要领域。一些随后的文件的亮点是: 虚拟内存系统中的为每个用户提供了包括二维分段和分页 ;动态链接的程序段交叉引用在执行时间,以尽量减少系统开销 ;常规使用的共享,递归的纯粹的程序编程系统内作为正常运作模式 ;统筹的使用的多个处理器、 内存模块和输入输出控制器 ;和多道程序设计的所有资源和多个用户。将由一个文件系统提供复杂的辅助存储媒体和存储的信息的备份、 检索和维护规程的自动管理。此外,预期大多数软件的系统将几乎完全相同的形式向用户程序。该系统将为用户和系统程序都自动翻页。

    介绍

    计算机已经成熟过去二十年间从好奇到计算到信息处理器的机器,给他们的用户的访问并没有得到改善,在大多数大型机器的情况下已倒退。主要是出于经济原因,批处理的计算机作业已目前实行的大多数大型计算机安装,和用户从初等和因果关系的伴随隔离已经被不情愿地忍受或合理化。几年来访问问题提出了一种解决方案。[7-9] 这种解决方案,通常被称为分时,是基本上快速时间分开多路复用的几个用户,这些职位中的中央处理器单元,其中的每个人都是线上在打字机一样控制台。在用户程序中的处理器单元快速的切换,当然,只不过是某种形式的多道程序设计。
    现在,正是明确表示它是可能在很多当代计算机上创建通用的分时多址访问系统,(尤其是后轻微但基本改动)。已经两次主要和广泛系统已创建了,一个在 IBM 7094 [10,11],一个 Q 32 台计算机上。[12] 此外,已经有不少小标度系统,最引人注目的是 DEC PDP-1,[13,14] IBM 7094,[15] GE 235,[16] [17] DEC PDP-6 和 SDS 930,[18] 并且稍微更加有限版本的 [19,20] RW-400 分和 CDC G21,[21] Johnniac,[22] 和 IBM 7040。[23] 随着时间的推移,对实现系统的调查正在进行 [42,24] 和”计分卡”被关押。[] 25
    分时的动力首先源于专业程序员因为在调试程序在批处理加工安装他们屡屡受挫。因此,最初的目标是时光计算机允许同时访问的几个人同时又给他们每个人都拥有支配着整台机器的错觉。然而,在项目 MAC 有原来同时接触到的机器,虽然明显必要的目的一直不大随后好处。[26] 相反,它是在一个人的指尖设施为编辑、 编译、 调试和运行在一个连续的交互式会话已编程的影响最大的可用性。专业的程序员感到鼓舞的是在他们的工作更富有想象力,探讨新的编程技术和新的问题方法由于失败的很多小罚则。但是,MAC 系统,已在麻省理工学院社会的影响最大看到在每台计算机为工具对其他目标的儿子所取得的成就。MAC 系统的可用性不仅改变了的方式问题受到攻击,但也很重要,进行了研究,亦不能进行否则。因此分时的当前和未来发展的目标应该延长远远超出传统的计算机应用程序方面的计算设施的完善。相反,它是在线使用计算机为新的目的和应为系统设计器中提供所面临的挑战和动力的新领域。换句话说,主要目标是提供合适的工具目前被称为机器辅助的认知。
    更具体地说,一个多元接入系统的重要性操作如计算机实用程序是它允许基于计算机的活动,应该反过来刺激我们社会的许多领域相应浓缩的范围大幅扩展。超过两年的经验表明,连续运行实用程序类似的方式,与灵活的远程访问,鼓励用户查看的系统作为一种思维工具在他们日常的智力工作。机械化,从过去的质的变化结果访问时间和便利了大幅度的提高。主观上,变化在于用户的能力来控制和影响交互过程中,无论它涉及的是数值计算或操作的符号。因此,参数研究是更智能地进行引导 ;制定新问题-面向语言和子系统,以利用人机交互能力 ;许多复杂分析的问题,在磁流体力学,都太过繁琐处理在过去现在正在成功地进行 ;甚至更多的、 新的、 富有想象力的方法,对基础研究已在蛋白质结构的解码。这些都是例子取自的学术环境 ;对商业和工业组织的多址接入系统影响能指望获得同样戏剧性,但在这一领域的经验仍是非常有限。正是这种新的应用程序,在心中已经开发了 Multics 系统。并不是传统计算机的用途受到忽视。相反,这些需求被看作是更广泛更苛刻的要求,前者的一个子集。
    要达致上述的指标,包括响应时间、 问题操纵数据和程序文件,方便易用性在执行和最重要的是,在执行过程中保持文件和进程的隔离变得至关重要。这些问题需求背离了传统的计算机系统。然而这些背离对于传统的计算机应用程序是值得的,因为它是进行快速的人机交互的必要条件。

    系统要求

    在早期的计算机设计,是单个程序的单个处理器计算很长一段时间几乎不与外面的世界接触的概念。今天这种观点被认为是不完整的 ;信息处理系统的有效边界扩展处理器之外、 超越卡读卡器和打印机,甚至超越打字输入和输出的读。事实上它们以及包括几百人想要完成什么。为了更好地理解本次加宽的设计范围内的影响,是有助于检验特性的大型的面向服务的计算机安装的几种现象。
    第一次,有诱因有最大的可能的计算机系统,它可以承受任何组织。它通常是仅在最大的计算机上有精心设计的编程系统、 编译器和功能,使一台计算机”强大”。这是一定程度上是因为它是更难准备较小的计算机系统程序,当受速度或内存大小的限制,部分是因为较大的系统作为生产厂家、 管理人员和用户涉及更多的人,因此允许更多的关注,考虑到系统程序。此外,通过结合在单个的计算机系统中的资源,而不是几个,大容量的经济体,因此降低计算成本可以得到。最后,作为一个实际的问题,考虑地板空间、 管理效率和操作人员提供强烈的动机,集中在大型安装中单个的计算机设施。
    第二,当代计算机安装,无论是哪个应用程序它,部门的能力必须能够不断增加以满足不断增加的需求。要求每两年翻一番并不少见。[27] 多路存取计算机答应加速这种增长进一步,因为它们允许人机交互率是由至少两个数量级的速度更快。目前的迹象亦只有几百个并发用户的多址系统可以生成需求量超过了现有最快的单处理器系统的能力的计算。由于光的速度、 计算机组件的物理尺寸和记忆的速度是任何单个处理器速度的内在限制,很明显具有多个处理器和多个内存单元系统,以提供更大的容量。这并不是说快速的处理器单元是不可取的但这种极端系统复杂性提高此单个参数众多显得既不明智也不经济。
    第三,计算机不再是一种奢侈使用时,如果可用,而在商业、 政府和研究实验室的主要工作工具。更可靠的计算机变得,越多他们的可用性取决于。一种系统结构包括池的功能相同的单位 (处理器、 内存模块、 输入/输出控制器等) 可以提供连续的服务,没有明显的中断,为设备的维护,以及提供增长能力,通过添加适当的单位。
    第四,用户程序,尤其是在分时系统中,经常与交互辅助存储设备和终端。此通信生产需要多道程序设计,避免浪费主要处理器时间,虽然正在完成输入/输出请求。它是重要而值得注意单个用户通常不能做多道程序设计充分的就业,因为他的节目缺乏适当的平衡,并且他可能缺乏必要的动态信息、 智谋或耐心。
    最后,如前文所述,分时度假系统的价值就在于不仅提供,事实上,对很多人的私人计算机同时,而且最重要的是,在系统放置在用户的指尖的服务。此外,系统的有效性随用户开发的设施都由其他用户共享。这增加的效力,因为共享不仅是因为对核心和辅助存储器的减少需求,也属于用户观念的相互交流。因此目前的一个主要目标是努力的提供多个访问共享的数据和共享的程序程序的日益增长和潜在的巨大的结构。事实上,多个访问计算机处理器的成就应被视为为而这一更广泛目标的子目标,有必要。因此程序所驻留的小学和中学的记忆在硬件组织中发挥核心作用和独立通信路径中的回忆、 处理器和终端之间的存在是至关重要。
    从上面可以看到计算机安装的系统要求是不是为单个程序在单个计算机上,而是一个大系统的多个组件服务的用户的社区。此外,每个用户的系统异步启动任意和无限期的持续时间和细分的处理器和输入/输出任务序列的工作。正是出于这看似杂乱无章,随机的环境,就来到一个类似实用程序的视图。为而不是混乱,一个可以在不同的用户请求来实现高利用所有资源平均。多道程序设计要求这样做的任务需要只举办一次在中央主管的程序中。每个用户从而享有的利益的效率而不必平均自己特定的程序的要求。
    与上面的视图对计算机的使用,在哪里任务启动和停止每个几毫秒的时间和在哪里任务的内存要求扩大或缩小,很明显管理程序 (即,“监测”,”执行,”等等) 的主要工作之一就是分配和调度的计算机资源。总体战略是清晰的。每个用户的工作被细分为多个任务,通常随着工作的进行,每一种被放置在适当的队列 (例如处理器或输入/输出控制器)。处理器或输入/输出控制器是在轮到分配新的任务,因为他们要么完成或从任务中删除旧。所有处理器在一个匿名的游泳池等效地对待和被分配到的任务所需 ;尤其是,主管并没有特殊的处理器。此外,处理器可以添加或删除无显著变化,在程序中的用户或系统。同样,输入/输出控制器被针对从独立于任何特定的处理器队列。再次,随着处理器,可以添加或者删除根据系统负荷的输入/输出能力没有显著的编程所需。

    Multics 系统

    该系统的Multics的整体设计目标是创建一个计算系统,能够全面满足几乎所有的大型计算机服务安装的现在和不久的将来的要求。它并不期望初始系统,虽然是有用的,将达到的目标;而系统会随着时间演变的总体框架,允许持续增长,以满足未知的未来需求。使用PL/ I语言,将允许在独立于硬件变化的时间表开发的主要系统软件更改。由于大多数企业再也不能在更改重叠新旧设备,而且由于软件开发是最困难的安排,这种相对机器的独立性应该是一个重要的资产。
    预计这会公布 Multics 系统,当它实质上经营,因此可用于执行对任何设备具有良好的适宜特征。这份出版物是可取的原因有两个: 第一,该系统应承受公众的监察与批评自愿由感兴趣的读者 ;第二,在日益复杂的时代,它是到目前和未来的系统设计师有义务作出内部操作系统是明晰作为可能揭示的基本制度问题。
    随行的论文描述了一些细节的Multics系统将如何实现其目标。然而,这是有用的,在建立的概述,触及的亮点,尤其是在设计上的动机。

    硬件设计特点

    该系统的Multics目标所需不存在于任何现有的计算机设备的功能。因此,有必要制定针对的Multics系统的GE 645计算机。在GE 635计算机被选定为修改的GE 645因为它已经满足了许多关键的要求。尤其是,它是德签署有多处理机,多个存储器模块,和多输入/输出控制器。因此,进行了充分遇见模块化结构的可靠性和为便于生长的要求。所述通信模式是特别直线前进,因为有处理器和输入/输出设备之间没有物理路径;而所有的通信是通过在内存模块“邮箱”的手段,并通过相应的中断完成。此外,该系统的主要模块上的异步通信的基础;因此,任何单个模块可以在没有任何修改的其它模块进行升级。这后一性质是在该系统的容量(和成本)可以调节是通过改变速度或存储器模块数量的方式,一个有用的。当然进一步调整的系统容量可以通过改变的处理器单元的数量或鼓和磁盘设备的配置。在任何情况下,可以得到一个单一监督者程序可以在没有关于设备的任何配置实质性改变操作中的重要的简化。
    图1
    图1示出了典型的Multics系统的设备配置。所有中央处理器(CPU)和广义输入/输出控制器(GIOC)拥有与每个存储器模块的通信路径。在必要的时候进行维护或测试的目的,该系统可以被划分成两个独立的系统(虽然每个鼓,磁盘和磁带必须属于这两个系统中的一个)。远程终端可以通过专用小交换机,它未在图中示出转盘任两个GIOC的。
    在GE 645的最新颖的特点是在指令寻址。二维寻址系统已并入其允许每个用户编写程序,仿佛有大尺寸的虚拟存储器系统。该系统被组织成节目段(即区域)每个都包含单词与常规的线性地址的有序序列。这些段,其可在长度上执行期间会发生变化,被寻呼在监程序与任一64位或1024字页面的决定。这种双页面大小使上司程序在多个用户的操作使用更有效的策略。分页,首先介绍了阿特拉斯计算机上,[28]允许灵活的动态内存分配技术,以及明智实现一个级别的存储系统。在Multics的系统用户,页面地址是无形的;更确切地说,它是一种被明确已知对他和他能够象征参照他的程序段。这些概念首先由霍尔特建议,[29]进一步丹尼斯,[30,31]丹尼斯和格拉泽,[32] Forgie,[33]等人开发的。[34,35]分段和分页的价值,此后一直在过去一年中广泛讨论,并已获得了广泛的认可。[36-39]分段和分页的的Multics系统的明确的硬件实现的细节由格拉泽,传送彩色和奥利弗的配套文件中讨论。[1]
    由于二维地址空间是相当新的概念,所以接下来我们来分析一下它重要的原因,对于段来说的主要原因:

    1 用户能够在二维虚拟存储器系统进行编程。因此,任何单一的段可以在执行过程中增长(或缩小)(例如,在GE645,每个用户可能有多达25万个段,每个段的大小可以多达25万个字长)。

    2 用户在编程可以通过只指定一个段的起始位置,并不需要显式的声明段的存储空间。例如,如果一个错误诊断段在非计划的被调用时,它会被监视器自动创建;但在没有需求时绝不会被创建。同样,精细计算(需要许多个段,按数据相关分类)也只在有需求时才动态创建段。

    3 绝大部分的代码必须像一个固体块一样被绑定在一起作为一个单独的段。因为将代码绑定在一起(有时称为“加载”),这类似于装配或编译一个过程中,这样做的优势是显著的,可以把一个任意大的程序分成一系列有限大小的段。这样做节省下来的开销可以比的上,使用FORTRAN语言编写了含有多个子程序的过程和整体只是一个连续的过程之间相差的开销。如果不使用子程序方式,则不仅在编译一个整体块的过程变得特别麻烦的(我觉得是因为那时候的机器很慢,编译一个系统需要很久,相比之下而只编译一个子系统节省了很多时间),而且在排除系统错误时也会很麻烦(在一个子程序中定位错误容易的多)。

    4 程序块似乎是允许纯过程程序以及数据库在几个用户中同时共享的唯一合理的方式。纯过程程序,按照定义,不自我修改。因此主管程序可以通过只提供一个共同使用纯过程程序只有一个副本最大限度地减少用户程序的集合对核心内存的需求。几乎Multics系统的所有代码以及系统上的大多数的用户程序将被以这种形式书写。一个后果是用户程序和系统程序之间没有明确的界限;所以这些界限将很大程度上依赖于程序员的人工划分和维护。

    页是独立于段的一个结构,并有进一步明显的优点。

    1 使用页缓冲存储器的允许灵活的技术动态存储管理而不移动程序来回在主存储器的开销。这减少了开销是响应时间共享系统的重要哪里有原发性和继发存储器之间交通繁忙。

    2 寻呼的机制,当正确实施,允许不完全加载的程序的操作;监仅需在主存储器保留更活跃的网页,从而更有效地利用了高速存储。每当提及一个缺页时,主管人必须中断程序,取该缺页,并重新启动该程序而不会丢失信息。

    在段和寻呼硬件的一个关键特征是,它控制处理器的存储器的存取的描述符位机制。这些位基本上是允许硬件“防火墙”被编程系统,协助硬件或软件的困难隔离内建立。除了控制的通常性质,例如只读,仅数据等,一个描述符位允许一个段被宣布为“只执行”。该位的存在使得程序被转移到并执行,但通过用户程序从未读取。此功能会感兴趣的商业服务机构,并在应用领域的计划程序的隐私是至关重要的(例如,一个类房间分级程序)。描述符的另一个特性是,它们允许大部分引擎模块被写入与相同的描述符作为用户程序;大多数系统程序从而不必访问特权指令时,误用,其中可导致剧烈的机器的不当行为。此功能特别相关当人们认识到,分时系统与行为,它是难以复制或重复的实时系统。因此,所有可能的区室和保护机制,人们可以有是有价值的。
    对于的Multics系统的有效运行,具有高传输速率的鼓是必要的。设置有GE645滚桶满足要求,并允许输入/输出请求的高速率的方便和有效的管理。特别是,请求由监程序组织成在磁心存储器队列和从这些队列由异步处理器鼓控制器被取出。因为队列并且因为鼓记录大小都与芯体存储页面的尺寸相称,这是简单的,为没有延迟的延迟连续输入/输出传输编程。
    磁盘输入/输出请求也组织成队列和从核心存储器中取出由广义的输入/输出控制器。该控制器中有更详细的文件由Ossanna等人讨论的。[4]再有,由于主管的争用的用户和信息并从磁盘超遮阳请求的统计混合物,但预计请求之间的延迟的延迟可以忽略不计。由于传输容量的硬盘很大,系统的性能有望通过输入/输出瓶颈可以不受阻碍。由于的Multics系统将被用作在宽范围的应用的信息处理器,但重要的是要使用的可读的字符集。标准字符集将是具有128码,并包括上和小写字母的最近提出的ASCII代码。[40]这组,它包含95印刷的图形,可以合理地表示在当代的输入/输出设备。能够打印95图形的行式打印机将成为标准配置。

    软件设计特点

    该软件的一个重要方面是它是通过使用链段和分页的硬件相关联的子程序,并连接约定。以下功能被纳入。
    1 任何部分必须知道另一部分只有象征性的名字。程序执行过程中根据需要动态地结合部门间发生。板块间的结合是自动的(即没有明确由用户编程)该机制的运作高效率第一结合发生后。
    2 同样地,一个段能够在另一个段引用符号的位置。该参考动态和自动绑定;结合发生后的第一时间,程序执行是全速。
    3 这是很简单的程序,是纯粹的程序,能够由多个用户所共享。
    4 同样的,它是直接写递归过程(即能够通过电话的循环链直接或间接调用自己的子程序)
    5 一般的惯例是这样的通话,保存和恢复使用一个独立的编译程序链接到另一个宏不依赖于这两个程序是否是在同一段。
    6 每个用户提供一个私人软件“堆栈”的每个子程序中临时存储。当然,任何用户可以选择忽略该存储机构,但它是可用的,并且没有被添加在事后通过一个子系统设计师。
    此外,还有基本上只有一种调用序列,从而避免了许多混乱的。系统编程,是用相同的设施,工具等,提供给普通用户,和系统程序不必被写入特殊预谋。可以预料,该系统将是开放式的,将被由用户自己创建的大部分;许多有用的语言和子系统,无疑将不征求出资。出于这个原因,管理员和用户程序与类似的形式构成,以及诸如分页进程不会用户和管理员程序之间进行区分。 (当然,一些关键件的主管都锁定在核心显存)。因此,有在主管项目的大小,也不在复杂性或其所拥有的功能没有内在的限制。避免一个大小限制将是主要的值作为系统服务成长。
    要认识到,系统的平均用户将看到的由Glaser等人在论文中描述的分段和分页复杂任何部分是很重要的。相反,他会看到一个虚拟机有许多系统特性可方便地向他写:单个节目或整个子系统。作为一个子系统作家他必须能够使计算机出现有任何特定的形式,从一个航空公司订票系统,涉及一种库存控制系统,从管理的游戏机,甚至一个“FORTRAN机”如果需要的话。上有各种新的系统或语言可以被嵌入,没有特别的限制。
    最终应出现在系统其它特征:
    1 为具有在多个处理器(从而改善了整个过程的实时响应)异步运行一个进程产卵其他进程的能力;
    2 可以同时运行的程序之间共享的能力数据库。此外,该系统将包括目前项目MAC系统的所有主要功能,如interconsole消息和宏观的命令。后者允许用户连接起来的控制台发出的指令序列的短节目,从而形成可与一个单一的名称和参数呼叫被用于更复杂的命令。
    该系统的另一个特征是,它包括将批量处理设施的子集。特别是,用户将开始其可以具有n个终端附,其中n =1为各个人机交互过程,并且n =0用于运行一个缺席用户程序中,对应于批处理后者的情况。用户将能够方便地转化过程来回的零和一终端状态之间。此外,用于教学机和游戏实验的目的,将有可能对连接到进程的附加端子的任意数量。
    主管将,当然,做调度和收费资源的使用。调度策略将是类似的,但比目前在Mac系统中更普遍;进行批处理,作业应安排,以使得用户将能够获得的最大完成时间报价。时间计费由系统完成将是准确到几微秒。特别是,该系统将“反击”通过收取到底是什么设备使用(或其他人使用阻止)。以这种方式,有秩序的系统扩展将是可能的,因为它被收集特定设备的费用将始终允许进一步采集设备。此外,该系统将包括资源分配和计费的授权的分级控制。项目经理将能够给计算预算班组长谁又将可以委托灵活,直截了当地亚预算团队领导,这等资源分配和预算的一个重要方面是对任何成员的能力层次结构,以灵活重新分配过,他有控制这些资源。与对照的资源分配和管理会计分散,对系统,服务数百者的操作变得易于管理。
    以类似的方式,系统编程是分散。例如,该系统的维护可能不是一个单一的组的控制下完全;而不是特定的翻译可能委托给系统程序员独立小组。这种孤立和责任的分配被认为是强制要求大型,有效的系统的增长。分层和分散的会计和系统编程是通过控制该访问权限的系统的辅助存储器,从而为系统的重要程序和数据的文件拷贝的高度组织的文件系统成为可能。

    文件系统的设计

    文件系统是一个分时或复用系统的一个关键组成部分。它是一个存储器系统,该系统使用户和监都保持一个私人组段或信息的文件的时间无限期的错觉。此保持被由监操作的自动机制处理,并且独立的不同的容量和访问二级存储设备的复杂的。方案,诸如在纸张由戴利和Neumann描述的,[3],其中的信息的所有文件都通过符号名称,而不是由地址的简称,允许原因的任可靠性或能力的变化在二次存储复杂。特别是,用户从来都不是负责其具有组织二次存储络合物内的信息的移动。代替文件系统有一个策略安置用于高速访问最近使用的材料。
    相当值得关注的是隐私问题。经验表明,保密性和安全性是敏感问题,在一个多用户系统,其中终端是匿名的遥控器。因为这个原因,每个用户的文件可以被布置成完全私给他。此外,用户可安排让别人选择性地访问一个链接他的基础文件。链接机制允许控制权的访问程度1允许(例如,用户可能希望一个文件被读,但不能写)。该文件系统允许文件被同时读取,但自动联锁文件写入。文件系统被设计成与推定会有事故,使自动文件备份机制被提供。备份程序必须为突发事件,从一个下降位在磁带上的火灾在机房准备。
    具体地,提供了用于下列紧急情况:
    1 用户可能会发现,他已经不小心删除最近的文件,并可能希望恢复它。
    2 有可能是一个特定的系统事故导致一个特定的文件,以不再可读一些“莫名其妙”的原因。
    3 有可能是一个总事故。例如,盘存储读取头可以不可逆地评分的磁面,使所有磁盘存储的信息被破坏。
    一般备份机制是由系统而不是个人用户提供,为更可靠的系统变得越多,用户无法证明试图安排一个事故的可能性不大应变的开销(或打扰)。因此,个人用户需要保险,其实,这是提供什么。

    通信和输入/输出设备的设计考虑

    该系统的设计特点是,用户可以查看均匀大多数输入/输出设备。因此,一个程序可以从任一终端或一个磁盘文件中读取,或输出可以被发送到任何一个文件或一个冲头,打字机,或一台打印机。特别是,该系统的使用者不必改写他的节目,以改变从每天或从使用使用这些分配。对称设备的使用,当然,非常期望并且使得更大简单性和灵活性。
    所述的Multics系统的典型构造将包括批处理输入/输出设备,如读卡机,冲头和打印机并且这些通常将集中在位于主计算安装。远程用户会有终端如型号37电传它使用与上部和小写字母的修订的ASCII码。模型37电传打字机还可以在贝尔系统的TWX网络上运行。因此,将有可能对许多的60000 TWX订户是,如果被授权,一个Multics的安装的用户。为的Multics系统的附加标准终端将是IBM的1052控制台的修改版本。这个单元(与不具有ASCII字符集的所有其他终端设备)将具有软件逃逸约定,定义为允许明确的输入或完整ASCII字符集的输出。逃逸约定是一般性,并允许甚至原始设备(在一个图形的意义上)与系统进行通信。在IBM 1052终端,基本上使用Selectric打字机机制,都与一个特殊的连动球,准备项目MAC为ASCII图形妥协子集操作。
    对于那些谁希望有远程的冲压能力和阅读卡和网上打印的卫星网的用户,有多种可供选择。因为总输入/输出控制器的设计是相对灵活,能够使用的GE115,Univac公司1004,或实际上任何其他类似subcomputer作为终端,提供一种是准备实施内的必要的接口程序模块的Multics系统。在这些终端的当前没有一个是完全令人满意的,因为完整的128码订正ASCII字符集不是标准和过度使用的软件逃逸机制的需要打印。
    在一般情况下,远程终端设备的区域被认为是在开发的早期状态。设备的创新预计,当它变得明显的是,系统能够支持它们的使用。终端与图形输入/输出是虽然目前成本非常可取的。对了Multics系统的初始方法将是这样的,不会有标准的图形输入/输出端子虽然有几个特殊的项目正在尝试。该系统视点最初将所有图形输入/输出将与能够处理立即中断小,专用计算机。这些小型计算机可多路复用几个端子和反过来似乎是不太苛刻到主系统。因此,主系统中断负荷不会变得过大。以类似的方式,需要实时的仪器,如在监测试验装置,预计在一个非标准进行初始处理。哲学是一样的与图形输入/输出,即采用小型,专用计算机处理实时中断,从而在对信息处理的主要主系统来绘制一个更悠闲的方式。

    一般注意事项

    可以预料,在的Multics系统的开发,最终限制将是用户具有它的知识。因此,什么样的系统中包含的文档被认为是该系统的最重要的方面之一。用于此目的的技术已被开发,其中主系统参考手册是要保持上线类似于目前正在做在项目的MAC一种时尚。这使得系统的任何用户获得内容的当前表以相反时间顺序列出的变化。因此,他可以掌握所有的系统更改。因为手工文本上线,一个是能够​​获得即时访问在任何时间或在任何终端的最新变化。联机存储文本还允许系统文档组,通过使用适当的编辑程序,在必要时进行全局修正。当然,手工修改的分布仍然会在普通的方式处理在修订后的手册章节将可在文档室。此外,还应该明确的是,没有什么可以替代一个好编辑维护纪律在文档和参考材料智能选择性。如一个在这里给出相信一个文档的技术是绝对必要的,当系统的用户不再访问计算中心在他们的日常活动的过程中。谁是在200英里外的计算机安装的用户应该有近有关系统为一个谁在20英尺远的同样的知识。
    考虑的另一个方面是,与批量处理的相容性。在的Multics系统为GE645,这将是可以同时使用,但是独立地,在GECOS批量处理系统; GECOS下运行的用户作业的行为应该正是因为他们做的GE625或635 GE电脑。将努力以允许GECOS用户方便地切换到操作的Multics的帧,但将有基本上不同设计的两个系统之间的兼容性并没有特别的尝试。在GECOS系统的用户可以继续使用GECOS系统,直到他准备在自己的地点,时间,和选择做出改变对Multics的系统。这当然,减轻管理者安装的几百人改变他们的习惯计算一天的瞬态效应的Multics系统,从而允许正常的不满,在这样的情况下产生的分布。
    一问多址系统的必然问题是什么身份,将有同时上线的用户。答案,当然是高度依赖于哪些用户在做什么。显然,如果他们正在请求几乎没有,可以拥有终端的几乎无限多的。反之,如果一个人希望,对于一个单一的问题,系统资源,这等于整个计算系统,可以想象,如果所述调度政策允许的话,有可能只有一个终端连接到系统。如果假设该服务要求类似于那些已经经历了项目的MAC,然后在处理器和内存速度的简单的比例的基础上,预期该系统将能够同时服务于几百个用户。但它是危险的预测任何明确的数字;而在这种类型的系统中的相关参数经常会遇到的成本性能的数字。性能,当然,是有些主观的,但问题是不是那些的存储器速度,处理器速度或输入/输出速度。相反,用户应该判断系统由服务的质量和种类,响应时间,可靠性,理解该系统的整体自如,且相对于他使用该系统的界面的性能。例如,相关问题的PL/ I的用户询问是多么昂贵,平均,译者是每条语句,是多么容易调试的语言,以及如何有效地翻译生成的目标代码运行。这里,目标代码所指的是,对整个问题,而不是仅仅为分离的“内核”;效率是指执行问题所需的总资源消耗。并由此包括输入/输出要求为好。

    结论

    对于Multics的系统目前的计划是不是高不可攀。然而,这是冒昧认为初始系统可以成功地满足所有已设置的要求。该系统将演变下的用户和他们的活动很长一段时间的影响,并在方向这是很难预测在这个时候。经验表明,对线路终端的可用性大大改变用户的使用习惯而这些变化反过来又提出修改和补充系统本身。据预计,大多数系统增加将来自用户自己的系统最终会成为全社会的程序和数据的知识信息库。
    该系统的Multics无疑也开创大课不仅在科学和工程,而且在其他领域,如商业和教育的新用途。正如引入的高级编程语言,如FORTRAN,在折痕由一个数量级使用计算机的人的数目,操作为实用的多址系统将大大的信息处理系统的开发延伸到具有显著的点社会后果。这样的社会问题进行了探讨由大卫·法诺和一个配套文件。[5]

    参考资料

    百度百科multics:
    http://baike.baidu.com/link?url=Cnl3GjA5ZnUcprN6JO-I4eJCRe1ysVFtoa5Pds9C25up_CiZfjJQZ6uJ5cP-QqtriWDt0NOHqp4tQD6Nac6Ojq

    最新历史版本 Multics:
    http://www.techcn.com.cn/index.php?edition-view-182411-0.html

    Introduction and Overview of the Multics System:
    http://www.multicians.org/fjcc1.html

    展开全文
  • Unix的诞生和Multics(Multiplexed Information and Computing System)是有一定渊源的。当时开发者Brian Kernighan开玩笑地戏称这个不完善系统MULTICS其实是:“UNiplexed Information and Computing System”,缩写...
    Unix的诞生和Multics(Multiplexed Information and Computing System)是有一定渊源的。当时开发者Brian Kernighan开玩笑地戏称这个不完善系统MULTICS其实是:“UNiplexed Information and Computing System”,缩写为“UNICS”。于是这个项目被称为UnICS(UniplexedInformation andComputingSystem)。后来,大家取其谐音这个名字被改为UNIX

     

        当年的计算机好玩吗?那是相当的难玩啊。如果你想用计算机来做道1+1等于几的数学题,你需要自己用二进制码来编制计算机程序,然后用穿孔纸带打上孔,然后再将纸带塞进计算机,计算机再将结果打在穿孔纸带上,然后你再根据穿孔纸带上的孔,来写出二进制代码,然后再将二进制码翻译成咱们看得懂的话。

    清明节祭祖 历数PC发展史上的祖先们

    法国纺织机械师布乔在19世纪提出穿孔纸带概念

        不过,随着305RAMAC以及集成电路的出现,通用型计算机的诞生成为了可能。于是,1964年美国国防部委托麻省理工、贝尔实验室以及通用电气公司开发一种“公用计算机服务系统”,简称MULTICS。

    清明节祭祖 历数PC发展史上的祖先们

    参与MULTICS的科学家

        1965年,MULTICS的研发工作正式开展,当初研发的设想是通过建置在美国通用电力公司的大型机GE-645,来连接1000部终端机,支持300的用户同时上线。

    清明节祭祖 历数PC发展史上的祖先们

    通用公司的GE645大型计算机

        但是在当时的技术条件下,研发这样的通用操作系统存在了太多难以解决的技术难题。以至于研发进度极为缓慢,直至1969年,MULTICS依然难以问世。随后,贝尔实验室退出了研发队伍,而美国国防部也决定裁撤MULTICS项目,通用公司随即退出。

    清明节祭祖 历数PC发展史上的祖先们

    运行在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  (Multiplexed Information and Computing Service) is a comprehensive, general-purpose programming system which is being developed as a research project. The initial Multics system will be ...
  • 操作系统简介

    2019-09-22 21:47:12
    ​ 熟悉这段历史的人都知道,贝尔实验室中的有个叫 Ken Thompson 的人,他为 MULTICS 这个操作系统写游戏了个叫“Space Travel”的游戏,在 MULTICS 上经过实际运行后,他发现游戏速度很慢而且耗费昂贵 —— 每次...
  • 数据库简史

    千次阅读 2020-02-27 09:47:49
    1976年,Honeywell(霍尼韦尔)公司,开发了MRDS(Multics关系数据存储,Multics Relational Data Store),这是第一个商用关系数据库系统。 1982年,Stonebraker离开伯克立大学,创建了Ingres 公司。 ● 1.1 ...
  • T公司和贝尔实验室等共同开发的MULTICS(多路信息计算系统)。自那开始,整个操作系统的演化可分成以下三个阶段: (1)Unix初始系统诞生。此时的操作系统主要面向专业人士,无可视化界面,非专业人士不可用。 (2...
  • Lunix历史及如何学习

    千次阅读 2019-10-15 22:28:47
    为了更加强化大型主机的功能,以让主机的资源可以提供更多使用者来利用,在 1965 年前后,由贝尔实验室(Bell)、麻省理工学院(MIT)及奇异公司(GE, 或称为通用电器)共同发起了 Multics 的计划,Multics 计划的目的是想...
  • Linux 基础学习(笔记)

    千次阅读 多人点赞 2019-09-16 08:21:39
    当时在开发Multics项目的时候,实验室中有一个开发成员开发了一款游戏(travel space:遨游太空),因为两个实验室相继离开项目开发,导致这名开发人员没法玩游戏,后来他提议组织人员重新在Multics项目之上重新的...
  • linux 学习

    2018-06-25 14:36:25
    1965 年,Bell 实验室、MIT、GE(通用电气公司)准备开发 Multics 系统,为了同时支持 300 个终端访问主机,但是 1969 年失败了;   刚开始并没有鼠标、键盘,输入设备只有卡片机,因此如果要 测试 某个程序,则...
  • 日报

    2020-07-03 21:04:08
    它的部分技术来源可追溯到从 1965 年开始的 Multics 工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电气公司联合发起,目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的...
  • UNIX 系统

    千次阅读 2020-01-01 12:39:21
    Multics操作系统设计目标是要向大的用户团体提供对计算机的同时访问,支持强大的计算能力与数据存储,以及允许用户带需要的时候容易共享他们的数据。 1969年Multics在GE645计算机上运行了,但它既没有能提供预定的...
  • 1976 年霍尼韦尔公司(Honeywell)开发了第一个商用关系数据库系统——Multics Relational Dat a Store。关系型数据库系统以关系代数为坚实的理论基础,经过几十年的发展和实际应用,技术越来越成熟和完善。其代表...
  • 早期的文件系统是扁平的,没有文件层次(hierarchy)的概念,Linux的前身Unix的前身Multics——爸爸的爸爸叫爷爷,总之,Linux的“爷爷”在1965年的时候成为第一个有文件层次的系统。当年的论文我们还能看到。 A ...
  • 在1964年,MIT开始了一个预研项目:Multics(Multiplexed Information and Computing Sercive,多路复用信息和计算服务)是大型分时操作系统。该项目有一个宏大的目标,希望可以开发出一个大型主
  • 世界上最著名的操作系统是用什么语言编写的?

    万次阅读 多人点赞 2020-06-05 08:18:23
    1964年,在 Unix 诞生之前,美国贝尔实验室、通用电气、和麻省理工学院联合开发了一个项目,叫做 Multics操作系统。Multics 在当时取得了巨大的成功,因为它给了人们一个真正可用并且很稳定的操作系统。当时从学校.
  • Linux发展史与安装

    2020-04-17 12:40:38
    1968年 Multics项目 MIT、Bell实验室、美国通用电气有限公司走到了一起,致力于开发Multics项目。到后期由于开发进度不是很好,MIT和Bell实验室相继离开这个项目的开发,最终导致项目搁浅。 1970年(Unix元年,...
  • 操作系统概念_第十四章_保护

    千次阅读 2018-06-16 17:00:28
    MULTICS系统 将保护域组织成一个 环状层次结构 。 每个环对应一个单独的域。这些环按顺序用 数字0~7编号 。 Di 和 Dj ( 0,j )为任意的两个域,如果 j ,那么 Di 是 Dj 的一个子集。也就是说,在 Dj 中运行的...
  • (Novell NetWare在这一方面击败了微软,但我认为MULTICS让他们都击败了……>微笑<) >服务控制管理器,包括控制访问启动/停止/暂停服务程序的权限系统,设计得非常好,并且在设计上更加健壮,各种“init.d”脚本“架构”...
  • 今天闲来无事就和大家从DOS和Unix系统开始谈谈现代操作系统的发展历史.这也是我第一次发微博,写的不好请大家见谅. 我们先来看看微软的Windows传奇的发展历史,期中充满的不为人知的秘密将为大家揭晓....
  • 汤普森出生于美国新奥尔良,大学就读于加州大学伯克利分校,主修电气工程,1966年加入贝尔实验室,参与了实验室与麻省理工学院以及通用电气公司联合开发的一套多用户分时操作系统——Multics。在贝尔实验室的这段...
  • 操作系统

    2017-05-19 17:02:35
    MIT,贝尔实验室和通用电气在CTTS成功研制后决定开发能够同时支持上百终端的MULTICS(其设计者着眼于建造满足波士顿地区所有用户计算需求的一台机器),虽然失败了,但是后来一位参加过MULTICS研制的贝尔实验室...
  • Linux发展史

    2018-10-27 13:54:42
    为了更加强化大型主机的功能,以让主机的资源可以提供更多使用者来利用,所以在1965年前后, 由贝尔实验室(Bell)、麻省理工学院(MIT)及奇异公司(GE)共同发起了Multics的计画, Multics计画的目的是想要让大型主机...
  • T的贝尔实验室联合开发Multics工程计划,其目标是开发一种交互式的具有多道程序处理能力的分时操作系统,但因Multics追求的目标过于庞大,项目进度远落后于计划,最后贝尔实验室宣布退出。   1969年,贝尔实验室的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,906
精华内容 1,562
关键字:

Multics

友情链接: 程序.rar