操作系统的定义:
操作系统是一组控制和管理计算机软硬件资源,合理的对各类作业进行调度以及方便用户使用的程序集合(os是计算机系统的灵魂)
操作系统定义(Operating System, OS)(另一种):
操作系统是位于硬件层(HAL)之上,所有其它系统软件层之下的一个系统软件,使得管理系统中的各种软件和硬件资源得以充分利用,方便用户使用计算机系统
操作系统的目标:
a.方便性:使计算机易于使用
b.有效性:提高系统资源利用率;提高系统吞吐量
c.可扩展性:允许有效的开发,测试和引进新的系统功能
d.开放性:实现应用程序的可移植性和互操作性,要求具有统一的开放的环境。
os的作用
1.作为用户与计算机硬件系统之间的接口
2.os作为计算机系统资源的管理者(软硬件资源)
3.os作为扩充机器
操作系统的发展过程
1.无操作系统
a.人工操作方式:
缺点:用户独占全机;CPU等待人工操作
人工操作方式:输入输出——穿孔卡片
脱机输入输出方式:在外围计算机的控制下,实现输入输出。
主要解决了CPU与设备之间不匹配的矛盾,提高了I/O速度
2.单道批处理操作系统
主要特征:自动性、顺序性、单道性
主要优点:减少人工操作,解决了作业的自动接续
主要缺点:平均周转时间长,没有交互能力
3.多道批处理操作系统
多道程序的概念:在内存中存放多道作业运行,运行结束或出错,自动调度内存中的另一道作业运行。
多程序带来的好处:提高CPU的利用率、提高内存和I/O设备利用率、增加系统吞吐率
主要特征:多道性、无序性、调度性
主要优点:提高资源利用率和吞吐能力
主要缺点:平均周转时间长,没有交互能力
多道批处理需要解决的问题:分配控制CPU;内存的分配与回收;I/O设备的分配与操纵;文件的存取、共享和保护;如何组织作业运行
4.分时操作系统
产生原因:用户需要:人机交互、共享主机、便于用户上机
关键问题:实现多个用户的信息及时接收;既是控制作业的运行
实现方法:简单分时系统;具有前台和后台的分时系统;多道分时系统
特点:多路性;独立性;及时性;交互性
典型系统:Multics (MIT);UNIX
5.实时操作系统
实时系统的定义:是计算机及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致的运行。
实时控制系统:工业控制,军事控制,医疗控制
实施信息处理系统:航班订票,联机情报检索
特点:响应及时;可靠性高
实时任务按周期划分:周期性实时任务;非周期性实时任务
实时任务按照截止时间划分:硬实时任务;软实时任务
实时系统的特征:多路性;独立性;交互性;可靠性;及时性
现代OS的四个基本特征:
并发性;共享性;虚拟性;异步性(并发使最重要的特征,其他特征以此为前提)
1.并发性
并发——并行性和并发性,并发知行的过程
并行性:指两个或者多个事件在同一时刻发生
并发性:指两个或者多个事件在同一时间间隔内发生
任务共行:从宏观上看,任务共行是指系统中有多个任务同时运行;从微观上看,任务共行是指单处理机系统中的任务并发(T即多个任务在单个处理机上交替运行)或多处理机系统中的任务并行(即多个任务在多个处理机上同时运行)。
引入进程的概念:程序使静态实体;进程是系统中能独立运行并作为资源分配的基本单位,由一组机器指令、数据和堆栈等组成的独立运行的活动实体。
引入线程的概念:进程作为资源分配的基本单位;线程作为独立运行和调度的基本单位
2.共享性
共享是指系统中的资源可供内存中多个并发执行的进程共同使用
互斥共享方式:把在一段时间内只允许一个进程访问的资源,称为临界资源。如打印机、栈、表格等;系统中的临界资源可以提供给多个进程使用,但一段时间内仅允许一个进程使用,称为互斥共享方式。
同时访问方式:从宏观上看,资源共享是指多个任务可以同时使用系统中的软硬件资源;从微观上看,多个进程交替互斥地使用系统中的某个资源。例如磁盘。
## 并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件 ##
3.虚拟性
虚拟是指通过某种技术把一个物理实体变为(或者说映射为)若干个逻辑上的对应物
时分复用技术:虚拟处理机-分时实习;虚拟设备-SPOOLING技术
空分复用技术:虚拟磁盘技术-逻辑分区;虚拟存储器-虚拟存储管理实现
4.异步性
执行结果不确定,程序不可再现
异步性,多道程序环境下程序(进程)以异步的方式执行,每道程序在何时执行、各自执行的顺序、完成时间都是不确定的,也是不可预知的。
操作系统的主要功能
1、处理机管理(CPU)
主要功能:按照一定的算法把处理机分配给进程(线程),并对其进行有效的管理和控制
a.进程控制
b.进程同步和互斥:进程互斥方式;进程同步方式
c.进程通信
d.进程调度
2、存储器管理
主要功能:为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上扩充内存
a.内存分配
b.内存保护
c.地址映射
d.内存扩充
3、设备管理
主要功能:完成用户进程提出的I/O请求;为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。
a.缓冲管理:有效的缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率
b.设备分配:根据I/O请求,分配其所需的设备
c.设备处理:设备处理程序又称为设备驱动程序
4、文件管理
主要功能:对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性
a.文件存储空间的管理
b.目录文件
c.文件的读/写管理雨保护
5、方便用户使用的用户接口
主要功能:计算机用户需要的用户命令;应用软件需要的System Call(系统调用)
OS的结构设计
操作系统是一个大型系统软件,其结构已经历了四代的变革:
第一代的OS是无结构的
缺陷: 设计处的操作系统庞大又杂乱,缺乏清晰的程序结构;编制出的程序错误很多,给调式工作带来了很多困难;增加了维护难度
第二代OS采用了模块式结构
模块化结构(模块-接口法):使用分块结构的系统包含若干模块;其中,每一块实现一组基本概念以及其相关的基本属性。块与块之间的相互关系—所有各块的实现均可以任意引用其他各块所提供的概念及属性
优点:提高了OS设计的正确性、可理解性和可维护性;增强了OS的可适应性;加速了OS的开发过程
缺点:对模块的划分及对接口的规定要精确描述很困难;从功能观点来划分模块时,未能将共享资源和独占资源加以区别。
第三代是层次式结构
层次的设置时应该考虑的几个因素:
a.程序嵌套
b.运行频率
c.公用模块
d.用户接口
现代OS结构是微内核结构
特点:足够小的内核;基于客户/服务器模式;应用“机制与策略分离”原理;采用面向对象技术
优点:提高了系统的可拓展性;增强了系统的可靠性;可移植性好;提供了分布式系统的支持
缺点:运行效率有所下降--消息传递开销+模式切换开销