如何做网页或网站,怎么制作一张自己的图片,长沙公司网站的建设,做农业的公司管理网站(一)操作系统的发展过程
一.前言
在 20 世纪 50 年代中期#xff0c;出现了第一个简单的批处理 OS;60 年代中期开发出多道程序批处理系统:;不久又推出分时系统#xff0c;与此同时#xff0c;用于工业和武器控制的实时 OS 也相继问世。20 世纪 70 到 90 年代#xff0c;是…(一)操作系统的发展过程
一.前言
在 20 世纪 50 年代中期出现了第一个简单的批处理 OS;60 年代中期开发出多道程序批处理系统:;不久又推出分时系统与此同时用于工业和武器控制的实时 OS 也相继问世。20 世纪 70 到 90 年代是 VLSI和计算机体系结构大发展的年代导致了微型机、多处理机和计算机网络的诞生和发展与此相应地也相继开发出了微机 OS、多处理机OS 和网络 OS并得到极为迅猛的发展.
1.未配置操作系统的计算机系统
从 1945 年诞生的第一台计算机到 50 年代中期的计算机都属于第一代计算机。这时还未出现 OS对计算机的全部操作都是由用户采取人工操作方式进行的。
(1)人工操作方式
早期的操作方式是由程序员将事先已穿孔的纸带(或卡片)装入纸带输入机(或卡片输入机)再启动它们将纸带(或卡片)上的程序和数据输入计算机然后启动计算机运行。仅当程序运行完毕并取走计算结果后,才允许下一个用户上机。
但是这样的缺点也显而易见:
用户独占全机即一台计算机的全部资源由上机用户所独占。CPU 等待人工操作。当用户进行装带(卡)、卸带(卡)等人工操作时CPU 及内存等资源是空闲的。 可见人工操作方式严重降低了计算机资源的利用率此即所谓的人机矛盾。虽然 CPU的速度在迅速提高但 IO 设备的速度却提高缓慢这使 CPU 与 IO 设备之间速度不匹配的矛盾更加突出。为此曾先后出现了通道技术、缓冲技术然而都未能很好地解决上述问题.直至后来引入了脱机输入/输出技术才获得了相对较为满意的结果。
(2)脱机输入/输出(Off-Line l/O)方式
为了解决人机矛盾及 CPU 和 I/O 设备之间速度不匹配的矛盾20 世纪 50 年代出现了脱机 IO 技术。该技术是事先将装有用户程序和数据的纸带装入纸带输入机在一台外围机的控制下把纸带(卡片)上的数据(程序)输入到磁带上。当 CPU 需要这些程序和数据时再从磁带上高速地调入内存。 类似地当 CPU 需要输出时可先由 CPU 把数据直接从内存高速地输送到磁带上然后在另一台外围机的控制下再将磁带上的结果通过相应的输出设备输出。
由于程序和数据的输入和输出都是在外围机的控制下完成的或者说它们是在脱主机的情况下进行的故称为脱机输入/输出方式。
这种脱机IO 方式的主要优点为:
减少了 CPU 的空闲时间。装带、卸带以及将数据从低速 IO 设备送到高速磁带或反之)的操作都是在脱机情况下由外围机完成的并不占用主机时间从而有效地少了 CPU 的空闲时间。提高了 IO 速度。当 CPU 在运行中需要输入数据时是直接从高速的磁带上将数输入到内存的这便极大地提高了 IO 速度从而进一步减少了 CPU 的空闲时间。 2.单道批处理系统
为实现对作业的连续处理需要先把一批作业以脱机方式输入到磁带上并在系统中部署监督程序(Monito)在它的控制下使这批作业能一个接一个地连续处理.
其处理过程是:首先由监督程序将磁带上的第一个作业装入内存并把运行控制权交给该作业,当该处理完成时又把控制权交还给监督程序再由监督程序把磁带上的第一个作业调入计算机系统就这样自动地一个作业紧接一个作业地进行处理.这样便形成了早期的批处理系统。虽然系统对作业的处理是成批进行的但在内存中始终只保持一道作业故称为单道批处理系统。
单道批处理系统最主要的缺点是:
系统中的资源得不到充分的利用。这是因为在内存中仅有一道程序每逢该程序在运行中发出 IO 请求后CPU 便处于等待状态必须在其I/O 完成后才继续运行。又因 I/O 设备的低速性更使 CPU 的利用率显著降低。
为了能在系统中运行较大的作业通常在计算机中都配置了较大容量的内存但实际情况是有 80%以上的作业都属于中小型因此在单道程序环境下也必定造成内存的浪费。类似地为了满足各种类型的作业需要在系统中将会配置多种类型的 IO 设备。显然在单道程序环境下也不能充分利用系统资源。
3.多道批处理系统(Multiprogrammed Batch Processing System)
为了进一步提高资源的利用率和系统吞吐量在 20 世纪 60 年代中期引入了多道程序设计技术,由此形成了多道批处理系统。
在该系统中用户所提交的作业先存放在外存并排成一个队列称为“后备队列”。然后由作业调度程序按一定的算法从后备队列中释若干个作业调入内存使它们共享 CPU 和系统中的各种资源。由于同时在内存中装有干道程序,这样便可以在运行程序A时,利用其因 I/O 操作而暂停执行时的 CPU 空档时间再调度另一道程序B 运行同样可以利用程序 B 在 I/O 操作时的 CPU 空档时间再调度程序C运行使多道程序交替地运行这样便可以保持 CPU 处于忙碌状态。
多道批处理系统的优缺点如下:
资源利用率高。引入多道批处理能使多道程序交替运行以保持 CPU 处于忙碌状态;在内存中装入多道程序可提高内存的利用率:此外还可以提高 IO 设备的利用率。系统吞吐量大。能提高系统吞吐量的主要原因可归结为CPU 和其它资源保持“忙碌”状态:仅当作业完成时或运行不下去时才进行切换系统开销小。平均周转时间长。由于作业要排队依次进行处理因而作业的周转时间较长通常需几个小时甚至几天。无交互能力。用户一旦把作业提交给系统后直至作业完成用户都不能与自己的作业进行交互修改和调试程序极不方便。 引入操作系统
多道批处理系统是一种十分有效但又非常复杂的系统为使系统中的多道程序间能协调地运行系统必须解决下述一系列问题: (1)处理机争用问题。既要能满足各道程序运行的需要又要能提高处理机的利用率.
(2)内存分配和保护问题。系统应能为每道程序分配必要的内存空间使它们“各得其所”且不会因某道程序出现异常情况而破坏其它程序。
(3) I/O 设备分配问题。系统应采取适当的策略来分配系统中的 IO 设备以达到既能方便用户对设备的使用又能提高设备利用率的目的。
(4)文件的组织和管理问题。系统应能有效地组织存放在系统中的大量的程序和数据,使它们既便于用户使用又能保证数据的安全性。
(5) 作业管理问题。系统中存在着各种作业(应用程序)系统应能对系统中所有的作业进行合理的组织以满足这些作业用户的不同要求。 (6) 用户与系统的接口问题。为使用户能方便的使用操作系统OS 还应提供用户与OS 之间的接口。 为此应在计算机系统中增加一组软件用以对上述问题进行妥善、有效的处理。这组软件应包括: 能有效地组织和管理四大资源的软件、合理地对各类作业进行调度和控制它们运行的软件以及方便用户使用计算机的软件。正是这样一组软件构成了操作系统。据此我们可把操作系统定义为: 操作系统是一组能有效地组织和管理计算机硬件和软件资源合理地对各类作业进行调度以及方便用户使用的程序的集合.
4.分时系统(Time Sharing System)
如果说推动多道批处理系统形成和发展的主要动力是提高资源利用率和系统吞吐量那么推动分
时系统形成和发展的主要动力则是为了满足用户对人一机交互的需求由此形成了一种新型
OS。
用户的需求具体表现在以下几个方面:
人一机交互。每当程序员写好一个新程序时都需要上机进行调试。由于新编程序难免存在一些错误或不当之处需要进行修改因此用户希望能像早期使用计算机时一样独占全机并对它进行直接控制以便能方便地对程序中的错误进行修改。亦即用户希望能进行人一机交互。共享主机。在 20 世纪 60 年代计算机还十分昂贵一台计算机要同时供很多用户共享使用。显然用户们在共享一台计算机时每人都希望能像独占时一样不仅可以随时与计算机进行交互而且还不会感觉到其他用户的存在。
由上所述不难得知分时系统是指在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统该系统允许多个用户同时通过自己的终端以交互方式使用计算机共享主机中的资源.
(1)分时系统实现中的关键问题
在多道批处理系统中用户无法与自己的作业进行交互的主要原因是: 作业都先驻留在外存上即使以后被调入内存也要经过较长时间的等待后方能运行用户无法与自己的作业进行交互。为了能够实现人一机交互必须解决的关键问题是如何使用户能与自己的作业进行交互。为此系统首先必须能提供多个终端同时给多个用户使用;其次当用户在自己的终端上键入命令时系统应能及时接收并及时处理该命令再将结果返回给用户。此后用户可根据系统返回的响应情况再继续键入下一条命令此即人一机交互.
1) 及时接收
要做到及时接收多个用户键入的命今或数据只需在系统中配置一个多路卡即可。例如当主机上需要连接 64 个终端时就配置一个 64 用户的多路卡。 多路卡的作用是实现分时多路复用。即主机以很快的速度周期性地扫描各个终端在每个终端处停留很短的时间如 30.ms用于接收从终端发来的数据。 2) 及时处理
(1) 作业直接进入内存。因为作业在磁盘上是不能运行的所以作业应直接进入内存.
(2) 采用轮转运行方式。如果一个作业独占 CPU 连续运行那么其它的作业就没有机会被调度运行。为避免一个作业长期独占处理机引入了时间片的概念。 一个时间片就是一段很短的时间(例如 30 ms)。系统规定每个作业每次只能运行一个时间片然后就暂停该作业的运行并立即调度下一个作业运行。 (2)分时系统的特征
多路性。该特性是指系统允许将多台终端同时连接到一台主机上并按分时原则为每个用户服务。多路性允许多个用户共享一台计算机显著地提高了资源利用率降低了使用费用从而促进了计算机更广泛的应用。独立性。该特性是指系统提供了这样的用机环境即每个用户在各自的终端上进行操作彼此之间互不干扰给用户的感觉就像是他一人独占主机进行操作。及时性。及时性是指用户的请求能在很短时间内获得响应。这一时间间隔是根拆人们所能接受的等待时间确定的通常仅为 1~3 秒钟。交互性。交互性是指用户可通过终端与系统进行广泛的人机对话。其广泛性表在: 用户可以请求系统提供多方面的服务如进行文件编辑和数据处理访问系统中的.件系统和数据库系统请求提供打印服务等。
5. 实时系统(Real Time System)
实时系统最主要的特征是将时间作为关键参数它必须对所接收到的某些信号做出“及时”或“实时”的反应。由此得知实时系统是指系统能及时响应外部事件的请求在规定的时间内完成对该事件的处理并控制所有实时任务协调一致地运行。
(1)实时系统的类型
随着计算机应用的普及实时系统的类型也相应增多下面列出当前常见的几种:
工业(武器)控制系统信息查询系统多媒体系统嵌入式系统 (2)实时任务的类型 (1) 周期性实时任务和非周期性实时任务。 周期性实时任务是指这样一类任务外部设备周期性地发出激励信号给计算机要求它按指定周期循环执行以便周期性地控制某外部设备。 反之非周期性实时任务并无明显的周期性但都必须联系着一个截止时间(Deadline)或称为最后期限。它又可分为: 开始截止时间指某任务在某时间以前必须开始执行:2 完成截止时间指某任务在某时间以前必须完成。 (2)硬实时任务和软实时任务。 硬实时任务(Hard Real-time TaskHRT)是指系统必须满足任务对截止时间的要求否则可能出现难以预测的后果。用于工业和武器控制的实时系统通常它所执行的是硬实时任务。 软实时任务(Soft Real-time TaskSRT)也联系着一个截止时间但并不严格若偶尔错过了任务的截止时间对系统产生的影响也不会太大。诸如用于信息查询系统和多媒体系统中的实时系统通常是软实时任务。 (二)操作系统的基本特性
前面所介绍的多道批处理系统、分时系统和实时系统这三种基本操作系统都具有各不同的特征如批处理系统有着高的资源利用率和系统吞吐量: 分时系统能获得及时响实时系统具有实时特征。
除此之外它们还共同具有并发、共享、虚拟和异步四个基本特征
一.并发(Concurrence)
1.并行与并发
并行性和并发性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生。而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下并发性是指在一段时间内宏观上有多个程序在同时运行但在单处理机系统中每一时刻却能有一道程序执行故微观上这些程序只能是分时地交替执行。
2.引入进程
在一个未引入进程的系统中在属于同一个应用程序的计算程序和 I/O 程序之间只能是顺序执行即只有在计算程序执行告一段落后才允许 IO 程序执行:反之在程序执行IO操作时,计算程序也不能执行。但在为计算程序和I/O 程序分别建立一个进程(Process)后这两个进程便可并发执行。若对内存中的多个程序都分别建立一个进程它们就可以并发执行这样便能极大地提高系统资源的利用率增加系统的吞吐量。
所谓进程是指在系统中能独立运行并作为资源分配的基本单位它是由一组机器指令、数据和堆栈等组成的是一个能独立运行的活动实体。多个进程之间可以并发执行和交换信息。
二.共享(Sharing)
OS 环境下的资源共享或称为资源复用是指系统中的资源可供内存中多个并发执行的进程共同使用。这里在宏观上既限定了时间(进程在内存期间),也限定了地点(内存).对于这种资源共享方式其管理就要复杂得多因为系统中的资源远少于多道程序需求的总和会形成它们对共享资源的争夺。所以系统必须对资源共享进行妥善管理。由于资源属性的不同进程对资源复用的方式也不同
目前主要实现资源共享的方式有如下两种:
1.互斥共享方式
系统中的某些资源如打印机、磁带机等虽然可以提供给多个进程(线程)使用但应规定在一段时间内只允许一个进程访问该资源。为此在系统中应建立一种机制以保证多个进程对这类资源的互斥访问。 当进程 A 要访问某资源时必须先提出请求。若此时该资源空闲系统便可将之分配给请求进程 A 使用。此后若再有其它进程也要访问该资源只要 A 未用完就必须等待。仅当A 进程访问完并释放系统资源后才允许另一进程对该资源进行访问。 这种资源共享方式称为互斥式共享把这种在一段时间内只允许一个进程访问的资源称为临界资源(或独占资源)。系统中的大多数物理设备以及栈、变量和表格都属于临界资源都只能被互斥地共享。为此在系统中必须配置某种机制用于保证诸进程互斥地使用临界资源。
2.同时访问方式
系统中还有另一类资源允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”在单处理机环境下是宏观意义上的而在微观上这些进程对该资源的访问是交替进行的典型的可供多个进程“同时”访问的资源是磁盘设备。一些用重入码编写的文件也可以被“同时”共享即允许若千个用户同时访问该文件。
并发和共享是多用户(多任务)0S 的两个最基本的特征。它们又是互为存在的条件一方面资源共享是以进程的并发执行为条件的若系统不允许并发执行也就不存在资源享问题另一方面若系统不能对资源共享实施有效管理以协调好诸进程对共享资源访问也必然会影响到诸进程间并发执行的程度甚至根本无法并发执行. 三.虚拟(Virtual)
在 OS中把通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能称为“虚拟”.
1.时分复用技术
在计算机领域中广泛利用时分复用技术来实现虚拟处理机、虚拟设备等使资源的利用率得以提高。时分复用技术能提高资源利用率的根本原因在于它利用某设备为一用户服务的空闲时间又转去为其他用户服务使设备得到最充分的利用。
(1)虚拟处理机技术
利用多道程序设计技术为每道程序建立至少一个进程让多道程序并发执行。
(2) 虚拟设备技术
我们还可以利用虚拟设备技术也通过分时复用的方法将一台物理 IO 设备虚拟为多台逻辑上的 IO 设备并允许每个用户占用一台逻辑上的 IO 设备.
2.空分复用技术
如果说多道程序技术(时分复用技术)是通过利用处理机的空闲时间运行其它程序提高了处理机的利用率那么空分复用技术则是利用存储器的空闲空间分区域存放和运行其它的多道程序以此来提高内存的利用率。
但是单纯的空分复用存储器只能提高内存的利用率并不能实现在逻辑上扩大存储器容量的功能还必须引入虚拟存储技术才能达到此目的。 虚拟存储技术在本质上是实现内存的分时复用即它可以通过分时复用内存的方式使一道程序仅在远小于它的内存空间中运行。 例如一个 100 MB 的应用程序之所以可以运行在 30 MB 的内存空间实质上就是每沃只把用户程序的一部分调入内存运行运行完成后将该部分换出再换入另一部分到内存中运行通过这样的置换功能便实现了用户程序的各个部分分时地进入内存运行。 四.异步(Asynchronism)
对于内存中的每个进程在何时能获得处理机运行何时又因提出某种资源请求而暂停以及进程以怎样的速度向前推进每道程序总共需要多少时间才能完成等等都是不可预知的。
由于各用户程序性能的不同比如有的侧重于计算而较少需要 IO;而有的程序其计算少而 IO 多这样很可能是先进入内存的作业后完成而后进入内存的作业先完成。或者说进程是以人们不可预知的速度向前推进的此即进程的异步性.
尽管如此,但只要在 OS 中配置有完善的进程同步机制且运行环境相同则作业即便经过多次运行也都会获得完全相同的结果。因此异步运行方式是允许的而且是操作系统的一个重要特征。
(三)客户/服务器模式(Client/Server Model)
客户/服务器(Client/Server)模式可简称为 C/S 模式。其在 20 世纪 90 年代已风靡全球不论是LAN还是企业网以及 Intermet 所提供的多种服务都广泛采用了客户/服务器的模式. 一.客户/服务器系统的组成
1.客户机: 通常在一个 LAN 网络上连接有多台网络作站(简称客户机)每台客户机都是一个自主计算机具有一定的处理能力客户进程在其上运行平时它处理一些本地业务也可发送一个消息给服务器以请求某项服务。
2. 服务器:通常是一台规模较大的机器在其上驻留有网络文件系统或数据库系统等它应能为网上所有的用户提供一种或多种服务。平时它一直处于工作状态被动地等待来自客户机的请求一旦检查到有客户提出服务请求便去完成客户的请求并将结果送回客户这样工作站中的用户进程与服务器进程就形成了客户/服务器关系。
3.网络系统:是用于连接所有客户机和服务器实现它们之间通信和网络资源共享的系统。 二.客户/服务器之间的交互
一次完整的交互过程可分成以下四步:(1) 客户发送请求消息。当客户机上的用户要请求服务器进行应用处理时应输入相应的命令和有关参数。由客户机上的发送进程先把这些信息装配成请求消息然后把它发往服务器;客户机上的接收进程则等待接收从服务器发回来的响应消息。
(2) 服务器接收消息。服务器中的接收进程平时处于等待状态一旦有客户机发来请求接收进程就被激活根据请求信息的内容将之提供给服务器上的相应软件进行处理.
(3) 服务器回送消息。服务器的软件根据请求进行处理在完成指定的处理后把处理结果装配成一个响应消息由服务器中的发送进程将之发往客户机。
(4) 客户机接收消息。客户机中的接收进程把收到的响应消息转交给客户机软件再由后者做出适当处理后提交给发送该请求的客户。
三.客户/服务器模式的优点
C/S 模式之所以能成为在分布式系统和网络环境下软件的一种主要工作模式是由于该模式具有传统集中模式所无法比拟的一系列优点。
(1) 数据的分布处理和存储。由于客户机具有相当强的处理和存储能力可进行本地处理和数据的分布存储从而摆脱了由于把一切数据都存放在主机中而造成的既不可靠又容易产生瓶颈现象的困难局面。
(2) 便于集中管理。尽管 C/S 模式具有分布处理功能但公司(单位)中的有关全局的重要信息、机密资料、重要设备以及网络管理等仍可采取集中管理方式这样可较好地保障系统的“可靠”和“安全”。
(3) 灵活性和可扩充性。C/S 模式非常灵活极易扩充。理论上客户机和服务器的数量不受限制其灵活性还表现在可以配置多种类型的客户机和服务器上。
(4)易于改编应用软件。在客户/服务器模式中对于客户机程序的修改和增删比传统集中模式要容易得多必要时也允许由客户进行修改。
四.客户/服务器模式的缺点
基本客户/服务器模式的不足之处是存在着不可靠性和瓶颈问题。
在系统仅有一个服务器时一旦服务器故障将导致整个网络瘫痪。当服务器在重负荷下工作时会因忙不来而显著地延长对用户请求的响应时间。
如果在网络中配置多个服务器并采取相应的安全措施则这种不足可加以改善。