操作系统概念- Silberschatz 期末复习
第一章——导论
1>操作系统是一组控制和管理计算机软硬件资源,合理地对各类作业进行调度,及方便用户的程序集合。
用户视角:为用户方便,不在乎资源使用率;
系统视角:资源分配器 &控制程序;
2>陷阱: 软中断,来自出错(除数为0/无效存储访问..)和用户程序的特别请求、系统调用。
中断:来自硬件。
3>os结构
①多道程序设计
②分时系统:操作系统将时间划分为若干时间在用户之间快速切换,这种快速切换使得用户感到整个系统只为自己所用,以时间片为单位,且因为频度高,用户可以在程序运行期间与之进行交互。
4>特权指令:特权指令是拥有特殊权限的指令,用于调用系统函数或系统软件等,因为在执行程序时,为了方式用户随意调用特权指令,系统又分成了用户态和核心态。由此延申模式位,1:用户态,0:内核模式,用于保证特权指令只能由操作系统完成,保护操作系统和用户程序不受错误用户程序的影响。
5>高速缓存一致性
6>上下文切换,CPU 从一个进程或线程切换到另一个进程或线程,不可以在用户态实现,而系统调用是操作系统提供的服务,用户态可以使用。
第二章——操作系统结构
1>系统调用:OS内核提供一系列的预定功能,通过一组称为系统调用的接口来呈现给编程人员,相应内核函数完成处理并返回给编程人员;它把应用程序请求传给内核,其相应内核函数完成处理并返回给程序;系统调用是内核的一部分。
使用API而不是系统调用的原因:API可移植性强,且系统调用难度较大。
2>向操作系统传参的三种方法:1.寄存器 2.参数存放在内存块,寄存器传块地址 3.程序压栈
3>系统调用5类型: 1.进程控制 2.文件管理 3.设备管理 4.信息维护 5.通信
4>微内核: 将所有非必需内容(一般是进程&内存管理、通信)从内核移走,成为系统程序或用户程序。
5>虚拟机思想:一套硬件抽象成多套,制造每个进程都有自己单独的处理器、内存的假象。
第三章——进程 (拥有资源、可独立调度分派的基本单位)
1>进程vs程序:
(1)进程是动态的,而程序是静态的。
(2)进程有一定的生命期,而程序是指令的集合,本身无“运动”的含义。没有建立进程的程序不能作为1个独立单位得到操作系统的认可。
(3)1个程序可以对应多个进程,但1个进程只能对应1个程序。进程和程序的关系犹如演出和剧本的关系。
2> 进程特征:动态、独立、异步、并发。
3>进程状态转换图:
4>PCB:系统为了管理进程设置的一个专门的数据结构。系统用它来记录进程的外部特征,描述进程的运动变化过程。同时,系统可以利用PCB来控制和管理进程,所以说,PCB(进程控制块)是系统感知进程存在的唯一标志。
5>进程调度: 长期:从缓冲池中选择进程装入内存准备执行 。 频率较低,平衡IO与CPU利用率。
中期:进程从内存移出,降低多道程序的程度,之后再重新调入从中断处执行。
短期:从准备执行的进程中选择一个并分配CPU 。频率较高,快慢影响CPU利用率、吞吐率。
6>进程间通信IPC的两种模式: 共享内存(快) 、消息传递(慢) 。
第四章——线程
进程vs线程:1.同一进程,线程的切换不会引起进程的切换;不同进程线程的切换会引起进程的切换。
2.资源:线程仅拥有必不可少的资源;
3.线程切换、创建的时间开销更小;
4.引入线程,并发性、利用率和吞吐量更高。
1>组成: 线程ID 、PC、寄存器集合、栈
2>用户线程:内核支持、无需内核管理
内核线程:由PS支持和管理
3>四个多线程模型p113
4>线程池:开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。
5>多线程多处理器vs单处理器系统: 因为操作系统只能用一个单一进程,内核一次也只能用一个线程,所以性能相同。
6>p130 4.8
第五章——CPU调度
1>cpu调度: 1.运行->等待 2.运行->就绪 3.等待->就绪 4.进程结束 2 3 时为抢占
2>分派程序 p136
3>调度准则p137 等待时间=结束时间-运行时间
4>调度算法:
1).FCFS 先来先服务 ,非抢占,护航 ;
2).SJF最短作业优先, 很难知道下一区间的长度,
抢占SJF调度 (最短剩余时间优先)
3).优先级调度:老化,饥饿;
4).RR轮转法调度时间片 ,抢占;
5).多级队列调度 ,将就绪队列分成多个独立队列,高级相对低级队列有绝对优先级;
6).多级反馈队列,高级相对低级队列不绝对优先级。
第六章——进程同步
1>竞争条件p168 ,原子操作:一个完整无中断的操作,要么全做要么不做,在核心态运行。
原语:一段完成一定功能的,执行期间不可被中断的程序段。
临界区 临界资源 :系统中可给多个进程使用但同一时间只运行一个进程访问的资源。
2>信号量的初值为某资源的数目, 互斥锁:信号量0或1
p177-180 经典同步问题
第七章——死锁
1>死锁必要条件:
1.互斥 2.非抢占 3.请求和保持条件 (在申请资源的同时占有已经拥有的 ) 4.循环等待( 形成等待环路)
ps 无环一定无锁 ;有环可能有锁。
2>预防: 非抢占协议 循环等待协议 安全序列p219 假分配
第八章——内存管理
1>分页基本思想:一个作业在内存的各个页面可以分配到不同的帧中。
分段 :把虚拟地址空间中的虚拟内存组织成一些长度可变的称为段的内存块单元。
区别:1.页是系统管理需要,是信息的物理单位,段是用户需要,信息的逻辑单位;
2.页大小由系统决定且固定不变,段长不固定,用户编写的程序决定;
3.分页地址空间是一维的,是单一线性的,分段是二维的,需要段名和段内地址。