并发编程之操作系统发展史

手工操作-穿孔卡片

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

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

单道批处理系统

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

单道批处理系统: 把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序,在它的控制下,使这批作业能一个接一个地连续处理

脱机输入/输出的方式:

  • 概念: 即程序和数据的输入输出都是在外围机的控制下完成的,或者说,它们是在脱离主机的情况下进行的,故称为脱机输入/输出,反之把在主机直接控制下进行输入/输出的方式称为联机输入/输出方式)
  • 实现方法: 事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当CPU需要这些程序和数据时,再从磁带上高速地调入内存,类似的,当CPU需要输出时,可由CPU把数据直接从内存高速地输送到磁带上,然后再另一台外围机的控制下,再将磁带上的结果通过相应的输出设备输出。

单道批处理系统的实现方法是: 首先监督程序将磁带上的第一个作业交给内存,并把运行控制权交给该作业;当该作业处理完成时,又把控制权还给监督程序,再由监督程序把磁带上下一个作业调入内存进行处理,这样计算机自动的一个作业接着一个作业进行处理,直到磁带上所有的作业全部完成。

单道批处理程序的缺点: 系统中的资源得不到充分利用(在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU处于等待状态,必须在完成I/O后才能运行)

多道批处理系统

多道批处理系统可以提高资源的利用率和系统吞吐量

多道批处理系统的概念: 用户所提交的作业先存放在外存(硬盘)上并形成一个队列,称为后备队列。然后由作业调度程序按一定的算法,从后备队列中选择若干作业进入内存,使它们共享CPU和系统中的各种资源。(这样可以利用程序A执行I/O操作而暂停执行时的CPU空挡时间,再调度执行另一道程序B运行,同样可以利用程序B在I/O操作时的CPU空挡时间,再调度程序C运行,使多道程序交替运行)

多道批处理系统的优点:

  • 资料利用率高
  • 系统吞吐量大

多道批处理系统的缺点:

  • 平均周转时间长
  • 无交互能力

多道批处理系统需要解决的问题

  • 处理机争用问题:既要满足各道程序运行的需要,又要提高处理机的利用率
  • 内存分配和保护问题:系统应为每道程序分配必要的内存空间,并使他们互不影响。
  • I/O设备分配问题:采用适当的策略分配系统中的I/O设备,达到既能方便用户对设备的使用,又能提高设备的利用率
  • 文件的组织和管理问题:有效的组织存放系统中的大量程序和数据,使其能便于使用,又能确保数据的安全
  • 作业管理问题:对系统中所有的作业进行合理的组织
  • 用户与系统的接口问题:使用户能方便的使用操作系统。

分时系统

分时系统的基本概念: 在一台主机上连接了多个配有显示器和键盘的终端并由此组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源。

分析系统形成的原因: 为了满足用户对人机交互和共享主机的需求

分时系统实现中的关键问题:

  • 如何使用户能与自己的作业进行交互?

        系统提供多个终端,同时供给多个用户使用

        当用户在自己的终端上输入命令时,系统应及时接受,并及时处理该命令,再将结果返回给用户

  • 如何做到及时接受命令?

         在系统中配置一个多路卡,(多路卡的作用是实现多路复用,即主机以很快的速度周期性的扫描各个终端),为了使从终端上的数据依次逐条的进行处理,(为每个终端配置一个缓冲区,用来暂存用户键入的命令(或数据))

  • 如何及时处理用户的命令?

   作业直接进入内存

   采用轮转运行的方式,避免一个作业独占CPU连续运行:引入时间片(一段很短的时间)的概念。系统规定每个作业每次只能运行一个时间片,然后就暂停该作业的运行,并立即调度下一个作业运行。

分时系统的特征

  • 多路性:运行多台终端同时连接到一台主机上,并按分时原则为每个用户服务。
  • 独立性:每个用户在各自的终端上进行操作,互不影响(给用户的感觉就是像他一个人独占主机进行操作)
  • 及时性:用户的请求能在很短的时间内获得响应(根据人们所能接受的等待时间确定的,通常仅为1~3秒)
  • 交互性:用户可以通过终端与系统进行广泛的人机对话

实时操作系统

实时操作系统能及时响应外部事件的请求,在规定时间内完成对该时间的处理,并控制所有实时任务协调一致地运行

实时操作系统的类型:工业控制系统、信息查询系统、多媒体系统、嵌入式系统

微机操作系统

微机操作系统配置在微型机上的操作系统

微机操作系统的分类

  • 单用户单任务操作系统(只允许一个用户上机,且只允许用户程序作为一个任务运行)
  • 单用户多任务操作系统:只允许一个用户上机,但运行用户把程序分为若干个任务,使它们并发执行。
  • 多用户多任务操作系统:允许多个用户通过各自的终端,使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行。

 

网络操作系统

网络操作系统是网络上各计算机能方便而有效地共享网络资源,为网络用户提供所需的各种服务的软件和有关规程的集合。是网络的心脏和灵魂,是向网络计算机提供服务的特殊的操作系统。

功能:

处理机管理、存储器管理、设备管理和文件管理

提供高效、可靠的网络通信能力;

提供多种网络服务功能,如:远程作业录入并进行处理的服务功能;文件转输服务功能;电子邮件服务功能;远程打印服务功能

嵌入式操作系统

嵌入式操作系统(简称:EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。

分布式操作系统

分布式软件系统是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。


原文链接:https://blog.csdn.net/liyunyou/article/details/82817230

原文地址:https://www.cnblogs.com/featherwit/p/13372364.html