admin管理员组

文章数量:1551672

第1章 操作系统引论

文章目录

  • 第1章 操作系统引论
    • 1.1 操作系统的目标和作用
      • 1.1.1 操作系统的目标
      • 1.1.2 操作系统的作用
      • 1.1.3 推动操作系统发展的主要动力
    • 1.2 操作系统的发展过程
      • 1.2.1 未配置操作系统的计算机系统
      • 1.2.2 单道批处理系统
      • 1.2.3 多道批处理系统
      • 1.2.4 分时系统
      • 1.2.5 实时系统
      • 1.2.6 微机操作系统
      • 1.2.7 嵌入式操作系统
      • 1.2.8 网络操作系统
      • 1.2.9 分布式操作系统
    • 1.3操作系统的基本特性
      • 1.3.1 并发
      • 1.3.2 共享
      • 1.3.3 虚拟(Virtual)
      • 1.3.4 异步(Asynchronism)
    • 1.4 操作系统的运行环境
      • 1.4.1 硬件支持
      • 1.4.2 操作系统内核(OS Kernel)

 __操作系统(Operating System,OS)__是配置在计算机硬件上的第一层软件,是管理和控制整个计算机系统的硬件和软件,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便的接口与环境的程序集合。

1.1 操作系统的目标和作用

OS的目标与应用环境有关:

(1)应用于查询系统的OS,应具备良好的人机交互性;

(2)应用于工业控制、武器控制以及多媒体环境的OS,应具有实时性;

(3)微型计算机(微机)上配置的OS,更应看重其使用的方便性。

1.1.1 操作系统的目标

在计算机系统上配置OS,其主要目标是实现:方便性有效性可扩充性开放性

(1)方便性(通过OS命令操作计算机,方便用户使用)
(2)有效性(提高系统资源的利用率、提高系统的吞吐量)
(3)可扩充性(OS必须具备良好的可扩充性、与OS的结构有紧密的联系)
(4)开放性(OS遵循国际标准,特别是遵循开放系统互连(open system interconnect,OSI)参考模型)

1.1.2 操作系统的作用

1、OS作为用户与计算机硬件系统之间的接口

 OS作为用户与计算机硬件系统之间的接口,其含义是:OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机硬件系统,即用户在OS的帮助下能够方便、快捷、可靠地操纵计算机硬件来运行自己的程序。 用户使用计算机的主要方式有三种:命令方式(命令接口)系统调用方式(程序接口)图形/窗口方式(图形接口,GUI)

 操作系统提供的接口主要分为两类:一类是命令接口,用户利用这些操作命令来组织和控制作业的执行;另一类是程序接口,编程人员可以使用它们来请求操作系统服务。

(1)命令接口

 使用命令接口进行作业控制的主要方式有两种,即联机控制方式脱机控制方式。按作业控制方式的不同,可将命令接口分为联机命令接口脱机命令接口

 联机命令接口,又称交互式命令接口,适用于分时系统或实时系统的接口。它由一组键盘操作命令组成。用户通过控制台或终端输入操作命令,向系统提出各种服务要求。用户每输入一条命令,控制权就转给操作系统的命令解释程序,然后由命令解释程序解释并执行输入的命令,完成指定的功能。之后,将控制权转回控制台或终端,此时用户又可输入下一条命令。

 脱机命令接口,又称批处理命令接口,适用于批处理系统,它由一组作业控制命令组成。脱机用户不能直接干预作业的运行,而应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统。系统调度到该作业时,由系统中的命令解释程序逐条解释执行作业说明书上的命令,从而间接地控制作业的运行。

(2)程序接口

 程序接口由一组==系统调用(也称广义指令)==组成。用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如__使用各种外部设备__、__申请分配__和__回收内存__及其他各种要求。

 当前最为流行的是用户图形界面(GUI),即图形接口。GUI最终是通过调用程序接口实现的,用户通过鼠标和键盘在图形界面上单击或使用快捷键,就能很方便地使用操作系统。

 严格来说,图形接口不是操作系统的一部分,但图形接口所调用的__系统调用命令__是操作系统的一部分。

2、OS作为计算机系统资源的管理者

 在一个计算机系统中,通常含有多种硬件和软件资源。归纳起来可以将这些资源分为4类:处理机、存储器、I/O设备、信息(数据和程序)。OS的主要功能是对这4类资源进行有效的管理。

处理机管理负责处理机的分配与控制;

存储器管理负责内存的分配与回收;

I/O设备管理负责I/O设备的分配(回收)与操纵;

文件管理负责文件的存取、共享与保护等。

