第一章-操作系统概述
操作系统概念:操作系统是配置在计算机硬件上的第一层软件,是对软件系统的首次扩充。
作用:作为用户与计算机硬件系统之间的接口;实作为计算机系统资源的管理者;用作扩充机器
管理好这些设备,提高他们的利用率和系统的吞吐量,并为用户和应用程序提供一个简单的接口,便于用户使用。
操作系统的目标:方便性,有效性,可扩充性,开放性。
基本类型:单道批处理系统,多道批处理系统,分时系统,实时系统。
多道批处理系统的优缺点:资源利用率高,系统吞吐量大,评论周转时间长,无交互能力。
基本特征:并发,共享,虚拟,异步。
基本功能:(五个)
处理机管理功能:进程控制,进程同步,进程通信,调度。
存储器管理功能:内存分配,内存保护,地址映射,内存扩充。
设备管理功能:缓冲管理,设备分配,设备管理。
文件管理功能:文件存储空间的管理,目录管理,文件的读写管理和保护。
用户接口:命令接口,程序接口,图形接口
结构设计方法:面向对象的程序设计
第二章-进程管理
进程:是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
进程控制块(PCB):存放进程的管理和控制信息的数据结构。
进程的特征:动态性,并发性,独立性,异步性,结构性
基本状态:就绪,执行,阻塞
组成:程序段,数据段,PCB
原语:是由若干指令构成的原子操作过程,作为整体实现功能,不可被打断。
进程同步:多道并发的进程有效的共享资源和相互合作,得到可再现的结果。
进程互斥:当一个进程进入临界区使用临界资源时,另一个进程必须等待,直到占用临界资源的进程退出临界区
临界资源:一次仅允许一个进程使用的共享资源。
临界区:每个进程中访问临界资源的那段代码
同步机制遵循原则:空闲让进,忙则等待,有限等待,让权等待。
信号量及其应用:p53
引入进程目的:为了使多个程序能并发执行提高资源利用率和吞吐量
引入线程目的:为了减少程序并发执行时所付出的时空开销,使OS有更好的并发性
两者比较:进程是资源分配的基本单位,线程是调度的基本单位
第三章-处理机的调度与死锁
处理机调度的层次:
高级调度(长程调度/作业调度)(功能:根据某种算法决定将外存上处于后备队列中的那几个作业调入内存,为他们创建进程,分配必要的资源,并把它们放入就绪队列)
中级调度(内存调度)(功能:根据某种算法决定就绪队列的那个进程应获得处理机,并由分派程序将处理机分配给被选中的进程)
低级调度(进程调度/短程调度)(功能:提高内存利用率和系统吞吐量)
调度方式:非抢占方式和抢占方式
计算:CPU利用率=CPU有效工作时间/(有效工作时间+空闲等待时间)
平均周转时间:T=1/n[∑n i=1 Ti]
平均带权周转时间W=1/n(∑n i=1 Ti/Ts)(T为作业周转时间,Ts为系统为他提供服务的时间,即W=T/Ts)
常用调度算法及计算:
先来先服务算法(FCFS):<非抢占式>可用于作业调度也可用于进程调度
短作业优先算法(SJF):<非抢占式>(平均周转时间最短)
优先级调度算法(PSA):<非抢占式><抢占式>
高响应比优先调度算法(HRRN):优先权=(等待时间+要求服务时间)/要求服务时间=响应时间/要求服务时间
(因此:若等待时间相同,要求服务的时间越短,优先权越高,类似于SJF;当要求服务的时间相同时,等待时间越长优先权越高,类似于FCFS;对于长作业优先级,可以随等待时间的增加而提高)
轮转调度算法:<抢占式>(作用于进程)
多队列调度算法:
多级反馈队列调度算法:<抢占式>
基于公平原则的调度算法:
最早截止时间优先算法(EDF):
最低松弛度优先算法(LLF):
死锁:
定义:如果一组进程中的每一个进程都在等待仅由该组进程中的其他进程才能引发的事件,则该组进程称为死锁状态。
原因:竞争不可抢夺性资源,竞争可消耗资源,进程推进顺序不当。
产生的必要条件:(同时)互斥条件,请求和保持条件,不可抢占条件,循环等待条件。
死锁与饥饿的区别:
避免死锁:
系统安全状态:指系统能按某种进程推进顺序为每个进程分配所需资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利完成。(并发所有的不安全状态都是死锁状态,只是有可能)
利用银行家算法避免死锁:P111(问题:给一个表格,问该状态是否安全?P113????????)
第四章-存储器管理:
重定位:在装入时对目标程序中的指令和数据地址的修改过程
内碎片:已经被分配出去却不能被利用的存储空间
外碎片:还没被分配出去但由于太小而无法分配给申请内存空间的新进程的内存空间区域。
如何解决:动态分区分配存在外碎片,可通过紧凑处理,但增加一定的开销;页式内存管理存在内碎片,一般无法避免,由于碎片较小,损耗可忽略不计。
常用的分区分配算法:
基于顺序搜索的动态分区分配算法:P130
首次适应算法(FF):要求空闲分区链以地址递增的次序链接
循环首次适应算法(NF):<按地址递增>从上一次找到的空闲分区的下一个空闲分区开始查找
最佳适应算法(BF):<按大小递增排列>总是把满足要求、最小的空闲区分配给作业。
最坏适应算法(WF):<按空闲区大小递减排列>查找效率很高
基于索引搜索的动态分区分配算法:
快速适应算法(分类搜索法):
伙伴系统:<分离适配>内碎片
哈希算法:
基本分页:P138
基本分段:
页表的作用:
段表的作用:
快表的作用:
地址变换过程:
第五章-虚拟存储器
基本概念:指具有请求调入功能和置换功能,能从逻辑上对存储容量加以扩充的一种存储器系统。
理论依据:
基本特征:多次性,对换性,虚拟性
关键技术:
请求分页的基本思想:建立在基本分页的基础上的,为了能支持虚拟存储器功能,而增加了请求调页功能和页面置换功能。
页面置换算法:
最佳置换算法:P163
先进先出页面置换算法:<Belady现象>
最近最久未使用置换算法:
最少使用置换算法:
Clock置换算法:
页面缓冲算法:
缺页率计算:
抖动:P169
Belady异常:
缺页中断:
第六章-输入输出系统
四种I/O控制方式:
I/O软件的层次结构:用户层I/O软件,设备独立性软件,设备驱动程序,中断处理程序
设备独立性:
设备分配所涉及的数据结构:
SPOOLING技术(假脱机技术):P205<以空间换时间>联机情况下实现的同时外围操作的技术。
组成:输入井和输出井,输入缓冲区和输出缓冲区,输入进程和输出进程,井管理程序。
特点:提高了I/O的速度,将独占设备改造为共享设备,实现了虚拟设备功能。
缓冲区的概念:缓冲区是一个存储区域,他可以由专门的硬件寄存器组成,但由于硬件的成本较高,容量也较小,一般仅用在对速度非常高的场合。P208
相关计算:
磁盘调度算法及其计算:P217
磁盘的寻道时间Ts=m*n+s
寻扇时间(旋转延迟时间):Ti=1/2r
传输时间Tt=b/rN
访问时间:Ta=Ts+1/2r+b/Rn
早期的磁盘调度算法:
先来先服务:
最短寻道时间优先算法(SSTF):
基于扫描的磁盘调度算法:
扫描算法:(电梯法)
第七章-文件管理
功能:
逻辑结构:
目录结构:
索引节点:
文件控制块的作用:
第八章-磁盘存储器管理
文件的物理结构:
FAT表的作用及相关计算:
增量式(多级混合)索引分配方式的结构及其运算:
文件空闲区的管理方法(位示图、成组链接法)