第一章 操作系统引论
一、操作系统目标和作用
目标:有效性、方便性、可扩充性、开放性。
有效性:1.提高系统资源利用率、2.提高系统吞吐量
操作系统作用
OS作为用户与计算机硬件系统之间的接口(命令、系统调用、图表窗口)
OS作为计算机系统资源的管理者
OS实现了对计算机资源的抽象
二.发展过程
1)多道批处理系统:在该系统中, 用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
好处:
(1) 提高CPU的利用率
(2) 可提高内存和I/O设备的利用率
(3) 增加系统吞吐量
缺点:
(1) 平均周转时间长
(2) 无交互能力
需解决的问题:
(1) 处理机管理问题
(2) 内存管理问题
(3) I/O设备管理问题
(4) 文件管理问题
(5) 作业管理问题
2)分时系统:最关键的问题是如何使用户能与自己的作业进行交互。即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理。
用户需求:人—机交互 、共享主机 、便于用户上机
特征:多路性、独立性、及时性、交互性
3)实时系统:及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
需求:实时控制、实时信息处理
(1) 按任务执行时是否呈现周期性来划分:周期性实时任务、非周期性实时任务。
(2) 根据对截止时间的要求来划分:硬实时任务、软实时任务。
三、操作系统基本特性
1.并发:在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行。
1)引入进程:在操作系统中引入进程的目的,是为了使多个程序能并发执行。
系统必须分别为每个程序建立进程
2).引入线程
通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。
2.共享
方式:(1)互斥共享方式 (2)同时访问方式
临界资源(独占资源):在一段时间内只允许一个进程访问的资源。
3.虚拟:是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。
4.异步性:进程是以人们不可预知(每次运行时系统中有其他哪些进程是不同的)的速度向前推进,此即进程的异步性。
四、操作系统功能
1)处理机管理功能:进程控制、进程同步、进程通信、调度
2)存储器管理的主要功能:内存分配、内存保护、地址映射、内存扩充
3)设备管理功能:缓冲管理、设备分配、设备处理
4)文件管理功能:文件存储空间的管理、目录管理、文件的读写管理和保护。
5)用户接口:命令、程序、图形。
五、操作系统的结构设计
1.微内核OS结构:将操作系统划分为两部分:微内核和多个服务器。
1)足够小的内核2)客户/服务器模式
3)应用“策略与机制分离”原理4)采用面向对象技术
2.微内核功能:进程管理、低级存储器管理、中断和陷入管理。
3.微内核问题:在完成一次客户对OS提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模式及上下文的多次切换。
第二章:进程管理
一、进程的基本概念:
1.程序的顺序执行,特征:顺序性、封闭性、可再现性。
2. 前趋图:描述进程之间的执行的前后关系。
3. 程序的并发执行及其特征:间断性、失去封闭性、不可再现性。
4.
1)进程的特征与状态:特征:结构特征、动态性、并发性。独立性、异步性。
进程定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
2)进程的基本状态:就绪、执行、阻塞。
3)挂起状态:挂起是指把一个进程从内存换到外存。挂起就绪和挂起阻塞。
4)创建状态和终止状态
5.进程控制块PCB
1)进程控制块的作用:使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。PCB是进程存在的唯一标志。
2)进程控制块中的信息:
(1)进程标识符(2)处理机现场信息(3)进程调度信息(4)进程控制信息
3)进程控制块的组织方式:链接方式、索引方式
二、进程控制
主要任务:创建进程、撤销进程、实现进程状态的转换
- 进程的创建:(1)进程图、(2)引起创建进程的事件(3)进程的创建
- 进程的终止:正常结束、异常结束、外界干预。
- 进程的阻塞与唤醒:
1)引起事件:请求系统服务、启动某种操作、新数据尚未到达、无新工作可做
2)进程阻塞过程:进程调用阻塞原语block把自己阻塞。进程的阻塞是进程自身的一种3)主动行为。
进程唤醒过程:调用唤醒原语wakeup(),将等待该事件的进程唤醒。
- 进程的挂起与激活
1) 挂起 当出现了引起进程挂起的事件时,系统将利用挂起原语suspend( )将指定进程或处于阻塞状态的进程挂起。
2) 激活 当发生激活进程的事件时,系统将利用激活原语active( )将指定进程激活。
三、进程同步
1.基本概念:
① 两种制约关系:间接、直接
② 临界资源
③ 临界区
④ 同步机制应遵循的规则
2.信号量机制
整型信号量、记录型信号量、AND型信号量、信号量集
四、进程同步的问题
1.生产者消费者问题
①.利用记录型信号量解决生产者—消费者问题
②.利用AND信号量解决生产者—消费者问题
2.哲学家进餐问题
①.利用记录型信号量解决
②.利用AND信号量解决
3.读者写者问题
①.利用记录型信号量解决
②.利用AND信号量解决
五、进程通信
1, 进程通信的类型
共享存储器系统、消息传递系统、管道系统:①互斥②同步③确定对方是否存在
- 消息传递通信的实现方法
1) 直接通信方式
2) 间接通信方式
(1)信箱的创建和撤消 (2)消息的发送和接收
3.消息传递系统实现中的若干问题
1)通信链路
2)消息的格式
3)进程同步方式
4)消息缓冲队列通信机制
六、线程
1. 引入线程的目的
1)线程目的:为使程序能并发执行,系统还必须进行以下的一系列操作:创建。撤销、切换进程。
2)线程的属性
轻型实体;独立调度分派、独立运行的基本单位;并发执行;共享进程资源。
3)线程的创建
4)多线程OS中的进程
2.内核支持线程和用户级线程
1)内核支持线程
2)用户级线程
3.线程控制
1)内核支持线程的实现
① 运行时系统②内核控制线程