【操作系统】详谈操作系统的发展历程

文章主题

  • 导读
  • 一、手工操作阶段
    • 1.1 计算机的诞生
    • 1.2 计算机的使用
  • 二、批处理阶段
    • 2.1 单道批处理系统
    • 2.2 多道批处理系统
  • 三、分时操作系统
    • 3.1 分时技术
    • 3.2 分时操作系统
    • 3.1 分时系统的主要特征
  • 四、实时操作系统
  • 五、网络操作系统和分布式计算机系统
  • 六、个人计算机操作系统
  • 结语

封面

导读

大家好,很高兴又和大家见面啦!!!

在上一篇内容中我们介绍了操作系统的四大基本特征——并发、共享、虚拟和异步。在开始今天的内容前,我们先简单的复习一下前面的内容:

  • 对于操作系统而言,并发和共享是它的两个最基本的特征。
  • 并发指的是两个或多个事件在同一时间间隔内发生。
  • 共享指的是系统中的资源可供内存中多个并发执行的进程共同使用。
  • 如果操作系统不能实现资源共享,也就是说计算机中的资源只能够给一个程序使用,那就不存在多个程序在同一时间间隔内同时发生的情况,也就没有了并发;
  • 如果操作系统不能实现并发,所有事件都是顺序进行,也就是说不存在计算机资源的争抢问题,那就不需要资源共享;
  • 虚拟指的是把一个物理上的实体变为若干逻辑上的对应物。
  • 异步指的是在多个程序并发执行的过程中,由于资源有限,进程的执行并不能一贯到底,而是走走停停的,以一种不可预知的速度向前推进。
  • 借助并发与共享,操作系统将有限的物理资源进行了逻辑上的扩充,从而实现了虚拟;
  • 但是由于资源的有限性,无法支持多个进程一直执行,所以需要时不时的停下来休息一下,这就带来了异步;

通过前面的学习,我们可以了解到现在我们接触的操作系统是十分强大的,但是操作系统并不是从诞生之初就是如此强大的,它也和人类一样在漫长的岁月里不断地打怪升级慢慢的成长起来的。在今天的内容中,我们将会介绍操作系统的发展史,来看一下这个咱们这位老友是如何一步一步走向强大的。

一、手工操作阶段

1.1 计算机的诞生

在上世纪40年代,也就是1946年,第一台通用计算机 ENIAC 问世并开始投入使用。与1949年8月,第一台离散变量自动电子计算机 EDVAC问世,与1951年正式开始投入运行。
[ENIAC]: 第一台通用计算机
[EDVAC]: 第一台离散变量自动电子计算机

1.2 计算机的使用

自从 ENIAC 问世以来,计算机还只是用于战争中计算导弹弹道的工作,当时的科学家们对计算机的工作还是采用手工操作的方式:

通过人工将对应用程序和数据的已穿孔的纸带(或者卡片)装入输入机,然后启动输入机,把程序和数据输入计算机的内存,接着通过控制台开关启动程序针对数据运行;
计算完毕后,打印机输出计算结果;
用户取走结果并卸下纸袋(或卡片)后,才让下一个用户上机

在使用计算机的整个过程中都需要人工干预,如程序的装入、运行、结果的输出等。这种手工操作方式存在两个突出的缺点:

  1. 用户独占全机,岁让不会出现因资源已被其他用户占用而等待的现象,但是资源利用率低。
  2. CPU等待手工操作,CPU的利用不充分。

在 EDVAC 问世之后,随着时代的更替,计算机硬件也在不断地发展,随之而来的计算量也在不断地增加。与20世纪50年代后期开始出现人机矛盾:

人机矛盾

  • 手工操作的慢速度与计算机的高速运算之间产生了尖锐的矛盾。手工操作方式已经严重损害了系统资源的利用率,通过手工操作方式对操作系统资源的利用只能做到百分之几甚至更低。

随着时代的继续发展,人机矛盾也越来越大,为了摆脱这个矛盾,唯一的解决办法就是用高速的机器来代替相对较慢的手工操作来对作业进行控制。

二、批处理阶段

为了解决人机矛盾以及CPU和I/O设备之间速度不匹配的矛盾,出现了批处理系统。按发展历程又分为单道批处理系统、多道批处理系统。

