年全国两会将“坚持创新驱动发展”列入“十四五”时期主要目标之一,并强调要打好关键核心技术攻坚战,一时间“高端芯片”、“操作系统”等“卡脖子”技术成为了热议话题。不同于去年多次登上热搜榜的芯片,操作系统鲜有讨论范围如此之大、战略地位如此之高的“高光时刻”,但其作为计算机系统的核心,既向上承载软件应用,又向下控制CPU及硬件,地位极其重要,当然创新难度也极高。
说到操作系统,大部分人的认知可能仅停留于PC操作系统或安卓、ios等手机操作系统层面,很少对这一关键技术的“前世今生”有系统的了解。
作为从业企业之一,优易数据坚持创新并自研“数据操作系统DataOS”,不仅积极探索数智时代下操作系统与诸多领域深度结合的无限可能,还想跟大家普及下它的起源与发展,毕竟只有正确的认识历史,才能更好的创造未来!下面就跟着优小易一起开启“操作系统”的学习之旅吧!
上篇:从单一的手工操作到全球人机联接
如同其他新事物一样,操作系统的概念也是在技术与产品的迭代中逐步形成的,目前通用的定义如下,来自百度百科。
操作系统(OperatingSystem,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统提供了一个让用户与系统交互的操作界面。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。
出于对资源利用效率、使用便捷度、场景化应用的追求以及计算机体系结构与硬件的发展,操作系统不断更新迭代,在不同的时代涌现出多种多样的类型化产品,我们简单梳理并制作成图,大致历程如图所示:
操作系统发展历程与典型产品(点击可放大)
传统计算机时代,从手工操作、单道批处理系统,到多道批处理系统、分时操作系统、实时操作系统以及通用操作系统,操作系统一步步从无到有,并日趋完善,为全球人机连接的实现奠定了坚实的基础。
1、手工操作
年世界上第一台计算机诞生,为人类开辟了一个崭新的信息时代。但此时的计算机并没有操作系统,而是采用手工操作方式处理任务。
大型计算机
程序员将事先编写(最初采用机器语言编写,后来采用汇编语言编写)好的程序和数据穿孔在纸带或卡片上,将穿孔纸带或卡片装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行。计算完毕,通过打印机输出计算结果。用户取走结果并卸下纸带(或卡片)后,才能让下一位用户上机。
这种手工操作方式的特点也显而易见:
①用户独占全机,导致资源的利用率低。
②CPU的高速与手工操作的低速之间矛盾巨大,人机速度极不协调,资源浪费严重。
2、单道批处理系统
20世纪50年代后期,为了克服手工操作的慢速度和计算机的高速度之间的矛盾,出现了成批处理系统,即在计算机上加载一个系统软件(监督程序),在它的控制下,计算机能够自动地、成批地处理一个或多个用户的作业(包括程序、数据和命令等)。
在这一阶段首先出现的是联机批处理系统,就是在主机与输入机之间增加一个存储设备——磁带,在运行于主机上的监督程序的自动控制下,计算机可自动成批地把输入机上的用户作业读入磁带,依次把磁带上的用户作业读入主机内存、执行并把计算结果向输出机输出。
但此种方式仍然不能高效的利用CPU的处理能力,于是又引入了脱机批处理系统,简单来说就是增加一台专门与输入和输出设备打交道的卫星机,不与主机相连,单独服务外接设备,这样主机与卫星机可并行工作,主机与速度相对较快的磁带机发生关系,有效缓解了快速主机与慢速外设的矛盾,进一步提升了资源利用效率。
虽然批处理系统对作业的处理是成批进行的,但在内存中始终只保持一道作业流程,所以也将其归为单道批处理系统。
3、多道批处理系统
直到20世纪60年代中期,多道程序设计技术出现,正式进入多道批处理系统阶段,IBM的OS/系统就是当时的典型代表。
多道程序设计技术可同时把多个程序放入内存,并允许它们交替在CPU中运行,共享系统中的各种硬、软件资源。当一道程序因I/O(输入/输出)请求而暂停运行时,CPU便立即转去运行另一道程序。就像打地鼠一样,游戏停止之前,CPU手中的“锤子”永远在不停的执行“打地鼠”任务。
如此一来,CPU、I/O设备和内存都可以高效协同运作,大大提升了系统的效率。
多道批处理系统的特点也很明显:
①一是多道:系统内可同时容纳多个作业。这些作业放在外存中,组成一个后备队列,系统按一定的调度原则每次从后备作业队列中选取一个或多个作业进入内存运行,运行作业结束、退出运行和后备作业进入运行均由系统自动实现,从而在系统中形成一个自动转接的、连续的作业流。
②二是成批:在系统运行过程中,不允许用户与其作业发生交互作用,即作业一旦进入系统,用户就不能直接干预其作业的运行。
多道程序系统的出现,标志着操作系统渐趋成熟,并且伴随业务需求的发展出现了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能,系统的综合能力进一步丰富。
4、分时操作系统
虽然批处理系统能够提高系统资源利用率和吞吐量,但并不提供人机交互能力,为了提升用户使用的便捷性,20世纪60年代的中后期,采用分时技术的分时操作系统出现了。
分时技术原理的核心是把处理机的运行时间分成若干个很短的时间片,按时间片轮流把处理机分配给各联机作业使用。这样一来,每个用户都可以通过自己的终端输入任务、得到输出结果,而计算机则高速运转,轮流处理各终端任务,人机交互能力大幅提升。在分时操作系统领域,UNIX与Linux家喻户晓,直到现在,Linux依然是很多领域技术开发的基础,备受青睐。
分时操作系统有以下特点:
①多路性,若干个用户同时使用一台计算机。原理上是各用户轮流使用计算机,但宏观上看是各用户并行工作。
②交互性,用户可根据系统对请求的响应结果,进一步向系统提出新的请求,持续互动。这种能使用户与系统进行人机对话的工作方式,明显地有别于批处理系统,因而分时系统又被称为交互式系统。
③独立性,用户之间可以相互独立操作,互不干扰。
④及时性,系统可对用户的输入及时作出响应。
5、实时操作系统
多道批处理系统和分时系统确实对资源利用率、系统响应时间做出了大变革,但在实时控制与实时信息处理的应用领域却很难满足需求。正因如此,实时操作系统应运而生。
对于这一系统来说,时间参数是最主要的要素。系统必须能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该事件的处理,“实时”和“可靠”是显著的特征。
典型的实时操作系统有VxWorks,RT-Thread,uCOS,QNX,WinCE等。
6、通用操作系统
20世纪60年代后期,通用操作系统出现,它同时兼有多道批处理、分时、实时处理的功能,或至少兼具其中两种以上的功能,综合实现资源高效利用、实时可靠的快速响应以及便捷的人机交互,至此,操作系统的基本概念、功能、基本结构和组成都已形成并渐趋完善。
7、PC操作系统
技术的迭代总会带来新的机遇,并激发无限想象力。一如集成电路技术的跨步发展,不仅推动计算机向微型化方向迈进,还为PC操作系统的出现提供了良好的硬件基础。
年代,家用计算机开始普及,出现了PC操作系统。最初的微机操作系统均为命令行操作系统,用户需要通过一行行代码与电脑“交流”,如CP/M系统和DOS系统。
人类历史上第一台真正意义上的个人电脑诞生于年,由施乐公司开发,它有我们熟悉的键盘、显示器、图形界面、以太网等,虽然这没有引起施乐公司自身的重视,但却让苹果和微软受到了启发,他们紧紧抓住这一机遇,分别于年和年开发了各自的经典操作系统产品,也就是我们现在常用的macOS和Windows,推动图形界面操作系统走入了寻常百姓家。
施乐Alto电脑
图形界面操作系统打破了之前命令行操作系统的交互弊端,用户只需点击简洁、清晰的图标就可以与电脑轻松互动,使用门槛大幅度降低,也带来了前所未有的热衷与追捧,拥趸无数,全球人机连接成为现实,也为我们的社会发展、生产方式以及生活模式都带来了巨大的变化。
寥寥数百字并不能详尽的道出PC操作系统的迭代进程与辉煌成就,但身处这一时代的我们,日常工作和生活都得益于它带来的高效与便捷。而它自身也亦步亦趋,与不断变化的环境、需求裹挟前行,为操作系统的持续进化、产品迭代贡献着自己的力量!
因篇幅限制,今天的学习就到这啦!关于操作系统百花齐发的现在以及无限可能的未来,我们下篇文章再继续解读,敬请