如何设计一个免费的网站网站建设?

摘要:怎样自己做免费网站,网站建设的设计思路,东莞做网站排名优化推广,yii2 网站开发文章目录 前言一、空闲任务概念二、钩子函数概念三、任务调度算法四、任务调度算法实验1.实验代码2.是否抢占3.时间片是否轮转4.空闲任务让步 总结 前言 本篇
怎样自己做免费网站,网站建设的设计思路,东莞做网站排名优化推广,yii2 网站开发文章目录 前言一、空闲任务概念二、钩子函数概念三、任务调度算法四、任务调度算法实验1.实验代码2.是否抢占3.时间片是否轮转4.空闲任务让步 总结 前言 本篇文章将带大家学习一下什么是空闲任务以及钩子函数#xff0c;以及学习FreeRTOS中的任务调度算法#xff0c;了解在F… 文章目录 前言一、空闲任务概念二、钩子函数概念三、任务调度算法四、任务调度算法实验1.实验代码2.是否抢占3.时间片是否轮转4.空闲任务让步 总结 前言 本篇文章将带大家学习一下什么是空闲任务以及钩子函数以及学习FreeRTOS中的任务调度算法了解在FreeRTOS中任务是如何进行切换调度的。 一、空闲任务概念 空闲任务Idle Task是嵌入式实时操作系统RTOS中的一种特殊任务。它是系统中优先级最低的任务并且在系统中没有其他任务需要执行时运行。空闲任务的目的是让处理器在没有其他工作需要执行时保持忙碌状态从而防止处理器进入空转状态。 空闲任务在RTOS中发挥着重要的作用。当所有其他任务都没有工作要执行时空闲任务就会运行。它通常执行一些轻量级的操作如低功耗模式的进入、系统统计信息的更新、调度器的处理等。空闲任务的执行时间应尽量短以充分利用处理器资源。 空闲任务可以被视为一个后备任务确保系统始终有任务可以运行即使没有其他任务就绪。这对于实时系统来说尤为重要因为实时系统需要对外部事件以及响应用户请求作出快速响应。通过空闲任务RTOS可以保证系统的连续性和响应性。 在FreeRTOS中空闲任务是由内核自动创建和管理的。 在使用vTaskStartScheduler开启调度器后会自动的帮我们创建好空闲任务。 二、钩子函数概念 FreeRTOS 中的钩子函数Hook Functions是用户定义的回调函数用于在 FreeRTOS 内核中特定事件发生时执行自定义的代码。这些钩子函数允许开发者介入 FreeRTOS 的内部操作以便适应特定的需求、调试或性能分析。 使用钩子函数时需要先开启FreeRTOS中的configUSE_IDLE_HOOK配置宏。 FreeRTOSConfig.h 重新实现钩子函数 void vApplicationIdleHook( void ) {//用户自定义处理 }三、任务调度算法 调度算法是操作系统中用于确定进程或线程在可用系统资源上执行的顺序和时间分配的一组规则和策略。调度算法的作用是合理地利用系统资源提高系统的性能、响应性和效率。 调度算法在多任务操作系统中起着重要的作用它决定了各个任务之间的执行顺序、分配的时间片长度以及资源的分配策略。 在 FreeRTOS 中调度算法和行为可以通过一些宏配置来决定包括 configUSE_PREEMPTION、configUSE_TIME_SLICING 和 configIDLE_SHOULD_YIELD。 1.configUSE_PREEMPTION: 这个宏控制是否启用任务抢占preemption。如果设置为 1则允许具有更高优先级的任务中断当前正在执行的任务如果设置为 0则不允许任务抢占。 任务抢占允许更高优先级的任务能够立即获得处理器的控制权以满足实时需求。然而抢占会引入上下文切换的开销可能会对性能产生影响。 2.configUSE_TIME_SLICING: 这个宏用于启用或禁用时间片轮转调度time slicing。时间片轮转调度是一种机制当多个任务具有相同优先级并且可运行时它们会按时间片的方式轮流使用处理器。 如果设置为 1则启用时间片轮转调度如果设置为 0则禁用时间片轮转调度。 3.configIDLE_SHOULD_YIELD: 这个宏用于配置空闲任务是否应该主动让出处理器。当系统没有其他优先级较高的任务需要运行时空闲任务会获得处理器的控制权。如果设置为 1则空闲任务在不需要执行任何其他操作时会主动让出处理器如果设置为 0则空闲任务不会主动让出处理器。 如果系统中有其他低优先级任务需要执行让空闲任务主动让出处理器可以提供更好的响应时间和系统性能。
阅读全文