博客
关于我
FreeRTOS学习笔记之-------FreeConfig.h配置文件详解 2019.11.7
阅读量:282 次
发布时间:2019-03-01

本文共 963 字,大约阅读时间需要 3 分钟。

抢占式内核

内核在操作系统中分为抢占式和非抢占式两种类型。在Freertos中,内核分为抢占式和非抢占式两种类型。抢占式内核允许高优先级任务在执行过程中暂停当前任务,立即占有CPU执行权。这种机制确保了更加高效的资源分配,尤其在多任务环境下。当一个高优先级任务到达时,当前任务会被挂起,执行高优先级任务,待其完成后,原先的任务会继续执行。这种方式能够更好地应对紧急情况,提高系统的响应速度。

时间片调度

时间片调度是操作系统中实现多任务同时运行的重要机制。在单个CPU环境下,虽然有多个任务需要执行,但由于CPU一次只能处理一个任务,如何公平分配执行时间就显得尤为重要。时间片调度通过为每个任务分配固定的时间片,确保每个任务都能获得执行机会。

Freertos作为一个实时操作系统,其核心原理就是时间片调度。系统通过中断机制定期切换任务,每次执行一个时间片的任务代码后,利用中断强制退出,切换到下一个任务执行其时间片。这种快速的切换过程,使得多个任务看似同时运行,实际上是任务之间轮流执行。从程序员的角度来看,每个任务的执行都是被操作系统切割的片段,程序内部的语句之间也可能被中断打断。

例如,假设系统有三个任务:甲、乙、丙,分别需要5ms、6ms和7ms完成一次执行。由于CPU只能处理一个任务,系统会为每个任务分配一个时间片,例如每个任务执行4分之一的时间片(约1.25ms)。这样,甲任务会在4ms内完成大约4/5的执行量,随后被中断切换到乙任务。这种方式确保了每个任务都能按时获得执行机会,系统看起来像是在并行运行多个任务。

时钟节拍频率

时钟节拍频率是衡量系统时钟周期的重要指标,通常以赫兹(Hz)为单位。例如,1kHz的时钟频率意味着系统每秒执行1000次时钟周期。这种高频率使得操作系统能够快速切换任务,支持实时任务的高效执行。在Freertos中,时钟频率的选择会影响任务切换的频率和系统的响应速度。通常,系统会设置较高的时钟频率,以满足实时性要求。

时钟频率的选择需要综合考虑任务的执行时间和系统的响应需求。例如,1ms的时钟频率意味着每毫秒执行一次时钟周期,这种高频率能够支持对实时任务的精细控制,但也需要更高性能的硬件支持。在实际应用中,时钟频率的设置需要根据具体需求进行优化,以确保系统的稳定性和效率。

转载地址:http://hcfa.baihongyu.com/

你可能感兴趣的文章
mysql 常用命令
查看>>
Mysql 常见ALTER TABLE操作
查看>>
MySQL 常见的 9 种优化方法
查看>>
MySQL 常见的开放性问题
查看>>
Mysql 常见错误
查看>>
mysql 常见问题
查看>>
MYSQL 幻读(Phantom Problem)不可重复读
查看>>
mysql 往字段后面加字符串
查看>>
mysql 快速自增假数据, 新增假数据,mysql自增假数据
查看>>
Mysql 批量修改四种方式效率对比(一)
查看>>
Mysql 报错 Field 'id' doesn't have a default value
查看>>
MySQL 报错:Duplicate entry 'xxx' for key 'UNIQ_XXXX'
查看>>
Mysql 拼接多个字段作为查询条件查询方法
查看>>
mysql 排序id_mysql如何按特定id排序
查看>>
Mysql 提示:Communication link failure
查看>>
mysql 插入是否成功_PDO mysql:如何知道插入是否成功
查看>>
Mysql 数据库InnoDB存储引擎中主要组件的刷新清理条件:脏页、RedoLog重做日志、Insert Buffer或ChangeBuffer、Undo Log
查看>>
mysql 数据库中 count(*),count(1),count(列名)区别和效率问题
查看>>
mysql 数据库备份及ibdata1的瘦身
查看>>
MySQL 数据库备份种类以及常用备份工具汇总
查看>>