python之路——操作系统的发展史,主要的系统软

2019-12-14 07:56 来源:未知

1.1 什么是操作系统

通常把操作系统定义为用以控制和管理计算机系统资源,方便用户使用的程序和数据结构的集合。

(1)系统观点——计算机资源管理

在计算机系统中,CPU是计算机硬件的核心,是计算机系统的心脏;操作系统则是计算机软件的核心,是计算机系统的大脑,是整个系统的控制中心,是计算机或智能控制和管理系统中首要的、最重要的、最复杂的系统软件。

计算机系统内运行的程序无时无刻地争夺计算机有限的资源,操作系统的作用在于组织和管理整个计算机系统的硬件和软件资源,在用户和程序之间分配系统资源,使之协调一致、高效地完成各种复杂的任务。

(2)用户观点——用户使用计算机的界面

通过操作系统,计算机能提供更多、质量更高的服务。安装不同的操作系统,呈现在用户面前将会是完全不同的两类“虚拟”计算机,因此操作系统是用户与计算机硬件之间的接口。用户一般通过以下方式获得计算机系统提供的服务。

①命令方式:通过键盘输入有关命令直接使用计算机,以获得计算机所能提供的服务,也可以将若干命令集中在一个文件中,以批处理的方式连续运行命令,获得多种服务。

②系统调用:用户可在应用程序中调用操作系统向用户提供的服务程序,以获得系统服务。

③图形界面:用户可以在窗口环境中通过鼠标、按键、菜单和对话框等方式操纵计算机。

(3)软件观点——程序和数据结构的集合

操作系统是直接与硬件相邻的第一层软件,是由大量极其复杂的系统程序和众多的数据结构集成的。在计算机中的所有软件中,操作系统起到了核心和控制的作用,其它软件的运行都要依赖他的支持。操作系统是在系统中永久运行的超级程序。

手工操作(无操作系统)

1946年第一台计算机诞生--20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式。

手工操作
程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。

图片 1

 

手工操作方式两个特点:
(1)用户独占全机。不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低。
(2)CPU 等待手工操作。CPU的利用不充分。

 20世纪50年代后期,出现人机矛盾:手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,手工操作方式已严重损害了系统资源的利用率(使资源利用率降为百分之几,甚至更低),不能容忍。唯一的解决办法:只有摆脱人的手工操作,实现作业的自动过渡。这样就出现了成批处理。

 

 

2.实时操作系统

实时操作系统是一种能在限定的时间内对输入进行快速处理并做出响应的计算机处理系统,根据对响应时间限定的严格程度,实时系统又可分为硬实时系统和软实时系统。

硬实时系统主要用于工业生产的过程控制、航天系统的跟踪控制、武器的制导等。这类操作系统要求响应速度非常快,工作及其可靠安全,否则有可能造成灾难性的后果。在一些重要的控制系统中,为了进一步提高系统的可靠性,除了一台计算机控制系统工作外,还需要有一套后备系统。后备系统又可分为热备份和冷备份两种。

热备份就是除了一台当前工作的主控计算机外,另一台相同的计算机与主控机同步运行,两者之间还定时交换运行状态信息。当主控计算机发生故障时,控制立即被切换到同步运行的后备计算机上。如果中断一个较短的时间的工作不会发生严重事故或造成重大经济损失的控制系统,可采用冷备份方案。当主控计算机发生故障时再启动备用机,接管系统的控制权。

软实时系统主要应用于对响应速度要求不像硬实时系统那么高,且时限要求不是很严格的信息查询和事务处理领域,这些系统的响应时间一般在几秒至几十秒内,这类系统一般配备有大型文件系统或数据库。

实时系统

虽然多道批处理系统和分时系统能获得较令人满意的资源利用率和系统响应时间,但却不能满足实时控制与实时信息处理两个应用领域的需求。于是就产生了实时系统,即系统能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该事件的处理。
实时系统在一个特定的应用中常作为一种控制设备来使用。

实时系统可分成两类:
(1)实时控制系统。当用于飞机飞行、导弹发射等的自动控制时,要求计算机能尽快处理测量系统测得的数据,及时地对飞机或导弹进行控制,或将有关信息通过显示终端提供给决策人员。当用于轧钢、石化等工业生产过程控制时,也要求计算机能及时处理由各类传感器送来的数据,然后控制相应的执行机构。
(2)实时信息处理系统。当用于预定飞机票、查询有关航班、航线、票价等事宜时,或当用于银行系统、情报检索系统时,都要求计算机能对终端设备发来的服务请求及时予以正确的回答。此类对响应及时性的要求稍弱于第一类。

