CP/M世界上第一个微机操作系统

CP/M世界上第一个微机操作系统

微软宣布2014年4月8日将不再对Windows XP系统进行更新,宣告这个存活了13年的史上寿命最长的微机操作系统基本上寿终正寝。很多人都知道这是个脱胎于DOS的系统,也潜意识中认为DOS是微机操作系统的鼻祖。不过,这大错特错,世界上真正的首个微机操作却是CP/M。

1946——1974年,“脑残”的电脑

根据冯·诺依曼原理,可把计算机分为控制器(CPU)、运算器、存储器(内存)、输入设备(键盘鼠标)和输出设备(显示器或打印机)几部分。如果想让这几部分协调运作,则需要一个CEO——操作系统,负责分配电脑中各种硬件资源的分配和调度。没有CEO的团队很难达成目标,而没有操作系统的电脑其实就是一无脑的木偶,只能等待着有人给派任务,是名符其实的“脑残”。

“早期的电脑没有操作系统”,这一说法明显有误,确切地应该说是没有一个通用的操作系统。最初,为了操作电脑,通常只能采用手工操作方式。程序员先要将对应于程序和数据的已穿孔的纸带装入输入机;然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果。如此周而复始,效率相当低下。

虽然人们通过各种方法试图提高效率,也取得了较好的效果。但作为和计算机底层进行交互的工具,一般人无法编写出相应的程序来完成这一任务,以至于计算机只是专业人士的专利,无法走入大众生活也就不足为奇了。将硬件调试这一任务剥离出来做成专业化成为一种需求——即对操作系统的需求呼之欲出。虽然在IBM等小型机上已经出现了Unix操作系统,但在微型计算机上还未实现。

1974年 第一个微机操作系统CP/M诞生

“时事造英雄”,这一历史重任落到了加里·基尔代尔身上。一切都源于Intel于1971开发的第一块微处理器4004上。它的第一声啼哭并不响亮,因为没有人感觉到它出生的能给这个世界带来什么重要变化。但加里·基尔代尔从Intel一块“25美元卖一台微机”的广告上注意到了。为此,他舍弃了价值300万美元的IBM360计算机,转而研究Intel4004。他的目标是利用这块芯片为父亲制作一个导航计算器。但在研究过程中他发现Intel4004的指令集不够用,进而联系了Intel公司。Intel对导航计算机器不感兴趣,但对基尔代尔开发的应用程序感兴趣,因此在1973年邀请其进入Intel公司参观,并将新产品Intel8008交其使用。基尔代尔花了几个月时间,开发出微处理器程序设计语言——PL/M,通过该语言,在DEC公司的TOP-10主机上,成功开发了一个管理程序和数据的控制程序,并于1974年发布了其第一个版本CP/M 1.3(Control Program/Microprocessor or Microcomputer即微处理器或微机控制程序),从此基于Intel芯片的微机上也有了通用的控制调试程序,微机操作系统的大幕从此拉开。

1974——1980年,执牛耳者CP/M

CP/M因其短小、精致、管理文件方便而著称,可实现对磁盘文件的自动存取。其创新性在于通过模块分层结构,将操作系统分了三层。上层为CCP(控制台命令处理程序)用来处理控制台命令,类似于Windows中进行复制、新建等命令;中层为BDOS(基本磁盘操作系统),是CP/M的核心,类似于整个Windows运行平台;下层为BIOS(基本输入输出系统),是CP/M与机器硬件的接口,类似于主板中BIOS。CP/M最早被用8位微机上,后来不断发展,可以运行在Intel8086和Motoroal的各种机型上。这种设计理念一直影响着后来者。之后加里·基尔代尔成立了数字研究公司(DRI),专门负责CP/M操作系统的开发与销售。由于CP/M通用性较强,订单滚滚而来。CP/M成了1980年代之前最有影响的PC操作系统,有将近3000种软件支持CP/M机,CP/M成了操作系统的事实标准。

