操作系统导论,操作系统概念


图片 1 操作系统做什么?

从不同的视角进行分析:

 

图片 2 用户视角

操作系统做什么

 


 

1. 计算机系统有4个组成部分:计算机硬件,操作系统,系统程序与应用程序和用户。 

 

  操作系统的组成部分:内核为资源(特别是内存、处理器和I/O设备)提供了最低层次的抽象层。它包括(但不限于)以下组件

  CPU管理器、内存管理器、文件系统、设备管理器

 

 

                            图片 3

 

2. 什么是操作系统?(不同观点)

  • 控制程序----操作系统控制和协调不同用户的各种应用程序之间的硬件使用。(操作系统是管理计算机硬件的程序,为应用程序提供基础,充当计算机硬件和计算机用户的中介)
  • 资源管理器(资源分配器)----操作系统管理计算机的资源,使各种应用程序和用户能够有效和公平地操作计算机系统。
  • 扩展机(虚拟机)----操作系统抽象了计算机硬件,为用户提供了友好的界面。
  • 没有通用的可接受定义-----操作系统的存在是因为它们是解决创建可用计算系统问题的合理方法。

 

 

图片 4 系统视角

3.操作系统的目标

  • 执行用户程序,更容易地解决用户问题。
  • 使计算机系统让用户使用方便。
  • 有效地使用计算机硬件。

 

4.定义操作系统

  • 一个比较公认的定义是: 操作系统是一直运行在计算机上的程序(通常称为内核),其他程序则为系统程序和应用程序。

 


 

图片 5最终定义操作系统

定义1:操作系统是为了实现管理,同时带来了必不可少的各种类型的浪费

图片 6 分析:管理硬件资源,同样带来的浪费有:内存消耗,硬件消耗等。

定义2:操作系统是管理计算机硬件的程序,它还为应用程序提供基础,并且充当计算机硬件和计算机用户的中介

图片 7 分析:计算机硬件包括CPU(逻辑计算中心)、I/O设备(显示器,鼠标,键盘,打印机等)、物理存储设备。

硬件:如中央处理单元(Centeal Processing Unit,CPU)、内存(memory)、输入输出设备(Input/Output devices, I/Odevices),为系统提供基本的计算资源。

应用程序:电子制表软件、编译器、浏览器、音乐播放器等国定了用户按何种方式使用这些资源。

图片 8 操作系统提供了正确使用这些资源的方法。操作系统类似于政府,操作系统本身并不实现任何有用的功能。它只不过是提供了一个方便其他程序做有用工作的环境。

图片 9 用户视角:对于这种情况,操作系统的设计目的是为了用户使用方便,性能是其次的,而且不在乎资源使用率。性能和资源使用率相比,性能对用户来说更为重要,这种系统主要为了优化单用户的情况。

图片 10 系统视角:将操作系统看做资源分配器。计算机系统可能有许多资源,用来解决CPU时间、内存空间、文件存储空间、I/O设备等问题。操作系统管理这些资源。面对许多甚至冲突的资源请求,操作系统必须决定如何为各个程序和用户分配资源,以便计算机系统能有效而公平地运行。强调控制各种I/O设备和用户程序的需求。操作系统管理用户程序的执行以防止计算机资源的错误使用或者使用不当。

计算机系统组织


 

 

  1. 计算机系统的操作
  • 现代通用计算机系统由一个或多个CPU和若干设备控制器通过共同的总线相连而成。

 

                                                                                     图片 11

 

引导程序:通常位于ROM或者EEPROM,称为计算机硬件中的固件。用来初始化系统的所有部分(CPU寄存器,设备控制器和内存)。

 

 中断:硬件可随时通过系统总线向CPU发出信号,出发中断。软件通过系统调用(或者其他特别操作)触发中断。

                                                                                   图片 12

 

中断处理程序:发出中断请求的那个程序。

 

指针表:通常位于低地址内存(前100左右的位置),包含各种设备的中断处理子程序的地址。这种地址的数组或中断向量可通过唯一设备号来索引,以提供设备的中断处理子程序的地址。

中断处理程序需要修改处理器状态,如修改寄存器的值,以明确保存当前状态并在返回之前恢复状态。处理中断之后,保存的返回地址被装入程序计数器,中断程序重新开始。

 

  1. 存储结构
  • 内存是处理器可以直接访问的唯一的大容量存储区域。它通常被称为动态随机访问内存

 

