操作系统教程之引论(万字祥解)

第一章 操作系统的初识

1.1 操作系统概念
1.2 操作系统的形成与发展
1.3 操作系统的分类
1.4 操作系统的功能
1.5 操作系统的特征和作用
1.6 本章小结

1. 1 操作系统概念

        任何一个计算机系统都是由两部分组成:计算机硬件和计算机软件为了对硬件的性能加以扩充和完善,为了方便用户上机,在硬件外添加了能实现各种功能的软件程序。在这些软件中有一个很重要的软件系统称为操作系统,它管理系统中所有的软硬件资源,并组织控制整个计算机的工作流程。
        软件一般可以分为以下几类:

(1)系统软件操作系统、编译程序、程序设计语言、数据库管理系统等与计算机密切相关的程序。

(2)应用软件:应用程序及软件包等。

(3)工具软件:各种诊断程序、检查程序、引导程序、实用程序等。

硬件是计算机系统的物质基础,没有硬件就不能执行指令和实施最原始、最简单的操作,软件也就失去了效用;而若只有硬件,没有配置相应的软件,计算机就不能发挥它潜在的能力,这些硬件也就没有活力。因此,硬件和软件这二者是互相依赖、互相促进的。只有软件和硬件有机地结合在一起的系统,才能称得上是一个计算机系统。操作系统将系统中的各种软、硬件资源有机地组合成一个整体,使计算机真正体现了系统的完整性和可利用性。

        引入操作系统的目的可从两方面来考察:
         1.从系统管理人员的观点来看,引入操作系统是为了合理地去组织计算机工作流程,管理和分配计算机系统硬件及软件资源,使之能为多个用户所共享。因此,操作系统是计算机资源的管理者。
       2.从用户的观点来看,引入操作系统是为了给用户使用计算机提供一个良好的界面,以使用户无需了解许多有关硬件和系统软件的细节,就能方便灵活地使用计算机。
      综上所述,我们可以把操作系统定义为:操作系统是计算机系统中的一个系统软件,它统一管理计算机的软硬件资源和控制程序的执行。

        操作系统的主要目标可归结为:
          (1) 方便用户使用:操作系统通过提供用户与计算机之间的友好界面来方便用户使用。
          (2) 扩展机器功能:操作系统通过扩充硬件功能和提供新的服务来扩展机器功能。
          (3) 管理系统资源:操作系统有效地管理系统中的所有硬件和软件资源,使之得到充分利用。
          (4) 提高系统效率:操作系统合理组织计算机的工作流程,以改进系统性能和提高系统效率。
          (5)构筑开放环境:操作系统遵循国际标准来设计和构造一个开放环境。其含义主要是指:遵循有关国际工业标准和开放系统标准,支持体系结构的可伸缩性和可扩展性;支持应用程序在不同平台上的可移植性和互操作性。

1.2 操作系统的形成与发展

        操作系统是由于客观的需要而产生的,它伴随着计算机技术本身及其应用的日益发展而逐渐发展和不断完善。它的功能由弱到强,在计算机系统中的地位不断提高。至今,它已成为计算机系统中的核心,无一计算机系统是不配置操作系统的 。
      计算机正向着巨型、微型、并行、分布、网络化、智能化几个方向发展。在此基础上为适应客观需要,操作系统经历了如下的发展过程:
    手工操作阶段(无操作系统)、批处理系统、执行系统、多道程序系统、分时系统、实时系统、通用操作系统、微机操作系统、网络操作系统、分布式操作系统。

1.2.1 手工操作阶段

        在第一代计算机时期,构成计算机的主要元件是电子管,其运算速度慢(只有几千次/秒)。计算机由主机(运控部件、主存)、输入设备(如读卡机)、输出设备(如穿卡机)和控制台组成。当时没有操作系统,甚至没有任何软件。人们在利用这样的计算机解题只能采用手工操作方式,而且用户只能轮流地使用计算机。每个用户的使用过程大致如下:先把程序卡片装上读卡机,然后启动读卡机把程序和数据送入计算机,接着通过控制台开关启动程序运行。计算完毕,用户通过穿卡机输出结果。在这个过程中需要人工装卡片、人工控制程序运行、人工卸卡片,这些都是人工操作,即所谓“人工干预”。这种由一道程序独占机器且有人工操作的情况,在计算机速度较慢时是允许的,因为此时的计算时间相对较长,手工操作所占比例还不很大。

        50年代后期,计算机的运行速度有了很大的提高,从每秒几千次、几万次发展到每秒几十万次、上百万次。由于计算机运行速度几十倍、上百倍地提高,手工操作的慢速度和计算机的高速度之间形成了矛盾,即所谓人---机矛盾。随着计算机速度的提高,人---机矛盾已到了不能容忍的地步。为了解决这一矛盾,只有摆脱人的手工干预,实现作业的自动过渡,这样就出现了成批处理。

