码迷,mamicode.com
首页 > 其他好文 > 详细

操作系统

时间:2019-01-10 16:30:33      阅读:132      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!