查看更多
当前 - 选择题 - 进程管理
简单
单选题
2023年11月第1题
#操作系统
#进程管理
#第二版教材
#凯恩建议必须掌握

要实现多任务间的协同工作,操作系统必须提供任务间的通信手段。嵌入式操作系统一般都会提供多任务间通信的方法,其中(问题1)是任务间最直接、最明显的通信方法,也是访问共享的数据结构,即不同的任务都可以访问同一地址空间。(问题2)作为一种更高级的通信方式,能够在同一处理器的各个任务间传递任意长度(理论上只受物理内存和机器字长限制)的信息。

正确答案A
凯恩解析

本题考察嵌入式操作系统中最基础的任务间通信方式
要实现多任务间的协同工作,操作系统必须提供任务间的通信手段。
问题 1:
A. 共享内存(正确选项):共享内存是任务间通信中速度最快、结构最简单的一种方式。多个任务可以同时访问同一块内存地址,从而实现数据共享,是“访问共享数据结构”的典型代表,因此正确。
B. Socket:Socket是网络通信接口,通常用于不同主机或进程间的通信,而不是嵌入式系统中任务之间最常用的方式。它较重,不属于“最直接”的方法,错误。
C. 消息传递:消息传递属于一种更高级的通信方式,通常依赖消息队列或邮箱等机制,有明确的消息边界,不是最直接的共享方式,错误。
D. 信号量:信号量是用于任务同步与互斥的机制,不直接用于传递数据,因此不是通信方式本身,错误。
问题 2:
A. 共享内存:虽然共享内存也可以传输任意长度数据,但它不具备消息结构 ,不适合作为“更高级”的通信方式,它缺乏消息边界和调度控制,错误。
B. Socket:Socket在多核或网络通信中常用,但在嵌入式单处理器任务间通信中不常见,也不是最优选择,错误。
C. 消息队列(正确选项):消息队列是一种高级通信机制,可以在线程/任务之间异步地传递结构化信息,长度不受限制(理论上只受物理内存约束),支持排队机制,解耦任务执行时间,是题干描述的理想方式,因此正确。
D. 信号量:信号量是同步与互斥工具,不具备数据传输能力,也无法传递消息,错误。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有