1.2.2    早期批处理系统

        操作员把用户提交的作业分类,把一批中的作业编成一个作业执行序列。每一批作业将有专门编制的监督程序自动依次处理。

1.联机批处理系统
       用户上机前,需向机房的操作员提交程序、数据和一个作业说明书。这些资料必须变成穿孔信息(例如穿成卡片或纸带的形式),操作员把各用户提交的一批作业装到输入设备上(若输入设备是读卡机,则该批作业是一叠卡片),然后由监督程序控制送到磁带上。之后,监督程序自动输入第一个作业的说明记录,若系统资源能满足其要求,则将该作业的程序、数据调入主存,并从磁带上调入所需要的编译程序。编译程序将用户源程序翻译成目标代码,然后由连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行的程序,接着启动执行。计算完成后输出该作业的计算结果。一个作业处理完毕后,监督程序又可以自动地调下一个作业处理。重复上述过程,直到该批作业全部处理完毕。

        这种联机处理方式解决了作业自动转换,从而减少了作业建立和人工操作时间。但是在作业的输入和执行结果的输出过程中,CPU仍处于停止等待状态,CPU时间仍有很大的浪费,于是慢速的输入输出设备与快速的CPU之间形成了一对矛盾。如果把输入输出工作直接交给一个价格便宜的专用机去做,就能充分发挥主机的效率,为此出现了脱机批处理系统。

2.脱机批处理系统
           脱机批处理系统由主机和卫星机组成,如图1-2所示。卫星机又称外围计算机,它不与主机直接连接,只与外部设备打交道。卫星机负责把输入机上的作业逐个转输到输入磁带上,当主机需要输入作业时,就把输入带与主机连上。主机从输入带上调入作业并运行,计算完成后,输出结果到输出磁带上,再由卫星机负责把输出带上的信息进行输出。


            在这样的系统中,主机和卫星机可以并行操作,二者分工明确,可以充分发挥主机的高速计算能力,因此脱机批处理系统和早期联机批处理系统相比大大提高了系统的处理能力。

         批处理系统出现于1950年代末,这是在解决人---机矛盾以及中央处理器高速度和I/O设备慢速度这一对矛盾的过程中发展起来的。它的出现促使了软件的发展,最重要的是它产生了起管理作用的监督程序,该程序完成作业的自动过渡并且负责装入和运行各种语言翻译程序(如汇编程序、编译程度)以及实用程序(如连接装配程序)。在此期间也出现了程序库和程序覆盖等新的程序设计技术。
            解题操作过程变成了装入、汇编(或编译)、连接装配、执行四个步骤,从而使上机操作初步自动化。

联机批处理和脱机批处理的区别

        前者在作业的输入和执行结果的输出过程中,CPU仍处于停止等待状态,CPU时间仍有很大的浪费,于是慢速的输入输出设备与快速成的CPU之间形成了一对矛盾。如果把输入输出工作直接交给一个价格便宜的专用机去做(卫星机),就能充分发挥主机的效率,为此出现了脱机批处理系统。

1.2.3 执行系统

         20世纪60年代初期,硬件获得了两方面的进展,一是通道的引入(DMA),二是中断技术(P4)的出现,这两项重大成果导致了操作系统进入执行系统阶段
            借助于通道和中断技术,输入输出工作可在主机控制下完成。这时,原有的监督程序的功能扩大了,它不仅要负责调度作业自动地运行,而且还要提供输入输出控制功能(用户不能直接使用启动外设的指令,他的输入输出请求必须通过系统去执行)
            这个发展了的监督程序常驻主存,称为执行系统。

        执行系统实现的是联机操作,和早期批处理系统不同的是:输入输出工作是由在主机控制下的通道完成的,主机和通道、主机和外设之间都可以并行操作
        在执行系统中,用户程序的输入输出工作是委托给系统实现的,由系统检查其命令的合法性,以避免由于不合法的输入输出命令造成对系统的威胁,因此提高了系统的安全性  
        另外,由于引入了一些新的中断,如算术溢出和非法操作码中断等,克服了错误停机的弊病,而时钟中断可以解决用户程序中出现的死循环事件

