点击上方公众号名称关注,获得更多内容
![2e31e2618a1c925b4f1361e2a67ab5ab.gif](https://img-blog.csdnimg.cn/img_convert/2e31e2618a1c925b4f1361e2a67ab5ab.gif)
很多事的产生并不会明示你需要如何去做,它只会让你明白要自己学会去找到做的方式。
文 章 导 读
今天给大家整理操作系统中容易混淆的几个概念,临界资源与临界区、临界资源与共享资源、同步与异步、并行与并发,希望对大家有所帮助哈!
公众号新增了“读者讨论”功能,新公众号不能留言,大家不要浪费讨论的机会哈,!
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)异步
同步是顺序执行,而异步是彼此独立,在等待某个事件的过程中继续做自己的事,不需要等待某一事件完成后再进行下面的工作。
线程是实现异步的一个方式,异步是让调用方法的主线程不需要同步等待另一个线程的完成,从而让主线程干其他事情。
在并发模式中,“同步”指的是程序完全按照代码序列的顺序执行;“异步”指的是程序的执行需要由系统事件来驱动。常见的系统事件包括中断、信号等。
总结
今天给大家整理操作系统中容易混淆的几个概念,如临界资源与临界区、临界资源与共享资源、同步与异步、并行与并发,还会有操作系统相关的内容,小伙伴们敬请期待哈,。
有问题可以参与读者讨论或后台留言交流,公众号18年后新申请的,文章后不支持留言功能的。
免责声明:本文内容来源于技术文档及网络,版权归原作者所有。如涉及侵权问题,请与我联系删除。
推荐文章:
UCOSIII共享资源管理方式汇总
UCOSIII源码分析之——bsp_os.c文件分析
UCOSIII源码分析之——bsp_cpu.c文件分析
在RT1052下使用uC-Probe 监控UCOSIII中的资源
嵌入式与物联网和人工智能的关系
物联网操作系统的由来——物联网操作系统产生的三大途径
物联网所涉及的核心技术及应用
专辑推荐:
Python技能专辑
C语言专辑
IDE调试专辑
软件推荐专辑
软实力专辑
Linux专辑
扫码关注我们
![159f4503276484d36378b14818c8f096.gif](https://img-blog.csdnimg.cn/img_convert/159f4503276484d36378b14818c8f096.gif)