标签:bsp 独立 分享 任务 线程 bubuko 允许 传递 读者
一、操作系统概论
二、处理器管理
进程
概念:系统中能独立运行并作为资源分配的基本单位(进程是资源管理的最小单位)。
线程
概念:线程是程序执行的最小单位。
引入目的:为了减少程序并发执行时所付的时空开销,使得并发粒度更细。
1、进程的状态和转换
三态模型:
五态模型:
2、处理机调度
选择调度算法原则:
(1)资源利用率:让CPU和各种资源尽可能并行工作
CPU利用率=CPU有效工作时间/(CPU有效工作时间+CPU空闲等待时间);
(2)吞吐率:单位时间内CPU处理作业的个数;
(3)公平性:确保每个进程都能获得合理的CPU份额,避免出现饥饿;
(4)响应时间:在交互性进程中,从发出请求到获得响应之间的时间间隔;
(5)周转时间:批处理用户从系统提交作业到作业完成位置的时间间隔;
3、调度算法:
(1)FCFS(先来先服务算法):非抢占式
按照进程就绪的先后顺序使用CPU。缺点:公平但不合理
(2)SJF(最短作业优先算法):非抢占式
最短完成时间的进程先执行。缺点:需要提前知道运行时间,而且容易产生饥饿
(3)SRTF(最短剩余时间优先算法):抢占式
当新就绪的进程比当前正在运行的进程所剩的时间更短时,则抢占当前进程,运行新就绪进程。缺点:与(2)类似,容易产生饥饿。
(4)HRRF(最高响应比优先算法):非抢占式
是“先来先服务”与“最短作业优先”的折中算法。(等待时间越长比值越大)
响应比 = (作业等待时间+作业处理时间)/作业处理时间;
(5)优先级调度算法
(6)轮转调度算法
(7)多级反馈队列调度算法
(8)彩票调度算法
三、同步、通信和死锁
相关概念:
死锁:一组进程因竞争资源陷入永远等待的状态(产生条件为:互斥条件、占有和等待条件、不剥夺条件、循坏等待条件);
饥饿:一个可运行的进程由于其他进程总是优先于它,导致被调度的程序无期限的拖延而不能被执行;
进程互斥:
进程同步:指为完成共同任务的并发进程基于某个条件来协调其活动,因为需要在某些位置上排定执行的先后次序而等待、传递信号或消息所产生的协作
制约关系;
临界区:并发进程中与共享变量有关的程序段称为“临界区”;
临界资源:共享变量所代表的资源称为“临界资源”;
临界区调度原则:(1)一次最多只有一个进程进入临界区内执行;
(2)如果已有进程在临界区中,则试图进入临界区的其他变量需等待;
(3)进入临界区内的进程应在有限时间内退出,以便让等待队列的一个进程进入。
实现临界区管理(加锁):软件实现和硬件实现,信号量
信号量(按取值分2种): 1、二值信号量:仅允许取值为0或1,主要用于解决用户互斥问题;
2、允许出现大于1的整数值,主要用于解决进程同步问题。
信号量解决的经典问题:5位哲学家就餐问题
生产者消费者问题
读者写者问题
理发师睡眠问题
和尚打水问题
标签:bsp 独立 分享 任务 线程 bubuko 允许 传递 读者
原文地址:https://www.cnblogs.com/qianbin/p/8559266.html