1.2.4  多道批处理系统

        上述批处理系统因为每次只调用一个用户作业程序进入主存并运行,故称为单道批处理系统。其主要特征为:
         (1)自动性。在顺利的情况下,在磁带上的一批作业能自动地逐个作业依次运行,而无须人工干预。(无法并发)
         (2)顺序性。磁带上的各道作业是顺序地进入主存,各道作业完成的顺序与它们进入主存的顺序之间,在正常情况下应当完全相同,亦即先调入主存的作业先完成。(内存利用率低)
         (3)单道性。主存中仅有一道程序并使之运行,即监督程序每次从磁带上只调入一道程序进入主存运行,仅当该程序完成或发生异常情况时,才调入其后继程序进入主存运行。(灵活性一般)

1.多道程序设计         
      多道程序设计是一种软件技术,该技术使同时进入计算机主存的几个相互独立的程序在管理程序控制之下相互交替地运行。当某道程序因某种原因不能继续运行下去时(如等待外部设备传输数据),管理程序便将另一道程序投入运行。这样可以使中央处理器(CPU)及各外部设备尽量处于忙碌状态,从而大大提高计算机的使用效率。
      引入多道程序设计,可具有以下好处:
     (1)可提高CPU的利用率;
     (2)可提高主存和I/O设备利用率;
     (3)可增加系统吞吐量;

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

2.多道批处理系统
           在批处理系统中采用多道程序设计技术,就形成了多道批处理系统。在多道批处理方式下,交到机房的许多作业由操作员负责将其由输入设备转存到辅存设备(比如磁盘)上,形成一个作业队列而等待运行。当需要调入作业时,管理程序中有一个名为作业调度的程序负责对磁盘上的一批作业进行选择,将其中满足资源条件且符合调度原则(比如按先来后到的顺序进行选择)的几个作业调入主存,让它们交替运行。当某个作业完成计算任务时,输出其结果,收回该作业占用的全部资源,然后根据主存和其它资源的情况再调入一个或几个作业。这种处理方式的特点是:在主存中总是同时存有几道程序,系统资源的利用率是比较高的。

        多道批处理系统是一种有效但又十分复杂的系统,为使系统中的多道程序能协调地运行,必须解决以下一些问题:
         (1)并行运行的程序要共享计算机系统的硬件和软件资源,既有对资源的竞争,但又必须相互同步。因此同步与互斥机制成为系统设计中的重要问题。
         (2)多道程序的增加,出现了主存不够用的问题,提高主存的使用效率也成为关键。因此出现了诸如覆盖技术、对换技术和虚拟存储技术等主存管理技术。
         (3)多道程序存在于主存,为了保证系统程序存储区和各用户程序存储区的安全可靠,提出了主存保护的要求。

1.2.5  分时系统

        所谓分时技术,就是把处理器的时间分成很短的时间片(如几百毫秒),这些时间片轮流地分配给各联机作业使用。如果某个作业在分配给它的时间片用完之时计算还未完成,该作业就暂时中断,等待下一轮继续计算,此时处理器让给另一个作业使用。这样,每个用户的各种要求都能得到快速响应,给每个用户的印象是:好像他独占一台计算机。采用这种分时技术的系统称为分时系统。在该系统中,一个计算机和许多终端设备连接。每个用户可以通过终端向系统发出各种控制命令,请求完成某项工作,而系统则分析从终端设备发来的命令,完成用户提出的要求,输出一些必要的信息,用户根据系统提供的运行结果,向系统提出下一步请求。重复上述交互会话过程,直到用户完成预计的全部工作为止。

