图片 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 计算机系统如何操作

相关文章