目录
1、操作系统的目标和作用
(1)操作系统的目标
(2)操作系统的作用
2、操作系统的发展过程
(1)未配置操作系统的计算机系统
(2)单道批处理系统(Simple Batch Processing System)
(3)多道批处理系统(Multiprogrammed Batch Processing System)
(4)分时系统(Time Sharing System)
(5)实时系统(RealTime System)
(6)微机操作系统
3、操作系统的基本特性
(1)并发
(2)共享
(3)虚拟
(4)异步
4、操作系统的主要功能
(1)处理机管理功能/进程管理
(2)存储器管理功能
(3)设备管理功能
(4)文件管理功能
操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
在计算机系统上配置操作系统,其主要目标是:方便性、有效性、可扩充性和开放性。
1)OS作为用户与计算机硬件系统之间的接口
OS 处于用户与计算机硬件系统之间,用户通过OS 来使用计算机系统。或者说,用户在 OS 帮助下能够方便、快捷、可靠地操纵计算机硬件和运行自己的程序。
2)OS作为计算机系统资源的管理者
计算机系统中资源分为四类:处理机、存储器、I/O 设备以及文件(数据和程序)。相应地,OS 的主要功能也正是对这四类资源进行有效的管理。
3)OS实现了对计算机资源的抽象
如图所示,由I/O设备管理软件实现对 I/O 设备操作的细节,并向上将I/O设备抽象为一组数据结构以及一组I/O操作命令,如 read 和 write 命令,这样用户即可利用这些数据结构及操作命来进行数据输入或输出,而无需关心 I/O 是如何具体实现的。
对计算机的全部操作都是由人工操作的方式进行。//原始机器、使用纸带、磁带
人工操作方式严重降低了计算机资源的利用率,此即所谓的人机矛盾。虽然CPU的速度在迅速提高,但I/O设备的速度却提高缓慢,这使 CPU与I/O设备之间速度不匹配的矛盾更加突出。
为实现对作业的连续处理,需要先把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下,使这批作业能一个接一个地连续处理。
其处理过程是://理解不足,才能理解为什么被需要
计算机系统就这样自动地一个作业紧接一个作业地进行处理,直至磁带上的所有作业全部完成,这样便形成了早期的批处理系统。虽然系统对作业的处理是成批进行的,但在内存中始终只保持一道作业,故称为单道批处理系统。
单道批处理系统的缺点
单道批处理系统最主要的缺点是,系统中的资源得不到充分的利用。这是因为在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU 便处于等待状态,必须在其I/O 完成后才继续运行。又因I/O设备的低速性,更使CPU的利用率显著降低。// CPU在I/O过程中必须等待
在多道批处理系统中,用户所提交的作业先存放在外存上,并排成一个队列,称为“后备队列”。然后由作业调度程序按一定的算法,从后备队列中选择若干个作业调入内存,使它们共享CPU 和系统中的各种资源。由于同时在内存中装有若干道程序这样便可以在运行程序A时利用其因I/O操作而暂停执行时的CPU空档时间再调度另一道程序B运行,同样可以利用程序B在IO操作时的CPU空档时间,再调度程序C运行,使多道程序交替地运行,这样便可以保持 CPU 处于忙碌状态。// 最大化利用CPU空闲时间
1)多道批处理系统的优缺点
2)多道批处理系统需要解决的问题
多道批处理系统是一种十分有效,但又非常复杂的系统,为使系统中的多道程序间能协调地运行,系统必须解决下述一系列问题:
据此,引出操作系统的定义:操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。// 代表系统:IBM OS/360操作系统
多道批处理系统形成和发展的主要动力是提高资源利用率和系统吞吐量。
分时系统形成和发展的主要动力,则是为了满足用户对人机交互的需求。
分时系统是指,在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源。
实现人机交互的关键在于:及时接受和及时处理。
人机交互中,用户键入命令后,能对自己的作业及其运行及时地实施控制或进行修改。因此,各个用户的作业都必须驻留在内存中,并能频繁地获得处理机运行。否则,用户键入的命令将无法作用到自己的作业上。
所以需要改变原来批处理系统的运行方式,转而采用下面的方式:
所谓“实时”,是表示“及时”,而“实时计算”,则可以定义为这样一类计算:系统的正确性,不仅由计算的逻辑结果来确定,而且还取决于产生结果的时间。事实上实时系统最主要的特征,是将时间作为关键参数,它必须对所接收到的某些信号做出“及时”或“实时”的反应。由此得知,实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。// 武器控制系统、嵌入式系统等
配置在微型机上的操作系统称为微机操作系统,最早诞生的微机操作系统是配置在8位微机上的CP/M。后来出现了16 位、32位、64位微机,相应的微机操作系统也应运而生。微机操作系统可按微机的字长来分,也可将它按运行方式分为如下几类:
1)单用户单任务操作系统
单用户单任务操作系统的含义是,只允许一个用户上机,且只允许用户程序作为一个任务运行,这是最简单的微机操作系统,主要配置在8位和16 位微机上,最有代表性的单用户单任务微机操作系统是 CP/M 和 MS-DOS。
2)单用户多任务操作系统
单用户多任务操作系统的含义是,只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善了系统的性能。目前在 32 位微机上配置的操作系统,基本上都是单用户多任务操作系统。其中最有代表性的是由微软公司推出了Windows。
3)多用户多任务操作系统
多用户多任务操作系统的含义是,允许多个用户通过各自的终端,使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量。在大、中和小型机中所配置的大多是多用户多任务操作系统,而在32 位微机上,也有不少配置的是多用户多任务操作系统,其中最有代表性的是UNIX OS。
现在最有影响的两个能运行在微机上的 UNIX 操作系统变形是 Solaris OS 和 Linux OS。
并发使 OS能有效地提高系统中的资源利用率,增加系统的吞吐量。
1)并行与并发
并行性是指两个或多个事件在同一时刻发生。而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。// 并发->交替执行
2)什么是进程?
进程,是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程之间可以并发执行和交换信息。
OS 环境下的资源共享或称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。// 进程之间存在对共享资源的争夺。
目前主要实现资源共享的方式有如下两种:
1)互斥共享方式:在一段时间内,只允许一个进程访问资源。
当进程 A 要访问某资源时,必须先提出请求。若此时该资源空闲,系统便可将之分配给请求进程A 使用。此后若再有其它进程也要访问该资源,只要 A 未用完就必须等待。仅当A 进程访问完并释放系统资源后,才允许另一进程对该资源进行访问。这种资源共享方式称为互斥式共享,把这种在一段时间内只允许一个进程访问的资源,称为临界资源(或独占资源)。系统中的大多数物理设备,以及栈、变量和表格,都属于临界资源,都只能被互斥地共享。
2)同时访问方式:允许在一段时间内有多个进程“同时”对资源进行访问。// 对文件同时读
“虚拟”技术是通过“空分复用”或“时分复用”技术,将一条物理信道变为若干条逻辑信道,使原来只能供一对用户通话的物理信道,变为能供多个用户同时通话的逻辑信道。在 OS中,把通过某种技术将一个物理实体变为若个逻辑上的对应物的功能称为“虚拟”。 OS 中也是利用时分复用和空分复用技术来实现“虚拟”的。// 一个物理实体对应多个逻辑对象
1)时分复用技术 -> 提高处理机的利用率
在计算机领域中,广泛利用时分复用技术来实现虚拟处理机、虚拟设备等,使资源的利用率得以提高。时分复用技术能提高资源利用率的根本原因在于,它利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用。
2)空分复用技术 -> 提高内存利用率
比如,电信业中使用频分复用技术(可以看成是空分的一种)来提高信道的利用率。该技术将一个频率范围比较宽的信道划分成多个频率范围较窄的信道(称为频带),其中的任何一个频带都仅供一对用户通话。在计算机中把空分复用技术用于对存储空间的管理,用以提高存储空间的利用率。
总结:多道程序技术(时分复用技术)通过利用处理机的空闲时间运行其它程序,提高了处理机的利用率,那么,空分复用技术则是利用存储器的空闲空间分区域存放和运行其它的多道程序,以此来提高内存的利用率。
进程是以人不可预知的速度向前推进的,此即进程的异步性。异步运行方式在OS中是允许的,而且是操作系统的一个重要特征。
在传统的多道程序系统中,处理机的分配和运行都是以进程为基本单位的,因而对处理机的管理可归结为对进程的管理。处理机管理的主要功能有:创建和撤消进程,对诸进程的运行进行协调,实现进程之间的信息交换,以及按照一定的算法把处理机分配给进程。// 进程控制、进程同步、进程通信、作业或进程调度
存储器管理应具有内存分配和回收、内存保护、地址映射和内存扩充等功能。
1)内存分配和回收:
2)内存保护:
内存保护的主要任务是:// 进程只能在规定的内存块中操作
3)地址映射:
存储器管理必须提供地址映射功能,即能够将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。// 逻辑地址和物理地址的转换
4)内存扩充:
借助于虚拟存储技术,从逻辑上扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多,以便让更多的用户程序能并发运行。
设备管理的主要任务如下: // 管理IO设备
为实现上述任务,设备管理应具有缓冲管理、设备分配和设备处理以及虚拟设备等功能:
1)缓冲管理:在IO设备和CPU之间引入缓冲则可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。
2)设备分配:设备分配的基本任务是根据用户进程的 I/O 请求、系统现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。
3)设备处理:设备处理程序又称为设备驱动程序。其基本任务是用于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作;反之,由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。
文件管理的主要任务是对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。为此,文件管理应具有对文件存储空间的管理、目录管理、文件的读/写管理以及文件的共享与保护等功能。
1)文件存储空间的管理:主要任务为每个文件分配必要的外存空间,提高外存的利用率,进而提高文件系统的存、取速度。
2)目录管理:主要任务是为每个文件建立一个目录项,目录项包括文件名、文件属性文件在磁盘上的物理位置等,并对众多的目录项加以有效的组织,以实现方便的按名存取即用户只需提供文件名,即可对该文件进行存取。
3)文件的读/写管理和保护:
// 操作系统主要围绕以上功能进行详细阐述,也是学习的基本框架
至此,全文结束。