(1)处理机管理

  在多道程序下,处理记得分配和运行都以进程(或线程)为基本单位,因而对处理机管理可以归结为对进程的管理。并发是指计算机在同一时间段内同时运行多个进程,因此进程何时创建、何时撤销、如何管理、如何避免冲突、合理共享就是进程管理的最主要的任务。进程管理的主要功能包括__进程控制__、进程同步进程通信死锁处理、__处理机调度__等。

(2)存储器管理

 存储器管理是为了给多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括__内存分配与回收__、地址映射、__内存保护与共享__和__内存扩充__等功能。

(3)文件管理

 计算机中的信息都是以文件的形式存在的,操作系统中负责文件管理的部分称为文件系统。文件管理包括文件存储空间的管理目录管理文件读写管理保护等。

(4)设备管理

 设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括__缓冲管理__、设备分配、__设备处理__和__虚拟设备__等功能。

3、OS实现了对计算机资源的抽象

 没有任何软件支持的计算机称为裸机,它仅构成计算机系统的物质基础,向用户提供的仅是硬件接口(物理接口)。操作系统所提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器;因此,通常把覆盖了软件的机器称为扩充机器虚拟机

1.1.3 推动操作系统发展的主要动力

(1)不断提高计算机系统的资源利用率;
(2)方便用户;
(3)器件不断更新换代;
(4)计算机体系结构不断发展;
(5)不断提出新的应用需求。

1.2 操作系统的发展过程

1.2.1 未配置操作系统的计算机系统

1、人工操作方式

 早期的操作方式是有用户将事先已经穿孔的纸带(或卡片),装入纸带输入机(或卡片输入机),再启动它们以将纸带(或卡片)上的程序和数据输入计算机,然后启动计算机运行。仅当程序运行完毕并取走计算结果后,才允许下一个用户上机。这种人工操作方式有以下两方面的缺点:

(1)用户独占全机,即一台计算机的全部资源由上级用户独占。

(2)CPU等待人工操作。当用户进行装袋(卡)、卸带(卡)等人工操作时,CPU及内存等资源是空闲的。

 可见人工操作方式严重降低了计算机资源的利用率,此即所谓的人机矛盾。

2、脱机I/O方式

 脱机I/O方式是事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带上的程序和数据输入磁带。

 由于程序和数据的输入和输出都是在外围机的控制下完成的,即在脱离主机的情况下进行的

,故称其为脱机I/O方式。而把在主机的直接控制下进行的I/O的方式,称为联机I/O方式。脱机I/O方式的主要优点如下:

(1)减少了CPU的空闲时间。装带、卸带以及将数据从低速I/O设备送到高速磁带上(或反之)的操作,都是在脱机情况下由外围机完成的,并不占用主机时间,因此有效减少了CPU的空闲时间。

(2)提高了I/O的速度。当CPU在运行中需要输入数据时,系统是直接从高速磁带上将数据输入内存的,这极大地提高了I/O速度,进一步减少了CPU的空闲时间。

1.2.2 单道批处理系统

 为了能充分提高计算机的利用率,应尽量保持系统连续运行,即使在其处理完一个作业后,紧接着处理下一个作业,以减少系统的空闲时间。

1、单道批处理系统的处理过程

 为了实现对作业的连续处理,需要先把一批作业以脱机I/O的方式输入到磁带上,并在系统中配上监督程序,在其控制下,这批作业能一个接一个地被连续处理。虽然该系统对作业的处理是成批进行的,但在内存中始终只能保持一道作业,故称之为单道批处理系统

 单道批处理系统是在解决人机矛盾和CPU与I/O设备速度不匹配矛盾的过程中形成的。单道批处理系统旨在提高系统资源的利用率系统吞吐量。但这种单道批处理系统仍然不能充分利用系统资源,故现在已经很少使用。

2、单道批处理系统的缺点

 单道批处理系统最主要的缺点是,系统中的资源得不到充分利用,高速的CPU经常在等待低速的I/O完成状态。

3、单道批处理系统的主要特征:

(1)自动性。在顺利的情况下,磁带上的一批作业能自动地逐个运行,而无须人工干预。

(2)顺序性。磁带上的各道作业顺序地进入内存,各道作业的完成顺序与它们进入内存的顺序在正常情况下应完全相同,亦即先调入内存的作业先完成。

(3)单道性。内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存运行,当该程序完成或发生异常状况时,才换入其后继程序进入内存运行。

1.2.3 多道批处理系统

1、多道程序设计的基本概念

 为了进一步提高资源的利用率系统吞吐量,引入了多道程序设计技术,由此形成了多道批处理系统。

2、多道批处理系统的优缺点

