操作系统引述

1.1 计算机硬件结构

计算机系统基本组成

操作系统引述

  • 计算机系统是由硬件和软件组成的
    硬件是软件建里与活动的基础
    软件是队硬件进项管理和功能扩充

  • 计算机硬件结构
    由五大功能部件组成,即:计算器、控制器、存储器、输入设备和输出设备
    它们经由系统总线连接在一起,实现彼此通信。

  • 微型计算机硬件构造
    操作系统引述

1.1.1 处理器

  • CPU工作的基本周期是:
    提取指令、译码分析、执行命令
    每个CPU可以执行的指令集是专用的
  • CPU的组成
    1、运算器:是计算核心,负责指令的算术和逻辑运算,由算术逻辑单元、累加寄存器、数据缓冲寄存器、条件状态寄存器等组成。
    2、控制器:是控制核心,控制运行的流程、包括取指令、维护CPU状态、实现CPU与内存的交互等。
    3、寄存器:暂存指令、数据、地址信息。
    4、高速缓存:位于CPU和内存之间,提高CPU性能。
  • CPU的寄存器
    1、常规寄存器(用户进程和系统进程都可使用)
    通用寄存器:可以存放数据、也可以参与地址转换。
    条件码寄存器:条件判定使用,选择不同分支。
    2、控制和状态寄存器(一般只允许系统进程使用)
    程序计数器(PC):存放将要读取的指令的内存地址。
    指令寄存器(IR):存储要执行的指令。
    存储器地址寄存器和存储器数据寄存器
    I/O端口地址寄存器和I/O端口数据寄存器
    程序状态字寄存器(PSW):纪录CPU的运行模式和状态信息,如中断允许/禁止、CPU优先级、运行模式(内核态还是用户态)等。
    (一组)中断寄存器:每个中断寄存器指向一个中断处理程序。
  • 特权指令和非特权指令:
    计算机系统的指令分为特权指令和非特权指令。指令的执行如果可能直接影响到系统工作,则指令属于特权指令,否则属于非特权指令。特权指令可以控制中断、访问所有资源、设置工作状态等,所以在用户模式(用户态)下只能执行非特权指令,在系统模式(内核态)下可以执行所有指令,包括特权指令。
  • 两种处理机执行状态(在PSW(程序状态字寄存器)里区分):核心态
    用户态

1.1.2 存储器

操作系统引述

内存分为系统区、用户区、系统区。

1.1.3 I/O 设备

  • I/O设备通常由控制器和设备本身两部分组成
  • 设备驱动程序

1.1.4 总线

  • 总线分类
         数据总线
         地址总线
         控制总线

1.2 什么是操作系统

  • Windows XP、Windows 10、UNIX、Linux等
  • 操作系统实际上有很多种:专用、通用
  • 巨型机、大型机、中型机、小型机、微机各种机器,对应也有各种各样的操作系统
  • 我国研制自己的巨型机,对应也有相应的操作系统,如银河系列就使用的是银河麒麟服务器操作系统

1.2.1 操作系统概念

  1. 虚拟机的观点——操作系统扩展器红能
    在硬件(裸机)上的第一层扩充
    把硬件细节与程序员隔离开,隐藏了底层硬件的特性
    功能更强、使用更方便
  2. 资源管理的观点——操作系统作为系统资源的管理者
    • 监视系统各种资源,随时记录它们的状态
    • 实施策略以决定谁获得资源,何时获得,获得 多少
    • 分配资源供需求者使用
    • 回收资源,以便再分配
  3. 人机交互的观点——操作系统是机器和用户之间的接口
    用户通过操作系统使用机器
    操作系统为用户提供各种操作机器的方式
  • 综合:系统观点和用户观点
    1. 管理计算机系统的各种资源
    2. 向用户提供使用的接口
  • 操作系统定义: 操作系统是控制和管理计算机系统内各种硬件和软件资源,有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。

    ① 操作系统是系统软件
    ② 基本职能是控制和管理系统内各种资源,有效地组织多道程序的运行
    ③ 提供众多服务、方便用户使用,扩充硬件功能。