1.分时系统的类型
          (1)单道分时系统
           在单道分时系统中,主存只驻留一道程序(作业),其余作业都保存在辅存上。每当主存中的作业运行一个时间片后,便被调至辅存(称为调出),再从辅存上选一个作业装入主存(称为调入)并运行一个时间片,依此方法使所有的作业都能在一规定的时间内轮流运行一个时间片,这样便能使所有的用户都能与自己的作业交互
            由于单道分时系统只有一道作业驻留在主存,在多个作业的轮流运行过程中,每个作业往往可能频繁地调进/调出多次,开销大,故使系统性能较差。

        (2)具有“前台”和“后台”的分时系统
         在单道批处理系统中,作业调进调出时CPU空闲;主存中的作业在执行I/O操作时CPU也空闲。为了充分利用CPU而引入了“前台”和“后台”的概念
        在具有前、后台的系统中,主存被固定地划分为“前台区”和“后台区”两部分,“前台区”存放按时间片“调进”和“调出”的作业流,“后台区”存放批处理作业。仅当前台调进/调出时、或前台已无作业可运行时,方才运行“后台区” 中的作业。

        (3)多道分时系统
           在分时系统中引入多道程序设计技术后,可在主存中同时存放多道作业,每道程序无固定位置,如果作业都较小,主存中便可多装入几道作业,由系统把已具备运行条件的所有作业排成一个队列,使它们依次轮流地获得一个时间片来运行。由于切换时作业就在主存,不要花费调入、调出开销,故多道分时系统具有较好的系统性能。现代的分时系统都属于多道分时系统。

    2.分时系统的特征

        分时系统与多道批处理系统相比,具有完全不同的特征,可以归纳成以下四点:
         (1)同时性。允许在一台主机上同时联接多台联机终端,系统按分时原则为每个用户服务。
         (2)独立性。每个用户各占一个终端,彼此独立操作,互不干扰。因此,用户会感觉到就像他一人独占主机。
         (3)及时性。用户的请求能在很短时间内获得响应,此时间隔是以人们所能接受的等待时间来确定的,通常为2--3秒钟。
         (4)交互性。用户可通过终端与系统进行广泛的人机话。其广泛性表现在:用户可以请求系统提供多方面的服务,如文件编辑、数据处理和资源共享等。

1.2.6  实时系统

         60年代中期计算机由于应用于工业过程控制、军事实时控制、信息实时处理等而逐步形成了各种实时处理系统。针对实时处理的实时操作系统是以在允许的时间范围之内做出响应为特征的。它要求计算机对于外来信息能以足够快的速度进行处理,并在被控对象允许时间范围内作出快速响应,其响应时间要求在秒级、毫秒级甚至微秒级或更小。
           实时系统是较少有人为干预的监督和控制系统,仅当计算机系统识别到了违反系统规定的限制或本身发生故障时,才需要人为干预。设计实时系统时有两点必须特别注意:第一,要求及时响应、快速处理。第二,实时系统要求有高可靠性和安全性,不强求系统资源的利用率。

1.2.7    通用操作系统

        多道批处理系统和分时系统的不断改进、实时系统的出现及其应用日益广泛,致使操作系统日益完善。在此基础上,出现了通用操作系统。它可以同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能。例如,将实时处理和批处理相结合构成实时批处理系统。在这样的系统中,它首先保证优先处理实时任务,插空进行批作业处理,通常把实时任务称为前台作业,批处理作业称为后台作业。将批处理和分时处理相结合可构成分时批处理系统。在保证分时用户的前提下,在没有分时用户时可进行批作业的处理。同样,分时用户和批处理作业可按前后台方式处理。
           UNIX操作系统是一个通用的多用户、分时、交互型的操作系统。它首先建立的是一个精干的核心,而其功能却足以与许多大型的操作系统相媲美,在核心层以外可以支持庞大的软件系统,它很快得到应用和推广并不断完善,对现代操作系统有着重大的影响。

 1.2.8  微机(PC)操作系统

        随着超大规模集成电路的发展而产生了微机,配置在微机上的操作系统称为微机操作系统。可按微机的字长而分成8位、16位、32位和64位微机操作系统。但也可把微机操作系统分为单用户单任务操作系统、单用户多任务操作系统和多用户多任务操作系统。
          单用户单任务操作系统的含义是:只允许一个用户上机、且只允许用户程序作为一个任务运行。单用户多任务操作系统的含义是:只允许一个用户上机,但允许将一个用户程序分为若干个任务,使它们并发执行,从而有效地改善系统的性能。多用户多任务操作系统的含义是:允许多个用户通过各自的终端使用同一台主机,共享主机系统中的各类资源,而每个用户程序又可进一步分为几个任务,使它们并发执行,从而可进一步提高资源利用率和增加系统吞吐量。

