现在的位置: 首页 > 综合 > 正文

优秀课件笔记之操作系统概念(下)

2013年09月03日 ⁄ 综合 ⁄ 共 8485字 ⁄ 字号 评论关闭

1、本文所以内容来自 著名高校课件和学生笔记(校园里面经常见到有人高价买笔记)
2、任课教师不会提供参考文献,所以只能对作者表示感谢,如果引用了您的作品,可以用回复方式补充参考文献。
3、我不对文章无关问题进行解答,文章内容也比较难,我也很难解答您遇到的问题,如果发现BUG可以用回复方式帮我修正。
4、本课 计算机操作系统
,适用于计算机操作系统、考研

本课其他部分的导航条见页面底部

§1.1  操作系统概念
§1.2  操作系统的历史
§1.3  操作系统的基本类型
§1.4  操作系统功能
§1.5  计算机硬件简介
§1.6  算法的描述
§1.7  研究操作系统的几种观点

 §1.3   操作系统的基本类型

根据其使用环境和对作业处理方式,操作系统的基本类型有:

(1) 批处理操作系统(batch processing operating system)
(2) 分时操作系统(time sharing operating system)
(3) 实时操作系统(real time operating system)
(4) 个人计算机操作系统(personal computer operating
                                     system)
(5) 网络操作系统(network operating system)
(6) 分布式操作系统(distributed operating system)

批处理系统的主要特征是:

用户脱机使用计算机。用户提交作业之后直到获得结果之前就不再和计算机打交道。作业提交的方式可以是直接交给计算中心的管理操作员,也可以是通过远程通讯线路提交。提交的作业由系统外存收容成为后备作业。
(2)  成批处理。操作员把用户提交的作业分批进行处理。每批中的作业将由操作系统或监督程序负责作业间自动调度执行。
(3)  多道程序运行。按多道程序设计的调度原则,从一批后备作业中选取多道作业调入内存并组织它们运行,成为多道批处理。
 
       多道批处理系统的优点是由于系统资源为多个作业所共享,其工作方式是作业之间自动调度执行。并在运行过程中用户不干预自己的作业,从而大大提高了系统资源的利用率和作业吞吐量。其缺点是无交互性,用户一旦提交作业就失去了对其运行的控制能力;而且是批处理的,作业周转时间长,用户使用不方便。

       不要把多道程序系统和多重处理系统相混淆。一般讲,多重处理系统配制多个CPU,因而能真正同时执行多道程序。当然,要想有效地使用多重处理系统,必须采用多道程序设计技术。反之不然,多道程序设计原则不一定要求有多重处理系统的支持。多重处理系统比起单处理系统来说,虽增加了硬件设施,却换来了提高系统吞吐量、可靠性、计算能力和并行处理能力等好处。
1.3.2  分时系统
       分时系统一般采用时间片轮转的方式,使一台计算机为多个终端用户服务。对每个用户能保证足够快的响应时间,并提供交互会话能力。具有下述特点。
交互性:首先, 用户可以在程序动态运行情况下对其加以
    控制。其次,用户上机提交作业方便。第三,分时系统还
    为用户之间进行合作提供方便。
(2) 多用户同时性:多个用户同时在自己的终端上上机,共享
    CPU和其他资源,充分发挥系统的效率。
(3) 独立性:客观效果上用户彼此间感觉不到有别人也在使用
     该台计算机,如同自己独占计算机一样。
     分时操作系统是一个联机的多用户交互式的操作系统。 
     UNIX是最流行的一种多用户分时操作系统。
1.3.3  实时系统
       实时系统主要随着计算机应用于实时控制和实时信息处理领域中而发展起来。
        实时系统的主要特点是提供即时响应和高可靠性。系统必须保证对实时信息的分析和处理的速度比其进入系统的速度要快,而且系统本身要安全可靠。实时系统往往具有一定的专用性。与批处理系统、分时系统相比,实时系统的资源利用率可能较低。
设计实时操作系统要考虑这样一些因素:
(1) 实时时钟管理(定时处理和延时处理)。
(2) 连续的人-机对话,这对实时控制往往是必须的。
(3) 要求采取过载保护措施。例如对于短期过载,把输入任务按一定的策
     略在缓冲区排队,等待调度; 对于持续性过载,可能要拒绝某些任务的
     输入; 在实时控制系统中,则及时处理某些任务,放弃某些任务或降低
     对某些任务的服务频率。
