完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
嵌入式操作系统
嵌入式操作系统的目的在于抹平不同硬件带来的缺口,使应用程序可以借由操作系统的接口在不同的硬件平台运行。操作系统让程序员能够专注于应用开发而不必在硬件平台上花费大量的时间。一般来说,嵌入式系统主要有三大任务:内存管理、多工管理、外部资源管理。但是这些功能不是每一个嵌入式系统都必备,需要根据需求选择。 一、内存管理 嵌入式平台的内存空间比较宝贵,需要合理使用才能产生最大的经济效益。嵌入式操作系统中会提供一些内存管理方法。一些内存管理方法比较常见。 Simple Method 这种内存管理方式就是不提供管理方式,内存管理由用户自行维护。系统只维护一个预先配置好的空间的顶部空间。Simple Method虽然给了用户很大的自由和弹性空间,但实际上使用这种方式要慎重。Simple Method 一旦用错了,系统会崩溃。 Bit Map Method 系统将内存空间分成固定大小的块,建立并维护一个Memory Usage BitMap来映射内存的使用情况。Memory Usage BitMap 中的每一位的值表示了内存中一个块的使用情况。例如每个块为32bytes,那么1M内存需要维护一个4K大小的Memory Usage BitMap。 Tag-Boundary Method (连续型) 将内存空间分成不同大小的区块,区块之间用单向链表的方式链接。当用户请求内存空间时,系统利用顶端指针去寻找合适的区块满足用户的需求。 Tag-Boundary Method(离散型) 这种方法与上一种方式相似,不同的是内存块不再是连续分割。内存分块采用了双向链表方式链接。双向链表带来了回收上的便利。 Memory Partition Method 把内存分成数个区域,每个区域包含几个大小相等的块。每个区域分配一个标识码,当用户需要使用内存时只需告诉系统相应的标识码即可。系统会在相应的区域分配可用空间给用户。 二、多工的管理 应用程序有时需要同时进行多个任务,但嵌入式平台只有一个CPU。这时需要对任务进行合理安排。一种可行的方法是分时多工,即每个任务只进行一段时间,多个任务快速切换,实现同时进行多个任务的假象。 分时多工需要管理多个任务,这需要专门的管理机制管理(排程器)。排程器管理这些任务的切换,每个任务进行的状态切换前需要记录其他任务的执行状态。记录任务状态即把任务的指令指针、堆指针及寄存器状态保存下来。切换动作的完成需要熟记CPU架构和指令集,因为这些任务均要使用汇编语言完成。还有一种多程序的方式。 较为常见的排程演算法有四种:先到先服务FCFS、优先权优先PFS、环状队列调度RRS、混合方式PFS-RRS。 先到先服务(First Come First Service)最先请求资源的线程会最先分配到CPU资源,直到任务结束或自动放弃。 优先权优先(Priority First Scheduling)每个执行线程都有一个优先级,所以依照优先级分配CPU资源。 环状队列调度(Round-Robin Scheduling)将Ready状态中的执行线程当成一个环形队列,每个线程分配一个time slice 用于控制运行时间。time slice值减小1该进程需要执行相应的CPU时间。time slice 用完后切换进程。 混合方式,顾名思义就是在有优先级时使用PFS,其他情况使用RRS。 三、外围资源管理 外围资源有限,操作系统必须协调和分配好外部资源。避免多个程序为了争抢外围资源相互对抗。外围资源管理机制每个操作系统都不一样,需要阅读相应操作系统的编写应用程序。 |
|
|
|
只有小组成员才能发言,加入小组>>
3274 浏览 9 评论
2950 浏览 16 评论
3453 浏览 1 评论
8980 浏览 16 评论
4042 浏览 18 评论
1092浏览 3评论
563浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
560浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2296浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1854浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-17 06:26 , Processed in 1.123737 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号