1.2.9  网络操作系统

        在计算机网络中,每个主机都有操作系统,它为用户程序运行提供服务。当某一主机联网使用时,该系统就要同网络中更多的系统和用户交往,这个操作系统的功能就要扩充,以适应网络环境的需要。网络环境下的操作系统既要为本机用户提供简便、有效地使用网络资源的手段,又要为网络用户使用本机资源提供服务。为此,网络操作系统除了具备一般操作系统应具有的功能模块之外,还要增加网络功能模块,主要应具有下述五方面的功能:
      1.网络通信
      2.资源管理
      3.网络服务
      4.网络管理
      5.互操作能力

 1.2.10  分布式操作系统

        一个分布式系统就是若干联网的计算机的集合。这些计算机都有自己的局部存贮器和外部设备。它们既可以独立工作(自治性),亦可合作工作。在这个系统中各计算机可以并行操作且有多个控制中心,即具有并行处理和分布控制的功能。分布式系统是一个一体化的系统,在整个系统中有一个全局的操作系统称为分布式操作系统,它负责全系统的资源分配和调度、任务划分、信息传输、控制协调等工作,并为用户提供一个统一的界面、标准的接口,用户通过这一界面实现所需的操作和使用系统资源。

 1.2.11 嵌入式操作系统

        嵌入式操作系统指运行在嵌入式环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件。由于它仍旧是一个操作系统,因此,具有通常操作系统的功能,包括:与硬件相关的底层软件、操作系统核心功能(文件系统、存储管理、设备管理、进程管理、处理器管理和中断处理)、功能强大的还提供图形界面、通信协议、小型浏览器等设施。
           但由于嵌入式操作系统的硬件平台的局限性、应用环境的多样性和开发手段的特殊性,它与一般操作系统相比又有很大不同,嵌入式操作系统有下列特点:

        (1)微型化:由于硬件平台的局限性,不论从性能还是从成本角度考虑,都不允许它占用很多资源,系统代码量要少,应在保证应用功能的前题下,以微型化作为出发点来设计嵌入式操作系统的结构与功能。

        (2)可定制:嵌入式操作系统运行的平台多种多样,应用更是五花八门,因而,表现出专业化的特点。从减少成本和缩短研发周期考虑,要求它能运行在不同微处理器平台上,能针对硬件变化进行结构与功能上的配置,以满足不同应用需要。

        (3)实时性:嵌入式操作系统广泛应用于过程控制、数据采集、传输通信、多媒体信息(语音、视频影像处理)及关键要害领域等要求迅速响应的场合,实时响应要求严格。因而,实时性是其主要特点之一。

        (4)可靠性:系统构件、模块和体系结构必须达到应有的可靠性,对关键要害应用还要提供容错和防故障措施,进一步改进可靠性。

        (5)易移植性:为了提高系统的易移植性,通常采用硬件抽象层和板级支撑包的底层设计技术。HAL(硬件抽象层,Hardware Abstraction Layer) 提供了与设备无关的特性,屏蔽硬件平台的细节和差异,向操作系统上层提供统一接口,保证了系统的可移植性。而一般由硬件厂家提供的,按给定的编程规范完成BSP(板级支撑包,Board Support Package) ,保证了嵌入式操作系统可在新推出的微处理器硬件平台上运行。目前国际上主要的嵌入式操作系统可以支持的微处理器已经超过几十种。

        (6)开发环境:嵌入式操作系统与其定制或配置工具联系密切,构成了嵌入式操作系统集成开发环境,其中,通常提供了代码编辑器、编译器和链接器、程序调试器、系统配置器和系统仿真器。

1.3    操作系统的分类

按照操作系统所提供的功能、特点和使用方式进行分类,可以分成以下几种基本类型:
         (1)批处理操作系统
         (2)分时操作系统
         (3)实时操作系统
         (4)微机操作系统
         (5)网络操作系统
         (6)分布式操作系统
         (7)嵌入式操作系统

1.4     操作系统的功能

        从资源管理的观点出发,操作系统的功能应包括:处理器管理、作业管理、存储管理、设备管理和文件管理。

1.4.1 处理器管理的功能

        处理器管理的主要任务是对处理器进行分配,并对其运行进行有效的控制和管理。它包括以下几方面功能:
     (1)进程控制和管理;
     (2)进程同步和互斥;
     (3)进程通信;
     (4)进程死锁;
     (5)线程控制和管理;
     (6)处理器调度。

