第二章 操作系统
软件是为了使用户使用并充分发挥计算机性能和效率的各种程序和数据的统称。
软件又分为系统软件和应用软件。
系统软件是所有用户使用的为了解决用户使用计算机而编制的程序。
应用软件是为解决某特定的问题而编制的程序。
操作系统是硬件与所有其他软件之间的接口,而且是整个计算机系统的控制和管理中心。
操作系统两个重要作用:
1.管理系统中各种资源。
所有硬件部分称为硬件资源。而程序和数据等信息成为软件资源。
2 为用户提供良好的界面。
操作系统的特征:
1 并发性。
是在计算机系统中同时存在多个程序,宏观上看,这些程序是同时向前推进的。
在单CPU上,这些并发执行的程序是交替在CPU上运行的。
程序并发性体现在两个方面:
用户程序与用户程序之间的并发执行。
用户程序与操作系统程序之间的并发。
2 共享性。
资源共享是操作系统程序和多个用户程序共用系统中的资源。
3 随机性。
随机性指:操作系统的运行是在一个随机的环境中,一个设备可能在任何时间向处理机发出中断请求,系统无法知道运行着的程序会在什么时候做什么事情。
没有任何软件支持的计算机称为裸机。
操作系统是硬件的第一层软件扩充。
操作系统的功能:
1 进程管理:主要是对处理机进行处理。
随着系统对处理机管理方法不同,其提供的作业处理方式也不同,例如有批处理方式,分时方式和实时方式。
2 存储管理:主要是管理内存资源。
当内存不够的时候,解决内存扩充问题,就是内存和外存结合起来的管理,为用户提供一个容量比实际内存大的多的虚拟存储器,这是操作系统的存储功能的重要任务。
3 文件管理。系统中的信息资源是以文件的形式存放在外存储器上的。
4 设备管理。设备管理是计算机系统中除了CPU和内存外的所有输入,输出设备的管理。
5 用户和操作系统的接口。
操作系统的分类:
1 批处理操作系统。
两个特点:一是多道,一是成批。多道是系统内同时容纳多个作业,这些作业存放在外存中 ,组成一个后备作业序列,系统按一定的调度原则每次从后备作业中选取一个或多个作业放入内存中运行,运行作业结束并退出运行和后备作业进行运行均由系统自动实现,从而在系统中形成一个自动转接的连续的作业流。而成批是系统运行中不允许用户和他的作业发生交互关系。
批处理系统追求的目标是提高系统资源利用率和大作业吞吐量以及作业流程的自动化。
2 分时系统。
分时系统允许多个用户同时连机使用计算机。
操作系统采用时间片轮转的方式处理每个用户的服务请求。
特点:
多路性。
交互性。又叫交互操作系统。
独立性。
及时性。分时系统性能的主要指标之一的是响应时间,是从终端发出命令到系统与应答的时间。
通常计算机系统采用批处理和分时处理方式来为用户服务。时间要求不强的作业放入后台批处理处理,需要频繁交互的作业在前台分时处理。
3 实时系统。
系统能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该事件的处理。实时系统作为一个特定应用中的控制设备来使用。
分为两类:
1. 时控制系统。
2. 时信息处理系统。
特点:及时响应和高可靠性。
4 个人计算机操作系统。
个人计算机操作系统是一个联机交互的单用户操作系统,它提供的联机交互功能与分时系统所提供的功能很相似。
5 网络操作系统。
计算机网络是通过通信设施将地理上分散的具有自治功能的多个计算机系统互连起来,实现信息交换,资源共享,互操作和协作处理的系统。网络操作系统就是在原来的各自计算机系统操作上,按照网络体系结构的各个协议标准进行开发,使之包括网络管理,通信,资源共享,系统安全和多种网络应用服务的操作系统。
6 分布式操作系统。
从资源管理观点:
把操作系统分为处理机管理,存储管理,设备管理,文件管理,用户与操作系统的接口等5个主要部分。
虚机器观点。
用户不再直接使用硬件机器,而是通过操作系统来控制和使用计算机,从而把计算机扩充为功能更强,使用更加方便的计算机系统。操作系统的全部功能,称为操作系统虚机器。
操作系统所涉及的硬件环境:
2 特权指令与处理机状态。
特权指令和非特权指令。
特权指令是只允许操作系统使用,而不允许一般用户使用的指令。
非特权指令之处的指令称为非特权指令,非特权指令的执行不影响其他用户以及系统。
3 CPU状态。
CPU交替执行操作系统程序和用户程序。
CPU的状态属于程序状态字PSW的一位。大多数计算机系统将CPU执行状态分为管态和目态。
管态又叫特权态,系统态或核心态。CPU在管态下可以执行指令系统的全集。通常,操作系统在管态下运行。
目态又叫常态或用户态。机器处于目态时,程序只能执行非特权指令。用户程序只能在目态下运行,如果用户程序在目态下执行特权指令,硬件将发生中断,由操作系统获得控制,特权指令执行被禁止,这样可以防止用户程序有意或无意的破坏系统。
从目态转换为管态的唯一途径是中断。
从管态到目态可以通过修改程序状态字来实现,这将伴随这由操作系统程序到用户程序的转换。
4 中断机制。
中断机制是现代计算机系统中的基础设施之一,它在系统中起着通信网络作用,以协调系统对各种外部事件的响应和处理。
中断是实现多道程序设计的必要条件。
中断是CPU对系统发生的某个事件作出的一种反应。
引起中断的事件称为中断源。中断源向CPU提出处理的请求称为中断请求。发生中断时被打断程序的暂停点成为断点。CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。
中断的实现实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分成为软件处理程序。
中断装置和中断处理程序统称为中断系统。
一般将中断源分为两大类:强迫性中断和自愿性中断。
强迫性中断是正在运行的程序所不期望的,它们是或发生,何时发生事先无法预料,因而运行程序可以在任意位置处被打断。
2 输入输出中断::这是来自通道或外部设备的中断。
3 硬件故障中断
4 时钟中断
5 控制台中断
6 程序性中断
自愿性中断是正在运行的程序有意识安排的,通常是由于程序员在编制程序时,因要求操作
系统提供服务而有意使用访管指令或系统调用,从而导致中断的,所以又称其为访管中断。
系统为每类中断设置一个中断处理程序。每个中断处理程序都有一个入口地址PC及其运行
环境PSW,它们被称为中断向量,保存在内存中固定的单元。
中断响应是解决中断的发现和接受问题,是由中断装置完成的。中断响应是硬件对中断请求
作出响应的过程,包括识别中断源,保留现场,引出中断处理程序等过程。
CPU每执行完一条指令,便去扫描中断寄存器,查询有无中断请求。若有中断请求,则通过交换中断向量进入中断处理程序,这就是中断响应。
系统根据引起中断事件的重要性和紧迫程度,由硬件将中断源分为若干个级别,称为中断优先级。
中断屏蔽是指在提出中断请求之后,CPU不予响应的状态。它常常用来在处理某一中断时防止同级中断的干扰或在处理一段不可分割,必须连续执行的程序时防止任何中断事件的干扰。
CPU是否允许某类中断,由当前程序状态字中的中断屏蔽位决定。
屏蔽中断源相当于关中断,处于关中断状态下执行的程序段因尽量短,否则可能会丢失信息
,也会影响系统的并发性。
中断反应过程:
1保存被中断程序的现场。
2分析中断源,确定中断原因。
3转去执行相应的处理程序。
4恢复被中断程序现场,继续执行被中断程序。
操作系统向用户提供两类接口:一类是用于程序级的,另一类是用于作业控制一级的。
1 程序级接口。
它由一组系统调用命令组成。与机器指令不同之处在于系统调用命令由操作系统核心解释执行。
系统调用是操作系统向用户提供的程序一级的服务,用户程序借助与系统调用命令来向操作系统提出各种资源要求和服务请求。
一般系统调用可分为几类:设备管理类,文件管理类,进程控制类,进程通信类,存储管理类。
2 作业级接口。
这类接口是系统为用户在作业一级请求系统服务而设置的,用户可利用这组接口组织作业的工作流程和控制作业的运行。这类接口分为联机接口和脱机接口。
1 联机接口。
联机接口由一组键盘操作命令组成,是用户以交互方式请求操作系统服务的手段。
键盘操作命令的作业控制方式灵活方便,用户可以根据运行情况随时干预自己的作业,但是系统利用率不高。
2 脱机接口。
由一组作业控制命令组成,供脱机用户使用。
这种接口主要是用于批处理方式操作系统,其优点是作业的操作过程由系统自动调度或系统操作员干预,因而系统利用率高。
处理机是计算机系统中最重要的资源。
多道程序设计是操作系统所采用的最基本,最重要的技术。其根本目的是提高整个系统的效率。
衡量系统效率的尺度是系统吞吐量。所谓吞吐量是单位时间内系统所处理作业的道数。
进程是具有一定独立功能的程序关于某个数据集合上的一次运行运动,进程是系统核心资源分配和调度的一个独立单位。
进程可以分为系统进程和用户进程两类。
系统进程的优先级通常高与一般用户进程的优先级。
从静态的角度看,进程是程序,数据和进程控制块PCB三部分组成。
进程和程序的区别是程序是静态的,而进程是动态的。
一个进程可以执行一个或几个程序,一个程序也可以构成多个进程。
被创建的进程成为子进程,创建者称为父进程,从而构成进程家族。
操作系统的并发性和共享性正是通过进程的活动体现出来的。
1 并发性。
2 动态性。
3 独立性。
4 交往性。
5 异步性。
进行中的进程可以处于以下三种之一:运行,就绪,等待。
运行状态是进程已经获得CPU,并且在CPU上执行的状态。显然,在一个单CPU系统上,最多只有一个进程处于运行状态。
就绪状态,是一个进程已经具备运行条件,但是由于没有获得CPU而不能运行所处的状态。
等待状态,也叫阻塞状态或封锁状态。是进程因等待某种事件发生而暂时不能运行的状态。
文件是具有符号名的,在逻辑上具有完整意义的一组相关信息项的有序序列。
信息项是构成文件内容的基本单位。
读指针用来记录文件当前文件之前的读取位置,它指向下一个将要读取的信息项。
写指针用来记录文件当前的写入位置,下一个将要写入的信息项被写到该处。
按性质和用途分类:系统文件。用户文件。
按文件的逻辑结构分为:流式文件。记录式文件。
按信息的保存期限分类:临时文件。永久性文件。档案文件。
按文件的物理结构分类:顺序文件。链接文件。索引文件。HASH文件。索引顺序文件。
按文件的存取方式:顺序存取文件。随机存取文件。
UNIX系统中文件分类:普通文件。目录文件。特殊文件。
文件系统:操作系统中实现文件统一管理的一组软件,被管理的文件以及为实施文件管理所需要的一些数据结构的总称。
文件的逻辑结构是文件的外部组织形式。
3 流式文件。基本单位是字符。流式文件是有序字符的集合,其长度为该文件所包含的字符个数,所以称为字符流文件。
4 记录式文件。基本单位是记录。分为:定长记录文件和变长记录文件。
文件的存取方式是由文件的性质和用户使用文件的情况决定。
1 顺序存取。
2 随机存取。
磁带是顺序存取。磁盘是随机存取。
文件的物理结构:
1 顺序结构。
2 链接结构。
3 索引结构。
如果是三级索引,文件长度最大为:256*256*256+256*256+256+10
文件系统最大的一个特点是“按名存取”
文件目录是文件控制块的有序集合。
目录文件是长度固定的记录式文件。大多数操作系统如UNIX,DOS采用多级目录机构 ,称为树型目录结构。
从根目录出发到任一非叶结点或树页结点都有且只有一条路径。
系统为用户提供一个目前使用的工作目录,称为当前目录。
目录分解法:将目录项分为:名号目录项,基本目录项。
目录文件也分为名号目录文件和基本目录文件。
文件存取控制通过文件的共享,保护和保密三方面体现。
文件的共享是一个文件可以允许多个用户共同使用。
文件的存取控制分为两级:
2 访问者的识别。文件主。文件主的同组用户或合作者。其他用户。
3 存取权限的识别。
存取控制表一般放在文件控制块里。
文件的操作:OPEN。CLOSE。READ。WRITE。CREAT 。DELETE。
保证文件系统安全的方法是备份。
1 海量转储。
2 增量转储。
设备管理是计算机系统中除了CPU和内存以外的所有输入,输出设备的管理。
4 按设备工作特性分为:存储设备,输入输出设备。
5 按设备上数据组织方式分类:块设备,字符设备。
6 按资源分配的角度分类:独占设备。共享设备。虚拟设备。虚设备技术。虚设备。
SPOOLing技术是一种典型的虚设备技术。
CUP对外部设备的控制方式分为:
1 中断处理方式。
每当设备完成I/O操作,已中断请求方式通知CPU,然后进行相应处理。
2 循环测试方式。
3 直接内存存取方式DMA。
DMA方式用于高速设备与内存之间批量数据的传输。
6 通道方式。通道是一个用于控制外部设备工作的硬件机制,相当与一个功能简单的处理机。是实现计算和传输并行的基础。
主机对外部设备的控制三个层次来实现,既通道,控制器和设备。
一个通道可以控制多个控制器,一个控制器又可以连接若干台同类型的外部设备。
一般设备的连接可以采用交叉连接。好处是:
1 提高系统的可靠性。
2 提高设备的并行性。
通道分为:
3 字节多路通道。连接打印机,终端等低速和中速设备。
4 选择通道。连接磁盘,磁带等高速设备。
5 成组多路通道。
通道的运算控制部件包括:
1 通道地址字:CAW。
2 通道命令字:CCW。
3 通道状态字:CSW。
通道访问内存采用“周期窃用”方式。
缓冲是计算机系统中常用的技术。一般,凡是数据到达速度和离去不匹配的地方都可以采用数据缓冲技术。
缓冲池。
设备分配的任务是按照一定的方法为申请设备的进程分配合适的设备,控制器和通道。
SPOOLing是一种虚拟设备技术。其核心思想是在一台共享设备上模拟独占设备的操作。
输入井和输出井。
在配有通道的系统中,I/O程序称为通道程序。
活动头磁盘的存取访问时间一般有三个部分:
1 寻道时间。
2 旋转延迟时间。
3 传送时间。
磁盘优化调度算法:
2 先来先服务磁盘调度算法FCFS。
3 最短寻道时间优先磁盘调度算法SSTF。
4 扫描算法SCAN。