一、概述
1、操作系统作用
- 通过
(软件和硬件)资源管理
,提高计算机系统的效率; - 改善人机界面,向用户提供友好的工作环境。
系统软件
的主要功能是调度
、监控
、维护
计算机系统- 系统软件,包括:数据库系统、语言处理程序、驱动程序、操作系统等
2、分类
- 批处理操作系统
- 实时操作系统
- 分布式操作系统
- 嵌入式操作系统
- 分时操作系统
- 网络操作系统——unix、Linux、windows
- 微机操作系统——笔记本、计算机等
二、进城管理及PV(重点、难点)
1、进程
是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序快、控制块(PCB)和数据块三部分组成
进程与程序的区别
- 进程——
动态
的,产生由运行程序而导致,关闭程序就会消亡;进程是程序的一次执行过程,没有程序就没有进程 - 程序——
静态
的,是完成某特定功能一系列程序语句的集合,无论是否运行都存在
2、进程管理的三态模型
- 运行——进程已获取到CPU资源,正在运行
- 等待(阻塞/睡眠)——进程正在等待某一事件发生而暂时停止运行,即使所有资源均已分配也无法运行
- 就绪——获得除CPU资源以外的一切资源、
三态模型详解
3、进程的同步与互斥
- 进程控制——是指对系统中所有的进程从创建到消亡的全过程实施
有效的控制
——由操作系统内核中的原语实现
- 原语——由若干条机器指令组成的
指令集
,用于完成特定功能的程序段 - ——该指令集在
执行过程中不可分割
,即要执行都执行,要么都不执行 - 互斥——
间接制约
关系,资源被一方进程占用,另一方无法使用资源,必须等待(千军万马过独木桥) - 同步——
直接制约
关系,一方没有完成,另一方无法继续 - 临界资源——指一次只能供一个进程使用的资源
- 临界区——进程中对临界资源实施操作的那段程序
4、PV操作
信号量S
- 是一个特殊的变量:一个
整数
- S >= 0 ,表示其资源的可用数
- S<0,其绝对值表示阻塞队列中等待该资源的进程数
PV操作——都是低级原语,不可分割
- P操作:申请一个资源,使信号量的值-1
- V操作:释放一个资源,使信号量的值+1
线程
两个基本属性
- 可拥有资源的独立单位
- 可独立调度和分配的基本单位
线程与进程的关系
线程
作为调度和分配的基本单位
,进程
作为独立分配资源的单位
- 线程是进程中的一个实体
- 线程只拥有一点运行中心必须的资源:程序计数器、一组寄存器、栈
- 线程可与同属一个进程的其他线程共享进程拥有的全部资源
线程分类
- 用户级线程
- 内核支持级线程
三、死锁问题
死锁
- 指两个以上的进程互相都要求使用对方的已经占有的资源,从而导致无法继续使用下去的现象。
死锁发生的必要条件
- 互斥
- 保持和等待
- 不剥夺
- 环路等待
死锁的预防和避免
银行家算法
- 对于进程中发出的每一个系统可以满足的资源
请求命令加以检测
,若发现分配资源后系统进入不安全状态,则不予分配资源;若发现分配资源后系统仍处于安全状态,则实施分配
安全状态
所有的进程按照一定的顺序都能够顺利运行,而不发生死锁的状态
保证系统不发生死锁的最小资源数计算
-
给每个进程都分配所需资源最大数少一个资源
-
在步骤1基础上,如果系统还剩一个剩余资源,则不会发生死锁
-
【例】假设进程P1运行需要4个资源,P2运行需要5个资源,P3运行需要5个,则求不发生死锁的最小资源数。
(4-1)+(5-1)+(5-1)+1 = 12
四、存储管理
分区管理
页式存储
块的大小(页内地址):12位二进制,最大4KB
页号:20位二进制数,最大1M
- 优点:内存利用率高,碎片小,分配及管理简单
- 缺点:增加了系统开销;可能产生抖动现象
段式存储
- 优点:多道程序共享内容,各段程序修改互不影响
- 缺点:内存利用率低,内存碎片浪费大
段页式存储
- 优点:空间浪费小、存储共享容易、存储保护容易
- 缺点:复杂性和开销大、需要的硬件以及占用的内容有所增加,使得执行速度大大下降
五、磁盘管理技术
磁盘及位示图
位示图
- 是利用二进制的一位来表示磁盘中的一个盘块(扇区)的使用情况
- 当其为“0”时,表示对应的盘块空闲;为“1”时,表示已经分配(有些系统定义与之相反)
字
与字长有关,字长如果是32,则一个字存储32个块
六、文件系统
- Windows中使用的是反斜杠“\”
- linux和unix 中是使用斜杠“/”