(1)**资源利用率高。**引入多道程序机制使多道程序交替运行,以保证CPU一直处于忙碌状态;在内存中装入多道程序,不仅可以提高内存的利用率,还可以提高I/O设备的利用率。

(2)**系统吞吐量大。**①CPU和其他资源保持“忙碌”状态;②仅当作业完成时或运行不下去时才进行切换,系统开销小。

(3)**平均周转时间长。**由于作业要排队并依次进行处理,因而作业的周转时间较长,通常需要几个小时甚至几天。

(4)**无交互能力。**用户一旦把作业提交给系统,那么直至作业完成,用户都不能与自己的作业进行交互,这对用户修改和调试程序是极不方便的。

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

(1)争用处理机问题:系统既要满足各道程序运行的需要,又要能提高处理机的利用率。

(2)内存分配与保护问题:系统应能为每道程序分配必要的内存空间,以使他们“各得其所”,且不会因为某道程序出现异常情况而破坏其他程序。

(3)I/O设备分配问题:系统应采取适当的策略来分配系统中的I/O设备,以达到既能方便用户对设备的使用,又能提高设备利用率的目的。

(4)文件的组织与管理问题:系统应能有效地组织存放在系统中大量的程序和数据,以使它们既便于用户使用,又能保证数据的安全性。

(5)作业管理问题:系统中存在着各种作业(应用程序),系统应能对系统中所有的作业进行合理的组织,以满足这些作业对应用户的不同要求。

(6)用户与系统的接口问题:为使用户能方便地使用OS,OS还应提供用户与OS之间的接口。

1.2.4 分时系统

1、分时系统的引入

 推动分时系统(time sharing system)形成和发展的主要动力,是为了满足用户对人机交互的需求用户的需求具体表现在以下两个方面:

(1)人机交互。用户希望能像早期使用计算机时一样,独占全机并对它进行直接控制,以便能方便地对程序中的错误进行修改。

(2)共享主机。用户们在共享一台计算机时,每个用户都希望能像独占全机一样,不仅可以随时与计算机进行交互,而且不会感觉到其他用户的存在。

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

2、分时系统实现过程中的关键问题

 为了实现人机交互,必须解决的关键问题是:如何使用户能与自己的作业进行交互。为此,首先,系统必须能提供多个终端同时给多个用户使用;其次,当用户在自己的终端上键入命令时,系统应能及时接收并处理该命令,然后将处理结果返回给用户。此后,用户可根据系统的响应情况,再继续键入下一条命令,此即人机交互。亦即,允许有多个用户同时通过自己的键盘键入命令,系统也应能将全部命令及时接收并处理。

(1)及时接收。要做到及时接收多个用户键入的命令或数据,只须在系统中配置一个多路卡即可。多路卡的作用是实现时分多路复用(Time-Division Multiplexing,TDM),即主机能以很快的速度周期性地扫描各个终端,并在每个终端处停留一段很短的时间(如30ms)以接收从终端发来的数据。此外,为了能使从终端上输入的数据被依次逐条地进行处理,还需要为每个终端配置一个命令缓冲区,用于暂存用户键入的命令或数据。

(2)及时处理。①采用作业直接进入内存的方式。因为作业在磁盘上是不能运行的,所以其应该直接进入内存。②采用轮转运行的方式。如果一个作业独占处理机而连续运行,那么其他作业就没有机会被调度运行。为了避免一个作业长期独占处理机,引入了时间片的概念。一个时间片就是一个很短的时间,如30ms。系统规定每个作业每次只能运行一个时间片,然后就暂停该作业的运行,并立即调度下一个作业运行,不管它是否运行完毕。

3、分时系统的特征

(1)多路性,系统允许将多台终端同时连接到一台主机上,并按分时原则为每个用户服务。

(2)独立性,系统提供了一种每个用户在各自的终端上进行操作的用机环境,彼此之间互不干扰,给用户的感觉就像是他一人独占主机。

(3)及时性,用户的请求能在很短的时间内获得响应,通常仅为1~3s。

(4)交互性,用户可以通过终端与系统进行广泛的人机对话。用户可以请求系统提供多方面的服务,如进行文件编辑和数据处理、访问系统中的文件系统和数据库系统、打印运行结果等。

1.2.5 实时系统

 “实时”具体指“及时”;“实时计算”的定义为:==系统的正确性不仅由计算的逻辑结果来确定,而且还取决于产生结果的时间。==实时系统(real time system)最主要的特征是将时间作为关键参数,必须对所接收的某些信号做出“及时”或“实时”的反应。

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

1、实时系统的类型

(1)工业控制系统

(2)信息查询系统

(3)多媒体系统

(4)嵌入式系统

