目标
- 有效性(提高系统资源利用率、提高系统吞吐量)
- 方便性
- 可扩充性
- 开放性
作用
- OS 作为用户与计算机硬件系统之间的接口(命令方式、系统调动、图形窗口模式)
- OS 作为计算机系统资源的管理者
- OS 实现了对计算机资源的抽象
发展的主要动力
- 不断提高计算机资源的利用率
- 方便用户
- 器件不断更新换代
- 计算机体系结构的不断发展
单道批处理系统
- 特点:自动性、顺序性、单道性
- 定义:一个作业一个作业的进行处理,直到磁盘上面的所有作业完成,系统对作业的处理都是成批的进行的,且在内存里面只保持一道作业。
多道批处理系统
- 定义:用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选着若干个作业调入内存,使它们共享CPU和系统中的资源。
- 特点:资源利用率高、系统吞吐大、平均周转时间长,无交互能力
- 好处:提高CPU的利用率、可提高内存和I/O设备的利用率、增加系统吞吐量
分时系统TSS
- 能很好的将一台计算机提供给多个用户同时使用
- 特点:多路性、独立性、及时性、交互性
实时系统RTS
- 为实时控制、实时信息处理而生
- 实时任务通常有周期性实时任务、非周期实时任务,硬实时任务,软实时任务
- 特点:多路性、独立性、及时性、交互性、可靠性
操作系统基本特性
- 并发
- 共享
- 虚拟
- 异步
并行与并发
- 并发: 俩个或多个事件在同一时间间隔内发生
- 并行: 俩个或者多个事件在同一时刻发生
进程
- 为了能使多个程序并发,通常为每一个程序分配一个进程(Process)。
- 系统中能独立运行并作为资源分配的基本单位,由一组机器指令、数据和堆栈组成。
- 多个进程之间可以并发执行和交换信息
线程
- 因为进程拥有资源调度的能力,假如发生其他因素,不能继续运行,无法释放资源,这样开销会很大。
- 一个进程可以包含若干线程(Threads)。
共享性
- 资源可供内存中多个并发执行的进程(线程)使用,也可称为资源复用。
共享的方式
- 互斥共享
例如:我们打开Word和QQ俩个应用,当我们在聊天使用键盘的时候,只能让QQ读取键盘的输入,而不是Word读取。也就是说我用的时候,其他人不能用。 - 同时访问共享
共享和并发同时存在,没有多个进程的并发,那么进程之间就无法共享,因为单批道一直就一个进程。
虚拟
- 时分复用
利用多道程序设计技术,为每道程序建立一个进程,让多道程序并发执行,以此来分时使用一台处理器,同时提供给多个用户使用。例如开启多个终端 - 空间复用 电脑上面只有一块硬盘,通过虚拟磁盘技术虚拟成多台虚拟磁盘。于是就有了C、D、E、F盘。
异步
由于资源等各种限制,使进程的执行通常都不是“一气呵成”,而是以走走停停的方式运行。
操作系统的主要功能
处理机管理机制
- 进程控制
- 进程同步
- 进程通信
- 调度
存储器管理机制
- 内存分配
- 内存保护
- 地址映射
- 内存扩充
设备管理功能
- 缓冲管理
- 设备分配
- 设备处理
文件管理功能
- 文件存储空间的管理
- 目录的管理
- 文件的读/写管理和保护
- 操作系统与用户之间的接口
用户接口
程序接口
OS 结构设计
无结构操作系统
模块化结构 OS
提高OS设计的正确性、可理解性和可维护性
增强OS的适应性
加速OS的开发过程
在OS设计时,对各个模块的结构规定很那满足在模块完成后对接口的实际需求
无序性,因为各模块的设计同时进行,使之无法再每一步都建立在可靠的基础上
分层式结构 OS
易保证系统的正确性,自下而上,有序。
易扩充和易维护性。
系统效率降低了,分层单向依赖,要哦建立相邻层的通信机制,增加了开销。
客户/服务器模式
组成
客户机、服务器、网络系统
过程
- 客户发送请求
- 服务器接受消息
- 服务器回送信息
- 客户机接受消息
优点
- 数据的分布处理和存储
- 便于集中管理
- 灵活性和可扩充性
- 易于改编应用软件
面向对象
基于抽象、隐蔽原则控制大型软件的复杂度。抽取物体相同的属性为对象进行封装。
- 通过重用提高产品的质量和生产率
- 使系统具有更好的易修改和易扩展性
- 更易于保证系统的正确性和可靠性
微内核 OS 结构
- 足够小的内核
- 基于客户/服务器模式
- 应用机制与策略分离原理
- 机制就是实现某一功能的具体执行机构
- 策略在机制的基础上借助于某些参数和算法来实现该功能的优化,或者达到不同的功能目标
- 通常机制位于系统基层,策略位于高层。
- 采用面向对象技术
基本功能
- 进程管理
- 低级存储器管理
- 中断和陷入操作
优点
- 提高了系统的可扩展性
- 增强了系统的可靠性
- 可移植性
- 提供了对分布式系统的支持
- 融入了面向对象技术