一个典型指令执行周期如下:

 

                                                 图片 13

 

 

  • 主存:只有CPU可以直接访问的大型存储介质。
  • 辅存:非易失性大存储容量的主存储器的扩展——磁盘(绝大多数程序(比如:QQ、浏览器)都保存在磁盘上,直到运行程序时、才装入内存)
  • 磁盘:最常用的辅存。磁盘表面逻辑上划分为磁道,再细分为扇区。磁盘控制器决定设备和计算机之间的逻辑交互。

 

7.I/O结构

  • 设备控制器连接一个或多个设备和CPU。例如SCSI(small computer system interface)可以连接7个或更多的设备。设备控制器维护一定量的本地缓冲存储和一组特定用途的寄存器,负责在其所控制的外部设备和本地缓冲存储之间进行数据传递。通常操作系统为每个设备控制器提供一个设备驱动,用来理解设备控制器,并提供一个设备与其余操作系统的统一接口。

 

I/O操作如下所示:

                                           图片 14

 

   如果是读操作,返回的可能是数据或者数据的指针,如果是其他操作,返回的可能是状态信息。

  • 除此,还有DMA(direct memory access)的I/O设备,在DMA中设置好缓冲、指针和计数器后,设备控制器能在本地缓冲和内存之间传送整块数据,无需CPU干涉。
  • 每块只产生一个中断,告知设备驱动程序操作已完成(低速设备每个字节产生一个中断。

 


 

 计算机系统体系结构


 

 

 

 8. 单处理系统:由一个主CPU执行一个通用指令集,包括来自于用户进程的指令;绝大多数系统还包括其他特定目的的处理器,可能以专用设备处理器的形式出现,也可能以通用处理器的形式出现。  所有专用处理器运行一个受限的指令集,不运行用户进程,有时由操作系统管理,操作系统将任务信息发送给这些处理器。

 

9.多处理器系统,也成为并行系统(parallel system)或紧耦合系统(tightly coupled system),这类系统含有多个通信CPU,共享计算机总线。其优点如下:

  • 增加吞吐量:通过增加处理器的数量,但同时会多出管理多个CPU的开销。
  • 规模经济:通过共享外设,存储和电源来节省资金。
  • 增加可靠性: 单个处理器失灵不会导致整个系统停止。

 

10.  多处理器系统主要有两种类型:非对称多处理(asymmetric multiprocessing)和对称多处理(symmetric multiprocessing,SMP)。

  • 非对称多处理(asymmetric multiprocessing):每个处理器都有各自特定的任务,一个主处理器控制系统,其他处理器或者从主处理器要任务,或者做预先定义的任务。这种称为主-从关系。
  • 对称多处理(symmetric multiprocessing,SMP):每个处理器都要完成操作系统中的所有任务,所有处理器对等,处理器之间没有主-从关系。好处是N个CPU可以同时运行,并且不影响效率。

 

11. 集群系统

  •    定义:与多处理器系统一样,集群系统将多个CPU集中起来完成计算任务。然而,集群系统与多处理器系统不同,它是由两个或多个独立的系统耦合起来的。常用的方式是共享存储并通过局域网连接。也分对称和非对称两种。通常用来提供高可用性服务。

 

  • 非对称集群:一台机器处于热备份模式,一台运行应用程序,热备份主机监视现役服务器,如果该服务器失效,那么切换
  • 对称集群:多台主机都运行应用程序,互相监视,
  • 并行集群:允许多个主机访问共享存储上的相同数据

 


 操作系统结构


 

 

 

 12. 操作系统最重要的一点是要有多道程序处理能力。多道程序设计通过组织作业(编码或数据)使CPU总有一个作业在执行,从而提高了CPU的利用率。

 

图片 15 计算机系统组织结构?

13. 操作系统有三种基本类型:

  • Batch systems(批处理系统)
  • Time-sharingsystems(分时系统)
  • Real timesystems(实时系统)

 

分时系统(或多任务):

  • 是多道程序设计的延伸,允许许多用户同时共享计算机。在分时系统中,虽然 CPU 还是通过在作业之间的切换来执行多个作业,但是由于切换频率很高,用户可以在程序运行期间与之进行交互。

  •  允许多用户共享计算机。由于每个动作或命令都较短,每个用户只需少量CPU时间,用户之间切换时间短,所以用户会感觉整个系统为自己所用。

  • 分时操作系统采用 CPU 调度和多道程序设计以提供用户分时计算机的一小部分 。

 

 

 用户交互输入时,操作系统为了不让 CPU 空闲,会将 CPU 切换到其他用户的程序。 

 

批处理系统(batch system):计算机一次只能运行一个应用程序。批处理相似的工作:自动将控制从一个工作转移到另一个工作。是第一个基本的操作系统。

 

14.  装入到内存井执行的程序通常称为进程 。 ***


 

 分时和多道程序设计需要在存储器中同时保存有几个作业。通常由于主存较小而不能容纳太多作业,所以这些作业刚开始存储在磁盘的作业池 (job pool)中 

,该池由所有驻留在磁盘中需要等待分配内存的作业组成。如果多个作业需要调入内存但没有足够的内存, 那么系统必须在这些作业中做出选择,这样的决策被称为作业调度 (job scheduling) 。

 

16. 如果有多个任务同时需要执行,那么系统必须做出选择,这样的选择称为 CPU 调度 。

 

17.在分时操作系统中,操作系统必须保证合理的响应时间,这有时需要通过交换来得到。交换时进程被换入内存或由内存换出到磁盘-------实现这一目的更常用的方法是使用虚拟内存。

虚拟内存:允许将一个执行的作业不完全放在内存中。主要的优点是程序可以比物理内存大,将内存抽象成一个庞大且统一的存储数组。

 

分时操作系统也必须提供文件系统。文件系统驻留在一组磁盘上,因此也必须提供磁盘管理。

 


 

操作系统操作

 

 


 

图片 16 计算机系统如何操作

 双重模式操作

18. 事件总是由中断或陷阱引起的。陷阱(或异常)是一种软件中断。

 

19.   为了区分操作系统代码和用户定义代码的执行,至少需要两种独立的操作模式:用户模式、监督程序模式 或者(系统模式、特权模式)。

 

20. 双重模式操作提供了保护操作系统和用户程序不受错误用户程序影响的手段。其实现方法为:将能引起损害的机器指令作为特权指令 (privileged instruction) 。如果在用户模式下试图执行特权指令,那么硬件并不执行该指令,而是认为该指令非法,并将其以陷阱的形式通知操作系统。 

 

进程管理:

 

  1. 注意:程序本身并不是进程,程序是被动的实体,而进程是一个活动的实体。

 

22.单线程进程具有一个程序计数器来明确下一个执行的指令。这样一个进程的执行必须是连续的。 CPU 一个接着一个地执行进程的指令,直至进程终止。 

多线程进程具有多个程序计数器,每一个指向下一个给定线程要执行的指令。

 

 

内存管理:

 23. 如果一个程序要执行,那么它必须先变换成绝对地址井装入内存。随着程序的执行,进程可以通过产生绝对地址来访问内存中的程序指令和数据 。最后,程序终止,其内存空间得以释放,并且下一程序可以装入并得以执行。

 

24.  操作系统负责下列有关内存管理的活动:

  • 记录内存的哪部分正在被使用及被谁使用
  • 当有内存空间时,决定哪些进程可以装入内存。

  • 根据需要分配和释放内存空间。

 

操作系统的功能:

 

进程管理

 

存储器管理

 

设备管理

 

文件管理

 

 

 

存储管理包括:

 

内存扩充

 

地址映射

 

内存分配

 

内存保护

 

 


 

 

图片 17 计算机系统的存储结构

分布式系统:

25.分布式系统:将物理上分开、各种异构的计算机系统通过网络连接在一起,为用户提供系统所维护的各种资源的计算机集合,其优点有:

  • 资源共享
  • 计算机速度提高
  • 可靠性高
  • 通信方便

 

 


 

 

图片 18 I/O结构

计算机系统操作:现代通用计算机系统由一个或多个CPU和若干设备控制器通过共同的总线相连而成,该总线提供了对共享内存的访问。每个设备控制器负责一种特定的设备(比如磁盘驱动器,音频设备,视频显示器)。CPU与设备控制器可以并发工作,并竞争内存周期。为确保对共享内存的有序访问,需要内存控制器来协调对内存的访问。

图片 19

计算机启动时,首先需要运行一个初始化程序。该初始化程序(引导程序 bootstrap program)比较简单,位于ROM或者EFPROM中,也叫做计算机硬件中的固件。它的主要职责:初始化系统的所有部分,包括CPU寄存器、设备控制器和内存内容,必须知道如何装入操作系统并开始执行系统。需要定位操作系统内核并将其装入内存。之后操作系统开始执行第一个进程如init,并等待事件的发生。

事件的发生通常通过硬件或者软件的中断来表示。硬件可以随时通过系统总线向CPU发出信号,以触发中断。软件通过执行特殊操作比如系统调用(System call)也能触发中断。

图片 20 中断是计算机结构的重要部分。每个计算机设计都有自己的中断机制,但是有些功能是共同的。中断必须将控制转移到合适的中断处理程序。处理转移的简单方法是调用一个通用子程序以检查中断信息。接着,子程序会调用相应的中断处理程序。不过处理中断要快,可以通过处理中断子程序的指针表实现。

图片 21 中断体系结构也保存被中断指令的地址。许多旧的设计简单地在固定位置中保存中断地址。更为现代的结构将返回系统堆栈的地址,若果中断处理程序需要修改处理器状态,如修改寄存器的值,它必须明确地保存当前状态并在返回前恢复该状态。在处理中断之后,保存的地址会装入程序计数器,被中断的计算可以重新开始,就好像中断没有发生一样。

图片 22

图片 23 存储结构:计算机程序必须在内存(随机访问内存 random access memory,RAM)中以便运行。内存是处理器可以直接访问的唯一的大容量存储区域、通常是用被称为动态随机访问内存(dynamic random access memory,DRAM)的半导体技术来实现的,是一组内存字的数组,每个字都有其地址。通过对特定内存地址执行一系列load或store指令来实现交互。指令load能将内存中的字移动到CPU的寄存器中,而指令store能将寄存器内容移动到内存。除了显式使用load和store外,CPU可自动从内存装入指令来执行。

一个典型的指令执行周期(在冯·诺依曼体系结构上执行时)首先从内存中获取指令,并保存到指令寄存器(instruction register)中,接着,指令被解码,并可能导致内存中获取操作数或将操作数保存到内部寄存器中。在指令完成对操作数的执行后,其结果可以回到内存。注意内存单元只看见内存地址流,它并不知道它们如何产生的(通过指令计数器、索引、间接、常量地址等),或它们是什么地址(指令或数据)。相应地,可忽视程序如何产生内存地址,只对程序运行所生成的地址序列感兴趣。

图片 24 ①内存太小,不能永久地存储所有需要的程序和数据。

图片 25 ②内存是易失性存储设备,当掉电时会失去所有内容。

计算机系统提供辅存(secondary storage)以作为内存的扩充。对辅存的主要要求是它必须要能够永久地存储大量的数据。

图片 26

图片 27 常用的辅存为磁盘(magnetic disk),它能存储应用程序和数据,绝大多数程序保存在磁盘上,直到要执行时才装入到内存。适当的管理磁盘存储对计算机系统来说十分重要。

上面只是一种存储系统:由寄存器、内存和磁盘组成。除此之外,还有高速缓存,CD-ROM,磁带等。

图片 28

I/O结构:在计算机中,存储器只是众多I/O设备的一种,操作系统的大部分代码用来进行I/O管理,这既是因为它对系统可靠性和性能的十分重要,也因为设备变化的特性。

通常,操作系统为每个设备控制器提供一个设备驱动程序。这些设备驱动程序理解设备驱动器,并提供一个设备与其余操作系统的统一接口。

为了开始I/O操作,设备驱动程序在设备控制器中装在适当的寄存器。

图片 29

实时嵌入式系统:

26.嵌入式系统:几乎都是运行实时操作系统,当对处理器操作或数据流动有严格时间要求时就需要使用实时系统,例如:科学实验、医学成像系统、工业控制系统。-------- 定义:实时操作系统是保证在一定时间限制内完成特定功能的操作系统。

 


 

小结


 

 

 

26. 操作系统是管理计算机硬件并提供应用程序运行环境的软件。也许操作系统最为直观之处在于它提供了人与计算机系统的接口。

 

 27.为了让计算机执行程序,程序必须位于内存中。内存是处理器能直接访问的唯一的大**容量存储区域。内存为字节或字的数组,容量为数百阻到数百 MB。每个字都有其地址。**内存是易失性存储器,当没有电源时会失去其内容。绝大多数计算机系统都提供了外存以扩充内存。二级存储器提供了一种非易失存储,它可以长久地存储大量数据。最常用的二 级存储器是磁盘,它提供对数据和程序的存储。

 

28.根据速度和价格,可以将计算机系统的不同存储系统按层次来组织。最高层最为昂贵但也最快。随着向层次结构下面移动,每一个位的存储价格通常降低,而访问时间通常增加。

 

29.计算机系统的设计有多种不同的方法。单处理器系统只有一个处理器,而多处理器系统包含两个或更多的处理器来共享物理存储及外设。对称多处理技术 CSMP) 是最为普通的多处理器设计技术,其中所有的处理器被视为对等的,且彼此独立地运行。集群系统是一种特殊的多处理器系统,它由通过局域网连接的多个计算机系统组成。 

 

