计算机操作系统-操作系统概述

什么是操作系统

我们在日常生活中都用过电脑,那电脑中操作系统我们最熟悉的就是WindowsIOS,Android等操作系统,我们假如自己组装电脑,第一步是去挑选我们所需要的硬件资源,如(CPU,硬盘,内存条等等),这些纯硬件组合起来我们称之为裸机,组装好之后我们就能使用这台计算机了吗?当然不是,我们需要一个软件来帮助我们控制、使用这些硬件,这个软件要通俗易懂,能够让我们用户没学过计算机也能很好的使用,于是操作系统诞生了,我们可以在操作系统上下载各种各样的软件例如QQ、微信等来使用计算机,接下来先给出计算机系统层次结构图方便大家理解计算机的结构构造。
在这里插入图片描述

  • 用户:我们可以看到,用户也可以直接和操作系统进行交互,这说明操作系统也是一种软件
  • 应用程序:我们日常所使用的软件APP等。如QQ、微信…
  • 操作系统:操作系统负责管理协调硬件、软件等计算机资源的调度,为上层的应用程序和用户提供简单易用的服务,注意操作系统是系统软件不是硬件。

操作系统的定义

操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件

我们打开我们的任务管理器,我们操作系统上可管理我们的软件资源,也可以同时查看我们的硬件资源,所以操作系统是作为用户与计算机硬件系统之间的接口。或者说,用户在OS帮助下能够方便、快捷、可靠地操纵计算机硬件和运行自己的程序。
在这里插入图片描述

计算机系统资源的管理者

在一个计算机系统中,通常都含有多种硬件和软件资源。这些资源可分为四类:处理机存储器I/O设备以及文件(数据和程序)。相应地,OS的主要功能也正是对这四类资源进行有效的管理:

  • 文件管理:用于实现对文件的存取、共享和保护。例如我们下载了QQ,那么我们在不启用快捷方式的情况下,我们需要找到我们的安装目录,逐层打开文件夹,找到我们的QQ.exe文件,这就是操作系统文件管理的功能
  • 存储器管理:负责内存的分配与回收。点击我们的QQ.exe文件,要想启动QQ,我们必须在内存中为QQ分配一定的空间,在关闭QQ时,也需要对分配给QQ的内存进行回收,这就是操作系统的存储器管理功能。
  • 处理机管理:用于分配和控制处理机,处理机也就是我们的CPU,在日常使用中,我们可能会打开多个进程,那么对这些进程空间的分配,回收等就会由CPU进行处理,这就是处理机管理功能。
  • I/O设备管理:负责I/O设备的分配(回收)与操纵。假如我们想要和同学进行视频电话,那我们需要打开摄像头,那么操作系统就需要将摄像头分配给该进程,这就是 I/O设备管理。

实现对计算机资源的抽象

为了方便用户使用I/O设备,人们再裸机上覆盖了一层I/O设备管理软件,结构如下图所示:
在这里插入图片描述
通常把覆盖了I/O软件的机器称之为扩充机器或虚机器,它向用户提供了一个抽象模型,用户可使用该抽象模型提供的接口操纵计算机,而不需要了解物理接口的具体实现

由以上可知,操作系统OS是铺设再计算机硬件上的多层软件的集合,它们不仅增强了系统的功能,还隐藏了对硬件操作的具体细节,实现了对计算机硬件操作的多个层次和抽象模型,值得一提的是,不仅可以在底层对一个硬件进行抽象,还可以在高层以抽象的模型进行再次抽象,随着抽象层次的提高,抽象接口所提供的功能就越强,用户使用起来也越方便。

操作系统的特征

并发性

并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。操作系统的并发性指计算机系统中同时存在着多个运行着的程序。

例如一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行的,但宏观上看起来就像在同时执行)

共享性

共享:即资源共享,指系统中的资源可供内存中多个并发执行的进程共同使用。

在这里插入图片描述