1.2.2 操作系统的地位

计算机系统的层次关系
操作系统引述

1.2.3 操作系统的历史

操作系统引述
操作系统引述

1.3 操作系统发展历程

1.3.1 操作系统的形成

1. 手工操作方式(1946 — 50年代,电子管时代)

【主要器件工艺】:电子管
【运算速度】:慢,1000次/秒
【操作系统】:无
【控制台】:包括显示灯、触发器、输入设备和打印机
【工作方式】:
     用户:用户既是程序员、操作员,还是计算机专业人员
     编程语言:为机器语言
     输入输出:纸带或卡片

  • 手工操作存在的问题?
    • 用户独占全机
    • CPU等待用户,CPU利用率低
    • 工作量大、难度高、易出错、需要大量人力物力

2. 单道批处理系统

系统对作业的处理都是成批进行的、且内存中始终只保持一道作业,称为单道批处理系统。
系统有一个监督程序(Monitor)——早期操作系统的雏形
操作系统引述
单道批处理系统的优点:提高系统资源的利用率和吞吐量
单道批处理系统的特征:
* 自动性:磁带上一批作业能自动逐个依次运行。

  • 顺序性:作业顺序进入内存,执行与完成的顺序和调入的顺序完全相同。
  • 单道性:内存中仅有一道程序,只有该程序完成或发生异常时,才调入后继程序进入内存运行。

单道批处理系统的问题:程序在进行输入输出时,CPU只能等待。(可用脱机方式缓解)

3. 多批道处理系统

操作系统引述
在计算机内存中同时存放几道相互独立的程序,它们在管理程序的控制下相互穿插着交替运行,共享CPU及外设等资源,采用MultiProgramming的批处理系统称为多道批处理系统。

  • 多道程序设计:在内存中同时存放多道程序,在管理程序的控制下交替执行。它们共享CPU和系统中的其他资源。
  • 并发:多道程序在CPU上交替运行。
  • 系统吞吐量:在一段给定的时间内,计算机所能完成的总工作量。
  • 多道批处理的优点
    资源利用率高:CPU和内存利用率较高
    作业吞吐量大:单位时间内完成工作总量大
  • 多道批处理的缺点:
    用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改
    作业平均周转时间长:短作业的周转时间(从作业提交到完成的这段时间)显著增长

单道与多道对比:内存使用和作业执行顺序
操作系统引述
操作系统引述
操作系统引述

1.3.2 推动操作系统发展的动力

  1. 技术的不断发展与更新
    硬件技术、软件技术
  2. 各种应用与需求的发展与扩大
    用户的需求、不同的应用需求

1.3.3 操作系统的发展

  • 操作系统有
    批处理系统
    分时系统
    实时系统
    网络系统
    分布式系统
    微机操作系统
    嵌入式操作系统
    多处理机操作系统 等等

一、批处理系统

  1. 基本概念
    作业:是用户定义的、由计算机完成的工作单位。它通常包括一组计算机程序、文件和对操作系统的控制语句。
    作业步:由作业控制语句明确标识的计算机程序的执行过程
  2. 工作流程:多道批处理系统中的作业流程
    操作系统引述
  3. 特点
    · 多道:系统在内存中存放多个作业,并且在外存上还保存大量的后备作业。
    · 成批:系统按批次调度作业,而在系统运行过程中不允许用户和机器之间发生交互作用。
  4. 批处理系统的主要优点
    ① 系统资源利用率高
    ② 系统吞吐量大
  5. 批处理系统的主要缺点
    ① 作业的平均周转时间长
    ② 没有交互能力

二、分时系统

1、分时系统的产生背景

  • 人机交互的需求
  • 共享昂贵机器的需求
  • 方便上机使用的需求

如果说多道批处理系统的形成和发展是为了提高资源利用率和系统吞吐量。那么,推动分时系统的主要动力则是用户的需求