30.为了最好地利用 CPU,现代操作系统采用允许多个作业同时位于内存中的多道程序设计,以保证 CPU 中总有-个作业在执行。分时系统是多道程序系统的扩展,它采用调度算法实现作业之间快速的切换,好像每个作业在同时进行一样。 

 

 

31. 操作系统必须确保计算机系统的正确操作。为了防止用户干预系统的正常操作,硬件有两种模式:用户模式和内核模式。许多指令(如I/O 指令和停机指令)都是特权的,只能在内核模式下执行。操作系统所驻留的内存也必须加以保护以防止用户程序修改。定时器防止无穷循环。这些工具(如双模式、特权指令、内存保护、定时器中断)是操作系统所使用的基本单元,用以实现正确操作。 

 

32. 进程(或作业)是操作系统工作的基本单元。进程管理包括创建和删除进程、为进程提供与其他进程通信和同步的机制。操作系统通过跟踪内存的哪部分被使用及被谁使用来管理内存。操作系统还负责动态地分配和释放内存空间,同时还管理存储空间,包括为描述文件提供文件系统和目录,以及管理大存储器设备的空间。 

 

33. 操作系统必须考虑到它与用户的保护和安全问题。保护是提供控制进程或用户访问计算机系统资源的机制。安全措施用来抵御计算机系统所受到的外部或内部的攻击。 

 