实时操作系统的主要特点:
(1)及时响应。每一个信息接收、分析处理和发送的过程必须在严格的时间限制内完成。
(2)高可靠性。需采取冗余措施,双机系统前后台工作,也包括必要的保密措施等。

 

操作系统发展图谱

图片 2

操作系统的进一步发展

  进入20世纪80年代,大规模集成电路工艺技术的飞跃发展,微处理机的出现和发展,掀起了计算机大发展大普及的浪潮。一方面迎来了个人计算机的时代,同时又向计算机网络、分布式处理、巨型计算机和智能化方向发展。于是,操作系统有了进一步的发展,如:个人计算机操作系统、网络操作系统、分布式操作系统等。

1.4 操作系统的概念、特征和功能

批处理系统

批处理系统:加载在计算机上的一个系统软件,在它的控制下,计算机能够自动地、成批地处理一个或多个用户的作业(这作业包括程序、数据和命令)。

联机批处理系统
首先出现的是联机批处理系统,即作业的输入/输出由CPU来处理。
主机与输入机之间增加一个存储设备——磁带,在运行于主机上的监督程序的自动控制下,计算机可自动完成:成批地把输入机上的用户作业读入磁带,依次把磁带上的用户作业读入主机内存并执行并把计算结果向输出机输出。完成了上一批作业后,监督程序又从输入机上输入另一批作业,保存在磁带上,并按上述步骤重复处理。

图片 3

 

监督程序不停地处理各个作业,从而实现了作业到作业的自动转接,减少了作业建立时间和手工操作时间,有效克服了人机矛盾,提高了计算机的利用率。

但是,在作业输入和结果输出时,主机的高速CPU仍处于空闲状态,等待慢速的输入/输出设备完成工作: 主机处于“忙等”状态。

 

脱机批处理系统
为克服与缓解高速主机与慢速外设的矛盾,提高CPU的利用率,又引入了脱机批处理系统,即输入/输出脱离主机控制。
这种方式的显著特征是:增加一台不与主机直接相连而专门用于与输入/输出设备打交道的卫星机。
其功能是:
(1)从输入机上读取用户作业并放到输入磁带上。
(2)从输出磁带上读取执行结果并传给输出机。

这样,主机不是直接与慢速的输入/输出设备打交道,而是与速度相对较快的磁带机发生关系,有效缓解了主机与设备的矛盾。主机与卫星机可并行工作,二者分工明确,可以充分发挥主机的高速计算能力。

图片 4

 

脱机批处理系统:20世纪60年代应用十分广泛,它极大缓解了人机矛盾及主机与外设的矛盾。IBM-7090/7094:配备的监督程序就是脱机批处理系统,是现代操作系统的原型。

不足:每次主机内存中仅存放一道作业,每当它运行期间发出输入/输出(I/O)请求后,高速的CPU便处于等待低速的I/O完成状态,致使CPU空闲。

为改善CPU的利用率,又引入了多道程序系统。

 

实时系统

    虽然多道批处理系统和分时系统能获得较令人满意的资源利用率和系统响应时间,但却不能满足实时控制与实时信息处理两个应用领域的需求。于是就产生了实时系统,即系统能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该事件的处理。

实时系统在一个特定的应用中常作为一种控制设备来使用。

    实时系统可分成两类:

    (1)实时控制系统。当用于飞机飞行、导弹发射等的自动控制时,要求计算机能尽快处理测量系统测得的数据,及时地对飞机或导弹进行控制,或将有关信息通过显示终端提供给决策人员。当用于轧钢、石化等工业生产过程控制时,也要求计算机能及时处理由各类传感器送来的数据,然后控制相应的执行机构。

    (2)实时信息处理系统。当用于预定飞机票、查询有关航班、航线、票价等事宜时,或当用于银行系统、情报检索系统时,都要求计算机能对终端设备发来的服务请求及时予以正确的回答。此类对响应及时性的要求稍弱于第一类。

  实时操作系统的主要特点

  (1)及时响应。每一个信息接收、分析处理和发送的过程必须在严格的时间限制内完成。

  (2)高可靠性。需采取冗余措施,双机系统前后台工作,也包括必要的保密措施等。

