第一章 操作系统引论
一 操作系统的目标和作用
操作系统的目标与应用环境有关 在计算机系统上配置操作系统的主要目标是方便性,有效性,可扩充性和开放性
操作系统的作用 1.OS作为用户与计算机硬件系统之间的接口 2.OS作为计算机系统资源的管理者 3.OS实现了对计算机资源的抽象
推动操作系统发展的主要动力 1.不断提高计算机资源的利用率 2.方便用户 3.器件的不断更新迭代 4.计算机结构体系的不断发展 5.不断提出新的应用需求
二 操作系统的发展过程
20世纪五十年代中期,出现第一个简单的批处理OS 60年代中期开发出多道程序批处理系统,与此同时,用于工业和武器控制的实时OS也相继问世 20世纪70到90年代,是VLSI和计算机体系结构大发展的年代,导致了微型机,多处理机和计算机网络的诞生和发展,也相继开发了微机OS,多处理机OS和网络OS,并得到极为迅猛的发展
未配置操作系统的计算机系统
1945年诞生的第一台计算机到50年代中期的计算机都属于第一代计算机 还未出现OS,对计算机的全部操作都是由用户采取人工操作方式进行的
1.人工操作方式
人工操作方式有以下两方面缺点: 用户独占全机 CPU等待人工操作,当用户进行装带、卸带等人工操作时,CPU及内存等资源都是款项的
2.脱机输入输出方式
脱机I/O方式的主要优点为: 1.减少了CPU的空闲时间 2.提高了I/O速度
单道批处理系统
50年代中期出现了第二代晶体管计算机,此时计算机虽已具有推广应用的价值,但计算机系统仍然十分昂贵,为了提高它的利用率,应尽量保持系统连续运行, 即在处理完一个作业后,紧接着处理下一个作业,以减少机器的空闲等待时间
1.单道批处理系统的处理过程

批处理系统旨在提高系统资源的利用率和系统吞吐量,但仍不能充分利用系统资源,现在很少使用
2.单道批处理系统的缺点
系统中的资源得不到充分的利用,因为在内存中只有一道程序,每逢该程序在运行中发出I/O请求后,CPU便处于等待状态,必须在其I/O完成后才继续运行。又因I/O设备的低速性,更使CPU的利用率显著降低,从图中可以看出:在t2~t3、t6~t7时间间隔内CPU空闲

多道批处理系统
20世纪60年代中期,IBM生产出第一台小规模集成电路计算机IBM 360,由于它较之于晶体管计算机无论在体积,功耗,速度和可靠性上都有了显著的改善,因而获得极大的成功。IBM公司为该机开发的OS/360操作系统是第一代能运行多道程序的批处理系统
1.多道程序设计的基本概念

2.多道批处理系统的优缺点
资源利用率高:CPU,内存,I/O 系统吞吐量大(CPU和其他资源保持忙碌状态,仅当作业完成时或运行下去才进行切换,系统开销小) 平均周转时间长,作业需要排队,作业周期长需要等待,通常几个小时甚至几天 无交付能力,用户一旦把作业提交给系统后,直到作业完成,用户都不能与自己的作业进行交互,修改和调试程序极不方便
3.多道批处理系统需要解决的问题
(1)处理机争用问题。既要能满足各道程序运行的需要,又要能提高处理机的利用率。 (2)内存分配和保护问题。系统应能为每道程序分配必要的内存空间,使它们“各得其所”,且不会因某道程序出现异常情况而破坏其它程序。 3) 10设备分配问题。系统应采取适当的策略来分配系统中的Io设备,以达到既能方便用户对设备的使用,又能提高设备利用率的目的。 (4)文件的组织和管理问题。系统应能有效地组织存放在系统中的大量的程序和数据,使它们既便于用户使用,又能保证数据的安全性。 (5)作业管理问题。系统中存在着各种作业(应用程序),系统应能对系统中所有的作业进行合理的组织,以满足这些作业用户的不同要求。 (6)用户与系统的接口问题。为使用户能方便的使用操作系统,OS还应提供用户与OS之间的接口。
分时操作系统
1.分时系统的引入
推动分时系统形成和发展的主要动力,是为了满足用户对人一机交互的需求 用户的需求具体表现在以下几个方面: (1)人一机交互。 (2)共享主机。 分时系统是指,在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源。
2.分时系统实现中的关键问题
允许有多个用户同时通过自己的键盘键入命令,系统也应能全部及时接收并处理 1)及时接收 主机以很快的速度周期性地扫描各个终端,在每个终端处停留很短的时间,如30 ms,用于接收从终端发来的数据。此外,为了输入的数据被依次逐条地处理,还需要为每个终端配置一个缓冲区,用来暂存用户键入的命令(或数据)。 2)及时处理 为实现人一机交互,必须彻底地改变原来批处理系统的运行方式,转而采用下面的方式: (1)作业直接进入内存 (2)采用轮转运行方式
3.分时系统的特征
多路性,独立性,及时性,交互性
实时系统
1.实时系统的类型
工业(武器)控制系统 信息查询系统 多媒体系统 嵌入式系统
2.实时任务的类型
周期性实时任务和非周期性实时任务 硬实时任务和软实时任务
微机操作系统的发展
单用户单任务操作系统 CP/M MS-DOS
单用户多任务操作系统 Windows
多用户多任务操作系统 Solars OS Linux OS
三 操作系统的基本特性
并发
并行与并发 引入进程
共享
互斥共享方式 同时访问方式
虚拟
时分复用 空分复用
异步
四 操作系统的主要功能
处理机管理功能
进程控制 进程同步 进程通信 调度(作业调度,进程调度)
存储器管理功能
1.内存分配
内存分配的主要任务是: 1.为每道程序分配内存空间,使他们各得其所 2.提高存储器的利用率,尽量减少不可用的内存空间 3.允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要
OS在实现内存分配时,可采取静态和动态两种方式 1.静态分配方式。每个作业的内存空间是在作业装入时确定的,在作业装入后的整个运行期间不允许该作业再申请新的内存空间,也不允许作业在内存中移动 2.动态分配方式。每个作业所要求的基本内存空间虽然也是在装入时确定的,但允许作业在运行过程中继续申请新的附加内存空间,以适应程序和数据的动态增长,也允许作业在内存中移动
2.内存保护
内存保护的主要任务是: 1.确保每道用户程序都仅在自己的内存空间内运行,彼此互相干扰 2.绝不允许用户程序访问操作系统的程序和程序,也不允许用户程序转移到非共享的其他用户程序中去执行
3.地址映射
能够将地址空间中的逻辑地址转换为内存空间中之对应的物理地址
4.内存扩充
请求调入功能 置换功能
设备管理功能
1.设备管理的主要任务
1.完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作 2.提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备
2.缓冲管理
3.设备分配
4.设备处理
设备处理过程是:首先检查IO请求的合法性,了解设备状态是否是空闲的,读取有关的传递参数及设置设备的工作方式。然后向设备控制器发出I/O命令,启动I/O设备完成指定的IO操作。此外设备驱动程序还应能及时响应由控制器发来的中断请求,并根据该中断请求的类型,调用相应的中断处理程序进行处理。对于设置了通道的计算机系统, 设备处理程序还应能根据用户的I/O请求自动地构成通道程序。
五 OS结构设计