有关程序执行

程序的顺序执行

若一个计算机由若干操作组成,而这些操作必须按照某种先后次序来执行,以保证某些操作的结果可为其他一些操作所利用,则这类计算过程就是程序的顺序执行过程
有关程序执行插图
I 输入 C计算处理 P打印输出

顺序程序的特点

顺序性:处理机的操作严格按照程序多规定的顺序执行,每个操作必须在下一个操作开始执行之前结束
封闭性:程序一旦开始执行,其计算结果不受外界因素的影响
可再现性:程序执行的结果与它执行速度无关(即与事件无关),而只与初始条件有关,只要给定相同的输入条件,程序重复执行一定会得到相同的结果

程序的并发执行

大多数计算问题只要求操作在时间是偏序的,即有些操作必须在其他操作之前执行,这是有序的,但其中有的却可以同时进行
有关程序执行插图1
有的程序段是由先后顺序的,有的程序段可以并发执行
若干个程序段同时在系统中运行,这些程序段在时间上是重叠的,一个程序段是执行尚未结束,另一个程序段已经开始,即使这种重叠是很小的一部分,也称这几个程序段是并发执行的
有关程序执行插图2

并发程序的特点

失去程序的封闭性:一个程序可以改变另一个程序的变量
程序与计算不再一一对应:当多个计算任务共享某个程序时,它们都可以调用这个程序
程序并发执行的互相制约:当并发执行的个程序之间需要协同操作完成一个共同的任务时,它们之间具有直接的相互制约关系,且一般这样的程序之间由一定的逻辑联系(竞争资源的间接联系)

进程介绍

现代的所有计算机都能同时做几件事情
伪并行(CPU在多道程序之间快速地切换)
人们很难对多个并行活动进行跟踪,进程是用于描述并行活动的一种模型
从概念上说,每个进程拥有它自己的虚拟CPU,而真正CPU在各进程来回切换(多道程序)

操作系统与其他系统软件的关系

重定位

绝对地址、相对地址和逻辑地址空间

绝对地址(实地址、物理地址):存储控制部件能够识别的主存单元编号
相对地址(虚地址、逻辑地址):相对于某个基准量(通常为零)编址时所使用的地址(是使用于程序编写和编译中的地址系统)
逻辑地址空间:一个被汇编、编译或连接装配后的目标程序所限定的地址集合
 为了在多道程序系统中研究如何把逻辑地址空间变换(映射)为实际的主存地址空间的子集

重定位

把程序中相对地址变为绝对地址
静态重定位:在程序装入主存时,由连接装入程序进行重定位
动态重定位:在处理器每次访问主存时,由动态地址变换机构(硬件)自动进行把相对地址转换位绝对地址

硬件环境

中央处理器(CPU)

单机系统:一个计算机系统只有一个处理器
多机系统:一个计算机系统有多个处理器
特权指令:
 单用户、单任务方式下的微处理器
 多用户的多道程序设计--特权指令和非特权指令

特权指令

指在计算机系统中哪些只能由操作系统使用的指令,这些指令不允许一般用户使用。
如:启动某设备指令、设置时钟指令、控制中断屏蔽的某些指令、清内存指令、建立存储保护指令等。

处理器的状态

核心状态
管理状态
用户程序状态(目标状态)
  管态(管理态)--可以执行全部指令
  目态(问题态)--只能执行非特权指令

程序状态字PSW

程序状态字:一个专门用来指示处理器状态的寄存器
处理器的状态
 条件码--反应指令执行后的结果特征
 中断屏蔽码--指出是否允许中断
 CPU的工作状态--管态还是目态

程序状态字的内容

程序现在应该执行哪条指令
当前指令执行情况
机器处于何种程序状态
程序在执行时应该屏蔽哪些中断
寻址方法、编址、保护键
响应中断的内容

用户态自动转向管态

用户进程访问操作系统,要求操作系统的某种服务,该访问称为管理程序调用
发生一次中断
在一个用户进程中产生一个错误状态,这种状态被处理为内部中断,并能用中断处理程序进行处理
在用户态下企图执行一条特权指令,这种企图可呗看作是一种特殊类型的错误,并按上面一条处理

主存储器

