首页 > 其他分享 >多处理机调度(李昂学长视频总结)25新增考点

多处理机调度(李昂学长视频总结)25新增考点

时间:2024-11-03 19:21:05浏览次数:5  
标签:25 处理机 队列 李昂 调度 学长 线程 进程 CPU

多处理机定义:多处理机指的是某个计算机系统中有多个cpu,在多处理机调度中,多处理机一般指的是共享存储器处理机,其两个或更多的cpu全部共享一个公用的RAM。

 

根据系统中的处理机相同与否,可将多处理机系统分为如下两类:

1、对称多处理机系统:在系统中所包含的各处理机单元在结构和功能上都是相同的。

2、非对称多处理机系统:在系统中有多类型的处理单元,他们的功能和结构各不相同,系统中只有一个主处理器,但有多个从处理机。

(二、进程分配方式

1、非对称MPS,其OS大多数采用主-从式OS,即OS的核心部分驻留在一个主机上,而从机只是用户程序,进程调度只在主机执行。

276a07fd6b7e4942aba68a45555e1890.png

调度过程如下:

1、每当从机空闲的时候,使向主机发送一索求进程的信号,然后,使等待主机为它分配进程。

2、在主机中保持一个就绪队列,只要就绪队列不空,主机便从其队首3摘下一个进程分配给请求的队列。

3、从机接收到分配的进程后使运行该进程,该进程结束后从机又向主机发出请求。

 

优点:系统处理比较简单,因为所有的进程分配都由一台主机独自处理。

缺点:1、一旦主机出现故障。将会导致整个系统瘫痪。

2、很容易因为主机太忙,来不及处理因而形成系统瘫痪。

2、对称MPS中的进程分配方式

在SMP中,所有处理机都是相同的,可以将任何一盒进程分配任何一个处理机。

对于这种进程可以采用以下三种方式:

1、静态分配方式

该方式下,一个进程从开始执行至其完成,,都被固定到一个处理机上执行。此时,需要为每一个处理机设置一专用的就绪队列,该队列中的就绪进程先后都是被分配到该处理机上执行。

在该进程阻塞后再次就绪,也仍然挂在该就绪队列上,因而它仍在处理机上执行。感觉每个进程相当于绑定了一个CPU

优点:进程调度开销小

缺点:使各处理机忙而不均。有的进程频繁调度,有的则很闲。

2、动态分配方式

为了防止系统的多个处理机忙而不均,可以在系统中设置一个公共就绪队列,系统中所有就绪进程都被放在该队列中,分配进程时,可讲进程分配到任何处理器。

优点:消除了忙而不均

缺点:不容易实现处理机亲和度

 

处理器亲和度就是指绑定某一进程到CPU(这不就是静态分配方式嘛)

CPU亲和度利用了:进程上一次运行后的残余信息保留在CPU的状态中。如果下一次仍然将该进程调度到同一CPU上,就能避免缓存中未命中等对处理机不利的情况,使进程运行更高效。

 

CPU亲和度分为:软亲和度和硬亲和度

软亲和度主要是由操作系统来实现,操作系统的调度器会倾向于保持一个进程不会频繁在多个CPU 之间迁移。

调度器会根据各CPU的负载均衡开合理调度运行中的进程,减轻繁忙CPU 的压力

硬亲和度指用户可以通过调用系统API实现自定义进程运行在哪个CPU上,进而满足特殊性能的请求。

3、混合方式

这种就是上两种方式的综合。

 

这种方式下,同时使用本地队列和全局队列,本地队列是每个CPU共享的,全局队列就是所有CPU共享的

全局队列就是保证负载均衡

本地队列就是减少进程调度开销影响,保证了亲和度

除了全局队列,还有两种负载均衡的技术

1、基于推的迁移

一个特定的任务周期性检查每个处理机的负载均衡,如何发现不平衡,那么通过进程从超载处理机推到空闲或不太忙的处理机上实现负载均衡

2、基于拉的迁移

空闲处理机从一个忙的处理机上拉一些就绪进程到自己的就绪队列中。

三、进程(线程)调度方式

进程(线程)调度方式有:自调度方式、成组调度方式等

1、自调度方式

自调度方式是最简单的一种调度方式。

在系统中设置一个公共的进程或线程就绪队列,所有的处理器在空闲的时候,都可自己到改队列中取得一进程(或线程)来运行。在自调度方式中,可采取在单处理机环境下所用的调度算法,如先来先服务(FCFS)调度算法等。

 

自调度方式的主要优点表现为:只要公共就绪队列不空,就不会出现处理机空闲的情况,也不会出现处理机忙而不均的现象,因而有利于提高处理机的利用率。

缺点:1-只有一个就绪队列,处理机必须互斥访问改队列,这容易形成系统瓶颈。

2-通常一个应用中的多个进程属于相互合作型,采取自调度处理方式处理时,这些线程很难同时获得处理机而同时运行,使某些线程因合作线程来获得处理机运行而被阻塞,导致线程切换频繁。

2、成组调度方式

为解决线程频繁切换产生成组调度方式。该方式将一个进程中的一组线程分配到一组处理机上运行

37378c09d51b4c6aae23001de3dae6e8.png

5906f4a08a2241278b3bdca7033231d0.png 

 45cf6721301f4a5cbcb62bbf860b6e16.png

 

 

 

标签:25,处理机,队列,李昂,调度,学长,线程,进程,CPU
From: https://blog.csdn.net/weixin_62905050/article/details/143349519

相关文章

  • 【Linux 25】网络套接字 socket 概念
    文章目录......
  • # 学期2024-2025-1 学号20241405《计算机基础与程序设计》6周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如[2024-2025-1计算机基础与程序设计第六周作业](https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06作业正文C语言是一种过程式编程语言,它提......
  • 20222403 2024-2025-1 《网络与系统攻防技术》实验四实验报告
    1.实验内容一、恶意代码文件类型标识、脱壳与字符串提取对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;(2)使用超级巡警脱壳机等脱壳软件......
  • 代码随想录算法训练营第十五天|leetcode110. 平衡二叉树、leetcode257.二叉树的所有路
    1leetcode110.平衡二叉树题目链接:110.平衡二叉树-力扣(LeetCode)文章链接:代码随想录视频链接:后序遍历求高度,高度判断是否平衡|LeetCode:110.平衡二叉树_哔哩哔哩_bilibili1.1视频看后的思路1.1.1完整的代码就是不断判断,对其数据存储,其实突然发现每道题思路真的都很像,就......
  • 2024-2025 20241308计算机基础与程序设计第六周学习总结
    这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/homework/13276这个作业的目标Polya如何解决问题简单类型与组合类型复合数据结构查找与排序算法算法复杂度递归代码安全作业正文教......
  • 20222401 2024-2025-1 《网络与系统攻防技术》实验四实验报告
    1.实验内容1.1基本概念1.1.1什么是恶意代码首先,恶意代码是一串实现特定功能的代码,而特定功能在这里特指具有恶意目的的功能实现,可以理解为按照攻击者的意愿进行运行的代码。按照特征以及行为的不同,大概分为以下几类:计算机病毒蠕虫(病毒)后门木马僵尸网络RootKit1.1.2恶......
  • 2024-2025-1 20241314《计算机基础与程序设计》第六周学习总结
    学期(如2024-2025-1)20241314《计算机基础与程序设计》第六周学习总结作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第六周作业这个作业的目标Polya如何解决问题简单类型与组合类型复合数据......