如果一个线程有延时函数,它将自动让出 CPU 资源给需要 CPU 的线程,这提高了 CPU 的整体利用率,也提升了系统的并发性能。 实时性 实时操作系统从设计上就具备实时性。每个线程都被指定了特定的优先级,比较重要的线程设置为更高的优先级,不重要的线程优先级也低。正是以这种方式,软件整体的实时性得到了保证。 开...
在RT-Thread中线程是最小的调度单位,线程调度算法是基于优先级的全抢占式多线程调度算法,支持256个线程优先级(也能通过配置文件更改为最大支持32个或8个线程优先级),0优先级代表最高优先级,255优先级留给空闲线程使用;支持创建相同优先级线程,相同优先级的线程采用可设置时间片的轮转调度算法;调度器寻找下一...
对不同优先级的线程,RT-Thread采用可抢占的方式:即高优先级的线程会“立刻”抢占低优先级的线程 相同优先级的线程采用时间片轮转方式进行调度(也就是通常说的分时调度器),时间片轮转调度仅在当前系统中无更高优先级就绪线程存在的情况下才有效 什么是位图? 当位图变量取0-255之间的任意一个数字时,它的最低为1...
内核层:RT-Thread内核,是 RT-Thread的核心部分,包括了内核系统中对象的实现,例如多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等;libcpu/BSP(芯片移植相关文件 / 板级支持包)与硬件密切相关,由外设驱动和 CPU 移植构成。 组件与服务层:组件是基于 RT-Thread内核之上的上层软件,例如虚拟文件系统、FinS...
编写一个基于protothread的微型操作系统, 类似contiki, 大部分特性与RT-thread相同, 深入理解操作系统. ##具备的功能 ###1.邮箱, 线程中的邮箱 ###2.消息队列 ###3.信号量 ###4.完成变量 ###5.无优先级的轮转调度 ###6.动态内存分配 ###7.中断上下文定时器和线程上下文定时
RT-Thread具有32~256可选优先级抢占式调度,线程度不限,相同优先级线程时间片轮转调度,支持动态创建、销毁线程,任务等待可按优先级进行排队。 RT-Thread内核大致可分为对象管理、实时调度器、线程管理、线程间通信、时钟管理、设备驱动6个部分。 (1)对象管理(object.c):定义了对象容器的种类,包括线程、信号量、...
实时操作系统从设计上就具备实时性。每个线程都被指定了特定的优先级,比较重要的线程设置为更高的优先级,不重要的线程优先级也低。正是以这种方式,软件整体的实时性得到了保证。 开发效率 操作系统提供了统一的抽象接口,这使得可重用组件得以不断积累,同时提升了开发效率。