操作系统有关的部分基础知识

操作系统(OS)基本术语如下。
①资源( Resource)任何任务所占用的实体都可以称为资源,如一个变量、数组、结
构体等。
②共享资源( Shared Resource)至少可以被两个任务使用的资源称为共享资源,为了
防止共享资源被破坏,每个任务在操作共享资源时,必须保证是独占该资源。
③任务(Task) -个任务,又称作一个线程,是一个简单的程序的执行过程,在任务执
行过程中,可以认为 PU 完全属于该任务。在任务设计时,需要将问题尽可能地分为多
个任务,每个任务独立完成某种功能,同时被赋予一定的优先级,拥有自己的 CPU 寄
存器和堆栈空间。一般将任务设计为一个无限循环。
④多任务运行(Muti-task Running)实际上只有一个任务在运行,但是 CPU
可以使用任务调度策略将多个任务进行调度,每个任务执行特定的时间,时间片到
了以后,就进行任务切换,由于每个任务执行时间很短,例如:10ms,因此,任务
切换很频繁,这就造成了多任务同时运行的“假象”。
⑤内核( Kernel)在多任务系统中,内核负责管理各个任务,主要包括:为每个任务
分配 CPU 时问;任务调度:负责任务间的通信。内核提供的基本的内核服务是任务切
换。使用内核可以大大简化应用系统的程序设计方法,借助内核提供的任务切换功能,
可以将应用程序分为不同的任务来实现。
⑥互斥( Mutual Exclusion)多任务间通信最简单,常用的方法是使用共享数据结构。
对于单片机系统,所有任务都在单一的地址空间下,使用共享的数据结构包括全局
变量、指针、缓冲区等。虽然共享数据结构的方法简单,但是必须保证对共享数据
结构的写操作具有唯一性,以避免晶振和数据不同步。
保护共享资源最常用的方法是:
·关中断;
·禁止任务切换;
·使用信号量。
其中,在 BLE 协议栈内嵌操作系统中,经常使用的方法是关中断。
⑦消息队列( Message Queue)消息队列用于任务间传递消息,通常包含任务间同步的
信息。通过内核提供的服务、任务或者中断服务程序将一条消息放入消息队列,然后,
其他任务可以使用内核提供的服务从消息队列中获取属于自己的消息。为了降低传递消
息的开支,通常传递指向消息的指针。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值