1.基础知识
软件分类:应用软件、系统软件
操作系统
作用:1.通过资源管理(CPU管理、存储管理、设备管理、文件管理),提高计算机系统的效率。
2.改善人机界面,向用户提供友好的工作环境。
特征:并发性、共享性、虚拟性、不确定性
功能:
1.处理机管理(进程控制、进程同步、进程通信、进程调度)
2.文件管理,即信息管理(存储空间管理、目录管理、读写管理、存取管理)
3.存储管理(分配与回收、存储保护、地址映射、贮存扩充)
4.设备管理(分配、启动、完成、回收)
5.作业管理
接口:系统命令级接口、编程级接口
类型:
1.批处理操作系统:单道批处理操作系统、多道批处理操作系统(多道、宏观上并行运行、微观上串行运行)
作业组成:用户程序、数据、作业说明书(作业控制语言)
2.分时操作系统:将CPU的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。
特点:多路性、独立性、交互性、及时性
UNIX,多用户、多任务的分时操作系统
3.实时操作系统:
分类:实时控制系统、实时信息处理系统
特点:快速的相应时间(中断方式、“事件驱动”方式)、有限的交互能力、高可靠性(双机系统、多级容错)
与分时系统的区别:
1.设计目标不同。分时:多用户的通用系统,交互能力强;实时:专用系统
2.交互性强弱不同。分时:交互能力强;实时:仅允许操作、访问有限的专用程序,不能随便修改,交互能力差
3.相应时间敏感度不同。分时:以人能接受的等待时间;实时:以被测物体所能接受的延迟,响应时间敏感度强
4.网络操作系统:使联网计算机共享网络资源
5.分布式操作系统:网络操作系统的更高级形式(+透明性、可靠性、高性能……)
与网络操作系统的差别:
1.网络:用户必须知道网址;分布:不必知道计算机的确切地址
2.分布:负责全系统的资源分配,很好地隐藏系统内部的实现细节(物理位置、并发控制、系统故障……对用户透明)
6.微机操作系统:配置在微机上
7.嵌入式操作系统:运行在嵌入式智能芯片环境中
2.处理机管理
即进程管理,重点:进程之间的并发、进程间相互合作与资源竞争问题
进程:是资源分配、独立运行的基本单位
基本概念
程序顺序执行特征:顺序性、封闭性、可再现性
程序并发执行特征:失去程序的封闭性;程序与执行活动不再一一对应;并发程序间相互制约
引发问题:进程间同步、互斥
进程:程序的一次执行,可以与其他程序并发执行。
组成:程序、数据、进程控制块(PCB)
进程控制块:进程存在的唯一标志
进程状态:
终止分为两个阶段:1.等待操作系统进行善后处理;2.释放主存
活跃就绪:进程在主存,且可被调度的状态
静止就绪:进程对兑换到辅存的状态
进程控制:由操作系统内核(Kernel)中的原语实现的
内核:是计算机系统硬件的首次延伸,是基于硬件的第一层软件扩充,为系统对进程控制、管理提供了良好的环境。
原语:由若凡条机器指令组成,用于完成特定功能的程序段。特点:在执行时不能被分割,即原子操作要么都做,要么都不做。
进程通信:各个进程交换信息的过程
多道系统中,多进程并发执行,进程间存在资源共享、相互合作的问题。
同步:合作进程间的直接制约问题。进程间完成一项任务时,直接发生相互作用的关系
互斥:申请临界资源进程间的间接制约问题。系统中各进程互斥使用临界资源。
临界区(Critical Section,CS):进程中对临界资源实施操作的那段程序。
管理原则:有空即进、无空则等、有限等待、让权等待
信号量机制:一种有效的进程同步、互斥工具
分类:整型信号量、纪录型信号量、信号量集机制
公用信号量:实现进程间的互斥,初值为1,或资源的数目
私用信号量:实现进程间的同步,初值为0,或某个正整数
信号量S:S>=0,表示某资源的可用数;S<0,绝对值表示阻塞队列中等待该资源的进程数。
进程执行正确:1.自身的正确性;2、执行中与其他相关进程正确同步、互斥
PV操作:实现进程同步、互斥的常用方法。低级通信语言,执行期间不可分割。
P操作:申请一个资源;
V操作:释放一个资源
PV操作实现:令信号量mutex初值为1,当进入临界区执行P操作,退出临界区执行V操作
典型:单缓冲区的生产者和消费者的同步问题
PV操作缺点:1、编程难度大,通信不透明,易死锁,利用低级通信工具实现;2、效率低,每次只能操作一个消息
进程通信:低级方式(PV操作)、高级方式
高级通信方式:共享存储模式、消息传递模式、管道模式
管程:
为了解决分散编程带来的困难。提供的以中国可以允许都进程安全、有效地共享抽象数据类型的机制(由“条件结构”所提供)
基本思想:采用资源集中管理的方法,将系统中的资源用某种数据结构抽象地表示出来。由于临界区是访问共享资源的代码段,建立一个管程管理进程提出的访问请求
组成:共享数据、能为并发进程所执行的作用在共享数据上的操作的集合、初始代码、存取权
结构:每个管程都要有一个名字以供标识
生产者—消费者问题
进程调度
当有更高优先级的进程到来时如何分配CPU
方式分类:可剥夺、不可剥夺
三级调度:
1.高级调度:即长调度、作业调度、接纳调度。哪个后备作业调入主系统,成为就绪进程。系统中一个作业只需经过一次高级调度
2.中级调度:即中程调度、对换调度。哪个就绪进程调入内存,内存紧张时,将内存阻塞进程与盘交换区的进程互换位置。
3.低级调度:即短程调度、进程调度。那个内存中就绪进程占用CPU。是操作系统中最活跃、最重要的调度程序
调度算法:
1.先来先服务:作业提交次序、就绪状态次序。利于长作业,不利于短作业;利于CPU繁忙的作业,不利于I/O繁忙的作业。主要用于宏观调度
2、时间片轮转:提高进程并发性、相应时间,从而提高资源(除CPU之外)利用率。主要用于微观调度。固定时间片、可变时间片
3、优先级调度:每个进程都拥有一个优先数,大的占用CPU。静态优先级、动态优先级
4、多级反馈调度算法:时间片轮转算法和优先级算法的综合。短进程,提高系统吞吐量、缩短平均周转时间;I/O型进程,获得较好的I/O设备利用率,缩短相应时间;不必估计进程的执行时间,动态调节优先级
优先级:
1.I/O型进程:最高优先级队列,小的时间片,执行后转入阻塞队列。以及时响应需要I/O交互的进程
2.计算型进程:最大时间片,最少调度次数,执行后转入更低级队列。
3.I/O请求不多,主要是CPU处理的进程:执行后转入优先I/0请求时离开的队列
5.I/O完成时,提高优先级;时间片用完,降低优先级。
死锁:两个以上的进程相互都要去对方已经占有的资源(硬件、软件)导致无法继续运行下去的现象
1.进程推进顺序不当
2.同类资源分配不当
3.PV操纵不当
原因:竞争资源、进程推进顺序非法
产生的必要条件:互斥、请求保持、不可剥夺、环路
处理策略:
1.鸵鸟策略(不理睬策略)
2.预防策略:限制并发进程对资源的请求,严格防止死锁产生。预先静态分配法(破坏“不可剥夺”条件)、资源有序分配法(破坏“环路”条件)
3.避免策略:不那么严格防止死锁产生。
银行家算法:如果进程发出可以满足的资源请求,检测分配后,系统是否进入安全状态,来决定是否分配资源。
安全状态:系统能按某种顺序(安全序列)为每个进程分配其所需资源,直至最大需求,使每个进程都可顺利完成
4.死锁检测:允许死锁,形同定时运行一个死锁检测程序,如果发现死锁,设法解除
5.死锁解除:资源剥夺法、撤销进程法
线程
进程
基本属性:独立分配资源的单位
系统时空开销大(进程创建、撤销、切换),系统中设置进程的数目不宜过多,进程切换频率不宜太高,限制了并发程度的提高。
线程:
即,轻型进程
基本属性:拥有资源的独立单位,独立调度、分配的基本单位
减少程序并发执行时付出的时空开销
是进程中的一个实体,是被系统独立发你陪、调度的基本单位。线程基本上不拥有资源,只拥有一点运行中必不可少的资源(程序计数器、寄存器、栈),与同属一个进程的其他县城共享进程中所拥有的全部资源
基本状态:就绪、运行、阻塞
可创建另一个咸亨,同一个进程中的多个线程可并发执行。
用户级线程、内核支持线程:是否依赖内核,系统的创建、撤销、切换是否通过系统调用来实现。
系统进程、用户进程:都依赖于内核中的进程调度,且在内核支持下进行切换的