(4) 高度可靠性和安全性需采取冗余措施。双机系统前后台工作,包括必
     要的保密措施等。

1.3.4  通用操作系统

       批处理系统、分时系统和实时系统是操作系统的三种基本类型,在此基础上又发展了具有多种类型操作特征的操作系统,称为通用操作系统。它可以同时兼有批处理、分时、实时处理和多重处理的功能,或其中两种以上的功能。
1.3.5  个人计算机上的操作系统

        个人计算机上的操作系统是一联机的交互式的单用户操作系统,它提供的联机交互功能与通用分时系统所提供的很相似。由于是个人专用,因此在多用户和分时所要求的对处理机调度、存储保护方面将会简单得多。然而,由于个人计算机的应用普及,对于提供更方便友好的用户接口的要求愈来愈迫切。

        多媒体技术已迅速进入微型计算机系统,它要求计算机具有高速信号处理、大容量的内存和外存、大数据量宽频带传输等能力,能同时处理多个实时事件。要求有一个具有高速数据处理能力的实时多任务操作系统。

       目前在个人计算机上使用的操作系统以Windows系列和linux系统为主。
1.3.6  网络操作系统
     计算机网络是通过通信设施将物理上分散的具有自治功能的多个计算机系统互连起来的,实现信息交换、资源共享、可互操作和协作处理的系统。
它具有这样的特征:
(1) 计算机网络是一个互连的计算机系统的群体。
(2) 这些计算机是自治的,每台计算机有自己的操作
    系统,各自独立工作,它们在网络协议控制下协
     同工作。
(3) 系统互连要通过通信设施(硬件、软件)来实现。
(4) 系统通过通信设施执行信息交换、资源共享、互
     操作和协作处理, 实现多种应用要求。
       网络操作系统的研制开发是在原来各自计算机操作系统的基础上进行的。按照网络体系结构的各个协议标准进行开发,包括网络管理、通信、资源共享、系统安全和多种网络应用服务等达到上述诸方面的要求。

       由于网络计算的出现和发展,现代操作系统的主要特征之一就是具有上网功能,因此,除了在20世纪90年代初期时,Novell公司的Netware等系统被称为网络操作系统之外,人们一般不再特指某个操作系统为网络操作系统。
1.3.7  分布式操作系统

       粗看起来,分布式系统与计算机网络系统没有多大区别。分布系统也可以定义为通过通信网络将物理上分布的具有自治功能的数据处理系统或计算机系统互连起来,实现信息交换和资源共享,协作完成任务。

       但是有这样一些明显的区别应予考虑:

计算机网络的开发都遵循协议,而对于各种分布式系统并没有制定标准的协议。当然,计算机网络也可认为是一种分布式系统。

(2) 分布式系统要求一个统一的操作系统,实现系统操作的统一性。

(3) 分布式操作系统对用户是透明的。但对计算机网络,若一
    个计算机上的用户希望使用另一台计算机上的资源,则必  
    须明确指明是哪台计算机。

(4) 分布式系统的基础是网络。分布式系统已不仅是一个物理
    上的松散耦合系统,同时还是一个逻辑上紧密耦合的系统。

(5) 分布式系统还处在研究阶段。而计算机网络已经在各个领
     域得到广泛的应用。

        20世纪90年代出现的网络计算的趋势和高速网络的出现已使分布式系统变得越来越现实。特别是SUN公司的Java语言和运行在各种通用操作系统之上的Java虚拟机和Java OS的出现,更进一步加快了这一趋势。另外,软件构件技术的发展也将加快分布式操作系统的实现。
§1.4   操作系统功能

       下面我们从资源管理和用户接口的观点分五个方面来说明操作系统的基本功能。

1.4.1  处理机管理

     在多道程序或多用户的情况下,要组织多个作业同时运行,就要解决对处理机分配调度策略、分配实施和资源回收等问题。这就是处理机管理功能。正是由于操作系统对处理机管理策略的不同,其提供的作业处理方式也就不同,例如成批处理方式、分时处理方式和实时处理方式。从而呈现在用户面前,成为具有不同性质功能的操作系统。