2、分时系统中的基本概念

  • 分时:广义上,是指对时间的共享。在分时系统中,分时主要是指若干并发程序对CPU时间的共享
  • 并行:是指在同一时刻有两个或两个以上的活动发生
  • 终端命令:新的操作界面,直接接收用户命令
  • 时间片:一个长度的CPU运行时间
  • 响应时间:用户输入一个请求(如击键)到系统给出首次响应(如屏幕显示)的时间。响应时间取决于时间片的长短和用户个数。
             响应时间T与时间片大小q和用户个数n之间的关系:
                              T=n*q (q包括切换时间和真正用来处理的时间)

3、分时系统展示
操作系统引述

4、分时系统特征:

  • 多路性:多用户同时操作、使用计算机
  • 独占性:各终端用户感觉到自己独占了计算机
  • 及时性:用户的请求能在较短时间内相应
  • 交互性:用户能与计算机进行人机对话

5、分时系统的主要优点:
①人机交互友好
②应用方便
③资源共享

三、实时系统

1、实时系统的引入

  • 实时操作系统:主要用于过程控制、事务处理等有实时要求的领域,其主要特征是实时性和可靠性,对时间有严格限制和要求。
  • 三种典型应用形式:
    (1)实时控制系统(过程控制)
    (2)实时信息查询(信息查询)
    (3)事务处理系统(事务处理)

2、实时任务/系统的类型

  • 按是否具有周期性分为:
    (1)周期性实时任务/系统
    (2)非周期性实时任务/系统
  • 按是否有严格的截止时间分为:
    (1)硬式实时系统:对时间严格约束
    (2)软式实时系统:对时间限制稍弱一些
  • 常见的商业实时操作系统有VxWorks, VRTX/OS,pSOS+,RTMX,OS/9和Lynx OS等等。

3、一个严格的实时系统应该具备的特征

  • 1)高精度计时系统
    2)多级中断机制
    3)实时调度机制

4、实时系统特征:

  • 可靠性:对系统要求更高,安全可靠。
    实时性:时间要求更精确,更及时。
    多路性:主要是连接的硬件终端。
    交互性:交互性要求较低。

5、实时系统与分时系统的差别

  • 目标不同:分时系统是提供一种随时可供多个用户使用的通用型操作系统,而实时操作系统大多数是具有特殊用途的专用系统。
  • 交互性不同:分时具有较强的对话与交互能力,而实时系统交互性很弱。
  • 响应时间要求不同:实时系统要求高,通常是微秒级的;分时系统通常是秒级的。
  • 实时性:实时系统要求高,分时系统要求低。
  • 可靠性:分时只要能满足一般用户能接收的等待时间即可,而实时系统的响应时间要求严格。

四、通用操作系统

    为了提高系统适应性和性能,现在的许多操作系统都同时具有多种操作系统功能,如同时兼有批处理、分时、实时系统功能。
    实际中,一般一个系统会兼具分时和批处理系统的功能,或者兼具实时和批处理系统的功能等。

练习:
在设计分时操作系统时,首先要考虑的是 交互性和响应时间
在设计实时操作系统时,首先要考虑的是实时性和可靠性
在设计批处理系统时,首先要考虑的是周转时间和系统吞吐量

五、网络操作系统

1、计算机网络的概念:
    计算机网络是把分布在不同地点,并具有独立功能的多个计算机系统通过通信设备和线路连接起来,在功能完善的网络软件和协议的管理下,以实现网络中数据传递与资源共享的系统。

2、计算机网络的特征:
(1)分布性 (2)自治性
(3)互连性 (4)可见性

3、网络操作系统

  • 服务器 客户机
  • 网络操作系统 — 实现网络通信、资源共享和保护,
    以及提供网络服务和网络接口等
  • 本地操作系统 — 完成本地资源的管理和服务功能
  • 客户 – 服务器模式
  • 常用的网络操作系统:Sun公司的NFS、Novell公司的Netware 5.0、Microsoft公司的Windows NT Server 4.0、IBM公司的LAN Server 4.0、*软件Linux

六、分布式操作系统