图片 5图片 6

分时——现在流行的PC,服务器都是采用这种运行模式,即把CPU的运行分成若干时间片分别处理不同的运算请求 linux系统
实时——一般用于单片机上、PLC等,比如电梯的上下控制中,对于按键等动作要求进行实时处理 

分时系统与实时系统的比较

5.嵌入式操作系统和智能卡操作系统

(1)嵌入式操作系统

嵌入式操作系统就是运行在嵌入式芯片环境中,对整个芯片及它所操作和控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件。

(2)智能卡操作系统

智能卡实际上是一个单片微机系统,包括中央处理机,存储部件以及对外联络的通信接口。各类智能卡中都驻留了一个微型的操作系统,又称片内操作系统。

一般而言,智能卡操作系统具有4个基本功能:资源管理、通信管理、安全管理和应用管理。读写器和智能卡之间通过命令——响应对方式进行通信和控制。

分时系统

由于CPU速度不断提高和采用分时技术,一台计算机可同时连接多个用户终端,而每个用户可在自己的终端上联机使用计算机,好象自己独占机器一样。

分时技术:把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。

若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一作业使用,等待下一轮时再继续其运行。由于计算机速度很快,作业运行轮转得很快,给每个用户的印象是,好象他独占了一台计算机。而每个用户可以通过自己的终端向系统发出各种操作控制命令,在充分的人机交互情况下,完成作业的运行。

具有上述特征的计算机系统称为分时系统,它允许多个用户同时联机使用计算机。

图片 7

 

特点:
(1)多路性。若干个用户同时使用一台计算机。微观上看是各用户轮流使用计算机;宏观上看是各用户并行工作。
(2)交互性。用户可根据系统对请求的响应结果,进一步向系统提出新的请求。这种能使用户与系统进行人机对话的工作方式,明显地有别于批处理系统,因而,分时系统又被称为交互式系统。
(3)独立性。用户之间可以相互独立操作,互不干扰。系统保证各用户程序运行的完整性,不会发生相互混淆或破坏现象。
(4)及时性。系统可对用户的输入及时作出响应。分时系统性能的主要指标之一是响应时间,它是指:从终端发出命令到系统予以应答所需的时间。

分时系统的主要目标:对用户响应的及时性,即不至于用户等待每一个命令的处理时间过长。

分时系统可以同时接纳数十个甚至上百个用户,由于内存空间有限,往往采用对换(又称交换)方式的存储方法。即将未“轮到”的作业放入磁盘,一旦“轮到”,再将其调入内存;而时间片用完后,又将作业存回磁盘(俗称“滚进”、“滚出“法),使同一存储区域轮流为多个用户服务。

多用户分时系统是当今计算机操作系统中最普遍使用的一类操作系统。

 

联机批处理系统

  首先出现的是联机批处理系统,即作业的输入/输出由CPU来处理。

      图片 8

 

  主机与输入机之间增加一个存储设备——磁带,在运行于主机上的监督程序的自动控制下,计算机可自动完成:成批地把输入机上的用户作业读入磁带,依次把磁带上的用户作业读入主机内存并执行并把计算结果向输出机输出。完成了上一批作业后,监督程序又从输入机上输入另一批作业,保存在磁带上,并按上述步骤重复处理。

监督程序不停地处理各个作业,从而实现了作业到作业的自动转接,减少了作业建立时间和手工操作时间,有效克服了人机矛盾,提高了计算机的利用率。

但是,在作业输入和结果输出时,主机的高速CPU仍处于空闲状态,等待慢速的输入/输出设备完成工作: 主机处于“忙等”状态。

4.多机处理、分布式和网络操作系统

(1)多处理机系统

由于受到电磁速度的限制,单纯靠提高硬件的方法来提高计算机系统的运算速度总是有限的,在类似气象、地震预报、核聚变反应模拟等应用都对计算机的速度提出了更高的要求。多处理机系统可大大提高系统运行的并行性,由此诞生多处理机操作系统。