1.4.2  存储管理
       存储管理的主要工作是对内部存储器进行分配、保护和扩充。
内存分配。如何分配内存,以保证系统及各用户
     程序的存储区互不冲突。
(2) 存储保护。保证一道程序在执行过程中不会有意或无意地破坏另一道程序,保证用户程序不会破坏系统程序。
(3) 内存扩充。当用户作业所需要的内存量超过计算机系统所提供的内存容量时,把内部存储器和外部存储器结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器。
1.4.3  设备管理

通道、控制器、输入输出设备的分配和管理。设备管理的任务就是根据一定的分配策略,把通道、控制器和输入输出设备分配给请求输入输出操作的程序,并启动设备完成实际的输入输出操作。为了尽可能发挥设备和主机的并行工作能力,常需要采用虚拟技术和缓冲技术。

(2) 设备独立性。输入输出设备种类很多,使用方法各不相同。设备管理应为用户提供一个良好的界面,而不必去涉及具体的设备特性,以使用户能方便、灵活地使用这些设备。
1.4.4  信息管理(文件系统管理)
    上述三种管理是针对计算机的硬件资源的管理。信息管理(文件系统管理) 是对系统的软件资源的管理。文件如不能很好管理,就会引起混乱,甚至遭受破坏。这就是管理信息文件需要解决的问题。
     信息的共享、保密和保护,也是文件系统所要解决的。如果系统允许多个用户协同工作,那么就应该允许用户共享信息文件。但这种共享应该是受控制的,应该有授权和保密机制。还要有一定的保护机制以免文件被非授权用户调用和修改,即使在意外情况下,如系统失效、用户对文件使用不当,也能尽量保护信息免遭破坏。也就是说,系统是安全可靠的。
1.4.5  用户接口
        前述的四项功能是操作系统对资源的管理。操作系统还为用户提供一个友好的用户接口。一般来说,操作系统提供两种方式的接口来为用户服务。
         一种用户接口是程序一级的接口,即提供一组广义指令(或称系统调用、程序请求)供用户程序和其他系统程序调用。当这些程序要求进行数据传输、文件操作或有其他资源要求时,通过这些广义指令向操作系统提出申请,并由操作系统代为完成。
         另一种接口是作业一级的接口,提供一组控制操作命令(或称作业控制语言,或像UNIX中的Shell命令语言)供用户去组织和控制自己作业的运行。作业控制方式分两大类:脱机控制和联机控制。操作系统提供脱机控制作业语言和联机控制作业控制语言。
§1.5   计算机硬件简介

        如前所述,操作系统管理和控制计算机系统中所有软硬件资源。同时,因操作系统是一个运行于硬件之上的系统软件,我们还必须对操作系统运行的硬件环境有所了解。本节简要介绍计算机硬件系统。

1.5.1  计算机的基本硬件元素

     构成计算机的基本硬件元素有以下4种:处理器、存储器、输入输出控制与总线、外部设备等。这些基本元素的逻辑关系如图1.6所示(见下页)。
       处理器控制和执行计算机的指令操作。一台计算机中可以有多个处理器或单个处理器。本书主要讨论单处理器的操作系统。单处理器也称CPU。存储器用来储存数据和程序。存储器可分为内存与外存,以及用于数据和程序暂时存储用的缓冲器与高速缓存(cache)等。
       输入输出控制器与缓冲主要用来控制和暂时存储外部设备与计算机内存之间交换的数据和程序。
       外部设备范围很广。它们是获取和输出数据与程序的基本单位,包括数字式设备和模拟式设备。不过,模拟式设备要通过模/数转换后才能把模拟信号输入到计算机,而计算机输出的数字信号则要通过数/模转换之后才能在模拟设备上显示或输出。
        计算机系统的各种设备通过总线互相连接。总线是连接计算机各部件的通信线路。计算机系统的总线有单总线和多总线之分。单总线是指处理机、外部设备、存储器等都连接在一起的总线结构,而多总线则指把系统的CPU和内存分开连接,外部设备和外存等也用其他总线分开连接进行管理和数据传送的总线结构。显然,不同的总线结构对操作系统的设计和性能有不同的影响。
