第 5 章 用于实时进程和线程的 RHEL
RHEL for Real Time 键的因素是最小的中断延迟和最小线程切换延迟。虽然所有程序都使用线程和流程,但 RHEL for Real Time 与标准 Red Hat Enterprise Linux 相比以不同的方式处理它们。
在实时使用 parallelism 时,有助于提高任务执行和延迟的效率。parallelism 是在使用 CPU 的多核基础架构同时运行多个任务或多个子任务时。
5.1. Process 复制链接链接已复制到粘贴板!
在最简单的术语中,实时进程是执行的一个程序。术语 进程指的是独立的地址空间,可能包含多个线程。当开发了一个地址空间内运行的进程的概念时,Linux 转而成一种进程结构,与另一个进程共享地址空间。只要进程数据结构很小,这就可以正常工作。
UNIX® 风格的进程结构包括:
- 虚拟内存的地址映射.
- 执行上下文(PC、堆栈、寄存器)。
- 状态和核算信息。
在实时中,每个进程都以一个线程开头,通常称为父线程。您可以使用 fork () 系统调用从父线程创建额外的线程。fork () 创建一个新的子进程,它与父进程相同,但新进程标识符除外。子进程独立于创建进程运行。父进程和子进程可以同时执行。fork () 和 exec () 系统调用的区别在于,fork () 会启动一个新的进程,即父进程的副本,exec () 将当前进程镜像替换为新的进程镜像。
在实时中,当成功时,fork () 系统调用返回子进程的进程标识符,父进程会返回非零值。出错时,它会返回一个错误号。