多处理机操作系统一般分为主从式和对称式。主从操作系统主要驻留并运行在一台主处理机上,控制所有系统资源,将整个任务分解为多个子任务,并将子任务分配给其他的从处理机执行,并协调从处理机的运行过程。

对称式系统在处理机中都配有操作系统,管理和控制本地资源和过程的运行。该系统在一段时间内可以指定一台或几台处理机来执行管理程序,协调所有处理机的运行。

多机处理系统有很高的运算速度,当系统某个处理机发生故障时,一般只因此昂系统的性能,可以用备用单元取代它,故不会造成系统的垮台。

(2)分布式操作系统

分布式系统是一种多计算机系统,这些计算机可以处于不同的地理位置,拥有不同的软硬件资源,并用通信线路连接起来,具有独立执行任务的能力。通常每台计算机没有完全独立的操作系统。分布式系统具有一个统一的操作系统,可以把一个大的计算任务划分成很多可以并行执行的子任务,并按一定的调度策略将它们动态地分配给每个计算机执行,并控制管理每个计算机的资源分配、运行及计算机之间的通信,以协调任务的并行执行。以上的所有管理工作对用户都是透明的。

(3)网络操作系统

计算机网络可以分为局域网和广域网,与分布式操作系统不同,网络操作系统不是一个集中、统一的操作系统,它基本上是在各种各样自治的计算机原有操作系统的基础上加上具有各种网络访问功能的模块,这些模块使网络上的计算机能方便、有效地共享网络资源,实现各种通信服务有关的协议。

多道程序系统

多道程序设计技术

所谓多道程序设计技术,就是指允许多个程序同时进入内存并运行。即同时把多个程序放入内存,并允许它们交替在CPU中运行,它们共享系统中的各种硬、软件资源。当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。

单道程序的运行过程:
在A程序计算时,I/O空闲, A程序I/O操作时,CPU空闲(B程序也是同样);必须A工作完成后,B才能进入内存中开始工作,两者是串行的,全部完成共需时间=T1+T2。

图片 9

 

多道程序的运行过程:
将A、B两道程序同时存放在内存中,它们在系统的控制下,可相互穿插、交替地在CPU上运行:当A程序因请求I/O操作而放弃CPU时,B程序就可占用CPU运行,这样 CPU不再空闲,而正进行A I/O操作的I/O设备也不空闲,显然,CPU和I/O设备都处于“忙”状态,大大提高了资源的利用率,从而也提高了系统的效率,A、B全部完成所需时间<<T1+T2。

图片 10

 

 

多道程序设计技术不仅使CPU得到充分利用,同时改善I/O设备和内存的利用率,从而提高了整个系统的资源利用率和系统吞吐量(单位时间内处理作业(程序)的个数),最终提高了整个系统的效率。