1.5.2  与操作系统相关的几种主要寄存器
       寄存器与操作系统密切相关,因为它们是在处理机中交换数据的速度比内存更快、体积也更小,而价格又更贵的暂存器件。处理机中寄存的功能分为二类,即用户可编程的寄存器以及控制与状态寄存器。机器语言或汇编语言的程序员可对用户可编程寄存器进行操作,以获得更高的执行效率等。而控制与状态寄存器则被用来对处理机的优先级、保护模式或用户程序执行时的调用关系等进行控制和操作。
        一般来说,用户可编程寄存器和控制与状态寄存器之间没有严格的区分和限制,在不同的系统中,寄存器的功能和作用可能不完全相同。
典型的用户可编程寄存器包括以下几种:
1. 数据寄存器
       编程人员可以通过程序赋予数据寄存器众多的功能。一般来说,对数据进行操作的任何机器指令都被允许访问数据寄存器。不过,根据硬件设置的规定,这些寄存器也可能只被允许进行浮点运算或被其他某些规定所限制。
2. 地址寄存器
       地址寄存器一般用来存放内存中某个数据或指令的地址,或者存放某段数据与指令的入口地址以及被用来进行更复杂的地址计算。下面几种寄存器都可被认为是地址寄存器:
 (1) 地址标识位寄存器;
 (2) 内存管理用各种始地址寄存器;
 (3) 堆栈指针;
 (4) 设备地址寄存器等。
3. 条件码寄存器
        条件码寄存器也称标志寄存器。条件码寄存器的比特位由处理机硬件设置。

典型的控制与状态寄存器包括以下几种:
4. 程序计数器PC
       程序计数器内装有下一周期被执行指令的地址。
5. 指令寄存器IR
       指令寄存器内装有待执行指令。

6. 程序状态字PSW
       程序状态字寄存器的各个比特位代表系统中当前的各种不同状态与信息。如执行模式是否允许中断等。
7. 中断现场保护寄存器
   如果系统允许不同类型的中断存在,则会设置一组中断现场保护寄存器以便保存被中断程序的现场和链接中断恢复处。
8. 过程调用用堆栈
       堆栈被用来存放过程调用时的调用名、调用参数、以及返回地址等。

        寄存器被广泛应用于计算机系统中,它们与操作系统有着非常直接和密切的关系。操作系统设计人员只有在完全掌握和了解硬件厂商所提供的各种寄存器的功能和接口之后,才能进行操作系统设计。
1.5.3  存储器的访问速度

        硬件厂商提供有不同种类的存储器件,这些存储器件包括:可移动存储介质,例如光盘、磁盘和磁带等;硬盘,磁盘缓存内存,高速缓存以及寄存器等。

       一般来说,容量越大的存储介质,访问速度会越慢,但单位存储的成本越低。例如,光盘和磁盘。反过来说,如果存储介质的访问速度越高,则它的成本也会越高,例如寄存器。存储器件的访问速度与存储量的大小的关系如图1.7所示(见下页)。

       除了上述的寄存器与存储介质之外,与操作系统设计相关的硬件器件还有中断机构、输入输出设备控制部分,例如通道和DMA器件等。
1.5.4  指令的执行与中断
       计算机提供的最基本功能是执行指令。任何应用程序都只有通过指令的执行才能得以完成。执行指令的基本过程分为两步,即处理机从内存把指令读入的过程和执行的过程。其中,读指令是根据程序计数器PC所指的地址读入,而执行的指令则是指令寄存器IR中的指令。我们把指令的读入和执行过程称为一个执行周期

       指令的执行涉及到处理机与内存之间的数据传输,或者是处理机与外部设备之间的数据传输等。指令的执行也涉及到数据处理,例如算术运算或逻辑运算。另外,指令的执行还可以是对其他指令的控制过程。一条指令的执行可以是上述几种情况的组合。

       另外,在指令的执行过程中或一条指令执行结束时,尽管指令地址计数器中已指明了下一条被访问指令的地址,但是,外部设备或计算机内部可能会发来亟须处理的数据或其他紧急事件处理信号。这就需要处理机暂停正在执行的程序,转去处理相应的紧急事件,待处理完毕后再返回原处继续执行,这一过程称为中断

      中断给操作系统设计带来许多好处,首先使得实时处理许多紧急事件成为可能;再者,中断可以增加处理机的执行效率;另外,中断还可以简化操作系统的程序设计。