2.1 单道批处理系统

人们通过引入脱机输入/输出技术(用外围机+磁带完成),并由监督程序负责控制作业的输入、输出。

脱机输入输出技术
在单道批处理系统中,系统对作业的处理是成批进行的,但内存中始终保持一道作业。单道批处理系统是在解决人机矛盾以及CPU和I/O设备速率不匹配的矛盾中形成的。其主要特征如下:

  • 自动性。在顺利的情况下,磁带上的一批作业能够自动地逐个运行,而无需人工干预。
  • 顺序性。磁带上的各道作业顺序地进入内存,各道作业的完成顺序与它们进入内存的顺序在正常情况下应完全相同,亦即先调入内存的作业先完成。
  • 单道性。内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存运行,当该程序完成或发生异常情况时,才换入其后继程序进入内存运行。

此时面临的问题是:每次主机内存仅存放了一道作业,每当它在运行期间发出输入/输出请求后,高速的CPU便处于等待低速的I/O完成的状态。
存在问题
在这种情况下,计算机CPU的利用率相比于手工操作阶段是有所提升,但是还不够高,CPU仍存在大量的空闲等待状态。

2.2 多道批处理系统

为了进一步提高资源的利用率和系统的吞吐量,于是便引入的多道程序技术。

多道程序设计技术允许多个程序同时进入内存并允许它们在CPU中交替地允许,这些程序共享系统中的各种硬/软件资源。
当一道程序因I/O请求而停止运行时,CPU便立即转去运行另一道程序。
它不采用某些机制来提高某以技术方面的瓶颈问题,而让系统的各个组成部分都尽量去“忙”,因此切换任务所花费时间很少,可实现系统各部件之间的并行工作,使其整体在单位时间内的效率翻倍。

多道程序设计的特点是多道、宏观上并行、微观上串行。

  • 多道。计算机内存中同时存放多道相互独立的程序。
  • 宏观上并行。同时进入系统的多道程序都处于运行过程中,即它们先后开始各自的运行,但都未运行完毕。
  • 微观上串行。内存中的多道程序轮流占有CPU,交替执行。

多道程序设计特点
多道程序设计技术的实现需要解决以下问题:

  • 如何分配处理器。
  • 多道程序的内存分配问题。
  • I/O设备如何分配。
  • 如何组织和存放大量的程序和数据,以方便用户使用并保证其安全性与一致性。

在批处理系统中采用多道程序设计技术就形成了多道批处理操作系统。该系统把用户提交的作业成批地送入计算机内存,然后由作业调度程序自动地选择作业运行。

多道批处理系统的优点有:

  • 资源利用率高,多道程序共享计算机资源,从而使各种资源得到充分利用;
  • 系统吞吐量大,CPU和其他资源保持忙碌状态。

多道批处理系统的缺点有:

  • 用户响应的时间较长;
  • 不能进行人机交互,用户即不能了解自己的程序的运行情况,右不能控制计算机。

三、分时操作系统

3.1 分时技术

所谓的分时技术指的是把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用

若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一作业使用,等待下一轮时再继续其运行。由于计算机速度很快,作业运行轮转得很快,给每个用户的印象是,好象他独占了一台计算机。

3.2 分时操作系统

分时操作系统指的是多个用户通过终端同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行交互操作而不互相干扰。因此实现分时系统最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接受并及时处理该命令,再将结果返回用户。

3.1 分时系统的主要特征

分时系统也是支持多道程序设计的系统,但它不同于多道批处理系统。多道批处理系统是实现作业自动控制而无需人工干预的系统,而分时系统是实现人机交互的系统,这使得分时系统具有批处理系统不同的特征:

  1. 同时性。同时性也称多路性,指允许多个终端用户同时使用一台计算机。即一台计算机与若干台终端相连接,终端上的这些用户可以同时或基本同时使用计算机。
  2. 交互性。用户能够方便地与系统进行人机对话,即用户通过终端采用人机对话的方式直接控制程序运行,与同程序进行交互。
  3. 独立性。系统中多个用户之间可以相互独立操作,互不干扰,单个用户感觉不到别人也在使用这台计算机,好像只有自己单独使用这台计算机一样。
  4. 及时性。用户请求能在很短时间内获得响应。分时系统采用时间片轮转方式使一台计算机同时为多个终端服务,使用户能够对系统的及时相应感到满意。

