资源:计算机系统中分配给用户使用的各种硬件和软件设施
操作系统是计算机系统资源的管理者,提供了用户操作计算机的界面
操作系统的特点:并发、共享、不确定性(异步性)、虚拟性
共享性和并发性是操作系统两个最基本的特征,它们互为依存;不确定性是并发与共享的必然结果
采用虚拟技术的目的是为了提高资源利用率和为用户提供易于使用、方便高效的操作环境。
设计操作系统的基本目标:方便性、有效性、可扩充性、开放性
资源管理的目的:1、实现资源共享2、提高资源利用率
处理机的调度单位为进程
批处理系统特点:成批:计算机系统可同时接纳多个用户的作业
脱机工作:用户不需要与计算机进行交流
分时系统(系统将处理机分成时间片):同时性、独立性、交互性、及时性
实时系统:响应及时、可靠性高
程序A和程序B可以并发地运行;
CPU和I/O设备可以并行地运行;
程序的并发执行的特点:失去封闭性、相互制约、不可再现性
进程是系统进行资源分配和调度的一个独立单位。
进程的特征:动态性、并发性、独立性
进程的组成:程序、数据、PCB
PCB是进程存在的唯一标志,存放在内存的系统区;程序和数据存放在内存的用户区。
程序和进程的联系和区别:
进程是程序执行的动态过程;程序是进程运行的静态文本。
等待状态:
进程三种状态之间的转换
原语:要求独占CPU,不允许被中断的特定功能程序
进程调度是操作系统进程管理的核心任务
进程创建:申请空闲PCB,指定PID;为新进程分配资源,装进进程的实体:程序数据;初始化PCB;将新进程加入到就绪队列中。
进程撤销:从系统的PCB表中找到指定进程的PCB;回收该进程所占用的全部资源;若该进程还存在子孙进程,会说它们所占有的全部资源;释放被终止进程的PCB,并从原来队列中摘走。
进程阻塞:
起因:所需资源无法满足而不能继续运行,则进程调用阻塞原语,是自己变为等待状态。是进程的阻塞是进程自身的一种主动行为,主动放弃CPU
主要功能:主动放弃CPU;保护现行进程的CPU现场;把该进程现行状态改为等待,并插入到具有相同事件的等待队列;转到进程调度程序,重新挑选一个合适的就绪进程投入运行。
进程唤醒:进程不能自己唤醒自己
进程调度是操作系统进程管理的核心任务
进程调度算法:
1、先来先服务(非剥夺调度)
优点:实现简单,不考虑进程的特性以及资源要求的差异。
缺点:效率较低、利于长作业、不利于短作业。
2、优先数
静态优先数:SJF短作业优先
优点:比FCFS改善周转时间,缩短作业等待时间;提高系统吞吐量。
缺点:对长作业非常不利,可能长时间得不到执行;未能依据作业的紧迫程度来执行优先级;难以准确估计作业(进程)的执行时间,从而影响调度性能。
动态优先数:最高响应比优先算法(HRN)
R=1+等等时间/执行时间
3、时间片轮转发(RR)
时间片的长度过短会加重系统开销
时间片过长会退化为先来先服务
4、多队列反馈法
时间片轮转算法和优先级算法的综合
进程同步:进程间为了一个共同的目标,彼此之间存在互相合作的协同工作关系,有前后次序的直接制约关系,称为进程的同步。
同步机制应该遵循的原则:空闲让进、忙则等待、优先等待、让权等待。
进程互斥:多个进程不能同时访问临界资源而产生的间接制约关系
临界区:把不允许多个并发进程交叉执行的一段程序成为临界区
临界资源:一次只允许一个进程使用的资源
P操作:S=S-1
如果S>=0,则该进程继续执行
若S<0,将该进程状态置为阻塞态,将其PCB连入该信号量队列的末尾,进行等待
V操作:S=S+1
若S>0则该进程继续执行
若S<=0则唤醒信号量队列上的第一个PCB,然后该进程继续运行
S<0表示的是阻塞的进程个数,而不是资源个数
线程和进程的区别与联系:
线程是进程的一部分,它是进程内的一个执行单元。通常一个进程至少含有一个线程
资源分配的对象是进程,而不是线程。进程仍然是拥有资源的独立单位。
调度的基本单位是线程而不是进程。处理器是分给线程的
线程也可并发执行
第四章存储管理
逻辑地址+装入内存的首地址= 物理地址
分区存储管理:
内存分配算法:
1、最先适应算法
优点:总是将内存低端的空闲区实施分配,分配后空闲区表不需要排序
缺点:导致内存低端有很多内存碎片
若内存存在一个与申请大小相同的空闲区时不一定会被选中
2、最佳适应算法
优点:总是将所有能满足要求空闲区中最小者实施分配,大的空闲区保存下来
若内存存在一个与申请大小相同的空闲区时,一定会被选中
缺点:随着时间推移会形成很多内存碎片;分配完后,空闲区表可能需要排序。
3、最差适应算法
优点:搜索速度快
总是能将所有满足要求空闲区中最大者实施分配,剩余部分还可再实施分配
缺点:总是将大的空闲区破坏掉;分配完后,空闲区表可能需要排序。
地址重定位:在进程执行时,由硬件将逻辑地址转换为物理地址
分区管理缺点:
存在碎片现象,内存利用率不高
分页存储管理缺点:地址转换增加系统开销;仍存在内存碎片;最后一个页面不嗯能够充分使用;页表占用存储空间;内存的扩充问题,作业的地址空间受内存容量限制;页面由系统划分,对用户透明,用户实现页的共享比较困难
页面置换算法:
缺页率=缺页次数/内存访问次数
最佳置换算法:
先入先出法:
最近最不常用淘汰算法LFU
最久未使用算法:LRU
分页管理和分段管理的相同与不同:
不同之处:
段对用户可见,页对用户透明
页的大小固定不变,由系统决定,段的大小不固定。
实现虚拟存储器的目的是扩大内存容量。
第五章 文件管理
文件存取方法:顺序存取、随机存取
文件目录:为了加快对文件检索,将文件控制块集中在一起管理,这种文件控制块的有序集合成为文件目录。
目录文件(完全由目录项构成的文件):为了实现对文件目录的管理,将文件目录以文件的形式,保存在外存中
第七章 死锁
死锁的必要条件
1、互斥条件(不可破坏)
2、不可抢占条件
3、占有且等待
4、循环且等待