c++新增加的一个概念称之为_操作系统中几个容易混淆的概念

点击上方公众号名称关注,获得更多内容

2e31e2618a1c925b4f1361e2a67ab5ab.gif ✎ 编 者 悟 语

      很多事的产生并不会明示你需要如何去做,它只会让你明白要自己学会去找到做的方式。

文 章 导 读

    今天给大家整理操作系统中容易混淆的几个概念,临界资源与临界区、临界资源与共享资源、同步与异步、并行与并发,希望对大家有所帮助哈!

    公众号新增了“读者讨论”功能,新公众号不能留言,大家不要浪费讨论的机会哈,a2ea8b84ff432bc5510ef4ab6437e307.png

1临界资源与共享资源

    1)临界资源与共享资源的关系

    共享资源与临界资源是包含的关系,临界资源是被限定后的共享资源,可以用下面一句话概括下。

    一次只允许一个进程使用的共享资源称为临界资源。 

    2)常见的共享资源

    常见的共享资源有变量(静态或全局变量)、数据结构、RAM中的表格、IO设备中的寄存器等。

    共享资源,说白了就是你也能用我也能用,但有一个不能同时用的问题,同时用了存在数据被破坏,出现混乱的问题。

2临界资源与临界区

    这两个概念是好区分些的,一个是从资源的角度来说的,一个是从代码的角度来说的。

    1)临界资源

    一次只允许一个进程使用的共享资源称为临界资源。

    2)临界区

    临界段代码(critical sections),也叫临界区(critical region),是指那些必须完整连续运行,不可被打断的代码段。从存储来说,它是指使用临界资源的代码区。

    在uC/OS-III中存在大量的临界段代码。中断处理程序和任务都会访问的临界段代码,需要用关中断的方法加以保护;仅由任务访问的临界段代码,可以通过给调度器上锁的方法来保护。

    3)临界区管理需要遵循的原则

    ① 当有若干进程要求进入它们的临界区时,应在有限时间内使一进程进入临界区。换句话说,它们不应该相互等待而致使谁都不能进入。

    ② 每次最多有一个进程处于临界区内。

    ③ 进程在临界区内逗留应在有限时间范围内。

3 并行与并发     1)并行     当系统有一个以上CPU时,则线程的操作有可能非并发。     当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。

    2)并发

    当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。这种方式我们称之为并发(Concurrent)。

    3)并行与并发的区别

    并行是指两个或者多个事件在同一时刻发生。

    并发是指两个或多个事件在同一时间间隔内发生。

4同步与异步

    1)同步

    进程之间的关系不是相互排斥临界资源的关系,而是相互依赖的关系。

    如一个进程结束的输出作为另一个进程的输入。

    具有同步关系的一组并发进程之间发送的信息称为消息或者事件。

    2)异步

    同步是顺序执行,而异步是彼此独立,在等待某个事件的过程中继续做自己的事,不需要等待某一事件完成后再进行下面的工作。

    线程是实现异步的一个方式,异步是让调用方法的主线程不需要同步等待另一个线程的完成,从而让主线程干其他事情。

    在并发模式中,“同步”指的是程序完全按照代码序列的顺序执行;“异步”指的是程序的执行需要由系统事件来驱动。常见的系统事件包括中断、信号等。

总结

    今天给大家整理操作系统中容易混淆的几个概念,如临界资源与临界区、临界资源与共享资源、同步与异步、并行与并发,还会有操作系统相关的内容,小伙伴们敬请期待哈,c261af4c0cd010aa7932cf09f511f812.png

    有问题可以参与读者讨论或后台留言交流,公众号18年后新申请的,文章后不支持留言功能的。

免责声明:本文内容来源于技术文档及网络,版权归原作者所有。如涉及侵权问题,请与我联系删除。

推荐文章:

UCOSIII共享资源管理方式汇总

UCOSIII源码分析之——bsp_os.c文件分析

UCOSIII源码分析之——bsp_cpu.c文件分析

在RT1052下使用uC-Probe 监控UCOSIII中的资源

嵌入式与物联网和人工智能的关系

物联网操作系统的由来——物联网操作系统产生的三大途径

物联网所涉及的核心技术及应用

专辑推荐:

Python技能专辑

C语言专辑

IDE调试专辑

软件推荐专辑

软实力专辑

Linux专辑

扫码关注我们

af5afab1e56bc7d05dabe59b693edf2a.png

159f4503276484d36378b14818c8f096.gif Game Over!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值