34.  分布式系统允许用户共享通过网络连接的、在地理位置上是分散的计算机的资源。可以通过客户机服务器模式或对等模式来提供服务。在集群系统中,多个机器可以完成驻留在共享存储器上的数据的计算,即便某些集群的子集出错,计算仍可以继续。 

 

35.  局域网和广域网是两种基本的网络类型。局域网允许分布在较小地理区域内的处理器进行通信,而广域网允许分布在较大地理区域内的处理器进行通信。局域网通常比广域网快。 

 

36.  计算机系统具有一些特殊的服务目的,包括为嵌入式环境设计的实时操作系统,如消费设备、汽车和机器人。实时操作系统具有己定义的、固定的时间约束。进程必须在定义的约束内执行,否则系统将出错。多媒体系统涉及多媒体数据传送,常常有显示或使用音频、视频或者同步的音频和视频流的特别要求。 

 

37. 近来,由于 Internet 和 www 的影响,现代操作系统也集成了 www 浏览器、网络和通信软件。 

 

 

 

 

 

 

 

 

 

 

 

 

图片 30计算机系统体系结构

图片 31单处理器系统

图片 32多处理器系统

图片 33集群系统

单处理系统采用单处理器。在单处理器系统中,有一个主CPU能够执行一个通用指令集,包括来自用户进程的指令。

多处理器系统主要的三个优点:

图片 34增加吞吐量:通过增加处理器的数量,希望能在更短的时间内做更多的事情。

图片 35规模经济:多处理器系统比单处理系统能节省资金,这是因为它们能共享外设,大容量存储和电源供给。

图片 36增加可靠性:如果将功能分步在多个处理器上,那么单个处理器失灵将使得整个系统停止,只会导致速度降低而言。

集群系统:由两个或者多个独立的系统耦合起来的。集群的定义目前尚未定形。较为常用的定义是集群计算机共享并通过局域网连接或更快的内部连接。

集群通常用来提供高可用性服务。这意味着即使集群中的一个或者多个系统出错,服务仍然继续。

集群可以是对称的,也可以是非对称的。非对称集群(asymmetric clustering)中,一台机器出于热备份模式(hot standby mode),而另一台运行应用程序。热备份主机只监视活动服务器。如果该服务器失效,那么备份服务器会成为现行服务器。对于对称集群,两个或多个主机都运行应用程序,它们互相监视。

集群系统的详细介绍:

http://blog.csdn.net/wangxx2011/article/details/7425219

本文由365bet体育在线官网发布于操作系统,转载请注明出处:操作系统导论,操作系统概念

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。