遗憾的是,基尔代尔是个技术天才,但远不是个合格的商人,随着微软携DOS进入操作系统领域,CP/M节节败退,直至退出市场。而基尔代尔从此变得压抑和消沉,整日借酒浇愁,1994年7月,年仅52岁的基尔代尔不幸离世。

1981——1994年 ,DOS的天下

说到DOS,许多朋友就都熟悉了,其中尤以MS-DOS最为著名,用户数量最多。直到最新的Win8中,也还留有“命令行提示”功能,打开的界面就有MS-DOS的影子。不过,它并不是微软的原创,而是盖茨在1981年花五万美元从程序员蒂姆·帕特森手里买到的86-DOS操作系统的改进版,并将它更名为MS-DOS。而86-DOS是以CP/M为蓝本开发的。从DOS1.0到DOS6.2,使得Microsoft从真正的微软逐渐成长为真正名付其实的软件霸主。

与此同时,DOS也出现了分支,这些基于CP/M操作系统的DOS家族逐步发展出了包括MS-DOS、PC-DOS、DR-DOS、Free-DOS、PTS-DOS、ROM-DOS、JM-OS等,其中以MS-DOS最为著名,最自由开放的则是Free-DOS。而随着微软Windows的推出,DOS逐渐退居幕后,以命令行的形式存在于系统中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567464.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安卓 usb音量调节_戴尔推出面向Teams和Zoom视频通话的USB-C免提适配器