生活实例:

  • 互斥共享方式:系统中的某些资源,如打印机、磁带机等,虽然可以提供给多个进程(线程)使用,但应规定在一段时间内,只允许一个进程访问该资源。为此,在系统中应建立一种机制,以保证多个进程对这类资源的互斥访问。例如使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。
  • 同时共享方式:系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”,在单处理机环境下是宏观意义上的,而在微观上,这些进程对该资源的访问是交替进行的。使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。典型的可供多个进程“同时”访问的资源是磁盘设备

并发和共享两种特性是互为存在条件的!

虚拟

虚拟:虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
举个例子:例如我们内存大小为4GB,但是我们平时可以运行超过4GB的程序,在用户角度我们的内存远大于4GB,这就是虚拟技术中的空分复用技术,还有一种虚拟技术中的“时分复用技术”。微观上处理机在各个微小的时间段内交替着为各个进程服务。就比如我们可以边听歌边看小说边回消息等等。

没有并发性就谈不上虚拟性

异步

异步:在单处理机环境下,由于系统中只有一台处理机,因而每次只允许一个进程执行,其余进程只能等待。在多道程序运行环境下,系统允许多个进程并发执行,当某个进程提出某种资源要求时,如打印请求,若打印机正在为其他进程打印,则该进程必须等待释放处理机,直至打印机空闲并再次获得处理机时方可继续执行。

可见,由于资源等因素的限制,使进程的执行通常都不可能“一气呵成”,而是以“停停走走”的方式运行。

操作系统的发展过程和分类

在20世纪50年代中期,出现了第一个简单的批处理OS;60年代中期开发出多道批处理系统分时系统实时系统;20世纪70~90年代,是VLSI和计算机体系结构大发展的年代,导致了微型机、多处理机和计算机网络的诞生和发展,也相继开发出了微机OS多处理机OS网络OS,并得到极为迅猛的发展。

未配置操作系统的计算机系统

人工操作方式

由程序员将事先已穿孔的纸带(或卡片),装入纸带输入机(或卡片输入机),再启动它们将纸带(或卡片)上的程序和数据输入计算机,然后启动计算机运行。仅当程序运行完毕并取走计算结果后,才允许下一个用户上机。
在这里插入图片描述
缺点

  • 用户独占全机,一台计算机上的资源被一个用户全部占领
  • CPU等待人工操作,高效率机器等待时间长,空闲时间长。当用户进行装带(卡)、卸带(卡)等人工操作时,CPU及内存等资源是空闲的。

单道批处理系统

为实现对作业的连续处理,需要先把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下,使这批作业能一个接一个地连续处理。

脱机输入/输出(Off-Line I/O)方式
事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当CPU需要这些程序和数据时,再从磁带上高速地调入内存。

由于程序和数据的输入输出都是在外围机的控制下进行的,或者说是在脱离主机的情况下进行的,顾称之为脱机输入/输出(Off-Line I/O)方式,反之,把在主机的控制下进行的输入/输出方式称之为联机输入/输出方式
在这里插入图片描述

单道批处理系统的处理过程:

首先,把一批作业以脱机方式输出在磁带上后,在系统中配上监督程序,在它的控制下,将磁带上的第一个作业装入内存中,并把运行控制权交给该作业,改作业处理完成后,交还控制权给监督系统,在重复步骤调度第二个作业,计算机系统就这样自动的一个一个作业进行处理,直至磁带上作业全部完成。虽然对作业的处理是成批进行的,但是内存中始终只有一道程序,顾称之为单道批处理系统。

单道批处理系统的处理流程:
在这里插入图片描述
缺点:
系统中的资源得不到充分的利用。这是因为在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU便处于等待状态,必须在其I/O完成后才继续运行。又因I/O设备的低速性,更使CPU的利用率显著降低。

多道批处理系统

为了进一步提高资源的利用率和系统吞吐量,在20世纪60年代中期引入了多道程序设计技术,由此形成了多道批处理系统。在该系统中,用户所提交的作业先存放在外存中,拍成队列,称之为“后备队列”,在由作业调度程序按照一定算法从后备队列中选择若干个作业进入内存,让它们共享CPU和系统中的各种资源,由于内存中同时存在若干道程序,故称之为多道批处理系统