2、实时任务的类型

(1)周期性实时任务非周期性实时任务

 周期性实时任务:外部设备周期性地发出激励信号给计算机,要求它按指定周期循环执行,以便周期性地控制某外部设备。

 非周期性实时任务:无明显的周期性但必须联系一个截止时间(deadline),或称最后期限,可分为两种:①开始截止时间:某任务在某时刻以前必须开始执行;②完成截止时间:某任务在某时刻以前必须完成执行。

(2)硬实时任务软实时任务

硬实时(hard real time,HRT)任务是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的后果。

软实时(soft real time,SRT)任务联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,其对系统产生的影响也不会太大。

3、实时系统的特征

(1)多路性。系统周期性地对多路现场信息进行采集,并对多个对象或多个执行机构进行控制。

(2)独立性。信息查询系统中的每个终端用户在与系统进行交互时,彼此相互独立、互不干扰;在实时控制系统中,对信息的采集和对对象的控制,也是彼此互不干扰的。

(3)及时性。实时控制系统的实时性是以控制对象所要求的截止时间来确定的,一般为秒到毫秒级。

(4)交互性。实时操作系统的交互性有一定的限制,它并不能像分时系统那样向终端用户提供数据处理、资源共享等服务。

(5)可靠性。实时系统要求系统高度可靠,往往采取了多种容错措施,以保障系统及数据的安全性。

1.2.6 微机操作系统

 配置在微机上的OS称为微机OS,由于使用者通常为个人,因此其也被称为个人计算机(personal computer)。

最早诞生的微机OS是配置在8位微机上的CP/M

现在流行的微机OS按运行方式可以分为以下几类:

1、单用户单任务OS

单用户单任务OS只允许一个用户上机,且只允许用户程序作为一个任务运行。

 最有代表性的单用户单任务OS是CP/M(8位)和MS-DOS(16位)

2、单用户多任务OS

单用户多任务OS只允许一个用户上机,但允许用户把程序分为若干个任务并发执行,从而有效地改善了系统性能。

 最有代表性的单用户多任务OS是由微软公司退出的Windows系列,如Windows3.1Windows95/98等。

3、多用户多任务OS

多用户多任务OS允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而进一步提高系统资源的利用率和系统吞吐量。

 最有代表性的多用户多任务OS是UNIX系统、各种类UNIX系统(如SolarisLinux等)以及Windows NT/Server系列的系统。

 多用户多任务OS除了具有界面良好管理方便适于普及等优点外,还具有支持多用户使用可移植性良好功能强大通信能力强等优点。

1.2.7 嵌入式操作系统

1、嵌入式系统

 ==嵌入式系统(embedded system)==是为了完成某个特定功能而设计的系统,或是具有附加机制的系统,或是其他部分的计算机硬件与软件的结合体。

2、嵌入式OS

 嵌入式OS是指应用于嵌入式系统的OS。目前在嵌入式领域广泛应用的OS有嵌入式(实时)μC/OS-Ⅱ、嵌入式Linux、Windows Embedded、VxWorks,以及应用在智能手机和平板电脑上的Android、iOS等。

3、嵌入式OS的特点

(1)系统内核小

(2)系统精简

(3)实时性高

(4)具有可配置性

1.2.8 网络操作系统

1、网络OS的特征

(1)硬件独立性:系统可以运行在各种硬件平台上。

(2)接口一致性:系统为网络中的共享资源提供一致性的接口,针对同一性质的资源,采用统一的访问方式和接口。

(3)资源透明性:系统能对网络中的资源进行统一管理,能够根据用户的要求对资源进行自动选择和分配。

(4)系统可靠性:系统利用资源在地理上分散的优点,通过统一管理、分配和调度手段,确保了整个网络的安全可靠。如果一个节点和通信链路出现故障,则可屏蔽该节点或重新定义新的通信链路,以保证网络的正常运行。

(5)执行并行性:系统不仅实现了在每个节点计算机中各道进程的并发执行,而且实现了网络中多个节点计算机上的并行执行。

2、网络OS的功能:

(1)连接的建立与拆除

(2)报文的分解与组装

(3)传输控制

(4)流量控制

(5)差错的检测与纠正

1.2.9 分布式操作系统

1、分布式系统

分布式系统(distributed system),是基于软件实现的一种多处理机系统,是多个处理机通过通信线路互联而构成的松散耦合系统,系统的处理和控制功能分布在各个处理机上。换言之,分布式系统是利用软件系统的方式构建在计算机网络上的一种多处理机系统。

 分布式系统应具有以下几个主要特征:

