首页 > 其他分享 >操作系统FCFS护航效果

操作系统FCFS护航效果

时间:2024-11-10 23:18:12浏览次数:3  
标签:P1 护航 操作系统 FCFS 队列 等待时间 Time 进程 时间

如果第一个作业的爆发时间是最高的,FCFS可能会受到队列影响。 就像在现实生活中一样,如果队列在路上经过,那么其他人可能会被堵塞,直到完全通过。 这也可以在操作系统中进行模拟。

如果CPU在就绪队列的前端获得较高突发时间的进程,则较低突发时间的进程可能被阻塞,这意味着如果执行中的作业具有非常高的突发时间,则它们可能永远不会获得CPU。 这被称为队列效应饥饿

示例

在这个例子中,我们有3个进程被命名为P1P2P3。 进程P1的暴发时间最高。

下表中的周转时间和等待时间通过公式计算,

Turn Around Time = Completion Time - Arrival Time  
    Waiting Time = Turn Around Time - Burst Time

Shell

在第一种情况下,虽然流程P1到达队列中的第一个, 该过程的爆发时间是最高的。 由于调度算法,我们所遵循的是FCFS,因此CPU将首先执行Process P1。

在这个时间表中,系统的平均等待时间将非常高。 这是因为车队的影响。 其他进程P2,P3必须等待40个单位时间,尽管他们的爆发时间非常短。 这个时间表遭受饥饿。

进程ID到达时间突发时间完成时间转换时间等待时间
104040400
213434239
2241284
311444342

平均等待时间= 81/3

在第二种情况下,如果进程P1本来就已经到达队列的最后,而其他过程P2P3早于那么饥饿问题就不存在了。

以下示例显示了这两种情况的等待时间的偏差。 虽然时间表的长度是相同的,即44个单位,但是在这个时间表中等待时间将会减少。

进程ID到达时间突发时间完成时间转换时间等待时间
114044433
203330
2241284
301443

标签:P1,护航,操作系统,FCFS,队列,等待时间,Time,进程,时间
From: https://blog.csdn.net/unbelievevc/article/details/143499360

相关文章

  • 【操作系统】4.进程调度算法
    进程调度算法决定了进程在何时、以何种顺序被分配到CPU上执行。不同的调度算法适合不同类型的操作系统和应用需求,以下是一些常用的进程调度算法:1.先来先服务调度(FCFS:First-Come,First-Served)算法原理:按进程到达的先后顺序分配CPU,先到达的进程先被处理。优点:简单易实现,......
  • 【操作系统】3.并发和并行
       并行是指多个任务在同一时刻在多个处理器或者多核处理器上同时执行。并发是指多个任务在同一时间间隔内交替执行,但在任意时刻只有一个任务在执行。   并行需要硬件上的支持,而并发需要软件上的支持。并行是物理上的同时发生,而并发是逻辑上的同时发生。1.定义并......
  • 操作系统学习笔记-5.2设备独立性软件
    文章目录假脱机技术1.假脱机技术的基本概念2.工作原理4.典型应用场景设备的分配和回收设备分配方式安全分配模式和不安全分配模式1.安全分配模式2.不安全分配模式3.安全与不安全模式的区别分配策略1.3分配方法数据结构设备控制表(DCT)设备控制表的组成控制器......
  • %windir% 是一个环境变量,它指向当前操作系统中 Windows 安装目录的路径。它常用于批处
    %windir%是一个环境变量,它指向当前操作系统中Windows安装目录的路径。它常用于批处理文件、命令行或者脚本中,帮助系统或用户快速定位Windows系统文件夹的路径。类似的环境变量还有很多,它们通常用于在操作系统中快速访问重要的文件夹和目录,避免硬编码路径,从而提高脚本的可移植......
  • Linux 操作系统下 edquota 命令介绍和使用案例
    Linux操作系统下edquota命令介绍和使用案例edquota命令是Linux系统中用于管理用户或组的磁盘配额的工具。通过该命令,系统管理员可以设置和编辑用户或组在文件系统中使用的磁盘空间限制edquota命令简介功能:edquota允许管理员为指定用户或组设置磁盘配额,限制他们可以......
  • 轻松理解操作系统 - Linux的数据块是如何储存数据的?
    python入门C++入门Linux由于其开源、比较稳定等特点统治了服务端领域。也因此,学习Linux系统相关知识在后端开发等岗位中变得越来越重要,甚至可以说是必不可少的。因为它的广泛应用,所以在程序员的日常工作和面试中,它都是经常出现的。它的开源特性也让它适合于让对于计算......
  • 通过C++跨平台的预编译宏来区分不同的操作系统:Win32/Win64/Unix/Linux/MacOS
    因为C++具有跨平台的特性,所以有些需求一套代码就多端使用,比如我最近在学习的OpenGLES。但是,不同平台还是具有一定差异性,所以我们首先得判断出是什么平台?比如iOS系统和Android系统。那么如何判断呢?我们接着往下看!要检查C或C代码中主机的操作系统,我们需要检查编......
  • LBA(Logical Block Addressing,逻辑块寻址)是一种硬盘寻址方式,用于将硬盘中的每个存储块
    LBA(逻辑块寻址)模式简介LBA(LogicalBlockAddressing,逻辑块寻址)是一种硬盘寻址方式,用于将硬盘中的每个存储块映射为一个唯一的逻辑地址。这种寻址方式使得操作系统能够通过逻辑地址而不是物理位置来访问硬盘数据,从而简化了硬盘的管理和数据访问。LBA的背景与作用在硬盘的传统寻......
  • 内存映射I/O(MMIO)是一种将硬件设备的控制寄存器和数据寄存器映射到处理器的地址空间中
    内存映射I/O(Memory-MappedI/O,简称MMIO)内存映射I/O(MMIO)是一种将硬件设备的控制寄存器和数据寄存器映射到处理器的地址空间中的技术。在这种方式下,操作系统和程序可以像访问内存一样,通过常规的内存访问指令(如读写)来访问硬件设备,而不需要使用专门的输入/输出指令。它简化了硬件访问......
  • 在Windows操作系统中,HKEY_CURRENT_USER\Console 是注册表中的一个键路径,它用于存储与
    在Windows操作系统中,HKEY_CURRENT_USER\Console是注册表中的一个键路径,它用于存储与控制台窗口(例如命令提示符窗口,CMD)的配置和设置相关的数据。以下是HKEY_CURRENT_USER\Console的详细说明:1. 位置路径:HKEY_CURRENT_USER\Console\2. 作用这个注册表项包含了当前用户对控制......