存储器类型
 读写型存储器 RAM
 只读型存储器 ROM
 PROM(可编程只读存储器
 EPROM(可擦除可编程只读存储器
存储器组织(单位) bit,byte,word,block

多级存储器体系

硬件环境插图

存储保护

对主存中的信息严格保护,是操作系统和其他程序正确运行的基本条件之一
常用的存储器保护机制
 接地址寄存器(界限寄存器)
  在CPU中设置一对界限寄存器来存放该作业在主存中的下限和上限地址
 存储键
  每个存储块有一个与其相关的由五位二进位组成的保护键
  左边四位--存储保护键
  最右边一位--取保护位

缓冲技术

使用缓冲技术的原因:CPU处理数据速度与设备传输数据速度不相匹配,用缓冲区来缓解这种速度矛盾
 避免工作区被长期占用而使用户无法使用
 为便于对缓冲区的管理,它往往与设备相联系,而不直接同用户相联系
 减少输入输出次数,以减轻对通道和输入输出设备的压力
缓冲区信息可供多个用户共同使用和反复使用

中断的概念

中断:是指CPU对系统中发生的异步事件的响应
异步事件:是指无一定时间关系的随机发生的事件
中断事件、中断源、中断处理程序(保护现场、处理中断、恢复现场)
中断的作用:
 能充分发挥处理器的使用效率
 提高系统的实时处理能力

中断类型

机器故障中断:如电源故障、机器电路检验错、内存奇偶校验错等
输入输出中断:用以反映输入输出设备和通道的数据传输状态(完成或出错)
外部中断:包括时钟中断、操作员控制台中断、多机系统中其他机器的通信要求中断
程序中断:由程序问题引起的中断,如错误地使用指令或数据、移除等问题;存储保护、虚拟存储器管理中的却也、缺段等
访管中断:用户程序在运行中经常请求操作系统为其提供某种功能服务(如为其分配一块主存、建立进程等)

中断处理

硬件和软件配合完成中断处理
硬件负责中断进入过程,即发现和响应中断请求,把中断的原因和断点记下来供软件处理时查用,同时负责引出中断处理程序
中断分析、中断处理、恢复被中断程序的线程等工作则由软件的中断处理程序来完成
 保护现场和传递参数
 执行相应的中断(自陷)服务例程
 恢复和退出中断

时钟、时钟队列

在多道程序运行的环境中,它可以为系统发现一个陷入死循环的作业,从而防止计时的浪费
在分时系统中,用间隔时钟来实现用户作业间按时间片轮转
在实时系统中,按要求的时间间隔输出正确的时间讯号传递给一个实时控制设备
定时的唤醒哪些要求延迟执行的各个外部事件

时钟分类

绝对时钟
 记录当时的事件,以便打印统计报表和日记使用
间隔时钟
 又称相对时钟
软时钟(虚拟时钟)
 时钟数量终究是很少的
 时钟队列

操作系统的功能和特性 操作系统的类型

操作系统的功能和特性

操作系统的功能

它是用户和计算机之间的接口
他是计算机系统资源的管理者
 处理器资源
 存储器管理(主要是内存管理)
  存储分配和存储无关性、存储保护、存储扩充
 输入输出设备管理
 信息管理

操作系统的特性

并行性:指能处理多个并发活动的能力
共享性:指多个极端任务对资源的共同享用
 CPU、主存、外部存储器、数据
 向各个用户分别提供充足的资源是十分浪费的
 多个用户共享一个程序的同一副本,而不是分别向每个用户提供一个副本,这样可以避免重复开发,节省人力资源
虚拟性
异步性

操作系统的类型

操作系统的性能指标

系统的可靠性:系统能发现、诊断和恢复硬件、软件故障的能力
系统吞吐率:系统在单位时间内所处理的信息量
系统响应时间:从系统接受数据到输出结果的时间间隔
系统资源利用率:系统中各个部件、各种设备的使用程度
可移植性:将一个OS从一个硬件环境转移到另一个硬件环境仍能正常工作的能力

多道批处理操作系统

与早期单道批处理系统相比
 作业道数
 作业处理方式
 用户同其作业间没有交互,不能直接控制其运行,一般称为脱机操作或批操作
多道批处理系统一般用于计算机中心较大的计算机系统中
多道批处理系统追求高的吞吐量

分时操作系统

分时技术(关键:时间片划分要合适)
把处理器时间划分成很短的时间片(如几百毫秒)轮流地分配给各个联机作业使用,如果某个作业在分配的时间片用完之前计算还未完成,该作业就暂时终端,等待下一轮继续计算。此时处理器让给另一个作业使用,这样,每个用户的各次要求都能得到快速响应,给每个用户的印象是:独占一台计算机。
分时:多个用户分享使用同一台计算机,也就是把计算机的系统资源进行时间上分割,从而将CPU工作时间分别提供给多个用户使用,每个用户依次轮流地使用时间片。
分时系统(time-sharing system)
多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用户输入--时走时停
前台和后台程序(foreground & background)分时:后台程序不占用终端输入输出,不与用户交互--现在的图形用户界面(GUI),除当前交互的程序(输入焦点)之外,其他程序均作为后台
通常按时间片(time slice)分配:各个程序在CPU上执行轮换时间
特征
 多路性:众多练级用户同时使用一台计算机
 交互性
 独占性
主要目的
 及时响应和服务于联机用户

实时系统

实时,对发生在外部时间做出及时的响应并对其进行处理,在严格规定的时间内完成对该时间的处理,并控制所有实时设备和实时任务协调一致地工作
包括实时过程控制和实时信息处理两种系统
追求的目标:对外部请求在严格的时间范围内做出反应,具有高可靠性
实时操作系统应具有:实时时钟管理、过载保护、高可靠性和高安全性
与批处理系统和分时系统的区别
 通用系统与专用系统
 实时系统对外部事件的响应要及时、迅速
 高可靠性要求
 队列驱动设计、事件驱动设计
 实时系统同批处理系统结合为通用实时系统

网络操作系统

网络操作系统是在同城操作系统功能的基础上提供网络通信和网络服务功能的操作系统。网络操作系统为网上计算机进行方便而有效的网络资源共享,提供网络用户所需各种服务的软件和相关规程的集合
网络功能与操作系统的结合程度是网络操作系统的重要性能指标。早期的做法是通常操作系统附加网络软件,过度到网络功能成为操作系统的有机组成部分。他们区别在于:网络功能的强弱、使用是否方便等
除了通常操作系统应具有的
 处理器管理、存储器管理、设备管理、文件管理
还应具有一下两大功能
 提供高效、可靠的网络通信能力
 提供多种网络服务功能
 (通信接口终端处理程序、通信控制程序以及各级网络协议软件)

多处理操作系统

优点:
 可靠性
 高度平行性
 多重处理可增强单处理器系统的计算能力,而又不必显出增加费用、价格
在计算机系统中,多重处理系统提供了重要的灵活性,因为多重处理系统的模块化设计,使系统在需要时可十分容易地通过添加处理器使系统能力得到扩充
多处理器系统的两种模式
 对称多处理系统SMP:由两个或两个以上的处理器共享主存、1/O设备,这些处理器用总线或者其他内部链接模式相连接
 非对称多处理模式AM:主从模式,著处理器只有一个,配置操作系统。从处理器可有多个

对称式多机系统

系统中由多个处理器,所有的处理器处于同等地位
 每个处理器都可以运行操作系统和内核程序处理中断、调度进程或线程等
 每个处理器都同样可以控制I/O设备和系统中其他资源
系统中所有处理器共享主存储器。没有自己私有的主存储器

主从式多机系统

只有主处理器可以运行操作系统、接受设备终端,进行I/O操作,执行内核代码;而从处理器仅可执行用户程序
 缺点
  主处理器负载过重
  主处理器故障将引起整个系统故障,可靠性差
  一般从处理器的利用率不高

分布式操作系统

由一群分离的计算机通过网络相连接的多机系统
每个计算机都有自己的主存、辅存和I/O设备

多道程序设计的概念

多道程序设计的引入

中断和通道技术出现以后,1/0设备和中央处理器可以并行操作,初步解决了告诉处理机和低速外部设备的矛盾,提高了计算机的工作效率
但,这种从星是由限度的,并不能完全消除中央处理机对外部传输的等待
根本目的:提高CPU的利用率,充分发挥并行性

多道程序设计的概念

把一个以上的作业存放在主存中,并且同时处于运行状态,这些作业共享处理器时间和外部设备等其他资源
多道程序运行的特征
 多道:即计算机主存中同时存放几道相互独立的程序
 宏观上并行:它们先后开始了各自的运行,但都未运行完毕
 微观上穿行:轮流或分时地占有处理机,交替执行

单道程序工作示例

多道程序设计的概念插图

多道程序工作示例

多道程序设计的概念插图1

操作系统的形成和发展

计算机的发展过程

1946-1955:第一代 电子管时代
1955-1965:第二代 晶体管时代
1965-1980:第三代 集成电路时代
1980-1990:第四代 大规模集成电路时代
1990-至今:第五代 (有说法称为智能计算机)

操作系统的发展阶段

第一代计算机:手工操作阶段(无操作系统)
第二代计算机:批处理系统(早期)、执行系统
第三代计算机:操作系统形成-批处理操作系统、分时操作系统
第四代计算机:个人计算机操作系统、网络操作系统、分布式操作系统

手工操作阶段

第一代计算机,主要原件是电子管,运算速度较慢,由主机(运控部件、主存)、输入设备(如直戴输入机、卡片阅读机)、输出设备(如打印机)和控制台组成
这种情况下,用户一个挨一个地轮流使用计算机,每个用户的使用过程大致如下:
把程序纸带(或卡片)装上输入机
经手工操作把程序和数据输入计算机
通过控制台开关启动程序运行
计算完毕,用户拿走打印结果,并卸下纸带(或卡片)

人-机矛盾的严重性

操作系统和运行时间的关系

机器速度作业在计算机上计算所需时间人工操作时间机器有效运行时间与操作时间之比
1万次/秒1小时3分钟20:1
60万次/秒1分钟3分钟3:1

早期批处理系统

计算机具备了批处理程序补充的能力

用户作业可以用批的方式提交给计算机。同时计算机系统中有一个监控程序对提交的作业进行处理。

多道程序设计系统

通道技术的引进和终端技术的发展,是的通道具有中断主机工作的能力。

将内存分几个部分,每一部分存放不同的作业,当一个作业等待I/O操作完成时,另一个作业可以使用CPU;如果内存中可以存放足够多的作业,则CPU的利用率可以接近100%

网络操作系统和分布式操作系统

在网络操作系统中,用户知道堕胎计算机的存在,能登录到一台远程机器并将文件从一台机器拷贝到另一台机器上,每台计算机都运行自己本地的操作系统,有自己本地用户

分布式操作系统在用户看起来就像一个传统的单处理器系统,尽管它实际上由多个处理器组成。分布式系统中,用户不会感知到他们的程序在那个处理器上运行,或者他们的文件存放在哪里,所有这些都是由操作系统自行高效地完成。

计算机系统概述

硬件部分:指其物理装置本身,包括各种处理器(如中央处理器、输入输出处理器和该系统中的其他处理器)、存储器、输入输出设备和通信装置
软件部分:指由计算机硬件执行以完成一定任务的所有程序及其数据。
 
说明
 最底层是硬件
  最底层是物理设备
  其次是直接控制设备并向上一层提供更清晰的接口的很原始的软件—微程序
  由微程序解释执行的一套指令集称为机器语言
 系统程序
  操作系统:隐藏复杂性,受硬件保护而面操用户篡改
  其他系统软件:这些程序本身并不是操作系统的部分
 应用程序
 
系统软件与应用软件
 系统软件:用于管理计算机本身及应用程序
 应用软件:实现用户所需的功能
 操作系统是最基本的系统软件,它控制计算机的所有资源并提供应用程序开发的基础。
 
计算机的硬件组织
 冯诺伊曼结构
  主机部分:运算器、控制器、存储器
  外设部分:输入设备、输出设备
 存储程序式计算机(Von Neumann计算机)
  必须有存储器,用来存储程序和数据;有运算器,用以执行指定的操作;有控制部件以便实现自动操作;有I/0部件以便于输入原始数据和输出计算结果。
 并行性—推动计算机系统结构的发展
  使原有部件尽可能并行运行-通道
  把一件工作分为若干相互联系的部分

多处理器系统
 具有两个或两个以上CPU
 共享存储器、I/O通道和I/O设备
 由一个操作系统控制

软件的层次与操作系统虚拟机
 软硬件及软件各部分之前,是一种层次结构的关系(裸机->扩充后的机器->应用程序)
  软件在硬件的基础上对硬件的功能进行扩充和完善
  一个软件可以对其他软件的功能进行扩充和完善

硬件与软件的关系
 硬件是计算机系统的物质基础,没有硬件就不能执行指令和实施最原始、最简单的操作,软件也就失去了效用
 若只有硬件,没有配置相应的软件,计算机也不能发挥它的潜在能力,硬件资源也就没有活力
 硬件与软件是相互依赖、互相促进的
 没有软件的裸机像一具僵尸;而没有硬件的软件则像一个幽灵