首页 > 其他分享 >我们如何实现最基础的并发?

我们如何实现最基础的并发?

时间:2024-04-16 23:34:22浏览次数:25  
标签:并发 process 程序 基础 交替 执行 OS 如何

OS的目标是在1保持控制权下2高性能的并发。

因此现在我们有两大问题需要解决:

1. 如何高性能地并发?

2. 如何保持OS对计算机的控制权?

(我们姑且只讨论在单CPU的机器上,运行微内核OS)

 

这篇博客中,我们先来回答这个问题:我们如何实现最基础的并发?

 

       首先我们来回答一下什么是并发(concurrency)?并发就是在某一段时间内,一些程序交替执行。并发的概念应当与并行(parallel)的概念区分开,并发(concurrency)只需要一些程序在某一段时间内交替运行,而并行(parallel)则必须同时运行。

       但如你所知,在冯诺依曼机上,程序不都是顺序执行的么?交替执行是什么鬼?这怎么可以能呢,这不可了能啊!没错,单个程序确实是顺序执行的,但我们也同样需要交替执行多个程序以提高资源利用率。但是仅仅“程序”的概念无法支持交替执行了,所以我们在程序的基础上加了一层抽象,将程序包装为:进程(process)

       得到了进程(process),然后呢?进程里边有个模块叫PCB(Process Control Block),顾名思义,利用这个模块操作系统可以控制进程。

       (具体可以看这篇blog : https://blog.csdn.net/Dejan520/article/details/123477779

       综上,我们将程序(program)抽象为进程(process),如此OS就能更方便的控制程序的交替执行,并发的基础就搭好了!

标签:并发,process,程序,基础,交替,执行,OS,如何
From: https://www.cnblogs.com/hk416hasu/p/18139552

相关文章

  • HarmonyOS-基础之动画
    1、是什么?动画可以在UI界面发生变化时,提供渐变过渡效果,提升用户体验。动画的实现原理是通过在一段时间内连续播放一系列静止画面(帧),从而产生流畅的视觉效果。ArkUI提供了多种动画接口,例如:显式动画、属性动画、转场动画等,来实现各种动画效果。2、显示动画animateTo()是ArkUI......
  • 2024.4.16python基础学习
    基本数据类型numberintmoney=6600floatdiscount=1.2boolenisok=trueisok=falsestrings='sssss's="ssssss"ps:单引号与双引号成对出现,不可以混合使用可以单引号嵌套双引号,互相嵌套list(列表)my_list=['足球','篮球']tuple(元组)my_tuple=(12,123,1234)dict(字典)......
  • 【python】如何优雅的终止while循环
    1.背景需求python需要与外界或终端交互时,常常需要使用while循环一直跑。如果需要终止程序,一般使用Ctrl+c,此时终端会打印一大堆backtrace,并且无法保留当前运行的状态,非常不优雅。使用KeyboardInterrupt异常捕捉,可以实现优雅的终止while循环。 2.实现方法try:while(Tr......
  • 读《我和Labview》Labview编程基础3
    3字符串和路径数据3.1字符串数据类型3.2字符串控件3.3数值、时间与字符串之间的的转换3.3.1基础转换函数3.3.2字符串格式化3.3.3时间与字符串之间的转换3.4正则表达式3.5路径3.5.1路径数据3.5.2相对路径3.5.3路径常量3.5.4路径与其他数据类型的转换3.6数据平化3.6.1......
  • C++ 递归与面向对象编程基础
    C++递归递归是一种使函数调用自身的技术。这种技术提供了一种将复杂问题分解为简单问题的方法,从而更容易解决问题。递归可能有点难以理解。理解其工作原理的最佳方法是通过实验来尝试。递归示例将两个数字相加很容易做到,但将一系列数字相加就更复杂了。在下面的示例中,通过将......
  • QPS才算高并发
    QPS才算高并发高并发场景QPS等专业指标揭秘大全与调优实战  合集-三“高”架构设计与调优(1) 1.高并发场景QPS等专业指标揭秘大全与调优实战04-14收起 高并发场景QPS等专业指标揭秘大全与调优实战最近经常有小伙伴问及高并发场景下QPS的一些问题,特意结合......
  • java基础模块一
    1java基础(来自B站尚硅谷)1.1字符编码问题1,编码:保存数据的过程2.解码:读数据的过程3.注意:a.编码解码遵守的编码规范必须一致b.常见的两个编码规范: GBK:专门为仲文设计的编码ANSI代表的是GBK一个中文汉字在GBK中占2个字节 UTF-8:一个中文......
  • 如何评估一个回答的好坏——BERTScore 基于预训练模型的相似度度量方式
    基于预训练模型的相似度度量方式BERTScoreBERTScore是一种基于BERT(双向编码器表示器转换器)语言模型的相似度度量。它将问题和回答编码为BERT向量,然后计算两个向量的余弦相似度。与传统的基于重叠词语的相似度度量不同,BERTScore能够捕获语义相似性,即使两个句子不包含相同的......
  • 节省时间和资源:了解如何最大化渲染农场的排队管理效率
    ​在3D渲染领域,时间的价值无可替代。随著3D艺术家与制作工作室不断挑战技术极限,对高效计算资源的渴求空前增长,渲染农场因此成为了渲染任务中不可或缺的力量。其核心在于排队系统——这一动态且复杂的结构负责安排和最优化渲染任务的执行顺序与时间,确保了渲染效率和资源的充分利用......
  • 如何用VBS脚本收集远程计算机或本地计算机安装的软件
    <divid="navCategory"><h5class="catalogue">目录</h5><ulclass="first_class_ul"><li><ahref="#_label0">目标</a></li><li><ahref="#_la......