操作系统引论
# 0x1.操作系统概念
操作系统(Opertating System,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。 其主要作用是管理好这些资源,提高它们的利用率和系统的吞吐量,并为用户和应用程序提供一个接口。
# 1.操作系统的目标
- 方便性
- 有效性
- 可扩充性
- 开放性
# 2.操作系统的作用
# 2.1.OS作为用户与计算机硬件系统之间的接口
# 2.2.OS作为计算机系统资源的管理者
在一个计算机系统中,通常都含有各种各样的硬件和软件资源。归纳起来可将资源分为四类:处理器、存储器、I/O设备以及信息(数据和程序)。相应地,OS的主要功能也正是针对这四类资源进行有效的管理,即:处理机管理,用于分配和控制处理机;存储器管理,主要负责内存的分配与回收; I/O设备管理,负责I/O设备的分配与操纵;文件管理,负责文件的存取、共享和保护。
# 2.3.OS实现了对计算机资源的抽象
# 0x2.操作系统的发展过程
# 1.无操作系统的计算机系统
1.人工操作方式 (1) 用户独占全机。 (2) CPU等待人工操作。 2.脱机输入/输出方式
# 2.单道批处理系统
首先,由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业。当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带(盘)上的第二个作业调入内存。计算机系统就这样自动地一个作业一个作业地进行处理,直至磁带(盘)上的所有作业全部完成。由于系统对作业的处理都是成批地进行的,且在内存中始终只保持一道作业,故称此系统为单道批处理系统(Simple Batch Processing System)。
单道批处理系统最主要的缺点是,系统中的资源得不到充分的利用。这是因为在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU便处于等待状态,必须在其I/O完成后才继续运行。又因I/O设备的低速性,更使CPU的利用率显著降低。图1-5示出了单道程序的运行情况,从图可以看出:在t2~t3、t6~t7时间间隔内CPU空闲。
# 3.多道批处理系统
1.多道程序设计的基本概念 在该系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
2.多道批处理系统的优缺点 (1)资源利用率高。由于在内存中驻留了多道程序,它们共享资源,可保持资源处于忙碌状态,从而使各种资源得以充分利用。 (2)系统吞吐量大。系统吞吐量是指系统在单位时间内所完成的总工作量。能提高系统吞吐量的主要原因可归结为:第一,CPU和其它资源保持“忙碌”状态; 第二,仅当作业完成时或运行不下去时才进行切换,系统开销小。
(3) 平均周转时间长。作业的周转时间是指从作业进入系统开始,直至其完成并退出系统为止所经历的时间。在批处理系统中,由于作业要排队,依次进行处理,因而作业的周转时间较长,通常需几个小时,甚至几天。
(4) 无交互能力。用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,这对修改和调试程序是极不方便的。
3.多道批处理系统需要解决的问题 (1) 处理机管理问题。在多道程序之间,应如何分配被它们共享的处理机,使CPU既能满足各程序运行的需要,又能提高处理机的利用率,以及一旦把处理机分配给某程序后,又应在何时收回等一系列问题,属于处理机管理问题。 (2) 内存管理问题。应如何为每道程序分配必要的内存空间,使它们“各得其所”且不致因相互重叠而丢失信息,以及应如何防止因某道程序出现异常情况而破坏其它程序等问题,就是内存管理问题。 (3) I/O设备管理问题。系统中可能具有多种类型的I/O设备供多道程序所共享,应如何分配这些I/O设备,如何做到既方便用户对设备的使用,又能提高设备的利用率,这就是I/O设备管理问题。 (4) 文件管理问题。在现代计算机系统中,通常都存放着大量的程序和数据(以文件形式存在),应如何组织这些程序和数据,才能使它们既便于用户使用,又能保证数据的安全性和一致性,这些属于文件管理问题。 (5) 作业管理问题。对于系统中的各种应用程序,其中有的属于计算型,即以计算为主的程序;有的属于I/O型,即以I/O为主的程序;又有些作业既重要又紧迫;而有的作业则要求系统能及时响应,这时应如何组织这些作业,这便是作业管理问题。 (6) 用户与系统的接口问题。为使用户能方便的使用操作系统,OS还应提供用户与OS之间的接口。
# 4.分时系统
1.分时系统的引入 如果说推动多道批处理系统形成和发展的主要动力是提高资源利用率和系统吞吐量,那么,推动分时系统形成和发展的主要动力,则是为了满足用户对人—机交互的需求,由此形成了一种新型OS。用户的需求具体表现在以下几个方面: (1) 人—机交互。 (2) 共享主机 2.分时系统实现中的关键问题 在多道批处理系统中,用户无法与自己的作业进行交互的主要原因是:作业都先驻留在外存上,即使以后被调入内存,也要经过较长时间的等待后方能运行,用户无法与自己的作业进行交互。 1) 及时接收 2) 及时处理 作业直接进入内存、采用轮转运行方式 3.分时系统的特征 分时系统与多道批处理系统相比,具有非常明显的不同特性,可以归纳成以下四个方面: (1) 多路性。 (2) 独立性。 (3) 及时性。 (4) 交互性。
# 5.实时系统
所谓“实时”,是表示“及时”,而实时系统(Real Time System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
1.实时系统的类型 随着计算机应用的普及,实时系统的类型也相应增多,下面列出当前常见的几种: (1) 工业(武器)控制系统。 (2) 信息查询系统。 (3) 多媒体系统。 (4) 嵌入式系统
2.实时任务的类型 (1) 周期性实时任务和非周期性实时任务。 (2) 硬实时任务和软实时任务。
3.实时系统与分时系统特征的比较 (1) 多路性。实时信息处理系统也按分时原则为多个终端用户服务。实时控制系统的多路性则主要表现在系统周期性地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。而分时系统中的多路性则与用户情况有关,时多时少。 (2) 独立性。分时信息处理系统中的每个终端用户在向分时系统提出服务请求时,是彼此独立地操作,互不干扰;而实时控制系统中,对信息的采集和对对象的控制也都是彼此互不干扰。 (3) 及时性。实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定的;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,要求高的实时系统在微秒级。 (4) 交互性。实时信息处理系统虽然也具有交互性,但这里人与系统的交互仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理和资源共享等服务。 (5) 可靠性。分时系统虽然也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是无法预料的灾难性后果,所以在实时系统中,往往都采取了多级容错措施来保障系统的安全性及数据的安全性。
# 6.微机操作系统的发展
单用户单任务操作系统 单用户多任务操作系统 多用户多任务操作系统
# 0x3.操作系统的基本特性
# 1.并发性
1.并行与并发 并行性是指两个或多个事件在同一时刻发生; 并发性是指两个或多个事件在同一时间间隔内发生。 2.引入进程 在操作系统中引入进程的目的,就是为了使多个程序能并发执行。 3.引入线程 通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的OS中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。
# 2.共享性
1.互斥共享方式 系统中的某些资源,如打印机、磁带机,虽然它们可以提供给多个进程(线程)使用,但为使所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程(线程)访问该资源。 2.同时访问方式 系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”,在单处理机环境下往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。
# 3.虚拟技术
1.时分复用技术 1) 虚拟处理机技术 2) 虚拟设备技术 2.空分复用技术 1) 虚拟磁盘技术 2) 虚拟存储器技术
# 4.异步性
在多道程序环境下允许多个进程并发执行,但只有进程在获得所需的资源后方能执行。在单处理机环境下,由于系统中只有一台处理机,因而每次只允许一个进程执行,其余进程只能等待。 由于资源等因素的限制,使进程的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行。
# 0x4.操作系统的主要功能
# 1.处理机管理功能
- 进程控制
- 进程同步
- 进程通信
- 调度
# 2.存储器管理功能
- 内存分配
- 内存保护
- 地址映射
- 内存扩充
# 3.设备管理功能
- 缓冲管理
- 设备处理
- 设备分配
# 4.文件管理功能
- 文件存储空间管理
- 目录管理
- 文件读写管理
# 5.操作系统与用户之间的接口
为了方便用户使用操作系统,OS又向用户提供了“用户与操作系统的接口”。该接口通常可分为两大类: (1) 用户接口。它是提供给用户使用的接口,用户可通过该接口取得操作系统的服务; (2) 程序接口。它是提供给程序员在编程时使用的接口,是用户程序取得操作系统服务的惟一途径。
# 6.现代操作系统的新功能
1、系统安全 认证技术、密码技术、访问控制技术、反病毒技术 2、网络功能和服务 网络通信、资源管理、应用互操作 3、支持多媒体 接纳控制功能、实时调度、媒体文件存储