锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 英语翻译 / POSIX信号
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

锐英源精品开源心得,转载请注明:“锐英源www.wisestudy.cn,孙老师作品,电话13803810136。需要全文内容也请联系孙老师。

POSIX信号

Description 描述

Signals are an important part of multitasking in the UNIX/POSIX environment. Signals are used for many purposes, including: 信号是UNIX / POSIX环境下多任务处理的重要组成部分。信号用于多种用途,包括:

• Exception handling. 异常处理

• Task notification of asynchronous event occurrence (timer expiration,...) 任务异步事件发生的通知(计时器过期,…)

• Emulation of multitasking. 模拟的多任务处理。

• Interprocess communication. 进程间通信

A POSIX signal is the software equivalent of an interrupt or exception occurrence. When a task receives a signal, it means that something has happened which requires the task’s attention. POSIX信号是软件,相当于一个中断或异常发生。当任务接收到信号时,它意味着发生了一些事情,需要关注。

POSIX define two types of signals: basic signals and real-time signals extensions. This component provides only the basic signal mechanisms. The real-time POSIX signals extension is far more complex (they are closer to message queues than to interrupts) and require complex data structures. POSIX定义两种类型的信号:基本信号和实时信号扩展。这组件只提供基本的信号机制。实时POSIX信号扩展更复杂(它们接近消息队列,而不是中断),需要复杂的数据结构。

POSIX signals were designed to be used in weight-processes systems, where each process has its own signal handlers, signal mask and status. But in RTLinux, as well as most embedded RTOS, the programming model is based on lightweight processes (threads). The standard is not as clear and unambiguous as it should be. We had to extend the semantics of the signals API to thread.

POSIX信号被设计为了用于weight-processes系统,其中每个过程有自己的信号处理程序,信号掩码和状态。但在RTLinux因为大多数嵌入式RTOS,编程模型是基于轻量级进程(线程)。标准应该不是是清晰和明确的。我们不得不延长API的信号语义扩展到线程。

RTLinux-3.1 code already had partial signal support, some systems signals are supported but user signals and the facility to define signal handlers are not supported. We completed the signal support to be fully UNIX compatible. rtlinux - 3.1代码已经有部分信号支持,一些系统信号被支持但用户信号和设备不支持定义信号处理程序。我们完成了信号的支持,完全兼容UNIX。

Layer 层

Signals are part of the core RTLinux executive, therefore they are located at the Low-Level RTLinux layer. 信号是执行RTLinux的核心部分,因此它们位于低级别的RTLinux层。

API / Compatibility API /兼容性

The following synopsis presents the list of supported signal functions facilities: 以下概要介绍了支持的信号列表功能设施:

rtl_sigaddset(sigset_t *set, sig);
rtl_sigdelset(sigset_t *set, sig);
rtl_sigismember(sigset_t *set, sig);
rtl_sigemptyset(sigset_t *set);
int sigaction(int sig, const struct sigaction *act, struct sigaction *oact);
int sigprocmask(int how, const rtl_sigset_t *set, rtl_sigset_t *oset);
int pthread_sigmask(int how, const rtl_sigset_t *set, rtl_sigset_t *oset);
int sigsuspend(const rtl_sigset_t *sigmask);
int sigpending(rtl_sigset_t *set);

Validation criteria 验证标准

Increases RTLinux POSIX compatibility, since signals are required in all POSIX/UNIX systems. Reduces the cost of porting applications to RTLinux.

增加RTLinux POSIX的兼容性,因为信号在所有POSIX / UNIX系统都是必须的。降低了将应用程序移植到RTLinux的成本。

POSIX functionality relies strongly on the signals. For example, the POSIX timers can not be implemented on a system with no signal support.

POSIX功能强烈依赖于信号。例如,POSIX计时器不能在没有信号支持的系统上实现。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内