操作系统初期发展
无操作系统的计算机系统:
人工操作方式:用户采用人工操作方式直接使用计算机硬件系统,将已经穿孔的纸带装入纸带输入机,在启动它将程序和数据输入计算机,然后计算机运行。
在人工方式下,其最大的缺点:用户独占全机,CPU等待人工操作(计算机资源利用率很低);直到出现脱机输入/输出方式。
由于程序和数据都在外围机的控制下完成,或者说,他们在脱离主机的情况下进行的,故此称为脱机输入/输出 ,反之,在主机的直接控制下进行的输入/输出的方式称为联机输入/输出方式。
优点:减少了CPU的空闲时间,提高了I/O速度。
脱机处理时,外部设备上的数据需要一个相当长的等待时间后才被进行处理。当外部设备上有数据输入时,主机并不予处理,只是将外部设备的数据存放到缓冲区中。一旦缓冲区满了,或是等待的时间到了,主机才进行加工处理。
对输出的操作也是这样,一旦计算机要把处理结果输出,它只是把输出结果送入缓冲区中,然后向外部设备慢慢地进行输出,而主机又去进行其它的加工处理,当缓冲区中的数据全部输出完毕,主机再把下一批的数据存入缓冲区中。
手工操作(穿孔卡片)
1946年第一台计算机诞生–20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。
程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。
手工操作方式两个特点:
1.用户独占全机。不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低。
2.CPU 等待手工操作。CPU的利用不充分。
20世纪50年代后期,出现人机矛盾:手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,手工操作方式已严重损害了系统资源的利用率(使资源利用率降为百分之几,甚至更低),不能容忍。唯一的解决办法:只有摆脱人的手工操作,实现作业的自动过渡。这样就出现了成批处理。
批处理系统(磁带存储)
诞生时间:20世纪50年代。
实时操作系统的起源
为了提高单一操作员单一控制终端的操作系统SOSC的效率,人们提出了批处理操作系统。SOSC效率低下是因为计算机总是在等待人的下一步动作,而人的动作总是很慢。因此,人们觉得,如果去掉等待人的时间,即让所有的人先想好自己要运行的命令,列成一个清单,打印在纸带上,然后交给一个工作人员来一批一批的处理,效率不就提高了吗?这样就形成了批处理操作系统。
批处理系统的定义
批处理系统就是成批处理一些程序的系统。批处理分为联机批处理和脱机批处理两种。
联机批处理
在联机批处理中,编制了一个常驻内存的监督程序,用来控制用户作业的运行。其处理过程为:用户将所需解决的问题组成作业,交给操作员,操作员有选择地把若干作业合成一批,并把一批作业装到输入设备上,然后由监督程序控制送到辅存,再从辅村中将一个一个作业调入内存运行,直到全部作业处理完毕。
脱机批处理
脱机批处理系统由主机和卫星机组成。卫星机又称外围计算机,它不与主机直接连接,只与外部设备打交道。作业通过卫星机输入到磁带上,当主机需要输入作业时,就把输入带从卫星机的磁带机上取下,并装入到主机的磁带机上。于是,主机可以连续的处理由输入带输入的许多用户作业,并把这些作业的运行结果不断地输出到输出带上。最后,多个用户作业的输出结果再通过卫星机连接的打印机打印出来。
脱机批处理产生的目的:缓解主机与外设的矛盾提高CPU的利用率。
多道批处理系统
诞生时间:20世纪60年代
多道程序系统
多道程序系统是控制多道程序同时运行的程序系统,由它决定在某一个时刻运行哪一个作业,或者说,是在计算机内存中同时存放几道互相独立的程序,使他们在管理程序控制之下,相互穿插地运行,即使多道程序在系统内并行工作。
主要特征:
1.多道,即计算机内存中同时存放几道相互独立的程序。
2.宏观上并行,同时进入系统的几道程序都处于运行过程中,即他们先后开始了各自的运行,但都未运行完毕。
3.微观上串行,内存中的多道程序轮流地或分时地占有CPU,交替执行
多道程序系统的出现,标志着操作系统渐趋成熟的阶段,先后出现了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能。
由于多个程序同时在计算机中运行,开始有了空间隔离的概念,只有内存空间的隔离,才能让数据更加安全、稳定。
出了空间隔离之外,多道技术还第一次体现了时空复用的特点,遇到IO操作就切换程序,使得cpu的利用率提高了,计算机的工作效率也随之提高。
多道批处理系统
多道批处理系统有两个含义:一是多道,二是批处理。多道是在计算机内存中同时存放多个作业,它们在操作系统的控制下并发执行,而且在外存中还存放有大量的作业,并组成一个后备作业队列,系统按一定的调度原则每次从后备作业队列中选取一个或多个作业调入内存运行。
分时系统
分时系统的起源
背景:在多道批处理系统的时代,人们主要提高对系统资源的利用率和系统的吞吐量。但是由于时代的发展,人们又提出了另一个问题,在人们将制作在卡片上的程序交由计算机执行时,用户无法即时获得程序运行的结果。这一问题很有可能导致很严重的后果发生。基于这个问题,人们考虑能否让人回到计算机前来,每个人即时管理自己的程序,但又由于20世纪60年代计算机还十分昂贵,所以一台计算机要同时供多个用户共享使用,每个用户在共享一台计算机时都希望能像独占时一样,不仅可以随时与计算机进行交互,而且还不会感觉到其他用户的存在。于是分时系统就在这样情况下诞生。
分时系统的介绍
分时系统是允许多个联机用户同时使用一台计算机进行处理的系统。系统将CPU在时间上分割成很小的时间段,每个时间段称为一个时间片。每个联机用户通过终端以交互方式控制程序的运行,系统把CPU时间轮流分配给个联机作业,每个作业只运行极短的时间片,从而使每个用户都有一种“独占计算机”的感觉。
分时系统实现的关键问题
人—机交互问题
1.及时接收
2.及时处理
共享主机问题
分时系统的主要目标
为了方便用户使用计算机系统,并在尽可能的情况下,提高系统资源的利用率。
分时系统的主要特征
1.多路性
是指系统允许将多台终端同时连接到主机上,并按分时原则为每个用户服务。多路性允许多个用户共享一台主机,显著提高资源利用率,降低使用费用,促进计算机更广泛的应用。
2.独立性
是指系统提供了这样的用机环境,即每个用户在各自的终端上进行操作,彼此之间互不干扰,给用户的感觉就像是一个人在使用主机。
3.交互性
是指用户可通过终端与系统进行广泛的人人机对话。其广泛性表现在:用户可以请求系统提供多方面的服务,如进行文件编辑和数据处理,访问系统中的文件和数据库,请求提供打印服务等。
4.及时性
是指用户的请求能在很短的时间内获得响应。这一时间间隔是根据人们所能接受的等待时间确定的,通常仅为1~3秒钟。
分时系统的优点
1.自然操作方式
该系统使用户能在较短的时间内采用交互式会话工作方式,及时输入、调度、修改和运行自己的程序,因而加快了解题周期。
2.扩大了应用范围
无论是本地用户,还是运地用户,只要与计算机连在一台终端设备,就可以随时随地使用计算机。
3.便于共享和交换信息
远近终端用户均通过系统中的文件系统彼此交流信息和共享各种文件。
4.经济实惠
用户只须有系统配备的终端,即可完成各种处理任务,可共享大型的具有丰富资源的计算机系统。
分时系统实例解析
若选择时间片为100ms,系统中有20个用户分享CPU,并忽略用户程序间的切换时间开销,则每个用户的平均响应时间为:100ms*20=2秒
。在假设CPU运行速度为200万次/秒,则对每个用户程序来说,等价的CPU速度为:200/20=10万次/秒
。
注意:分时系统的分时间片工作,在没有遇到IO操作的时候就用完了自己的时间片被切走了,这样的切换工作其实并没有提高cpu的效率,反而使得计算机的效率降低了。但是我们牺牲了一点效率,却实现了多个程序共同执行的效果,这样你就可以在计算机上一边听音乐一边聊qq了。
实时操作系统
实时操作系统的起源
1980年,加拿大两个大学生Gordon Bell和Dan Dodge,在学习操作系统设计课程期间,萌发了设计“实时操作系统(RTOS)”的念头,并且动手干了起来,最终做出了一个实时操作系统的微内核。
实时操作系统的定义
实时操作系统是保证在一定时间限制内完成特定功能的操作系统。实时操作系统有软实时系统和硬实时系统之分。软实时系统在规定时间得不到响应所产生的后果是可以承受的,如流水装配线。即使装配线瘫痪,也只是损失了资金;而硬实时系统在得不到实时响应后则可能产生不能承受的灾难,如导弹防卫系统。如果反应迟钝,结果就可能是严重损失。
实时操作系统的分类
计算机应用到实时控制中,配置实时操作系统,就可组成各种各样的实时系统。目前,在计算机应用中,过程控制和信息处理都有一定的实时要求,据此,把实时系统分为实时过程控制系统和实时信息处理系统两大类。
实时过程控制
它又可分为两类:一类是以计算机位控制中枢的生产过程自动化系统,如冶炼、发电、炼油、化工、机械加工等的自动控制。在这类系统中,要求计算机及时采集和处理现场信息,控制有关的执行装置,使得某些参数,如温度、压力、流量、液位等按一定规律变化,从而达到实现生产过程自动化的目的。另一类是飞行物体的自动控制,如飞机、导弹、人造卫星的制导等。这类系统要求反应速度快,可靠性高。通常要求系统的响应时间在毫秒甚至微秒级内。
实时信息处理
它通常配有大型文件系统或数据,事先存有经过合理组织的大量数据,它能及时响应来自终端用户的服务请求,如进行信息的检索、存储、修改、更新、加工、删除、传递等,并能在短时间内对用户作出正确的回答。如情报检索、机票预定、银行业务、电话交换等都属此类系统。这类系统除要求响应时间及时外,并要求有较高的可靠性、安全性和保密措施等。
实时操作系统的特点
- 对外部进入系统的信号或信息应能做到实时响应。
- 实时系统较一般的通用系统有规律,有许多操作具有一定的可预计性。
- 实时系统的终端一般作为执行和询问使用,不具有分时系统那样有较强的会话能力。
- 实时系统对可靠性和安全性要求较高,常采用双工工作方式。
实时系统的代表——VxWorks
VxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统,是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的 F-16、FA-18战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器、2008年5月登陆的凤凰号,和2012年8月登陆的好奇号也都使用到了VxWorks上。