rtems开发注意事项

1.无内存保护:

对于x86体系架构和其他cpu架构,rtems没有采用虚拟内存管理,也没用分段保护机制,所以rtems是没有提供内存保护机制,这样的好处在于实现简单,当然也存在很大的安全问题,应用程序中的一个错误内存操作都可能使得整个系统崩溃,但是考虑到嵌入式系统运行的程序相对确定,所以缺点还是没有那么致命。

2.基于优先级的调度:

rtems是一个完全基于优先级调度的实施操作系统,一共有255个优先级,每个优先级上可以运行多个任务(线程),同一个优先级上的任务可以指定FIFO和时间片轮转的调度策略。

3.可移植性:

rtems具有很好的可移植性,大部分代码都是c语言实现的,与体系结构无关,在许多不同的体系结构都可以编译执行,和体系结构相关的部分主要是在:

/c/src/lib/libcpu

/c/src/lib/libbsp

/cpukit/score/cpu

这样可以把体系结构相关的代码从内核代码树中分离出来,为移植提供很大的方便。


4.c运行库

newlib是一个用于嵌入式系统的开放源代码的c语言程序库,可移植到很多cpu结构上,目前由red hat维护,目前newlib主要在io和文件访问(open、close、read、write、lseek、fcntl、link、unlink、rename)、获得当前系统的日期和时间,各类型的任务管理函数(fork、getpid、kill、wait、_exit)等。但由于rtems本身不支持进场,导致它不像linux的程序广泛使用的glibc完善和全面。


5.并发和同步:

RTEMS是支持多任务的可抢占的硬实时操作系统,所以共享问题要保证不出竞争条件。可用以下手法:

1.屏蔽中断

2.禁止调度

3.信号量


内核需要在不同情况下采用不同的同步机制来保证并发访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值