单处理机系统中多道程序运行时的特点:
(1)多道:计算机内存中同时存放几道相互独立的程序;
(2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕;
(3)微观上串行:实际上,各道程序轮流地用CPU,并交替运行。

多道程序系统的出现,标志着操作系统渐趋成熟的阶段,先后出现了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能。

多道批处理系统
20世纪60年代中期,在前述的批处理系统中,引入多道程序设计技术后形成多道批处理系统(简称:批处理系统)。
它有两个特点:
(1)多道:系统内可同时容纳多个作业。这些作业放在外存中,组成一个后备队列,系统按一定的调度原则每次从后备作业队列中选取一个或多个作业进入内存运行,运行作业结束、退出运行和后备作业进入运行均由系统自动实现,从而在系统中形成一个自动转接的、连续的作业流。
(2)成批:在系统运行过程中,不允许用户与其作业发生交互作用,即:作业一旦进入系统,用户就不能直接干预其作业的运行。

 

批处理系统的追求目标:提高系统资源利用率和系统吞吐量,以及作业流程的自动化。

批处理系统的一个重要缺点:不提供人机交互能力,给用户使用计算机带来不便。
虽然用户独占全机资源,并且直接控制程序的运行,可以随时了解程序运行情况。但这种工作方式因独占全机造成资源效率极低。

一种新的追求目标:既能保证计算机效率,又能方便用户使用计算机。 20世纪60年代中期,计算机技术和软件技术的发展使这种追求成为可能。

 

多道批处理系统

  20世纪60年代中期,在前述的批处理系统中,引入多道程序设计技术后形成多道批处理系统(简称:批处理系统)。

  它有两个特点:

  (1)多道:系统内可同时容纳多个作业。这些作业放在外存中,组成一个后备队列,系统按一定的调度原则每次从后备作业队列中选取一个或多个作业进入内存运行,运行作业结束、退出运行和后备作业进入运行均由系统自动实现,从而在系统中形成一个自动转接的、连续的作业流。

  (2)成批:在系统运行过程中,不允许用户与其作业发生交互作用,即:作业一旦进入系统,用户就不能直接干预其作业的运行。

  批处理系统的追求目标:提高系统资源利用率和系统吞吐量,以及作业流程的自动化。

  批处理系统的一个重要缺点:不提供人机交互能力,给用户使用计算机带来不便。

  虽然用户独占全机资源,并且直接控制程序的运行,可以随时了解程序运行情况。但这种工作方式因独占全机造成资源效率极低。

  一种新的追求目标:既能保证计算机效率,又能方便用户使用计算机。 20世纪60年代中期,计算机技术和软件技术的发展使这种追求成为可能。

2.脱机输入/输出和批处理系统

(1)脱机输入/输出

为了解决人工干预与CPU速度不匹配的矛盾,提高计算机的使用效率,在计算机中配备了“监控程序”。用户的控制指令和操作步骤可以写在源程序前或专门的控制卡片上。“监控程序”先读入控制命命令,并按命令的指示一步一步自动执行,这就是“操作系统”的雏形。

为了解决慢速输入/输出设备与CPU速度的不匹配问题,可将用户打在卡片上或纸带上的程序和数据通过外围小计算机预先输入到磁带上,运行时再从磁带上高速读入内存,输出也同样通过磁带中转。这种方式就是“脱机输入/输出”。

(2)批处理系统

脱机输入/输出进一步提高了极端及的运行效率,但自前一个惩处运行结束到启动后一个程序运行这段时间内,程序员或操作员还需要进行很多的人工干预。批处理的基本思想是:操作员取来一批作业,将它们输入到磁带中,操作系统先从磁带上将第一个作业读入内存,启动它运行,并将运行结果输出到另一个磁带中,当第一个程序运行完毕,操作系统自动的从输入磁带上读入下一个作业,并予以运行和输出,直到整批作业全部处理完毕。

由于系统作业是成批地进行处理,但内存中智能保持一个运行作业,故该类系统又称为单道批处理系统。

操作系统发展史

 

5.多道程序设计 

脱机操作、缓冲和SPOOLING虽然能使CPU的计算与I/O设备的操作重叠地进行,却有一定的局限性,这些技术都不能使CPU和I/O设备时常保持忙碌状态。当一个作业必须等待I/O操作完成是(如从磁盘读入一个数据),CPU就不能执行下一步运算,往往只能空等。

作业调度使另一种新的计算基数——多道程序设计成为可能,能进一步提法哦CPU的利用率,使它几乎总有任务可执行,也能提高外部设备的利用率,使得多个作业的多种I/O操作可以并行运行。

在多道程序设计系统中,操作系统可以将多个作业存放在作业缓冲池中。在某一时刻,操作系统从缓冲池中挑选一个作业,并开始执行该作业。当执行中的作业因要等待用户键盘输入或等待其它设备I/O操作时,在多道程序设计中,操作胸膛呢过久可在缓冲池中挑选另一个作业,使其运行。当前一个作业结束了的等待状态后就可以再次获得CPU,继续运行下去。只要系统中总是存在可执行的作业,CPU就永远不会闲着。

多道程序设计技术都是相当复杂的,首先为了支持多道程序设计,要有足够大的内存,同时需要有比较复杂的存储和保护机构,同时还需要处理机调度机构,决定哪一个作业占用CPU,除此之外,还需要提供各种外部设备的调度和管理功能。

 阅读目录

 

  手工操作 —— 穿孔卡片      

 

  批处理 —— 磁带存储和批处理系统

 

  多道程序系统

 

  分时系统

 

  实时系统

 

  通用操作系统

 

  操作系统的进一步发展

 

  操作系统的作用

TAG标签:
版权声明:本文由www.129028.com-澳门金沙唯一官网www129028com发布于操作系统资讯,转载请注明出处:python之路——操作系统的发展史,主要的系统软