操作系统概念:是计算机系统中的一个系统软件,它是这样一些程序模块的集合,它们管理和控制计算机系统中的软件和硬件资源,组织计算机的工作流程,以便有效地利用这些资源为用户提供一个有足够多的功能、使用方便、可扩展、安全和便于管理的工作环境,从而在计算机和用户之间起到接口的作用
各种操作系统
1:批处理系统:用户脱机使用计算机,成批处理,多道程序运行(宏观上并行、微观上串行)
2:多道处理系统:配置多个CPU
3:分时系统:交互性、多用户同时性、独立性
4:实时系统:即时响应和高可靠性
操作系统功能:处理机管理、存储管理、设备管理、信息管理、提供用户接口
操作系统的启动:硬件(终端信号)——触发CPU的一段代码(执行)——找到操作系统引导区位置——代码自动导入内存并执行——将操作系统程序加载到内存并初始化硬件
1:作业(在一次业务处理过程中,从输入开始到输出结束,用户要求计算机所作的有关该次业务处理的全部工作):程序、数据、作业说明书(作业基本描述、作业控制描述、资源要求描述)
作业步(在一个作业的处理过程中计算机所作的相对独立的工作)
2:两个接口界面:命令控制界面、系统调用
3:程序的并发执行
1) 多道程序系统中,由于程序执行环境的变化而引起的多道程序的并发执行
2) 在某道程序中的几个程序段中,包含着可以同时执行或顺序颠倒执行的代码
4:进程(程序对某个数据集的动态执行过程,是分配资源的基本单位)
1) 静态描述:进程控制块PCB,有关程序段和该程序段对其进行操作的数据结构集
进程控制块是系统感知进程的唯一实体(描述信息、控制信息、资源信息)
2) 进程上下文:已执行过的进程指令和数据在相关寄存器与堆栈中的内容称为上文,正在执行的指令和数据在寄存器和堆栈中的内容称为中文,待执行的指令和数据在寄存器与堆栈中的内容称为下文
3) 进程状态:初始态、执行状态、等待状态、就绪状态、终止状态
4) 进程控制:创建、撤销、阻塞、唤醒、调度
通过原语实现:机器指令级(不允许中断,是不可分割的基本单位)功能级(不允许并发执行)
5:进程的互斥(间接制约)——不允许两个以上共享该资源的并发进程同时进入临界区
临界区——不允许多个并发进程交叉执行的一段程序
互斥的实现
1) 加锁,每一个临界区有一个类名S,Key[S] = 1表示该临界区可进入,Key[S] = 0表示该临界区不可进入;是进程自己调用lock过程去测试相应的锁定位
2) 公用信号量sem ,大于等于0时代表可供并发进程使用的资源实体数,小于零时表示正在等待使用临界区的进程数;PV原语,一次P原语操作使得信号量sem减1(P原语等到该进程进入临界区才算真正结束),一次V原语操作使得信号量sem加1
1) P原语的主要动作
sem减1,若sem减1后仍大于等于0,则P原语返回,该进程继续执行;若小于等于0,则该进程被阻塞后与该信号相对应的队列中,然后转进程调度
2) V原语的主要动作
sem加1,若sem加1后大于0,V原语停止执行,该进程返回调用处,继续执行;若sem小于等于0,则从该信号的等待队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调度
6:进程的同步
直接制约(各自的执行结果互为对方的执行条件,从而限制各进程的执行速度的过程成为并发进程间的直接制约)
同步——因直接制约而互相发送消息而进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步
私用信号量——给各并发进程设置私用信号量,然后为私用信号量,最后利用PV原语和私用信号量规定各进程的执行顺序
7:生产者——消费者模型,设公用信号量mutex保证生产者进程和消费者进程之间的互斥;信号量avail为生产者进程的私用信号量,信号量full为消费者进程的私用信号量
8:进