分时操作系统与实时操作系统

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/qq_37653144/article/details/77857376

计算机操作系统从20世纪50年代中期第二代计算机的单道批处理系统到20世纪60年代中期第三代计算机的多道批处理系统(IBM公司研发的OS/360系统是第一个能运行多道程序的批处理系统),都主要致力于提高资源利用率和系统吞吐量。但人们对人机交互的需求却一直未能得到有效解决,因此一种新型OS——分时OS就应运而生了,紧接着实时OS也在工业、军事等领域的需求下也随之诞生。现在我们所使用的操作系统都属于这两类。

分时操作系统(Time-sharing Operating System)

简介

在多道批处理系统的时代,用户对新系统的需求具体表现在两个方面。一是人机交互,每当程序员写好一个程序时,都需要上机调试,由于程序难免存在错误,因此用户希望能像早期使用计算机一样独占全机资源并对它进行直接控制,以便能方便地对程序中的错误进行修改,意即人机交互。二是共享主机,在20世纪60年代计算机还十分昂贵,一台计算机要同时供多个用户共享使用,每个用户在共享一台计算机时都希望能像独占时一样,不仅可以随时与计算机进行交互,而且还不会感觉到其他用户的存在。
分时系统在这样的背景下诞生,因此分时系统是指在一台主机上连接了多个终端并由此组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源。分时操作系统最典型的例子就是UNIX和Linux,它们可以同时连接多个终端,并且每隔一段时间重新扫描进程,重新分配进程的优先级,动态分配系统资源。

原理

分时操作系统将系统处理机时间与内存空间按一定的时间间隔(划分时间片),采用轮转运行方式轮流地切换给各终端用户的程序使用(例如规定每个作业每次只能运行一个时间片)。由于时间间隔很短,每个用户就感觉像独占全机一样,这样就解决了主机共享问题。而对于人机交互,为实现用户键入命令后能对自己的作业及其运行及时控制或修改,各个用户的作业都必须留在内存中(作业在磁盘上是不能运行的),用时间片进行切换管理。分时操作系统的特点是可有效增加资源的使用率,支持人机交互与资源共享。例如UNIX系统就采用了剥夺式动态优先的CPU调度以支持分时操作。

简而言之,分时操作系统的核心原理在于将作业直接放入内存,并引入了时间片的概念,采用轮转运行的方式,规定每个作业每次只能运行一个时间片,然后就暂停该作业并立即调度下一个作业运行。在不长的时间内使所有的作业都执行一个时间片的时间,便可以使每个用户都能及时地与自己的作业进行交互,从而使用户的请求得到及时响应。这样就解决了在分时系统中最重要的及时接收、及时处理问题。

特征

与其前辈批处理系统相比,分时系统有如下几个特点:

·多路性:系统允许将多台终端同时连接到一台主机上,并按分时原则为每个终端分配系统资源,提高资源利用率,降低使用费用。

·独立性:各终端之间相互独立,互不干扰,每个用户都感觉像一人独占主机一样。

·及时性:用户的请求能在很短的时间内就得到响应。

·交互性:用户可通过终端与系统进行人机对话,例如请求多方面的服务。

实时操作系统(Real Time Operating System)

简介

在某些领域(如军事、工业、多媒体等)要求系统能够实时响应并安全可靠,实时操作系统在这样的需求下诞生。因此实时操作系统是指是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。
实时操作系统的处理机制与分时操作系统在底层原理上相同,但实时操作系统有其独特的要求,例如在规定时间内完成特定功能等。实时操作系统有为特定应用设计的也有通用的,很多通用的系统,例如IBM的OS/390、微软的Windows NT等,都有实时系统的特征。因此即使一个操作系统不是严格意义上的实时系统,它们也能解决一部分实时应用问题,故不必过于纠结。

实时任务

实时操作系统必须能在一定时间限制内解决实时任务,这些任务通常与某个外部设备有关,能反应或控制相应的外部设备,具有一定紧迫性。实时任务从不同角度有着不同的分类:

按任务执行时是否呈现周期性变化可将实时任务分为周期性实时任务和非周期性实时任务。对于周期性实时任务,外部设备周期性地发出激励信号给计算机,要求它按照指定周期循环之星,以便周期性地控制某外部设备。对于非周期性实时任务,外部设备所发出的激励信号并无明显的周期性,但都必须联系着一个截止时间,这个截止时间可分为开始截止时间和完成截止时间。
按对截止时间的要求来划分,可将实时任务分为硬实时任务(Hard Real-time Task)和软实时任务(Soft Real-time Task)。硬实时任务是指系统必须满足任务对截止时间的要求,否则将会出现错误,带来难以预测的后果(工业和武器控制系统常用)。软实时任务对截止时间的要求不那么严格,即使偶尔出现错过截止时间,对系统影响也不会太大(信息查询系统和多媒体系统等常用)。


分时系统与实时系统比较

·多路性:两者都具有多路性。软实时与分时系统中的多路性表现为系统按分时原则为多个任务终端用户服务;硬实时则指系统周期性地对多路现场信息进行采集以及对多个对象或多个执行机构进行控制。

·独立性:两者都具有独立性。每个终端用户在向分时系统提出服务请求时,是彼此独立的操作,互不干扰;而在实时控制系统中信息的采集和对对象的控制,也彼此互不干扰。

·及时性:实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级、百毫秒级直至毫秒级,甚至有的要低于100微秒。

·交互性:实时信息处理系统具有交互性,但这里人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理服务、资源共享等服务。

·可靠性:分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失甚至无法预料的灾难性后果。因此,在实时系统中,采取了多级容错措施来保证系统的安全及数据的安全。

猜你喜欢

转载自blog.csdn.net/qq_37653144/article/details/77857376