多道批处理系统再单道批处理系统的基础上,它可以一次像内存中输入多道程序,资源利用率大大提升,也是再多道批处理系统这个阶段,操作系统正式诞生,并引入了中断技术,由操作系统管理这些程序的运行,各个程序并发执行

主要优点

  • 资源利用率高。引入多道批处理能使多道程序交替运行,以保持CPU处于忙碌状态;在内存中装入多道程序可提高内存的利用率;此外还可以提高I/O设备的利用率。
  • 系统吞吐量大。主要原因是: CPU和其它资源保持“忙碌”状态;仅当作业完成时或运行不下去时才进行切换,系统开销小。

缺点

  • 系统周转时期长,进入CPU的作业依旧需要排队处理,周转时间长,通常需几个小时,甚至几天。
  • 无人机交互能力,用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,修改和调试程序极不方便。

多道批处理系统需要解决的问题

  • 处理机争用问题。既要能满足各道程序运行的需要,又要能提高处理机的利用率。
  • 内存分配和保护问题。系统应能为每道程序分配必要的内存空间,使它们“各得其所”,且不会因某道程序出现异常情况而破坏其它程序。
  • I/O设备分配问题。系统应采取适当的策略来分配系统中的I/O设备,以达到既能方便用户对设备的使用,又能提高设备利用率的目的。
  • 文件的组织和管理问题。系统应能有效地组织存放在系统中的大量的程序和数据,使它们既便于用户使用,又能保证数据的安全性。
  • 作业管理问题。系统中存在着各种作业(应用程序),系统应能对系统中所有的作业进行合理的组织,以满足这些作业用户的不同要求。
  • 用户与系统的接口问题。为使用户能方便的使用操作系统,OS还应提供用户与OS之间的接口。

单道批处理系统和多道批处理系统处理作业的区别

单道批处理系统:
在这里插入图片描述
多道批处理系统:
在这里插入图片描述

分时操作系统

如果说推动多道批处理系统形成和发展的主要动力是提高资源利用率和系统吞吐量,那么,推动分时系统形成和发展的主要动力,则是为了满足用户对人—机交互的需求,由此形成了一种新型OS。用户的需求具体表现在以下几个方面:人机交互共享主机

分时操作系统:计算机以时间片为单位轮流未各个用户/作业服务,各个用户可以通过中断和计算机进行交互。

想要做到及时接收多个用户键入的命令或者数据,只需在系统中配备一个多路卡即可,该作用是实现多时分路复用,即主机以很快的速度周期性的扫描各个终端。
在这里插入图片描述
优点
用户的请求可以及时被响应,解决了人机交互问题,允许多个用户同时对计算机进行操作,并且相互透明独立

缺点
不能优先处理一些紧急任务,再分时操作系统中,操作系统对各个用户完全公平,循环的为每个用户分配时间片,没有紧急性的区分。

于是接下来便有了实时操作系统

实时操作系统

实时操作系统:
主要优点:能够优先响应一些紧急任务,某些紧急任务不需时间片排队。

在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完事件。实时操作系统的主要特点是及时性和可靠性

实时任务的类型有硬实时任务软实时任务
在这里插入图片描述

操作系统类型总结

在这里插入图片描述

操作系统的结构设计

传统操作系统结构

无结构操作系统

在早期开发操作系统时,设计者只是把他的注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。此时的OS是为数众多的一组过程的集合,每个过程可以任意地相互调用其它过程,致使操作系统内部既复杂又混乱,因此,这种OS是无结构的。也有人把它称为整体系统结构

模块化结构操作系统

模块化程序设计技术是20世纪60年代出现的一种结构化程序设计技术。为使OS具有较清晰的结构,OS不再是由众多的过程直接构成的,而是按其功能精心地划分为若干个具有一定独立性和大小的模块。每个模块具有某方面的管理功能,再仔细的规定好各模块间的接口,使各模块之间能够通过接口实现交互,然后再进一步将各模块划分为若干个具有一定功能的子模块,若子模块较大,还可在一步将他细分。