1、分布式计算机系统的概念:是以计算机网络为基础的计算机系统,包含多台处理机,每台处理机完成系统中指定的一部分功能。从硬件上讲,它与计算机局域网没有任何区别,关键是软件。

  • 以计算机网络为基础;
  • “运行在不具有共享内存的多台计算机上 ,但在用户眼里却像一台计算机”:一群联网的计算机,其行为像是一台虚拟的单处理机,用户不必关心计算机的资源在什么地方、什么时间工作以及资源如何调配工作。

2、分布式系统的概念:分布式系统是建立在网络之上的软件系统。分布式系统具有高度的内聚性和透明性。网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。

  • 内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。
  • 透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。
  • 在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。

3、分布式系统的特点:

  • 分布式
  • 健壮性
  • 透明性
  • 共享性
  • 可靠性
  • 可扩充性

4、分布式软件系统:分布式软件系统是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。

  • 分布式操作系统:负责管理分布式处理系统资源和控制分布式程序运行。
  • 分布式程序设计语言:用于编写运行于分布式计算机系统上的分布式程序。
  • 分布式文件系统:具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。
  • 分布式数据库系统:由分布于多个计算机结点上的若干个数据库系统组成。分布式数据库在使用上可视为一个完整的数据库,而实际上它是分布在地理分散的各个结点上。当然,分布在各个结点上的子数据库在逻辑上是相关的。
  • 分布式邮件系统:分布式邮件系统的部署设计,即同一域名下,跨地域部署的邮件系统。

5、网络操作系统和分布式操作系统的区别

  • 1)分布式系统的各个计算机之间处于平等地位无主从关系;网络有一些主从关系。
    2)分布式系统资源为所有用户共享;而网络有限制地共享。
    3)分布式系统中一项任务可分给若干处理单元相互协作共同完成,而网络往往是各司其责。

练习:
为了提高计算机的处理机和外部设备的利用率,把多个程序同时放入主存,在宏观上并行运行是 多道程序设计
把一个程序划分成若干个同时执行的程序模块的设计方法是 并发程序设计
多个用户在终端设备上的交互方式输入、排错和控制其程序的运行是 分时OS
由多个计算机组成的一个系统,这些计算机之间可以通信来交换信息,互相之间无主次之分,它们共享系统资源,程序由系统中的全部或部分计算机协同执行,管理上述计算机系统的操作系统是 分布式OS
有一类操作系统的系统响应时间的重要性超过系统资源的利用率,它被广泛地应用于卫星控制、飞机订票业务等领域是 实时OS

操作系统的操作历程

操作系统引述

七、微机操作系统

微机操作系统使用于PC(个人电脑:台式机和笔记本等)。
微机操作系统分类:

  • 1)单用户单任务操作系统:只允许一个用户上机,且只允许用户每次执行一个任务,如DOS。
  • 2)单用户多任务操作系统:同一时间只允许一个用户上机,但允许一个用户并发执行多个任务,从而提高系统的性能,如Windows。
  • 3)多用户多任务操作系统:多用户共享主机,如UNIX、Linux、Windows Sever等。

八、嵌入式操作系统

    **嵌入式操作系统(EOS)**是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。
    随着Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。
手表、微波炉、家用电器、DV、汽车、路由器、打印机、机器人等设备中都可以使用EOS。

嵌入式系统设计时考虑的因素:

  • 能源、成本和可靠性通常是影响设计的重要因素
  • 体积、内存容量及电源等方面受到限制

嵌入式系统的特征:

  • 系统内核小
  • 专用
  • 系统精简
  • 实时操作

九、多处理器操作系统

多处理器系统是由多台处理器组成的计算机系统。多处理操作系统的出现是为了提高计算机系统性能和可靠性。

提高性能有两条途径:一是提高各个组成部分的速度,二是增大处理的并行程度。

1975年前后,出现多处理机系统(multi-processor)。

多处理器系统的特点

  • 增加系统的吞吐量
  • 提高系统可靠性

多处理机的结构

  • 紧密耦合多处理机:交叉主存
  • 松散耦合多处理机:通过通信线路连接