1.4. 2 作业管理的功能

        作业管理实现作业的调度和控制作业的执行。作业调度从等待处理的作业中选择可以装入主存储器的作业,然后对已装入主存储器的作业按用户的意图控制其执行。作业管理有以下主要功能:
          (1)作业的输入;
          (2)作业的调度;
          (3)作业的控制。

1.4.3 存储管理的功能

        存储管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率,以及能从逻辑上来扩充主存。为此,存储管理应具有以下功能:
         (1)主存分配与回收;
         (2)地址转换和存储保护;
         (3)主存的共享与保护;
         (4)主存扩充。

1.4.4 设备管理的功能

        设备管理的主要任务是管理各种外部设备,完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。为实现上述任务,设备管理应具有以下主要功能:
        (1)提供设备控制处理;
        (2)提供缓冲区管理
        (3)提供设备独立性;
        (4)实现设备的分配与回收;
        (5)实现共享设备的驱动调度;
        (6)实现虚拟设备。

1.4.5 文件管理的功能

        文件管理的主要任务是对用户文件和系统文件进行有效管理,以方便用户使用,并保证文件的安全性。为此,文件管理应具有以下主要功能:
     (1)提供文件的逻辑组织方法;
     (2)提供文件的物理组织方法;
     (3)提供文件的存取和使用方法;
     (4)提供文件的目录管理;
     (5)实现文件的共享和保护;
     (6)实现文件的存储空间管理。

1.5     操作系统的特征和作用

1.5.1  操作系统的特征

        虽然不同的操作系统各有自己的特征,如批处理系统具有成批处理的特征,分时系统具有交互特征,实时系统具有实时特征,但它们也都具有以下四个基本特征:
    1.并发
           并行性和并发性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指宏观上在一段时间内多道程序在同时运行。但在单处理器系统中,每一时刻仅能执行一道程序,故微观上这些程序是在交替执行的。

  2.共享
            所谓共享是指系统中的资源可供主存中多个并发执行的进程共同使用。由于资源的属性不同,故多个进程对资源的共享方式也不同,可分为以下两种资源共享方式:
          (1)互斥共享方式
           系统中的某些资源(如打印机),虽然它们可以提供给多个进程使用,但在一段时间内却只允许一个进程访问该资源。我们把在一段时间内只允许一个进程访问的资源称为临界资源,许多物理设备以及某些变量、表格都属于临界资源,它们要求互斥地被共享。
          (2)同时访问方式
           系统中还有另一类资源,允许在一段时间内多个进程同时对它进行访问。这里所谓的“同时”往往是宏观上的。而在微观上,这些进程可能是交替地对该资源进行访问。典型的可供多个进程同时访问的资源是磁盘;一些用重入码编写的文件,也可同时共享。

3.虚拟
           操作系统中的所谓“虚拟”是指通过某种技术把一个物理实体变成若干个逻辑上的对应物。物理实体(前者)是实的,即实际存在的,而后者是虚的,是用户感觉上的东西。例如,在多道分时系统中,虽然只有一个CPU,但每个终端用户却都认为是有一个CPU在专门为他服务。
4.异步性
           在多道程序环境下,允许多个进程并发执行,但由于资源等因素的限制,通常进程的执行并非“一气呵成”,而是以“走走停停”的方式运行。或者说,进程是以异步方式运行的。尽管如此,但只要运行环境相同,作业经多次运行,都会获得完全相同的结果,因此,异步运行方式是允许的。此即进程的异步性,是操作系统的一个重要特征。

1.5.2      操作系统的作用

1.作为用户与计算机硬件系统之间的接口
           操作系统处于用户与计算机硬件系统之间,用户通过操作系统来使用计算机系统。或者说,用户在操作系统的帮助下能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。应当注意,操作系统是一个系统软件,这种接口因而是软件接口。
2.作为计算机系统资源的管理者
           在一个计算机系统中,通常都包含了各种各样的硬件和软件资源。归纳起来可将资源分为四类:处理器、存储器、I/O设备以及信息(数据和程序)。相应地,操作系统的主要功能也正是针对这四类资源进行有效的管理。可见,操作系统确是计算机系统的资源管理者。事实上,当今世界上广为流行的一个关于操作系统作用的观点,正是把操作系统作为计算机系统的资源管理者。

