总的来说,操作系统这门课要求考生能在宏观上
把握操作系统各个部分的功能,微观上
掌控细微的知识点
操作系统的功能
、运行环境
和提供的服务
是本章考查的重点
1、操作系统的基本概念
操作系统的概念
计算机系统自上而下可粗分为四个部分:硬件
、操作系统
、应用程序
和用户
(这里的划分与计算机组成原理
的分层不同)
硬件
提供了基本的计算资源
;应用程序
规定了按何种方式使用这些资源来解决用户的计算问题。操作系统
控制和协调各用户的应用程序对硬件的分配与使用
在计算机系统的运行过程中,操作系统提供了正确使用
这些资源的方法
操作系统(Operating System,OS)
是指控制和管理
整个计算机系统的硬件和软件资源,并合理地组织调度
计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境
的程序集合
。
操作系统是计算机系统中最基本的系统软件
操作系统的特征
操作系统是一种系统软件
,但与其他的系统软件
和应用软件
有很大的不同,它有自己的特殊性即基本特征。操作系统的基本特征
包括并发
、共享
、虚拟
和异步
1、并发(Concurrence)
并发是指两个或多个事件在同一时间间隔内
发生
操作系统的并发性是指计算机系统中同时存在多个运行着的程序,因此它具有处理和调度
多个程序同时执行的能力。
在操作系统中,引入进程的目的
是使程序能并发执行
在多道程序环境
下,一段时间内,宏观上
有多道程序在同时执行,而在每一时刻,单处理机环境下
实际仅能有一道程序执行,故微观上
这些程序还是在分时地交替执行
。
操作系统的并发性
是通过分时
得以实现的
并行性
是指系统具有可以同时
进行多个运算或操作的特性,在同一时刻
完成两种或两种以上的工作。并行性需要有相关硬件的支持
,如多流水线
或多处理机
硬件环境
2、共享(Sharing)
资源共享即共享
,是指系统中的资源可供内存中多个并发执行
的进程共同使用(并未明确指明时间)
。共享分为互斥共享
和同时访问
两种资源共享方式
互斥共享方式
:系统中的某些资源(打印机、磁带机)在一段时间内
只允许一个进程访问该资源
在一段时间内
只允许一个进程访问的资源称为临界资源
或独占资源
。计算机系统中的大多数物理设备,以及某些软件中所用的栈
、变量
和表格
,都属于临界资源
同时访问方式
:系统中有一类资源(磁盘设备和用重入码编写的文件),允许在一段时间内
由多个进程同时
对它们进行访问。这里所谓的同时
往往是宏观上
的,而在微观上,这些进程可能是交替地
对该资源进行访问即分时共享
互斥共享
是指一种资源在一段时间内(哪怕是一段很小的时间)只能满足一个请求,否则就会出现严重的问题;同时访问
的共享是指一个请求分几个时间片段间隔地完成的效果,与连续完成的效果相同
并发和共享是操作系统两个最基本的特征
,这两者之间又是互为存在条件
的:1、资源共享是以程序的并发为条件的,若系统不允许程序并发执行,在自然不存在资源共享问题;2、若系统不能对资源共享实施有效的管理,也必将影响到程序的并发执行,甚至根本无法并发执行
3、虚拟(Virtual)
虚拟是指把一个物理上的实体
变为若干个逻辑上的对应物
。物理实体(前者)是实的,即实际存在的;而后者是虚的,是用户感觉上的事物
在操作系统中利用了多种虚拟技术
,分别用来实现虚拟处理器
、虚拟内存
和虚拟外部设备
等
利用多道程序设计技术
,让多道程序并发执行
,来分时
使用一个处理器,从而把一个物理上的CPU虚拟为多个逻辑上的CPU,称为虚拟处理器
使用虚拟存储器技术
,将一台机器的物理存储器变为虚拟存储器,以便从逻辑上来扩充存储器的容量
使用虚拟设备技术
,将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户用一台逻辑上的I/O设备,这样便可以使临界资源
变成了共享设备
操作系统的虚拟技术可归纳为时分复用技术
(如处理器的分时共享)和空分复用技术
(虚拟存储器)
4、异步(Asynchronism)
在多道程序环境
下,允许多个程序并发执行
,但由于资源有限,进程的执行不是一贯到底
,而是走走停停
,以不可预知的速度
向前推进,这就是进程的异步性
异步性使得操作系统运行在一种随机的
环境下,可能导致进程产生与时间有关的错误。但是只要运行环境相同,操作系统必须保证多次运行进程,都获得相同的结果
操作系统的目标和功能
为了给多道程序
提供良好的运行环境
,操作系统应具有的功能:处理机管理
、存储器管理
、设备管理
和文件管理
为了方便用户使用操作系统,还必须向用户提供接口
为了提供更方便的服务、更高的资源利用率,操作系统可用来扩充机器
(有时是动词有时是名词)
1、操作系统作为计算机系统资源的管理者
需完成的任务
,提供的功能
处理机管理:在多道程序环境
下,处理机的分配和运行都以进程(或线程)为基本单位的,因而对处理机的管理
可归结为对进程的管理
进程管理的主要功能有:进程控制
、进程同步
、进程通信
、死锁处理
、处理机调度
等
存储器管理:为了给多道程序
的运行提供良好的环境,方便用户使用以及提高内存的利用率
存储器管理的主要功能:内存分配
,地址映射
、内存保护与共享
、内存扩充
等
文件管理:计算机中的信息都是以文件的形式存在的
,操作系统中的文件系统
负责文件管理
文件管理的主要功能:文件存储空间的管理
、目录管理
、文件读写管理和保护
等
设备管理:完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率
设备管理的主要功能:缓冲管理
、设备分配
、设备处理
、虚拟设备
等
2、操作系统作为用户与计算机硬件系统之间的接口
为了方便用户使用计算机,操作系统还提供了用户接口。
接口主要分为两类:
命令接口
:用户利用这些操作命令来组织和控制作业的执行程序接口
:编程人员可以使用它们来请求操作系统服务
使用命令接口进行作业控制的主要方式
有两种:联机控制方式
和脱机控制方式
。按作业控制方式的不同,可以将命令接口分为联机命令接口
和脱机命令接口
联机命令接口
又称交互式命令接口
,适用于分时或实时操作系统
脱机命令接口
又称批处理命令接口
,适用于批处理操作系统
程序接口
由一组系统调用命令
(简称系统调用
,也称广义指令
)组成。用户通过在程序中直接使用这些系统调用命令来请求操作系统为其提供服务
通过什么方式来使用系统调用命令:一般是以C语言函数的形式
图形用户界面(GUI)
即图形接口
是通过调用程序接口
实现的,所以严格地说GUI图形接口不属于
操作系统的一部分(不是操作系统所提供的接口,是一个应用软件而已,例如X Window套件
)
3、操作系统用做扩充机器
没有任何软件支持的计算机称为裸机
,它仅构成计算机系统的物质基础,而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机(功能更强、使用更方便
)
把覆盖了软件的机器称为扩充机器
,又称为虚拟机
本课程所关注的内容是操作系统如何控制和协调
处理机、存储器、设备和文件,而不是关注接口和扩充机器。