多处理机操作系统的类型

  • 非对称多处理机
  • 对称多处理机

十、大中型计算机操作系统

大中型计算机结构复杂,性能优秀,功能强大

  • 批处理、分时、实时系统
  • 批处理与分时、批处理与实时

例如:IBM OS/390、IBM Z900 等

十一、云操作系统

云操作系统:是以云计算、云存储技术作为支撑的操作系统,是云计算后台数据中心的整体管理运营系统,它是指构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等基础软件之上的、管理海量的基础硬件、软件资源的云平台综合管理系统。

    云操作系统通常包含以下几个模块:大规模基础软硬件管理、虚拟计算管理、分布式文件系统、业务/资源调度管理、安全管理控制等几大模块组成。
    云操作系统有以下几个作用:一是治众如治寡,能管理和驱动海量服务器、存储等基础硬件,将一个数据中心的硬件资源逻辑上整合成一台服务器;二是为云应用软件提供统一、标准的接口;三是管理海量的计算任务以及资源调配。

  • 云操作系统产品:一般来讲,国内外大的网站,比如Google、网易、腾讯等,都有该类产品,但由于该系统是各自的核心竞争力,都是自产自用,并对外发售。
  • 浪潮的云海:浪潮云海是第一款国产云操作系统,采用“linux+Xen”开放标准技术路线,支持分布式计算、分布式存储等,性能更好、可用性更强、成本更低。
  • 还有:VMware的vSphere、微软的 Windows Server 2012、甲骨文的 Solaris 11、华为、曙光等。

十二、移动操作系统

Android
iOS
Windows 10 Mobile

十三、单内核和微内核操作系统

  • 单体内核:大内核,将OS的全部功能都做进内核中,包括调度、文件系统、网络、设备驱动器、存储管理。比如设备驱动管理、资源分配、进程间通信、进程间切换管理、文件系统、存储管理、网络等。单体内核是指在一大块代码中实际包含了所有操作系统功能,并作为一个单一进程运行,具有唯一地址空间。
    UNIX(包括Linux)系统都采用的单体内核。

  • 微内核:微内核与单体内核不同,微内核只是将OS中最核心的功能加入内核,包括IPC通信、地址空间分配和基本的调度,这些东西处在内核态运行。如:WINCE系统。而其他功能如设备驱动、文件系统、存储管理、网络等作为一个个处于用户态的进程而向外提供某种服务来实现,而且这些处于用户态的进程可以针对某些特定的应用和环境需求进行定制。有时,也称这些进程为服务器。

  •     微内核由一群尽可能将数量最小化的软件程序组成,它们负责提供实现一个操作系统所需要的各种机制与功能,微内核操作系统就是一种基于微内核架构的操作系统。

  • 微内核操作系统结构,是20世纪80年代后期发展起来的。由于它能有效地支持多处理机运行,故非常适用于分布式系统环境。当前比较流行的、能支持多处理机运行的操作系统,几乎全部都采用了微内核结构,如卡耐基梅隆大学研制的MachOS,便属于微内核结构操作系统。又如当前广泛使用的Windows操作系统(还属于单内核操作系统),也逐渐采用了一定的微内核结构。还有手机操作系统Android属于微内核结构。

  • 微内核结构的特征:
    1)足够小的内核
    2)基于客户/服务器模式
    3)应用“机制与策略分离”原理
    4)采用面向对象技术

十四、库操作系统

  • 库操作系统:是可用于跨众多云计算平台和移动平台,构建安全的、高性能的网络应用程序。其工作原理是将虚拟机管理程序当成一个稳定的硬件平台,让用户专注于实施高性能协议,没必要为支持传统操作系统里面的成千上万个设备驱动程序而操心。典型的如 MirageOS。
  • 库操作系统是一种新的方法:只包含操作系统的必要组件,连同应用程序一起编译到单一内核。这带来非常高效、极其精简的软件设备,同时攻击面要小得多。这种软件设备可以直接部署到云端和嵌入式设备,好处就是降低了成本,提高了安全性和可扩展性。

