操作系统复习01
操作系统四大特性:
并发性、共享性、虚拟性、异步性。
操作系统管理的资源:
处理器资源、存储器资源、IO设备资源、文件资源。
为什么需要进程:
1.进程是系统进行资源调度和分配的基本单位。
2.进程作为程序独立运行的载体保障程序正常运行。
3.进程使得操作系统资源利用率大幅度提升。
进程的实体(进程控制块PCB)
1.标识符:唯一标记一个进程,用于区别其他进程。
2.进程的状态。
3.程序计数器。
4.内存指针:指向程序代码、进程数据的指针。
5.上下文数据:进程执行的时候处理器所存储的数据。
6.IO状态信息:被进程IO操作所占用的文件列表。
7.记账信息:进程使用的处理器时间、时钟总和。
进程与线程的区别:
1.进程是系统进行资源调度和分配的基本单位。线程是系统进行资源调度的最小单位。
2.线程包含在进程之中,是进程中实际运行的单位。
3.一个进程可以并发多个线程,每个线程执行不同的任务。
4.线程可以共享进程的信息。
进程的五个状态
创建、就绪、阻塞、终止、运行。
临界资源
临界资源指的是一些虽然作为共享资源却又无法同时被多个线程共同访问的共享资源。当有进程在使用临界资源时,其他进程必须依据操作系统的同步机制等待占用进程释放该共享资源才可重新竞争使用共享资源。
进程间的同步四个原则:
空闲让进:资源无占用,则允许使用。
忙则等待:资源有占用,请求进程等待。
有限等待:保证有限等待时间内能使用资源。
让权等待:等待时,进程需要让出cpu。
进程的调度:
抢占式调度:频繁切换,开销大,相对公平,通用系统。
非抢占式调度:切换次数少,开销小,不公平,专用系统。
先来先服务算法、短进程优先调度算法、高优先权优先调度算法、时间片轮转调度算法。
死锁:
死锁是指两个或两个以上的进程在执行过程中由于竞争资源或彼此通信而造成的一种阻塞的现象,若无外力作用,将永远无法推进下去。
死锁的产生
1.竞争资源:
1.共享资源数量不满足各个进程的需求
2.各个进程的资源竞争导致:等待请求的资源被释放,自身的资源不释放。
死锁的四个必要条件
互斥条件:进程对资源的使用是排他性的使用。
请求保持条件:进程至少保持一个资源,又提出新的资源请求,新资源被占用,请求被阻塞,被阻塞的进程不释放自己保持的资源。
不可剥夺条件:进程获得的资源在未完成使用前不能被剥夺。获得的资源只能由进程自身释放。
环路等待条件:发生死锁时,必然存在进程-资源环形链。
预防死锁的方法
破坏请求保持条件:系统规定进程运行之前,一次性申请所有需要的资源。
破坏不可剥夺条件:当一个进程请求新的资源得不到满足时,必须释放占有的资源。
破坏环路等待条件:可用资源线性排序,申请必须按照递增申请。
银行家算法
已分配资源表,所需资源表,可分配资源表。
上一篇: ElasticSearch教程(二)—— 基本使用
下一篇: 经典问题-生产者和消费者问题