系统发生中断时,处理机收到中断信号,从而不能继续执行程序计数器中所指的原程序。这时处理机将保存当前的执行现场(也就是各寄存器中的值)并调用新的程序到处理机上执行。
§1.6   算法的描述
       操作系统设计和原理描述中涉及到许多算法。为了描述简单起见,本书定义下述关键词描述算法中有关过程。
  begin
  end
分别表示算法的开头和结束。
  Repeat
   操作
   …
  Until 条件
表示当“条件”未被满足时重复所描述的“操作”。
  While 条件
   do
    操作
    …
   od
        表示当“条件”满足时,进行相应的“操作”。关键词“ do” 和“od”分别表示“操作”的开始和结束。
  If 条件
  Then
   操作
  Else
   操作
 fi
  表示满足“if”所指的“条件”时,进行“then”后的相关“操作”,否则完成“else”后的相关操作。关键词“fi”表示条件判断的结束。

 

例如,图1.8所示指令执行周期可被描述为:

  Repeat IR←M[PC];
    PC←PC + 1;
    Execute[IR];
  Until  CPU halt;

其中,M[PC]表示地址为PC所示内存单元中的指令内容。

另一个例子是:
令p[1:n]为1到n(n>1)的整数置换,
设i=1,2,3,4,5,6,7;
p[i]=4,7,3,2,1,5,6;
描述p[i]的巡回置换算法。(巡回置换指k∈[1:n]时,k=p[...p[k]...]的置换。)
                        解:                      begin
  local x, k;
  k←1;
  while k<=7 do
   x←k;
   repeat print(x);
     x→p[x];
   until x=k;
   k←k+1;
  od
 end
§1.7   研究操作系统的几种观点

       上面各节,我们讨论了几种操作系统的基本概念、操作系统发展的历史和操作系统的分类和功能以及操作系统所依赖的硬件基础等问题,使我们认识到,操作系统是计算机资源有效使用的管理者和为用户提供友好的接口。这实质上代表了一种讨论操作系统的观点。

       这一节我们简单地讨论一下操作系统研究中的不同观点,这些观点彼此并不矛盾,只不过代表了对同一事物(操作系统)站在不同的角度来看待。每一种观点都有助于理解、分析和设计操作系统。
1.7.1  操作系统是计算机资源的管理者

        前面已经指出操作系统就是指用来管理和控制计算机系统软硬资源的程序的集合,因此它提供了处理机管理、存储管理、设备管理和信息文件的管理等功能。对于每种资源的管理都可以从资源情况记录、资源分配策略、资源分配和资源回收等几个方面来加以讨论。
1.7.2  用户界面的观点

       对于用户来说,对操作系统的内部结构并没有多大的兴趣,他们最关心的是如何利用操作系统提供的服务来有效地使用计算机。因此操作系统提供了什么样的用户界面成为关键问题,即上节中所提出的程序一级和作业一级的两种接口。
1.7.3  进程管理观点

        操作系统调用当前程序运行是一个动态过程,特别是现代操作系统的一个重要特征是并发性。并发性是指操作系统控制很多能并发执行的程序段。并发执行的程序在多处理机系统中可能是真正并行执行的,但在单处理机情况下则是宏观并行微观顺序执行的。它们可以完全独立地运行,也可能以间接或直接方式互相依赖和制约。并发的程序段不仅会受到其他程序段活动的制约,也会受到系统资源分配情况的制约。一个程序段可能在运行,也可能因等待某些资源或信息处于挂起状态等。因此只用“操作系统是资源管理程序”这一概念不能揭示它们在系统中活动联系及其状态变化,从而引进“进程” 的概念。所谓“进程”是指并发程序的执行。

        用进程观点来研究操作系统就是围绕进程运行过程,即并发程序执行过程来讨论操作系统,那么我们就能讨论清楚“这些资源管理程序在系统中进行活动的过程”,对操作系统功能就能获得更多的认识。

【上篇】
【下篇】

抱歉!评论已关闭.