3.用做扩充机器(分布式操作系统)
           对于一台完全无软件的计算机系统(裸机),即使其功能再强也必定是难于使用的。如果我们在裸机上覆盖上一层I/O设备管理软件,用户便可利用它所提供的I/O命令来进行数据输入和输出。此时用户所看到的机器,将是一台比裸机功能更强、使用更方便的机器。通常把覆盖了软件的机器称为扩充机器或虚机器。如果我们又在第一层软件上再覆盖上一层文件管理软件,则用户可利用该软件提供的文件存取命令来进行文件的存取。此时,用户所看到的是一台功能更强的虚机器。如果我们又在文件管理软件上再覆盖上一层面向用户的窗口软件,则用户便可在窗口环境下方便地使用计算机,形成一台功能极强的虚机器。

1.6     小结

        操作系统是计算机系统中的一个系统软件,它统一管理计算机的软硬件资源和控制程序的执行。操作系统要达到的主要目标是方便用户使用、扩展机器功能、管理系统资源、提高系统效率、构筑开放环境。操作系统是由于客观的需要而产生的,它伴随着计算机技术本身及其应用的日益发展而逐渐发展和不断完善,它主要经历了手工操作、批处理系统、分时系统、实时系统、微机操作系统、网络操作系统、分布式操作系统、嵌入式操作系统等阶段。从资源管理的观点出发,操作系统的功能应包括处理器管理、作业管理、存储管理、设备管理和文件管理。不同的操作系统都具有并发、共享、虚拟、异步性这四个基本特征。操作系统是用户与计算机硬件系统之间的接口,是计算机系统资源的管理者,可用于扩充机器功能。

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Linux 下使用! PBS是一个批处理作业和计算机系统资源管理软件包。它原本是按照POSIX 1003.2d批处理环境来开发的。这样,它就可以接受批处理作业、shell脚本和控制属性,作业运行前对其储存并保护,然后运行作业,并且把输出转发回提交者。   PBS可以被安装并配置运行在单机系统或多个系统组来支持作业处理。由于PBS的灵活性,多个系统可以以多种方式组合。 PBS的组件   PBS包括四个主要的组件:命令组件、作业服务器、作业执行组件和作业调度器。这里给出每一部的简要描述来帮助你在安装过程中做出决定。   命令组件:   PBS支持与POSIX1003.2d相一致的命令行和图形接口两种命令方式。这些命令用于提交、监视、修改和删除作业。命令可以被安装在任何PBS支持的系统类型上,并且不需要在本地安装任何其它的PBS组件。共有三种类型的命令:任何已授权用户可以使用的命令;操作员命令;管理员命令;操作员和管理员命令需要不同的访问权限。   作业服务器:   作业服务器是PBS的中心。在本文档中,它一般被称作服务器或被称为可执行文件的名字pbs_server。所有命令和其它守护进程都通过IP网络和服务器通信。服务器的主要功能就是提供基本的批处理服务,例如接收/创建一个批处理作业,修改作业,保护作业免受系统宕机的影响并运行作业。   作业执行器:   作业执行器是一个守护进程,它真正地把作业放入执行队列。这一进程,pbs_mon,被非正式地命名为Mom,正如它是所有正在执行的作业的母亲(mother)一样。当Mom从一个服务器那里接收一个作业拷贝时就将它放入执行队列。Mom创建一个和用户登陆会话尽可能一致的新的会话。例如,如果用户的登陆shell是csh,那么Mom就创建一个会话,在此会话中.login和.cshrc一样运行。当服务器指示需要那么做时,Mom也负责把作业的输出返回给用户。   作业调度器:   作业调度器是另一个守护进程,这一进程包括site’ policy[1],这一策略控制着哪一个作业被运行,在那个节点运行,什么时候运行。因为每一个site对于什么是好的或者有效的策略都有它自己的想法,PBS允许每一个site来创建它自己的调度器。当运行的时候,调度器就可以和不同的Moms进行通信来获知系统资源的状态;和服务器进行通信来获知要执行的作业的有效性。与服务器之间接口是通过和命令组件一样的API。实际上,调度器仅仅作为服务器的批处理管理器出现的。   除了上面主要的部之外,PBS也提供了一个应用编程接口,API,命令组件用它来和服务器进行通信。这一API在和PBS一起完成的第三部的man pages中描述。A site[1]如果愿意可以利用这些API来实现新的命令。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值