下面我们介绍分时操作系统 虽然说我们现在基本上看不到分时操作系统了
但是呢它是最早的一个交互式的系统,和我们现在的使用计算机的方式非常相像
那么分时操作系统它的工作方式是这样的,得有一台主机 然后这台主机连了很多很多的终端。
所谓终端呢 实际上只有键盘啊,显示器啊,其实它没有任何的
计算能力,没有 CPU,也没有什么啊?存储,也没有存储
所有在这上这个敲入的命令都直接送到这个主机上
当用户呢就敲入命令呢,然后呢等待回答
等待回答之后呢,根据回答的结果呢再输入命令,实际上是这样一种工作方式
那这里头呢就是说一台主机同时要为多个终端去服务 那么就必须采用一定的技术。
一个非常典型的 就是时间片,啊,时间片,因为要轮流为每个终端用户服务的话,那么 操作系统会将
CPU 的时间划分为若干个片段,我们通常叫时间片 这个词大家都很能理解。
那么操作系统呢 就是以时间片为单位,轮流为每个终端用户去服务,而且每次
给你一个时间片,那么时间片到了,那么这个 终端,就不为这个终端服务,就为另外一个终端用户服务了,是这样一个过程
那么这个做法为什么能够非常好地 工作,让每个用户都非常高兴地在计算机前去使用计算机呢?
实际上它是利用了一个人的错觉,因为每个人在 做操作的时候会比较慢,计算机的处理能力很强,那么
它一两秒钟处理的能力,就处理完的事情,你呢可能敲半天,敲半天。
所以在这种情况下 利用了这样一个人的错觉,使得用户呢
感觉到说每个,这个计算机为我自己服务,没有去为其他用户服务 就是这样一个错觉。
那么这个呢实际上也就是说把一台 计算机变成了多个虚拟的计算机,就是说
每个用户在一个虚拟机上去运行,也可以这么去理解
好,那么在分时系统,和我们现在是一样的,就是说,现在是交互式系统
交互式系统追求的主要目标是什么呢?就是相应时间,就是敲一个命令
发出一条命令,然后它得到回答,这个时间就
是一个响应时间,当然我们希望,每个用户都希望,响应时间是越短越好 越短越好。
那么这样的话呢,操作系统呢才能够为很多的 用户去服务,让用户感觉到操作系统为自己服务一样
那那个时候呢计算机很贵,所以呢不可能说一个
我有一台计算机这就是批处理系统,那台计算机呢是分时系统,通常呢那个时候的 操作系统都是叫通用操作系统。
也就是把分时和批处理的处理结合起来 向用户提供各种服务。
那么基本 的原则是这样的,分时优先,批处理在后,为什么呢?因为
用户是和计算机打交道的,它有一个心理的一个这个
感觉,如果计算机没有响应他,时间很久不响应他,他会
着急,会烦,所以呢我们希望说分时在先 然后呢有一些对时间要求不强的一些作业,可以呢
作为批处理作业处理,可以放在后台 所以我们可以说分时在优先,那么就是前台
前台呢放了很多,就处理各种需要频繁交互的作业 而后台呢实际上是放一些这个
时间要求不高的作业,当然这个我们白天的时候 大家都上班了,那么这个时候分时模式起作用
但是如果中午大家都午休了,吃饭了,或者晚上大家都下班了,那么这个时候就可以
使得大批的这个批处理作业去执行 那这样让计算机能够时时刻刻保持着运转
这就是所谓通用操作系统,分时和批处理的一个结合
另一种计算机 的操作系统的类型呢就是实时操作系统
所谓实时操作系统呢它有对时间的这种这个,更有更严重的要求 我们来看。
所谓实时指的就是计算机能够及时响应外部事件的请求
在规定的严格的时间范围内,完成对事件的处理,一定要求把处理完成。
那么完成处理实际上是控制各种各样的实施设备 和实施任务协调一致地去工作
我们典型的像汽车,汽车 汽车电子,那么这里头应该是个实时系统
为什么呢?当你踩刹车的时候,当你要做各种各样的操作的时候必须 很快去完成这项工作,否则就会出现其它的问题
那么实时操作系统呢当然也分成不同类型
第一类呢我们叫做实施过程控制 那么包括了工业控制、 航空、
军事控制等等等等 第二类呢叫实时通信系统,或者实时信息处理系统,像我们
说的一些电讯,自动交换机,银行,银行系统
飞机订票,股市行情的这些都属于实时的信息处理系统,那么当然它也是要求有实时性的
那么实时操作系统在设计的时候它所追求的目标是什么
呢?主要是,第一,对于外部请求在严格的时间范围内要有响应 要有处理。
第二个呢是高可靠性,因为 一个实时系统往往是运行在一个环境里头,那么这个环境
要求这个系统能够对环境要有适应性 所以要有高可靠,比如说像汽车电子
汽车,那么你要如果不可靠,那你就会带来其他问题,对吧? 那我们在这里头再强调一下
实时系统当中的这个最关键因素和参数呢就是时间
所谓时间呢,那么我们知道,比如说举个例子,就是汽车的
装配线,这是讲一个工业过程控制这样一个系统。
那么汽车装配线上呢比如说我们要 让一个汽车去完成一个汽车的组装工作,组装工作
那么如果没有某一个环节没有在严格的实时时间范围内处理,那就会造成什么?比如说
焊接机器人,如果焊,焊接,没焊完,这个时间就过去了
那么这种就带来了一个隐患,将来汽车在行驶过程中就可能出问题呀 所以呢这个时间是非常关键的,但是这个时间呢
其实又分成了对时间要求的一个硬性的和一些 软性的要求。
那么所谓硬性的要求呢,就是我们通常称之为硬实时系统
所谓硬实时系统呢,就是说某个动作绝对 必须在规定的时间这个范围内,或者某个时刻完成
像刚才我们说的这种汽车装配线上,安装轮胎
也好,去焊接什么也好,那么这些东西都要有严格的这个时刻 或者时间范围来决定。
但是呢还有一类对时间要求很 很快,但是呢又没那么严格,相对而言,那么我们叫做软实时系统
软实时系统呢实际上就是说,有一些实现,最终实现可能
偶尔违反,在某些点上违反了这个最终实现,没有在规定的时间内去做到 但是呢这是偶然的行为,还是可以接受的
我们举一个例子就是,就是媒体播放 就视频播放啊,MP3 这种播放,音频播放
那么播放一个,一段这个这个电影 那么这个电影的播放的过程中如果偶尔有一帧,两帧没有
达到实时的这种这个,这个处理,那么可能会看电影的时候可能有点卡
但是呢也就是偶尔,那么你会对这个电影的整体的理解是 没有问题,不受影响的,所以呢我们也接受这种情况
这就是所谓硬实时系统和软实时系统 那么这些系统有了以后,后来慢慢慢慢到了上个世纪
80 年代就出现了个人计算机 那么个人计算机也需要操作系统,而个人操作系统大家知道那时候呢
是计算机在某一时刻只为一个用户服务,所以相对比较简单 所以在个人计算机操作系统刚刚出来的时候,那么实际上对
界面友好、 使用方便 还有上面提供很丰富的应用软件是有 要求的。
那么对于操作系统内部的功能其实没有太多的要求
慢慢慢慢个人计算机系统又往前发展了,从简单到复杂
当所有的计算机能联网的时候 那么这个时候主要出现了一个叫做网络操作系统,
所谓网络操作系统就是说,在计算机联网的之上
在网络当中有各个计算机,对吧?有各个计算机,每个计算机都有操作系统,这些操作系统- 必须支持
按网络体系结构协议标准开发的这种网络模块,网络模块 而网络模块呢主要完成的是网络的管理
然后计算机之间,在网络当中的计算机之间的通信,安全, 包括资源共享和
各种各样的提供各种各样的网络应用 啊网络应用。
那这时候有了网络之后一些新的要求。
所以网络操作系统的追求目标是:第一,在网络上各个计算机之间能够相互通信。
第二,能够大家共享这个网络上的各种资源。
再之后,实际上呢就
对操作系统的分类呢,我们就介绍一种分布式操作系统啊。
当然分布式操作系统主体呢,它建立在分布式系统之上的,是为分布式系统开发的。
那么所谓分布式系统呢,可能是以计算机网络为基础,就是把计算机联网; 也可能是多处理器,现在的多
CPU 的这种计算机系统,这也是分布式系统的一个典型的。
所以基本的特征就是说处理能力,就是 CPU 的这种计算能力是分布在不同的计算机上的。
而分布式操作系统,那么它就在这种分布式系统之上
开发的一个操作系统,而这个操作系统的特点是什么呢?它是一个统一的操作系统。
而允许啊,就是通过操作系统的这个运行,
允许若干台计算机上的这个,这个完成同一个任务。
那么这些,若干台计算机是相互协作相互配合来共同完成一项任务。
那么操作系统把各种各样的任务分布在,在系统当中的任何一台计算机上都是可以执行的。
这种分配可以自动去实现,然后包括任务的分配,包括
这个调度,包括负载的这个均衡等等,都是操作系统 要解决的问题。
有了分布式系统以后 那么处理能力就增强了,速度也快了,可靠性增强了,
同时呢对用户来讲就具有透明性,因为用户不知道自己的任务在哪一台计算机上执行。
但是由于有这么多的这个好处了, 那么对操作系统的这个设计就带来了一个更大的一个复杂性。
另外一种操作系统,
我们称之为嵌入式操作系统,因为嵌入式操作系统是为嵌入式系统开发的。
所谓嵌入式系统的话呢,其实呢嵌入式系统是在各种各样的设备、
装置当中完成了某些 特定功能的硬件系统,啊软硬件系统啊软硬件系统。
比如说我们说汽车,汽车里头有一个电子嵌入式系统。
手机、 电视机,类似于像这个什么 MP3
播放器 , 像冰箱啊,彩电微波炉其实都有了。
那么 我们所说的嵌入式系统呈现在我们面前的呢,其实不是计算机啊不是计算机,
它是一个大设备当中,或者大的装置当中的一个部分啊一个部分。
而这些嵌入式系统通常工作在一个反应式 或对处理时间有严格要求的环境中,就是像汽车。
好,那么在为嵌入式系统开发的 嵌入式操作系统呢,那么它的主要特点就是说对整个
嵌入式系统以及它所操作的控制的,各种各样的这种 部件装置来,这些都是它的资源,来统一地协调,
统一地调度,统一地去控制,那么这就是嵌入式操作系统要做的事情。
好,这就是操作系统的一个 某一种传统啊,传统意义上操作系统的分类。
那在我们的教材里头呢,其实还给了另外一种分类,但是我们称之为 TANENBAUM 的分类。
那么这个分类呢,也非常有意思,大家可以看一下:大型机、 服务器、
多处理机、 个人计算机、 掌上计算机、 嵌入式、
传感器节点、 实时操作系统、 智能卡操作系统。
实际上好像感觉就是从大到小这样一个分类,
因为分类是什么,什么角度都是可以的,那么我们现在呢 这个分类呢我们就不详细介绍了。
大家呢因为书上都写了,所以大家呢去读一下教材啊。
了解一下每一种啊分类啊,每一种操作系统它都在支持哪些应用程序的执行。
这里呢我们简单的再介绍一下智能卡操作系统。
因为这个也比较好玩,对吧?那么智能卡呢实际上 是一个卡片,卡片上有一个芯片啊有一个 CPU 芯片。
那么智能卡因为它这个太小了,所以呢它的这个
运行过程中的能耗要有严格的要求,不能太耗电啊不能太耗电。
而呢 其另外呢,它的这个空间呢也很小,也不能有很多的存放的,存储空间,所以
耗电和空间都是有严格的限制的。
那么因此 在智能卡上通常我们实现的这个应用呢,一般都是单项功能。
比如说电子支付啊等等等等。
在这个卡上呢其实应该有一个专用的小操作系统啊 小操作系统,我们来看一个小例子啊,比如说有一些智能卡,它是面向
Java 的, 因此呢在这个智能卡的这个 ROM 上呢,我们会有一个非常小的一个 Java 虚拟机解释器。
当 Java 程序被下载到这个卡里的时候, 就由这个 Java 虚拟机解释器呢来解释执行。
有一些卡上呢如果允许它多,同时处理多个 Java
程序,那么这就 是多道程序设计,也就是我们要支持多个程序之间的一些切换啊一些问,一些处理。
那么这个时候多个 程序执行还需要一些调度知识,
因此当两个或多个程序同时运行的时候呢, 对于这样一个智能卡上的资源管理,还有这些程序之间的保护
就都成为了一个突出的问题,那么这些问题呢都是需要操作系统 来处理解决的。
到这儿呢我们就把第一讲操作系统概述介绍完了。
那么我们呢大家提一些要求,在学完 这一讲之后呢,希望大家能够对本讲的重点有所了解。
那么首先呢我们希望大家掌握操作系统的概念, 理解操作系统它的不同的作用。
然后去理解操作系统的主要特征。
另外我们希望大家能够掌握一项重要的操作系统技术,就是 SPOOLing 技术。
另外希望大家能够了解操作系统的架构,
操作系统的分类。
大家在课下呢还要重点阅读教材的相关内容, 我们这里给出了,比如说第
1 章希望大家去读1.1、 1.2、 1.4。
那么第 10 章也有一些相关内容是 10.2.5 ,这是跟 Linux 相关的一些内容。
还有第 11 章跟 Windows 相关的内容 11.3.1。
重点呢大家要掌握我们提出的这几个概念。
一个是操作系统的定义,操作系统的三个作用,
操作系统的四个特征:并发、 共享、 虚拟、 随机。
我们还要掌握 SPOOLing 技术的工作原理
以及它的一些用途,还有呢我们 要大致了解一下
Windows、 Linux、 UNIX 的架构,了解在这些操作系统当中有哪些主要的功能。
好,今天我们的课就讲到这儿,谢谢大家。