1.4 操作系统的功能与特征

1.4.1 操作系统的功能

  • 操作系统的目标:

    • 方便性
    • 有效性
    • 可扩展性
  • 操作系统的功能
    操作系统的主要任务是对系统中的软件、硬件实施有效的管理,以提高系统资源(主要包括处理机、主存储器和外存储器、文件系统)的利用率。主要功能如下:

    • 1)处理机管理(进程管理,CPU):进程控制、进程同步与互斥、进程调度、进程通信、进程死锁等
    • 2)存储管理(内存):内存分配、地址映射、内存保护、内存扩充等
    • 3)设备管理(输入输出设备):缓冲区管理、设备分配、设备驱动、设备无关性、虚拟设备等
    • 4)文件管理(程序数据文档等软件资源):文件存储空间管理、文件操作、目录管理、文件存取控制等
    • 5)用户接口:程序接口、命令接口、图形接口等

1.4.2 操作系统的特征

1、并发性:在多道程序处理时,宏观上并发,微观上交替执行(在单处理器情况下)。

  • 并发:是指两个或多个事件在同一时间段内发生。操作系统是一个并发系统,各进程间的并发,系统与应用间并发。操作系统要完成这些并发过程的管理。
  • 并行:是指两个或多个事件在同一时刻发生。

2、共享性:多个进程共享有限的计算机系统资源。操作系统要对系统资源进行合理分配和使用。资源在一个时间段内交替被多个进程所用。

  • 互斥共享方式(如打印机等资源),资源分配后到释放前,不能被其他进程所用。
  • 同时访问方式(如可重入代码,磁盘文件),一段时间可以允许多个访问。

3、异步性:异步性也称不确定性,指进程的执行顺序和执行时间及执行结果的不确定性。

  • 多道程序设计环境下,进程并发执行,按异步方式运行,时走时停,不可预知每个进程的运行推进快慢,引发执行顺序与时间的不确定。
  • 执行结果不确定,不可再现。相同输入与环境下多次运行结果不同。

4、虚拟性:一个物理实体映射为若干个对应的逻辑实体(分时或分空间)。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。

  • 虚拟存储器
  • 虚拟设备
  • 还有如:虚拟光驱,虚拟机等,但意义不尽相同。

1.5 操作系统结构设计

1.5.1 整体系统

  • 分模块,相互调用
  • 特点:
    1.任意调用,耦合紧密
    2.实现的效率高
  • 缺点:
    1.结构关系不清晰
    2.系统的可靠性降低

操作系统引述
                                                                    模块调用示意图

1.5.2 层次式系统

  • 分层次,按规则在层次间调用
  • 具有整体系统的长处,同时结构关系清晰,提高了系统的可靠性、可移植性和可维护性。
    操作系统引述

1.5.3 虚拟机结构

  • 通过共享物理机器资源来实现
  • 主要优点:同时运行多个操作系统;提供良好的工作环境;系统安全,有效地保护系统资源;组建虚拟网络。

操作系统引述
                                                            带CMS的VM/370结构

1.5.4 客户——服务器系统

客户——服务器系统模型:
操作系统引述
分布式系统中的客户-服务器模型 :

操作系统引述

1.6 扩展知识

  • the first Microcomputer
    操作系统引述

  • Apple
    操作系统引述

  • Apple:Macintosh
    操作系统引述

  • Apple:iMAC一体机
    操作系统引述

  • IBM PC:

操作系统引述

  • Windows:
    操作系统引述

  • Linux:
    操作系统引述
    操作系统引述

  • Embedded/Mobile Operating System:
    操作系统引述

  • 操作系统的未来:
    1.研究与建立未来的操作系统:操作系统朝提供更省电、网络化、智能化、量子化、以及更人性化的使用界面等方向来改进和发展。
    2.Linux及一些类UNIX OS正努力让自己成为个人用户舒适的环境。
    3.GNU Hurd是一个企图完全兼容Unix并加强许多功能的微内核架构。