操作系统1-引论
一.引论
1.1 操作系统是什么?
操作系统(operating system,简称OS)是一个大型的程序系统,它负责计算机的全部软、硬件资源的分配、调度工作,控制并协调多个任务的活动,实现信息的存取和保护。它提供用户接口,使用户获得良好的工作环境。
1.2 操作系统的目标与作用
1.2.1 目标
有效性(改善资源利用率、提高吞吐量)
方便性(配置OS后计算机系统更容易使用)
可扩充性(OS应采取层次化结构)
开放性(OS应遵循世界标准规范)
1.2.2 作用
①.OS作为用户与计算机硬件系统之间的接口
命令方式(最初)
系统调用方式(改进版)
图形、窗口方式(目前使用)
②.OS作为计算机系统资源的管理者
处理器
存储器
I/O设备
信息(数据和程序)
③.OS用作扩充机器
把覆盖了软件的机器称为扩充机器或虚机器
OS包含了若干个层次,因此在裸机上覆盖OS后,便可获得一台功能显著增强,使用极为方便的多层扩充机器或多层虚机器。
1.3 操作系统的发展过程
操作系统的产生
1.3.1 手工操作阶段(40年代)
无操作系统
由手工控制作业的输入输出,
通过控制台开关启动程序运行。
- 手工操作方法:先把程序纸带装上输入机,启动输入机把程序和数据送入计算机,然后通过控制台开关启动程序运行,计算完毕后,用户拿走打印结果,并卸下纸带。
- 脱机i/o操作方法:先把程序纸带装上输入机,在外围机的控制下,输入到磁带上,当CPU需要时,从磁带高速调入内存。
输出时,CPU直接高速把数据从内存送到磁带,然后在另一台外围机的控制下,将磁带上的结果通过输出设备输出。
1.3.2 单道批处理阶段(50年代)
工作过程:
用户将作业交到机房,操作员将一批作业输入到辅存(如磁带)上,形成一个作业队列。当需要调入作业时,监控程序从这一批中选一道作业调入内存运行。当这一作业完成时,监控程序调入另一道程序,直到这一批作业全部完成。
缺点:
作业转换时间大大减小,系统运行效率提高(自动性、顺序性);
无法充分利用系统中所有资源(单道);
程序员(和非编程用户)无法同计算机交互;
一个监控程序被设计成只能在一种机器上运行。
操作系统的形成
1.3.3 多道批处理(60年代初)
多道程序设计技术:在内存中放多道程序,使它们在管理程序的控制下相互穿插地运行。
- 宏观上并行:同时有多道程序在内存运行,某一时间段上,各道程序不同程度地向前推进。
- 微观上串行:任一时刻最多只有一道作业占用CPU,多道程序交替使用CPU 。
- 资源利用率高
资源指CPU及设备。 - 系统吞吐量大
系统吞吐量指系统在单位时间完成的总工作量。 - 平均周转时间长
作业的周转时间是指从作业进入系统开始,直至其完成并退出系统为止所经历的时间。 - 无交互能力
1.3.4 分时系统(60年代中)
分时系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过自己的键盘,以交互的方式使用计算机,共享主机中的资源。
- 推动多道批处理系统形成和发展的动力是提高资源利用率和系统吞吐量。
- 推动分时系统形成和发展的主要动力是用户的需要:交互、共享主机、方便上机。
特性:
- 多路性:允许同一主机联接多台终端。
- 独立性:每一用户各占一个终端。
- 及时性:用户请求能及时响应。
- 交互性:可进行广泛的人机对话。
1.3.5 实时操作系统(60年代中)
实时系统(Real-Time System)是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
1.4 操作系统的基本特性
1.4.1 并发(Concurrence)
并发是指在内存中放多道作业,在一个时间段上看,每一道作业都能不同程度地向前推进。但在任何一个时间点上只能有一道占用CPU。
程序实际上是不能并发执行的:
- 只有为程序创建进程,才能并发执行;
- 进程是指在系统中能独立运行并作为资源分配的基本单位;
- 进程不仅包括程序,还包括数据、堆栈等;
- 现代操作系统引入了能独立运行的更小的单位——线程。
1.4.2 共享(Sharing)
共享:系统中的资源可供多个并发的进程共同使用。
两种资源共享方式:
-
互斥共享方式
一段时间仅允许一个进程访问的资源,称为临界资源/独占资源;
打印机、磁带、程序中的变量、堆栈等。 -
同时访问方式
一段时间允许多个进程访问,但微观交替使用;
磁盘
1.4.3 虚拟(Virtual)
通过某种技术将一个物理实体映射为若干个逻辑上对应物。
虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。
- CPU——多道程序设计技术/每个用户(进程)的“虚拟处理机”
- I/O设备——打印机、多窗口或虚拟终端
- 存储器——虚拟存储器技术
1.4.4 异步性(Asynchronism)
异步性:进程以不可预知的运行速度向前推进。
现代操作系统中,多个进程并发执行,“走走停停”,无法预知每个进程的运行推进快慢。
1.5 操作系统的基本功能
1.5.1 处理机管理
-
进程控制
完成为作业创建一个或多个进程
撤消已经结束的进程
实现进程在运行过程的状态转换 -
进程同步
任务:协调多个进程的运行。
协调方式:进程互斥方式 进程访问临界资源/锁
进程同步方式 进程相互合作/顺序 -
进程通信
实现相互合作的进程之间信息的交换/传递。
-
调度
传统调度分为:作业调度和进程调度
作业调度完成从后备队列中按照一定算法,选择出若干个作业,为他们分配必需的资源,建立进程,并按一定算法将他们插入就绪队列。
进程调度完成从就绪队列中选一道进程,为他分配处理机,设置运行现场,以使其运行。
1.6 操作系统的结构设计
传统的操作系统结构
-
无结构OS
设计基于功能实现和获得高的效率
OS是为数众多的一组过程的集合
OS整体无结构(程序之间)
程序内部代码无结构(goto语句非常多) -
模块化OS结构
模块化OS的优点
提高OS设计的正确性、可理解性和可维护性
增强OS的可适应性
加速OS的开发过程
模块化OS的缺点
设计时对模块的划分与接口的规定不精确
模块间存在复杂依赖关系 -
分层式OS结构
分层设计的基本原则:每一层都仅使用其底层所提供的功能和服务。
分层设计考虑的因素
程序嵌套 作业调度/进程控制/内存分配
运行频率 频率高-> 低层(速度快)时钟管理
公共模块
用户接口 最高层
现代OS结构——微内核结构
微内核技术:精心设计的、能实现现代OS核心功能的小型内核,它与一般OS不同,更小更精练,运行于核心态、开机后常驻内存。
微内核OS结构的特征:
- 以微内核为OS核心
- 以客户/服务器为基础
- 采用面向对象的程序设计方法
微内核OS结构建立在模块化,层次化结构的基础上
具有以下优点
- 提高了系统的可扩展性
- 增强了系统的可靠性
- 可移植性强
- 提供了对分布式系统的支持
- 融入了面对对象的技术
1.7 习题
1.试说明推动多批道处理系统形成和发展的主要动力是什么?
资源利用率和系统吞吐量
2.什么是脱机I/O和联机I/O?
脱机I/O:I/O不受主机直接控制,而是由卫星机专门负责完成I/O,主机专门快速计算任务,从而二者并行操作。
联机I/O:是指输入,输出调入内存及结果输出都是由CPU直接控制
3.试说明推动分时系统形成和发展的主要动力是什么?
用户的需要:交互、共享主机、方便上机。
4.OS有哪几大特性?最基本的特性是什么?
并发,共享,虚拟,异步,最基本的是并发
5.微内核操作系统具有哪些优点,它为何能有这些优点
优点:
- 提高了系统的可扩展性
- 增强了系统的可靠性
- 可移植性强
- 提供了对分布式系统的支持
- 融入了面对对象的技术
原因:
- 足够小的内核
- 基于客户/服务器模式
- 应用“机制与策略分离”
- 采用面向对象技术