主要特征
在分时操作系统中,多个用户共同使用同一台计算机时,宏观上是各用户并行工作;微观上则是各用户轮流使用计算机;

用户在使用的过程中可根据系统对请求的响应结果,进一步向系统提出新的请求。这种能使用户与系统进行人机对话的工作方式,明显地有别于批处理系统,因而,分时系统又被称为交互式系统。

在计算机运行的过程中,系统保证各用户程序运行的完整性,不会发生相互混淆或破坏现象。

分时系统性能的主要指标之一是响应时间,它是指:从终端发出命令到系统予以应答所需的时间。
分时系统的主要目标:对用户响应的及时性,即不至于用户等待每一个命令的处理时间过长。

分时系统可以同时接纳数十个甚至上百个用户,由于内存空间有限,往往采用对换(又称交换)方式的存储方法。即将未“轮到”的作业放入磁盘,一旦“轮到”,再将其调入内存;而时间片用完后,又将作业存回磁盘(俗称“滚进”、“滚出“法),使同一存储区域轮流为多个用户服务。

多用户分时系统是当今计算机操作系统中最普遍使用的一类操作系统。

四、实时操作系统

虽然多道批处理系统和分时系统能获得较令人满意的资源利用率和系统响应时间,但却不能满足实时控制与实时信息处理两个应用领域的需求。

为了能够在某个时间限制内完成某些紧急任务而不需要时间片排队,于是就产生了实时系统,即系统能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该事件的处理。这里的时间限制可分为两种情况:

  1. 若某个动作必须在规定的时刻(或规定的时间范围)发生,则称为硬实时系统,也称为实时控制系统。如飞行器的飞行自动控制系统,这类系统必须提供绝对保证,让某个动作在规定的时间内完成。
  2. 若某个动作能够接受偶尔违反时间规定且不会引起任何永久性的损害,则称为软实时系统,也称为实时信息处理系统。如飞机订票系统、银行管理系统此类对响应及时性的要求稍弱于第一类。

实时系统在一个特定的应用中常作为一种控制设备来使用:

  • 当用于飞机飞行、导弹发射等的自动控制时,要求计算机能尽快处理测量系统测得的数据,及时地对飞机或导弹进行控制,或将有关信息通过显示终端提供给决策人员,这时就需要用到实时控制系统;
  • 当用于轧钢、石化等工业生产过程控制时,也要求计算机能及时处理由各类传感器送来的数据,然后控制相应的执行机构,这里也需要用到实时控制系统;
  • 当用于预定飞机票、查询有关航班、航线、票价等事宜时,或当用于银行系统、情报检索系统时,都要求计算机能对终端设备发来的服务请求及时予以正确的回答。这里就可以用到实时信息处理系统;

实时操作系统的主要特点:

  1. 及时性。每一个信息接收、分析处理和发送的过程必须在严格的时间限制内完成。
  2. 可靠性。需采取冗余措施,双机系统前后台工作,也包括必要的保密措施等。

五、网络操作系统和分布式计算机系统

网络操作系统是指把计算机网络中的各台计算机有机地结合起来,提供一种统一、经济而有效的使用各台计算机的方法,实现各台计算机之间数据的互相传送的操作系统。
网络操作系统的最主要的特点是网络中各种资源的共享以及各台计算机之间的通信。

分布式计算机系统是由多台计算机组成并满足下列条件的系统:

  1. 系统中任意两台计算机通过通信方式交换信息;
  2. 系统中的每台计算机都有相同的地位,即没有主机也没有从机;
  3. 每台计算机上的资源为所有用户共享;
  4. 系统中的任意台计算机都可以构成一个子系统,并且还能重构;
  5. 任何工作都可以分布在机台计算机上,由它们并行工作、协同完成。

用于管理分布式计算机系统的操作系统称为分布式计算机系统。该系统的主要特点是分布性与并行性。分布式操作系统与网络操作系统的本质不同的是,分布式操作系统中的若干计算机相互协同完成同一任务。

六、个人计算机操作系统