在这里插入图片描述

在模块-接口法中,关键问题是模块的划分和规定好模块之间的接口

如果我们在划分模块时将模块划分得太小,虽然可以降低模块本身的复杂性,但会引起模块之间的联系过多,从而会造成系统比较混乱;如果将模块划分得过大,又会增加模块内部的复杂性,使内部的联系增加,因此在划分模块时,应在两者间进行权衡

衡量模块的独立性有一下两个标准:

  • 内聚性:指模块内部各部分之间联系的紧密程度,内聚性越高,模块独立性越强
  • 耦合度:指模块与模块之间相互联系和相互影响的程度,耦合度越低,模块独立性越好

模块接口法的优缺点:利用模块-接口法开发的OS,较之无结构OS具有以下明显的优点:

  • 提高OS设计的正确性、可理解性和可维护性。
  • 增强OS的可适应性。
  • 加速OS的开发过程。

分层式结构OS

分层式结构的基本概念:分层法的设计任务是,在目标系统An和裸机系统(又称宿主系统)A0之间,铺设若干个层次的软件A1、A2、A3、…、An-1,使An通过An-1、An-2、…、A2、A1层,最终能在A0上运行。在操作系统中,常采用自底向上法来铺设这些中间层。

分层结构的优缺点:

分层结构的主要优点易保证系统的正确性易扩充和易维护性

分层结构的主要缺点:系统效率降低。由于层次结构是分层单向依赖的,必须在每层之间都建立层次间的通信机制,OS每执行一个功能,通常要自上而下地穿越多个层次,这无疑会增加系统的通信开销,从而导致系统效率的降低。

微内核OS结构

微内核操作系统结构使20世纪八十年代后期发展起来的,它能有效的支持多处理机运行,顾非常使用于分布式系统环境,当前比较流行的、能支持多处理器运行的OS,几乎都使用了微内核结构。

微内核操作系统的基本概念

内核是指精心设计的、能实现现代OS最基本核心功能的小型内核,微内核并非是一个完整的OS,而只是将操作系统中最基本的部分放入微内核,通常包含有:

  • 与硬件处理紧密相关的部分;
  • 一些较基本的功能;
  • 客户和服务器之间的通信。

它采用将操作系统中最基本的部分放入内核,而把操作系统的绝大部分功能都放在微内核外的一组服务器(进程)中实现。

在这里插入图片描述

机制与策略分离原理

在现在操作系统的结构设计中,经常利用“机制与策略分离”的原理来构造OS结构。

所谓机制,是指实现某一功能的具体执行机构。而策略,则是在机制的基础上借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标。

需要提供什么功能,即机制;如何使用这些功能,即策略

微内核操作系统的优点

由于微内核OS结构是建立在模块化、层次化结构的基础上的,并采用了客户/服务器模式和面向对象的程序设计技术,因此,微内核结构的操作系统是集各种技术优点之大成,因而使之具有如下优点:

  • 提高了可扩展性:由于微内核OS的许多功能使由相对应的服务器软件实现的,当开发了新的硬件和软件时,只需在响应的服务器增加新的功能或者增加一个专门的服务器即可。
  • 增强了系统 可靠性:微内核时通过精心设计和严格测试的,正确性得到保证,另一方面它提供了规范而精简的应用程序接口(API),为编制高质量代码创造了条件。
  • 可移植性强:再微内核结构的操作系统中,所有与CPU、I/O接口硬件有关的代码,都存放在内核和内核下面的硬件隐藏层中,而操作系统的其他部分都与硬件平台无关,因而移植承恩较小。
  • 提供了分布式系统的支持:再微内核OS中,客户和服务器之间、服务器和服务器之间采用消息传递通信机制,顾能很好的支持分布式系统和网络系统

微内核操作系统存在的问题

较之早期的操作系统,微内核操作系统的运行效率有所降低。,完成一次请求时,需要利用消息实现多次交互和进行用户/内核模式与上下文的多次切换。

在传统OS和微内核OS中的上下文切换

操作系统的体系结构总结图

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值