COVID-19 大流行期间,许多企业将会议安排在了线上举办。为方便通过 Microsoft Teams 和 Zoom 之类云视讯平台进行沟通的笔记本电脑用户,戴尔特地推出了新款 USB-C 音频适配器。作为一款两用配件,MH3021P 不仅可以作为有线通话的免提适配器(集…

word表格美化技巧:如何统一改变表格的样式

在Word中插入的表格默认都是黑边白底,看上去非常的单调。比如这样: 很多小伙伴都是在新建表格并且填完数据之后,应用表格样式,来提升档次,如下: 但是,每次新建表格后再选择应用【表格样式】&…

banner信息是什么_我的设计成长笔记—第10篇(banner)

Banner2019年5月9日这里是我的设计成长笔记—————————————————Banner为什么单独拿出来聊因为我有差不多一年的时间都在做这个在我的成长过程中,banner是过渡从平面/美工到UI设计的一个过程。在这个过程中,我对设计的理解分成了三个部分第…

后台原理_电气控制原理动图22张,超赞!

今天从低压电器、电动机及控制线路、传感器及控制原理三部分来分享22张超赞的原理动图。低压电器部分1按钮开关2闸刀开关3行程开关4交流接触器5热继电器6时间继电器7速度继电器电动机及控制线路1异步电动机2直流电动机3步进电动机4永磁电机5正反转控制6自动往返控制7顺序控制8多…

[word技巧]把标题、图表题注编号由“一.1”改为“1.1“

一、问题描述 写作中文报告时,有时会要求一级标题用类似”第一章”的中文编号,二级标题用1.1这类编号,图表题注用“表1.1”的编号。此时,由于一级标题用的是中文数字(如“一”)作为序号,因此wor…

excel中怎样用公式获取表单控件_挑战高手:用不到 100 行代码,在前端实现 Excel 全部功能...

(点击图片获取专属你的开发工具)SpreadJS是一款基于 HTML5 的纯前端表格控件,兼容 450 种以上的 Excel 公式,具备“高性能、跨平台、与 Excel 高度兼容”的产品特性广受世界各地名企追捧。接下来让我们看看其具有哪些独特优势吧!四大优势&…

vissim免修改时间工具_App闪退怎么办?免越狱如何安装未签名的App?

由于最近苹果大规模的封签名,导致在第三方渠道下载的软件都出现闪退没法使用的现象。目前的替代方法就是使用电脑端 Cydia Impactor 来给 App 进行自签,虽然相对比较麻烦,但这也是目前针对企业签名无法使用的唯一解决方法。下面以安装 FilzaE…

word表格美化技巧:如何统一改变表格的样式2+续表制作

一、表格样式 开始-样式-新建样式-样式类型:表格。 单独设置标题行,汇总行等格式即可。表格样式会显示在-设计-样式-表格样式中。 问题:汇总行无效。 即可。 二、续表 直接复制表格及题注到下一页,然后下下面表格的题注修改为…

excel条件格式详解

1、基于公式返回的逻辑值去判断,True则执行条件格式,FALSE不执行。 2、基于区域第一个单元格的公式,依次根据单元格引用方式判断区域内公式是否成立。 函数: 使用条件格式: 函数: 条件格式: 函…

ccf a类会议_CCF推荐 | 人工智能领域顶级会议:截稿日期批量速递

以下为已公布截稿日期的CCF推荐,人工智能领域会议,按照时间排序。个别会议因为没有公布截稿信息而不在所列时间线内。录取率信息为网络上可获得的最近年份数据,不一定是上一年的,文中尽量选择同时带有投稿量的数据年份供大家参考.…

python递归调用详解_Python递归调用自己的函数

原博文 2019-11-16 10:36 − def fact(x): if x 1: return 1 else: return x * fact(x-1) ...0191 相关推荐 2019-09-28 21:13 − Python python是一种跨平台的计算机程序设计语言,是一种面向对象的动态类型语言。 最初被设计用于编写自动化脚本(shell)&#xff0c…

vue跳转到外部链接_前端实战项目:Vue.js实现外卖平台webapp,饿了么项目的翻版...

链接:https://github.com/ljianshu/mt-app适合没有经验的朋友。项目涉及到技术栈:vue全家桶:Vue、Vue-router、Vue-cli等 组件化:单Vue文件 模块化:ES6 Module 第三方模块:better-scroll axios等 基础开发环…

令xtu3service开机时立即启动_Mac开机时可以使用的快捷键 苹果电脑快捷键使用介绍...

大家都知道所有电脑在开机时,按住一些按键可以访问一些功能,当然Mac电脑也不例外。苹果电脑通过在开机启动时按住一个或多个按键可以访问一些Mac功能和工具。如果各位用户使用这些开机键组合键中的任何一个,可在按下电源按钮后,重…

word 插入图片显示不全

word插入图片显示不全: 解决方案: 选中图片-段落-行距-选择单倍、或者多倍行距都可以。即可。

操作系统-进程同步与互斥易混点

解惑1: 为使多个进程能互斥的访问某临界资源,只须为该资源设置 一个互斥信号量 mutex,初值为 1(代表临界资源只有一个) mutex初值为1.取值范围为[-1,0,1] 当mutex1时,表示两个进程皆未进入需要互斥访问的…

linux降低eigen3版本_玩转 Windows 自带的 Linux 子系统 (图文指南)

涉及到计算机科学离不开 Linux 系统,当然,也离不开Windows。但是,二者从操作到核心的不同,貌似让鱼和熊掌不可兼得。但是!微软已经拿出了一款让鱼和熊掌兼得的方案 WSL (Windows Subsystem for Linux&#…

处理死锁的四种方法

前面讲过预防死锁是通过破坏死锁的四个必要条件,所以就有四个预防死锁的方法吗?错!只有三种,因为互斥条件是必须的,不仅不能改变,还应该加以保证。因此只能破坏后三个条件。 一、破坏请求和保持条件 方法…

c++输出小数点后几位_Python格式化输出的精度和位数控制

上一期小哥讲解了Python格式化输出的三种方式:本期小哥讲解一下关于小数精度和字符串位数的控制:1. 小数精度控制Python中对于小数精度的控制的使用方法:# 定义变量a 3.1415926# 小数点后保留3位%.3f% a# 输出:3.142# 小数点后保…

tomcat 参数最佳实践_一线架构师开发总结:剖析并发编程+JVM性能,深入Tomcat与MySQL...

每一个程序员都有自己清晰的职业规划和终极目标,无论之后是继续钻研技术,还是转管理岗、产品岗,都是需要自己具备有一定的实力,换句话说技术要牛逼。架构师,是很多程序员的终极目标,而成为一名Java架构师&a…