(1)分布性:分布式系统有多台计算机组成,从位置和地域范围来看,它们是分散的和广阔的,此即地理位置的分布性。从系统的功能来看,功能分散在系统的各节点计算机上,此即资源的分布性。从系统的控制来看,在一般的分布式系统中,计算机没有主从之分,此即控制的分布性。其中资源和控制的分布性也称为自治性

(2)透明性:分布式系统的系统资源被所有计算机共享。

(3)同一性:分布式系统中的若干台计算机可以通过互相协作来完成同一任务,或者说一个程序可以分布在几台计算机上并行地运行。

(4)全局性:系统具备一个全局性的进程通信机制,系统中的任意两台计算机都可以通过该机制实现信息交换。

2、分布式OS

 分布式OS是配置在分布式系统上的公用OS,其以全局方式对分布式系统中的所有资源进行统一管理,可以直接对系统中地理位置分散的各种物理和逻辑资源进行动态分配和调度,有效地协调和控制各个任务的并行执行,协调和保持系统内的各个计算机间的信息传输与协作运行,并向用户提供一个统一的、方便的、透明的使用系统界面和标准接口。分布式OS保持了网络OS所拥有的全部功能,同时还具有透明性内聚性可靠性高性能等特点。

 分布式OS还包括以下功能:

(1)通信管理功能

(2)资源管理功能

(3)进程管理功能

1.3操作系统的基本特性

 操作系统共同具有并发共享虚拟异步这4个基本特性。

1.3.1 并发

 正是系统中的程序能并发(concurrence)执行,才使得OS能有效地提高系统中资源的利用率,增加系统的吞吐量。

1、并行(parallelism)与并发

并行是指两个或多个事件在同一时刻发生,而并发是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发是指在一段时间内宏观上有多个程序在同时运行;但在单处理机系统中,每一时刻仅能有一道程序执行,故在微观上这些程序只能分时交替执行。

 倘若在计算机系统中有多个处理机,那么这些能并发执行的程序,便可被分配到多个处理机上实现并行执行,即利用每个处理机来处理一个可并发执行的程序设计。这样,多个程序便可同时执行。

2、引入进程

进程,是指在系统中能独立运行并能作为资源分配对象的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能够独立运行的活动实体。多个进程之间可以并发执行和交换信息。

1.3.2 共享

 在OS环境下的资源共享(sharing),或称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。目前实现资源共享的主要方式有如下两种:

1、互斥共享方式

2、同时共享方式

1.3.3 虚拟(Virtual)

 在OS中,把通过某种技术将一个物理实体变为若干个逻辑上对应的物的功能,称为“虚拟”。前者是实的,即实际存在的;后者是虚的,是用户感觉存在的东西。用于实现虚拟的技术称为虚拟技术。在OS中是利用时分复用空分复用技术来实现“虚拟”的。

1、时分复用技术(Time Division Multiplexing,TDM)

(1)虚拟处理机技术。利用多道程序设计技术,为每道程序建立至少一个进程,使多道程序并发执行。用户感觉到的处理机称为虚拟处理机

(2)虚拟设备技术。利用时分复用技术,将一台物理上的I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备。

2、空分复用技术(Space Division Multiplexing,SDM)

 空分复用技术是利用存储器的空闲空间(如某道程序阻塞时被换出到外存而空出来的内存空间)来存放其他程序以提高内存利用率的。

1.3.4 异步(Asynchronism)

 由于资源等因素的限制,进程的执行通常不可能“一气呵成”,而是会以“停停走走”的方式运行。换言之,进程以人们不可预知的速度向前推进,此即进程的异步性(asynchronism)

1.4 操作系统的运行环境

1.4.1 硬件支持

 现代通用计算机系统包括一个或多个CPU和若干个设备控制器,通过公用总线相连而成,该总线提供了共享内存的访问功能。每个设备控制器负责一类特定的设备。CPU和设备控制器可以并发执行,但会竞争访问共享内存。为了确保访问共享内存的有序性,需要内存控制器来协调它们对内存的访问

1.4.2 操作系统内核(OS Kernel)

 现代OS一般会划分若干层次,再将不同功能分别设置在不同层次中。
 通常将一些与硬件紧密相关的模块(如中断处理程序等)各种设备常用的驱动程序运行频率较高的模块(如时钟管理模块、进程调度模块等) 以及许多模块所公用的一些基本操作,都安排在紧靠硬件的软件层次中,并将它们常驻内存,称为操作系统内核(OS Kernel)
 这种安排方式的目的在于:
1、便于对这些软件进行保护,防止它们遭受其他应用程序的破坏;
2、提高操作系统的运行效率。

本文标签: 操作系统引论计算机慕课版