第一章——操作系统引论
操作系统(os)是配置在计算机硬件上的第一层软件,是对计算机的首次扩充。
1.1操作系统的目标和作用
1.1.1操作系统的目标
- 方便性
- 有效性
- 可扩充性
- 开放性
1.1.2 操作系统的作用
OS作为用户与计算机硬件系统之间的窗口
方式:命令方式、系统调用、图标–窗口
OS作为计算机系统资源的管理者
OS实现了对计算机资源的抽象
1.1.3 推动操作系统发挥在哪的主要动力
- 不断提高计算机资源利用率
- 方便用户
- 器件的不断更新换代
- 计算机体系结构的不断发展
- 不断提出新的应用需求
1.2 操作系统发展过程
1.2.1 未配置系统的计算机系统
人工操作方式(缺点)
1)用户独占全机
2)CPU等待人工操作
脱机输入/输出(Off-Line I/O)方式(优点)
1)减少了CPU的空闲时间
2)提高了I/O速度
1.2.2 单道批处理系统
- 单道批处理系统的处理过程
- 单道批处理系统的缺点
1.2.3 多道批处理系统
多道程序设计技术的基本概念
多道批处理系统的优缺点
1)资源利用率高
2)系统吞吐量大
3)平均周转时间长(缺点)
4)无交互能力(缺点)
多道批处理系统需要解决的问题
1)处理机争用问题
2)内存分配和保护问题
3)I/O设备分配问题
4)文件的组织和管理问题
5)作业管理问题
6)用户与系统的接口问题
操作系统:是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合
1.2.4 分时系统
分时系统的引入
1)人——机交互
2)共享主机
分时系统实现中的关键问题
1)及时接收
2)及时处理
(1)作业直接进入内存
(2)采用轮转运行方式
分时系统的特征
1)多路性
2)独立性
3)及时性
4)交互性
1.2.5 实时系统
实时系统的类型
1)工业(武器)控制系统
2)信息查询系统
3)多媒体系统
4)嵌入式系统
实时任务的类型
1)周期性实时任务和非周期性实时任务
(1)开始截止时间:某任务在某时间以前必须开始执行
(2)完成截止时间:某任务在某时间以前必须完成
2)硬实时任务和软实时任务
实时系统与分时系统特征的比较
1)多路性
2)独立性
3)及时性
4)交互性
5)可靠性
1.2.6 微机操作系统的发展
- 单用户单任务操作系统
- 单用户多任务操作系统
- 多用户多任务操作系统
1.3 操作系统的基本属性
1.3.1 并发
并行与并发
并行性:两个或多个事件在同一时刻发生
并发性:两个或多个事件在同一时间间隔内发生
引入进程
进程:在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程之间可以并发执行和交换信息。
1.3.2 共享
OS环境下的资源共享或称为资源复用
- 互斥共享方式
可以提供给多个进程(线程)使用,但应规定在一段时间内,只允许一个进程访问该资源
临界资源:在一段时间内只允许一个进程访问的资源
- 同时访问方式
系统中还有另同一类资源,允许在一段时间内由多个进程“同时”对他们进行访问。这里的“同时”,在单处理机环境下是宏观意义上的,在微观上,这些进程对该资源的访问时交替进行的
1.3.3 虚拟
时分复用技术
1)虚拟处理技术:利用多道程序设计技术,为每道程序建立至少一个进程,让多道程序并发执行。
2)虚拟设备技术:利用虚拟设备技术,也通过分时复用的方法,将一台物理I/O设备虚拟为堕胎逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备。
时分复用技术是通过利用处理机的空闲时间运行其他程序,提高了处理机的利用率
空分复用技术
空分复用技术利用储存器的空闲空间分区域存放和运行其他的多道程序,以此来提高内存的利用率
1.3.4 异步
由于资源等因素的限制,是进程的执行通常都不可能“一气呵成”,而是以“走走停停”的方式运行
进程是人们不可预知的速度向前推进的,此即进程的异步性
1.4 操作系统的主要功能
1.4.1 处理及管理功能
进程控制
进程同步
1)进程互斥方式:诸进程在对临界资源进行访问是,采用互斥方式
2)进程同步方式:在相互合作去完成共同任务的诸进程间,有同步机构对他们的执行次序加以协调
进程通信
调度
1)作业调度
2)进程调度
1.4.2 存储器管理功能
内存分配
1)为每道程序分配内存空间,是他们“各得其所”
2)提高存储器的利用率,尽量减少不可用的内存空间
3)允许正在与你行的程序申请附加的内存空间,以适应程序和数据动态增长的需求
OS在实现内存分配时,可采取静态和动态两种模式
静态分配方式:每个作业的内存空间是在作业装入时确定的,在作业装入后的整个运行期间不允许改作业在申请新的内存空间,也不允许作业在内存中“移动”
动态分配方式:每个作业要求的基本内存空间内存空间虽然也是再装入是确定的,但允许作业在运行过程中在申请附加的内存空间,以适应程序和数据的动态增长,也允许作业在内存中“移动”
内存保护
1)确保没到用户程序都进在自己的内存空间内运行,彼此互不干扰
2)决不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其他用户程序中执行
地址映射
能够将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址
内存扩充
并非从物理上去扩大内存的用量,而是借助虚拟存储技术,从逻辑上扩充内存用量
1)请求调入功能
2)置换功能
1.4.3设备管理功能
- 缓冲管理
- 设备管理
- 设备处理
1.4.4 文件管理功能
文件存储空间的管理
目录管理
文件的读/写管理和保护
1)文件的读/写管理
2)文件保护
(1)防止未经核准的用户存取文件
(2)防止冒名顶替存取文件
(3)防止一部正确的方式使用方式
1.4.5 操作系统与用户之间的接口
用户接口
1)练联机用户接口
2)脱机用户接口
3)图形用户接口
程序接口
1.4.6 现代操作系统的新功能
系统安全
1)认证技术
2)密码技术
3)访问控制技术
4)反病毒技术
网络的功能和服务
1)网络通信
2)资源管理
3)应用互操作
支持多媒体
1)接纳控制功能
2)实时调度
3)多媒体文件的存储
1.5 OS结构设计
1.5.1 传统操作系统结构
无结构操作系统
模块化结构OS
1)模块化程序设计技术的基本概念
2)模块独立性
(1)内聚性:模块内部各部分之间联系的紧密程度。内聚性越高,模块独立性越强
(2)耦合性:模块间相互联系和相互影响的程度。耦合性月底,模块独立性越好
高内聚低耦合
3)模块接口法的优缺点
模块-接口法开发的OS,较之无结构OS具有以下明显的优点
(1)提高OS设计的正确性、可理解性和可维护性
(2)增强OS的可适应性
(3)加速OS的开发过程
分层式结构OS
1)分层式结构的基本概念
自底向上的分层设计的基本原则是:每一步设计都建立在可靠的基础上,为此规定,每一层仅能使用其底层所提供的功能和服务,这样可使系统的调试和验证都变得的更容易。
2)分层式结构的优缺点
分层结构的优点:
(1)易保证系统的正确性
(2)易扩充性和易维护性
分层式结构的缺点:系统效率降低。由于层次结构是分层单项依赖的,必须在镁层之间都建立层次间的通信机制,OS每执行一个功能,通常都要自上而下地穿越多个层次,这无疑会增加系统的通信开销,从而降低系统效率的降低。
1.5.2 客户/服务器模式简介
客户/服务器的由来、组成和类型
客户机、服务器、网络系统
客户/服务器之间的交互
1)客户发送请求消息
2)服务器接收消息
3)服务器回送消息
4)客户机接收消息
客户/服务器模式的优点
1)数据的分布处理和存储
2)便于集中管理
3)灵活性和可扩充性
4)易于改变应用软件
1.5.3 面向对象的程序设计
面向对象技术的基本概念
1)对象
2)对象类
3)继承
面对对象技术的有点
1)通过“重用”提高产品质量和生产率
2)是系统具有更好的易修改行和易扩展性
3)更易于保证系统的“正确性”和“可靠性”
1.5.4 微内核OS结构
微内核操作系统的基本概念
1)足够小的内核
2)基于客户/服务器模式
3)应用“机制与策略分离”原理
4)采用面向对象技术
为内核的基本功能
1)进程(线程)管理
2)低级存储器管理
3)中单和陷入处理
微内核操作系统的优点
1)提高了系统的可扩展性
2)增强了系统的可靠性
3)可移植性强
4)提高了对分布式系统的支持
5)融入了面向对象技术
微内核操作系统存在的问题