个人计算机操作系统是目前使用最广泛的操作系统,它广泛应用于文字处理、电子表格、游戏中,常见的有Windows、Linux和MacOS等。此外还有嵌入式操作系统、服务器操作系统、智能手机操作系统等。

结语

在今天的内容中我们介绍了操作系统的发展历程:
操作系统发展历程
通过今天的内容,我们了解了不同时期的操作系统的特点,从整个发展历程中我们不难发现,操作系统从诞生到后期的发展,都是为了解决不同时代的问题:

  • 操作系统的诞生是为了解决计算机资源利用率低下的问题;
  • 当计算机的资源利用率提高后,又缺乏人机之间的交互,因此诞生了分时操作系统;
  • 当人机交互不需要特别频繁但需要及时可靠的处理信息时,又诞生了实时操作系统;
  • 为了将计算机网络中的各台计算机有机地结合起来实现各台计算机之间的互相传送,于是就有了网络操作系统;
  • 当需要多台计算机相互协同完成同一个任务时,便设计出了分布式计算机系统;
  • 为了实现计算机的商业化,让更多的普通人能够接触到计算机,像Windows、Linux和MacOS等这些个人计算机操作系统就应运而生;

因此如果要从事IT行业的话,操作系统的相关知识储备对我们而言是必不可少的,随着时代的发展,现在的计算机技术也会逐渐走向智能化,为了顺应时代的发展,我们就需要趁现在打好扎实的基础才行。

今天的内容到这里就全部结束了,在下一篇内容中我们将介绍操作系统运行环境的相关知识点,大家记得关注哦!如果大家喜欢博主的内容,可以点赞、收藏加评论支持一下博主,当然也可以将博主的内容转发给你身边需要的朋友。最后感谢各位朋友的支持,咱们下一篇再见!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【cdo专辑】2.1 文件信息(下)

