挑战408——操作系统(1)——介绍一下操作系统这个东西

在开篇我们提到过,操作系统的工作就相当于管理者的工作。操作系统是一种系统软件,它的任务是控制和管理计算机系统中的资源(包括硬件和软件资源)。控制是说系统要合理的组织和调度计算机的工作和资源的分配并且提供给用户和其他软件方便的接口环境。操作系统不是单一的程序,它是一个程序集合。

操作系统的特征

操作系统是一种系统软件,主要的特点有并发性,共享性,虚拟性,不确定性。 - 并发性。并发性是指两个或者两个以上的事物在同一时间间隔发生。(与之相似的概念还有并行,它指的是两个或两个事物在同一时刻发生。)这个暂时不在这里说太多,待会后面会详细解释二者的区别。 - 共享性。是指系统中的资源可以供多个程序共同使用。比如一个公共的变量,表格等。这类资源通常有两种访问的方式。一种叫互斥访问,举个例子,目前我们只有一台打印机,但是有ABC三个进程要使用它,那么不可能同时进行打印操作,所以我们只有等A打印完*(假如是ABC依次到达打印请求),空出打印机,这个时候B才能进行。同理C也是这样。另外一种叫同时访问。举个例子,在候车厅上面的列车时刻安排表,我们每个人都可以同时看上面的数据,因为我们同时阅读上面的信息的过程我们并没有改变其中的内容。即对文件不会产生任何的影响。 - 虚拟性。虚拟就是让用户感觉有,但是实际上并不存在的事物。这是一门技术,以空间换取时间的技术。这种技术在操作系统中应用广泛,尤其是在内存管理和I/O管理这一块内容。这个比较抽象,具体的我们学到再说。 - 异步性。也称不确定性,是指程序的运行行为是不可预知的。因为它总是走走停停,我们无法得知它何时运行,何时暂停,推进速度如何等等问题。那么为什么会产生这个问题呢?我们也待会再说。
在这些基本特征中程序的并发性和共享性是操作系统的最基本的特征。同时它们也是进程管理内容中要解决的重点问题。

如何使用操作系统?

为了方便用户使用操作系统,操作系统提供了用户与操作系统的接口。该接口分为命令接口与程序接口。(挺重要的) 1. 命令接口:这个接口的目的是为了方便用户控制自己的作业。主要分为联机命令接口,脱机命令接口,图形用户界面接口。 - 联机命令接口:输入一条命令,执行一条命令 - 脱机命令接口:输入一批命令,执行一批命令 - 用户图形界面接口:这个好解释,window这种点击图形进行操作的界面 2. 程序接口:又称系统调用,是系统提供的给应用程序使用内核功能的接口。它是用户取得操作系统服务的唯一途径。

计算机系统的分类

批处理系统

批处理操作是指用户将作业成批的输入到计算机中,然后在操作系统的控制下,用户的作业自动进行。为了熟悉这个东西,我们先举个实际的例子,在window中我们可以将要计算机执行的操作命令写到一个文件中,如图:
挑战408——操作系统(1)——介绍一下操作系统这个东西_第1张图片
这里有四条命令,具体干嘛的大家都知道。对应的文件格式为bat:
在这里插入图片描述
操作系统执行的时候是将他们一同送入计算机,而不是一条一条送入,然后自动按顺序执行这些语句。使用这种处理方式的系统我们称为批处理操作系统 而批处理系统也分为两种形式:

  1. 单道批处理操作系统:这种操作系统将一系列的作业存入磁盘当中,每个作业称为一道。处理的过程是将一个作业调入内存,待处理完毕后再将第二个作业调入运行。因此这样的程序按顺序执行,并且内存中一直只有一个作业。
  2. 多道批处理操作系统:为了提高系统的吞吐量,和CPU的利用率。设计了多道批处理操作系统。处理过程为:磁盘中的作业,有作业调度程序按一定的方法调入内存,并由系统建立进程,在操作系统的管理下,各个程序交替执行(注意这四个字,交替执行!!!并不是一同执行,也不是等其中一个执行完再执行)。
    并发与并行
    虽然这个内容考试不是特别热门的,但是我们必须理解,因为接下来的内容都贯穿了这里的知识。尤其是多道处理操作系统,是我们研究的主要对象。下面来看一道教材的课后题(时序时间图,是一种以程序各个运行阶段的时间图为横坐标,以程序为纵坐标回执的一种反映程序运行耗时的图,也叫甘特图):
    挑战408——操作系统(1)——介绍一下操作系统这个东西_第2张图片
    挑战408——操作系统(1)——介绍一下操作系统这个东西_第3张图片

从图中我们可以看出,程序是先执行了A再执行B最后执行C的。这个时候ABC是顺序执行的。 再来看第二个问题:

挑战408——操作系统(1)——介绍一下操作系统这个东西_第4张图片
我们可以看到,ABC是交替进行的,就是说,在A程序的某个运行阶段,B程序也参与了进来。 回顾一下我们关于并发与并行的定义: 并发:是指两个或者两个以上的事物在同一时间间隔发生。从图中我们看到0—60这段时间间隔内,即有A在执行,也有B的执行(发生)。所以A,B是并发执行的。(注意,这里的执行指的是在CPU上的执行,0-20期间是A在使用CPU进行计算,20 - 50是B在CPU中执行计算,此时C在使用I/O设备,并没有使用CPU,50 -60又是A在使用CPU。所以A和B轮流交替使用CPU。这种现象称为并发,对应的发生的时间段是不一样的) 并行:它指的是两个或两个事物在同一时刻发生。从图中看出20-50期间,AB程序都在执行,这样的现象是并行(对应发生的时间段是相同的)。这样一来就好理解了。 因此,多道的程序设计又可以简单描述为:宏观上并行,微观上并发执行。。但是这里也可以看出,多道程序因为道数的增加,需要增加额外的开销来组织作业的调度与切换。 批处理系统的缺点:用户不能了解自己的程序运行情况,不允许用户与计算机直接交互。

分时操作系统

这种技术,将处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用。若不能再时间片内完成作业,那么就把处理机让出,暂时停止作业。对比批处理系统,分时的最大区别在于实现了计算机与用户的交互。但是由于时间片的数目,用户较多的时候,反而响应的时间会变长。

实时操作系统

当遇到某些紧急任务的时候,却不能按时间片的顺序来处理,因此必须使得一些任务在极短的时间内做出响应。这种操作系统要求具有很高的即时性。比如银行管理系统,订票系统,导弹系统等等。
实际上,后面我们要学习的调度算法,也是跟上述的操作系统类型密切相关的,因此初略了解一下这种东西还是很有必要的。

主要掌握:

  1. 操作系统的类型有哪些
  2. 各类操作系统的主要特点(优缺点)
  3. 会画甘特图分析并发程序运行的时间(毕竟喜欢考选择题)。

你可能感兴趣的:(计算机理论基础,408操作系统)