update 说明文档/CosyOS原理与应用.md.

Signed-off-by: 零中断延迟的RTOS <cosyos@139.com>
This commit is contained in:
零中断延迟的RTOS
2024-01-07 09:01:58 +00:00
committed by Gitee
parent f2e3e37a55
commit cc24775794

View File

@@ -312,11 +312,13 @@ CosyOS的临界区可分为 **任务临界区**、**服务层临界区**、**全
**1、任务临界区** <br>
任务级的临界区保护仅关闭系统中断SysTick、PendSV。<br>
**2、服务层临界区** <br>
【任务临界区 + 系统滴答 + 挂起服务调用/钩子】即CosyOS实时运行模型中的服务层可实现系统级的临界区保护。<br>
对同一个全局公共资源的互斥访问<br>
【任务临界区 + 系统滴答 + 挂起服务调用/钩子】即CosyOS实时运行模型中的服务层系统级的临界区保护。<br>
具体过程<br>
1任务中在任务临界区中访问<br>
2滴答中直接访问即可<br>
3中断中采用挂起服务调用/钩子来访问;<br>
如此,即可实现全局成功的互斥访问。<br>
服务层临界区不会破坏零中断延迟,当需要系统级的临界区保护时,应首先予以考虑。<br>
**3、全局临界区** <br>
系统级的临界区保护,会关闭总中断。<br>
_CosyOS内核中从来不会进入全局临界区提供此项服务只是为了便于用户对全局公共资源或程序过程的保护。_ <br><br>
@@ -334,10 +336,10 @@ CosyOS的临界区可分为 **任务临界区**、**服务层临界区**、**全
各访问者对同一个目标资源的访问过程是互相排斥的,即每次只允许一个访问者访问目标资源,目标资源是不可重入资源。<br>
下列所述为CosyOS推荐方案<br>
* **任务级公共资源** <br>
1、互斥信号量访问耗时的、实时性要求不高的应尽量采用互斥信号量。<br>
2、任务临界区访问迅速的、实时性要求较高的考虑任务临界区。<br>
1、互斥信号量访问过程耗时的、实时性要求不高的,应尽量采用互斥信号量。<br>
2、任务临界区访问过程迅速的、实时性要求较高的,考虑任务临界区。<br>
* **全局公共资源** <br>
1、服务层临界区可实现全局成功的互斥访问应首先考虑。<br>
1、服务层临界区可实现全局成功的互斥访问,又不会破坏零中断延迟,是最优方案,应首先予以考虑。<br>
2、二值信号量弊端是如果获取失败将导致访问失败。<br>
3、全局临界区弊端是关闭总中断会破坏零中断延迟。<br>