目录 0.先cd进数据路径(进行操作前一定要进入数据文件夹奥) 1.输出文件格式( cdo showformat nc文件) 2.输出变量名( cdo showname nc文件) 3.输出变量标准名称( cdo showstdname nc文件&am…

从“百模”到“千体”:大模型智能体的竞争格局、商业模式和技术挑战

原本平静的5月,从14日凌晨OpenAI发布GPT-4o开始热闹起来。 一天之后,谷歌在一年一度的开发者大会上发布智能助理项目Astra和轻量化多模态模型Gemini 1.5 Flash。 同一天,字节升级了AI助手“豆包”和应用开发平台“扣子”,并发布…

Postgre数据库初探

一、PostgreSQL介绍 PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES, 版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。POSTGRES 领先的许多概念在很久以后才出现在一些商业数据库系统中。 PostgreSQL是最初的伯克利代码的开…

linux内核零拷贝技术详解

1.前言 Linux系统中一切皆文件,仔细想一下Linux系统的很多活动无外乎读操作和写操作,零拷贝就是为了提高读写性能而出现的。 2. 数据拷贝基础过程 在Linux系统内部缓存和内存容量都是有限的,更多的数据都是存储在磁盘中。对于Web服务器来说…

linux系统上shell脚本编写问题总结

需求背景:项目技术栈:Vue2Nuxt2TypeScript,是一个服务端渲染的项目,每次打测试包时需要在虚拟机上通过命令行打包项目,然后将打包生成的文件压缩为一个压缩包.tar.gz,然后将这个压缩包下载到本地&#xff0…

免费API HUB行业报告

1. 行业概述 1.1 API HUB定义 API HUB,即应用程序接口中心,是一个集中管理和提供API服务的平台。它允许开发者轻松地访问和集成来自不同来源的API,从而加速开发过程并促进技术创新。 1.2 免费API HUB的特点 免费API HUB通常具有以下特点&…

免费听歌软件b端(但需要下载)

我会觉得很好用所以分享出来供大家使用。 这个事打开后的页面包括可以选择分页,和搜索等 回车可以用上面的搜索图片也可以点机 从前往后呢分别是排序,歌曲id,歌曲名称,歌手,专辑,歌曲长度,操作 …

【算法每日一练】新月轩就餐

思路: 其实很容易想到是双指针或者双端队列。 我们设置一个type表示当前区间已经有了多少种厨师,同时还需要记录区间中每个元素出现的次数,然后比较棘手的是移动问题了,什么时候移动呢? 我们可以发现当区间当队头元…

脂热控制+规律喝水+适量运动,健康减调全攻略

一、控制脂热的摄取量 肥胖大多都是因为身体摄取了多余的脂热而逐渐形成长成的,因此,控制脂热的摄取量就等于是控制了肥胖的涨幅。不了解的,按公式和例举的来就行 油脂量摄取公式:正常人每人每天油脂量摄取每公斤体重数x0.45&am…

【漏洞复现】海康威视综合安防管理平台 orgManage/v1/orgs/download 任意文件读取漏洞

0x01 产品简介 海康威视综合安防管理平台是一套“集成化”、“智能化”的平台,通过接入视频监控、一卡通、停车场、报警检测等系统的设备。海康威视集成化综合管理软件平台,可以对接入的视频监控点集中管理,实现统一部署、统一配置、统一管理和统一调度。 0x02 漏洞概述 海康…

算法学习笔记(7.4)-贪心算法(区间调度问题)

目录 ##什么是区间调度问题 ##贪心解法 ##具体的例题示例讲解 ##452. 用最少数量的箭引爆气球 - 力扣(LeetCode) ##435. 无重叠区间 - 力扣(LeetCode) ##56. 合并区间 - 力扣(LeetCode) ##什么是区间调…

【Go专家编程——语法糖】

语法糖 语法糖表示编程语言中特定类型的语法,这些语法对语言的功能没有影响,但是更方便程序员使用。 1.语法糖: 1.1 规则一:多变量复制可能会重新声明 我们知道可以使用“:”可以同时声明多个变量 field1, offset : nextField(str,0) fi…

重新安装VmWare的tools

原因: 因为一些原因,我需要重新安装VmWare tools,比如我升级到了win11,但是Vmware16.0已经不能使用,所以我升级了Vmware到16.2,这时候就需要升级VmWare tools。但是升级以后,会有一些小问题&…

MongoDB环境搭建

一.下载安装包 Download MongoDB Community Server | MongoDB 二、双击下载完成后的安装包开始安装,除了以下两个部分需要注意操作,其他直接next就行 三.可视化界面安装 下载MongoDB-compass,地址如下 MongoDB Compass Download (GUI) | M…

LabVIEW动态力传感器校准系统

LabVIEW动态力传感器校准系统 开发了一种基于LabVIEW的动态力传感器校准系统。系统主要用于动态力的测量和校准,通过高度集成化和自动化的设计,显著提升校准的效率和精确度。系统采用冲击法进行动态校准,涵盖了完整的硬件设计和软件开发流程…

SparkML

SparkML 一、介绍二、模型开发流程1、dataframe数据模型2、transformer转换器3、estimators模型学习器4、pipeline管道 三、示例:基于随机森林的新闻分类任务1、引入相关包2、初始化spark3、读取数据4、查看数据情况5、数据处理1、分词2、类别编码3、去除停用词4、b…

Python GNN图神经网络代码实战;GAT代码模版,简单套用,易于修改和提升,图注意力机制代码实战

1.GAT简介 GAT(Graph Attention Network)模型是一种用于图数据的深度学习模型,由Veličković等人在2018年提出。它通过自适应地在图中计算节点之间的注意力来学习节点之间的关系,并在节点表示中捕捉全局和局部信息。 GAT模型的核…

实现spring配置bean类机制

大家好,这里是教授.F 流程说明: 我们自己实现spring配置bean类的机制,要先了解原本是怎么实现的。 原本的机制就是有一个bean配置文件,还有一个ApplicationContext spring文件。bean类写着要扫描的文件信息,spring文…

vscode编译c/c++找不到jni.h文件

解决办法: 一、下载JDK 访问Oracle官网的Java下载页面:Java Downloads | Oracle 选择适合您操作系统的JDK版本: 对于Windows,选择“Windows x64”或“Windows x86”(取决于您的系统是64位还是32位)。对于Linux&#…

扩散世界模型已训练出赶超人类的智能体?

论文标题: Diffusion for World Modeling:Visual Details Matter in Atari 论文作者: Eloi Alonso, Adam Jelley, Vincent Micheli, Anssi Kanervisto, Amos Storkey, Tim Pearce, Franois Fleuret 项目地址: https://github.com/eloial…